.example-tooltip{position:relative;display:inline-block;margin-left:6px;vertical-align:middle}.info-icon{display:inline-block;width:16px;height:16px;line-height:16px;text-align:center;cursor:help;color:#666;font-size:13px;font-weight:700;border-radius:50%;transition:all .2s ease;-webkit-user-select:none;user-select:none}.info-icon:hover{color:#06c;background-color:#f0f8ff}.tooltip-bridge{display:none;position:absolute;left:16px;top:-50px;width:12px;height:150px}.tooltip-content{visibility:hidden;opacity:0;position:absolute;left:24px;top:-8px;background:#1a1a1a;border:1px solid #333;border-radius:10px;padding:12px;box-shadow:var(--shadow-elevated);z-index:var(--z-tooltip);min-width:350px;max-width:500px;max-height:400px;overflow-y:auto;transition:opacity .14s ease,visibility .14s ease;pointer-events:none}.example-tooltip:hover .tooltip-bridge{display:block}.example-tooltip:hover .tooltip-content{visibility:visible;opacity:1;pointer-events:auto}.cell:has(.example-tooltip:hover){z-index:var(--z-tooltip)}.tooltip-header{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#999;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #333}.tooltip-section{margin-bottom:10px}.tooltip-section:last-child{margin-bottom:0}.tooltip-label{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#999;margin-bottom:6px}.tooltip-text{font-size:16px;color:#e0e0e0;line-height:1.5;font-family:Computer Modern,Latin Modern,Times New Roman,serif}.tooltip-svg{display:flex;justify-content:flex-start;align-items:center;padding:8px 0;overflow-x:auto}.tooltip-svg svg{height:auto;filter:invert(1)}@media (max-width: 768px){.tooltip-content{left:auto;right:0;min-width:300px}}:root{font-family:Inter,Arial,sans-serif;color-scheme:dark;--debug: 0;--head-h: 39.5px;--row-h: 36px;--expander-width: 24px;--expander-margin: 8px;--z-pinned-left: 10;--z-pinned-subsection: 20;--z-pinned-subsection-left: 25;--z-pinned-section: 30;--z-pinned-section-left: 35;--z-header: 50;--z-header-left: 55;--z-dropdown: 100;--z-tooltip: 1000;--color-bg: #18181b;--color-bg-muted: #1f1f23;--color-surface: #27272a;--color-surface-alt: #2e2e33;--color-surface-card: #2a2a2d;--color-border: rgba(255, 255, 255, .09);--color-border-strong: rgba(255, 255, 255, .16);--color-text: #fafafa;--color-text-muted: rgba(250, 250, 250, .65);--color-heading: #ffffff;--color-accent: #3b82f6;--color-accent-strong: #60a5fa;--color-accent-soft: rgba(59, 130, 246, .15);--color-accent-veil: rgba(59, 130, 246, .06);--color-error: #ef4444;--color-table-stripe: rgba(255, 255, 255, .025);--color-input-bg: #1a1a1d;--color-input-border: rgba(255, 255, 255, .12);--shadow-soft: 0 20px 40px rgba(0, 0, 0, .4);--shadow-elevated: 0 10px 30px rgba(0, 0, 0, .5);--shadow-focus: 0 0 0 3px var(--color-accent-soft);--bg-secondary: var(--color-surface);--hover-bg: var(--color-surface-alt);--border-color: var(--color-border)}:root[data-theme=light]{color-scheme:light;--color-bg: #fafafa;--color-bg-muted: #f5f5f5;--color-surface: #ffffff;--color-surface-alt: #f8f8f8;--color-surface-card: #ffffff;--color-border: rgba(0, 0, 0, .08);--color-border-strong: rgba(0, 0, 0, .16);--color-text: #171717;--color-text-muted: rgba(23, 23, 23, .6);--color-heading: #000000;--color-accent: #2563eb;--color-accent-strong: #1d4ed8;--color-accent-soft: rgba(37, 99, 235, .12);--color-accent-veil: rgba(37, 99, 235, .04);--color-error: #dc2626;--color-table-stripe: rgba(0, 0, 0, .02);--color-input-bg: #fafafa;--color-input-border: rgba(0, 0, 0, .12);--shadow-soft: 0 10px 30px rgba(0, 0, 0, .08);--shadow-elevated: 0 8px 20px rgba(0, 0, 0, .12);--shadow-focus: 0 0 0 3px var(--color-accent-soft);--bg-secondary: var(--color-surface);--hover-bg: var(--color-surface-alt);--border-color: var(--color-border)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(to bottom,var(--color-bg-muted),var(--color-bg));color:var(--color-text);font-family:inherit;transition:background .24s ease,color .24s ease}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea{font-family:inherit}button{cursor:pointer;border:none;background:none;color:inherit}.page{padding:clamp(28px,6vw,56px);min-height:100vh}.page__inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(22px,4vw,36px)}.page__header{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px;justify-content:space-between}.page__headline{max-width:620px}.page__title{margin:0;font-size:clamp(28px,3vw,40px);font-weight:700;color:var(--color-heading)}.page__subtitle{margin:8px 0 0;color:var(--color-text-muted);font-size:16px;line-height:1.5}.theme-toggle{padding:10px 18px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text);font-size:14px;font-weight:600;letter-spacing:.01em;transition:background .18s ease,border-color .18s ease,color .18s ease}.theme-toggle:hover{border-color:var(--color-accent);background:var(--color-accent-veil)}.theme-toggle:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.page__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.primary-button{padding:12px 22px;border-radius:12px;background:var(--color-accent);color:#fff;font-weight:600;letter-spacing:.01em;box-shadow:var(--shadow-elevated);transition:background .16s ease,box-shadow .16s ease,opacity .16s ease}.primary-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.primary-button:not(:disabled):hover{background:var(--color-accent-strong);box-shadow:0 12px 24px #3b82f640}.secondary-link{font-weight:600;color:var(--color-accent)}.form-error{color:var(--color-error);font-size:14px}.grade-tabs-section{margin-bottom:24px}.grade-tabs{display:flex;gap:8px;flex-wrap:wrap}.grade-tab{padding:10px 20px;border-radius:10px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font-size:14px;font-weight:500;transition:all .18s ease;cursor:pointer}.grade-tab:hover{background:var(--color-surface-alt);border-color:var(--color-border-strong)}.grade-tab--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff;font-weight:600}.grade-tab--active:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.board-section{border-radius:20px;background:var(--color-surface-card);padding:18px 22px;box-shadow:var(--shadow-soft);border:1px solid var(--color-border);overflow:auto}.table-container{width:100%;max-height:600px;overflow:auto;position:relative}.loading-cell{padding:12px;color:var(--color-text-muted);text-align:center}.tile{position:relative;z-index:5;width:100%;height:var(--sticky-row-h, var(--row-h));border:none;display:flex;align-items:center;padding:4px 10px;box-sizing:border-box;background:var(--color-surface);color:var(--color-text);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.tile>.cell-input{width:100%;height:100%;border:none;outline:none;background:transparent;padding:0;margin:0;font-size:14px;color:inherit}.tile.active{border:2px solid var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft);position:relative;z-index:5}.main-header th:has(.tile.active){outline:none}.tile.editing{background:var(--color-accent-veil)}.tile.disabled{background:#94a3b82e;color:var(--color-text-muted)}.tile.disabled .cell-input{color:inherit}.tree-cell{display:flex;align-items:center;width:100%;gap:6px}.spacer{display:inline-block;width:calc(var(--expander-width) + var(--expander-margin));flex-shrink:0}.tile.active:not(.editing) .cell-input{caret-color:transparent}.hint{margin:0;color:var(--color-text-muted);font-size:13px}.cell-input.example-input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.example-preview{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;font-size:13px}.example-preview__trigger{color:var(--color-text-muted);transition:color .16s ease}.example-preview--has .example-preview__trigger{color:var(--color-accent);cursor:pointer;font-weight:500}.tile:hover .example-preview__trigger,.tile.active .example-preview__trigger,.cell:hover .example-preview__trigger,.cell.active .example-preview__trigger,.example-preview--active .example-preview__trigger{color:var(--color-accent);text-decoration:underline}.example-preview__popover{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;padding:12px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface-alt);box-shadow:var(--shadow-elevated);opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .14s ease,transform .14s ease;z-index:var(--z-tooltip)}.cell:hover .example-preview__popover,.cell.active .example-preview__popover,.example-preview--active .example-preview__popover{opacity:1;pointer-events:auto;transform:translateY(0)}.example-preview__section+.example-preview__section{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border)}.example-preview__label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:6px}.example-preview__math{font-size:16px;color:var(--color-text)}.example-preview__fallback{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:14px;color:var(--color-text)}.generator-section{display:flex}.generator-card{width:100%;border-radius:20px;background:var(--color-surface-card);border:1px solid var(--color-border);box-shadow:var(--shadow-soft);padding:24px;display:grid;gap:18px}.generator-card__header{display:flex;flex-direction:column;gap:4px}.generator-card__title{margin:0;font-size:20px;font-weight:600;color:var(--color-heading)}.generator-card__caption{margin:0;font-size:14px;color:var(--color-text-muted)}.generator-card__error{padding:10px 14px;border-radius:10px;border:1px solid rgba(241,99,99,.4);background:#f163631f;color:var(--color-error);font-size:14px}.generator-card__form{display:grid;gap:12px;max-width:420px}.generator-card__field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--color-text-muted)}.generator-card__field input{padding:10px 12px;border-radius:10px;border:1px solid var(--color-input-border);background:var(--color-input-bg);color:var(--color-text);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.generator-card__field input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus);background:var(--color-surface)}.generator-card__selection{max-height:280px;overflow:auto;border-radius:12px;border:1px solid var(--color-border);background:var(--color-surface-alt)}.generator-card__table{width:100%;border-collapse:collapse;font-size:13px;color:var(--color-text)}.generator-card__table th,.generator-card__table td{padding:10px 12px;border-bottom:1px solid var(--color-border)}.generator-card__table tbody tr:last-child td{border-bottom:none}.generator-card__table th:not(:first-child),.generator-card__table td:not(:first-child){text-align:right;width:90px}.generator-card__count{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.generator-card__topic{display:grid;gap:4px}.generator-card__breadcrumbs{font-size:12px;color:var(--color-text-muted)}.generator-card__id{font-size:11px;color:var(--color-text-muted);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.generator-card__empty{padding:16px;color:var(--color-text-muted);font-size:13px}.generator-card__footer{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ghost-button{padding:10px 18px;border-radius:12px;border:1px solid var(--color-border);background:transparent;color:var(--color-text);font-weight:600;transition:border-color .16s ease,color .16s ease,background .16s ease}.ghost-button:disabled{opacity:.55;cursor:not-allowed}.ghost-button:not(:disabled):hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-veil)}.generator-card__total{margin-left:auto;font-size:13px;color:var(--color-text-muted)}@media (max-width: 768px){.board-section{padding:12px 14px}table{min-width:540px}.page__header,.page__actions{flex-direction:column;align-items:stretch}.primary-button,.ghost-button,.theme-toggle{width:100%;text-align:center}.generator-card__footer{justify-content:flex-start}}.generator-card__count--total{font-weight:700}.board-toolbar{display:flex;gap:8px;margin-bottom:8px}.toolbar-button{padding:6px 14px;font-size:.8rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.toolbar-button:hover{background:var(--color-surface-alt);color:var(--color-text);border-color:var(--color-border-strong)}.grid-board{display:grid;grid-template-columns:3fr 1fr 1fr 1fr;grid-auto-rows:36px;position:relative;width:100%}.cell{border-right:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09);padding:8px 12px;background:#27272a;display:flex;align-items:center;position:relative;scroll-margin-top:120px}.grid-board>.cell:nth-child(4n+2){justify-content:center}.grid-board>.cell:nth-child(4n+3){justify-content:center}.grid-board>.cell:nth-child(4n+4){justify-content:center}.cell input{width:100%;background:transparent;border:none;outline:none;color:inherit;font-size:14px}.grid-board>.cell:nth-child(4n+2) input,.grid-board>.cell:nth-child(4n+3) input,.grid-board>.cell:nth-child(4n+4) input{text-align:center}.cell-input{width:100%;background:transparent;border:none;outline:none;color:inherit;font-size:14px;padding:0;caret-color:transparent}.cell.editing .cell-input{caret-color:#3b82f6}.cell-input[readonly]{caret-color:transparent}.cell-input.count-exceeded{border:2px solid #ef4444!important;background:#ef44441a!important;border-radius:4px;padding:2px 4px}.cell.header{position:sticky;top:0;z-index:var(--z-header);background:#2e2e33;font-weight:600;border-bottom:2px solid rgba(255,255,255,.16)}.cell.pinned-left{position:sticky;left:0;z-index:var(--z-pinned-left);background:#27272a;border-right:2px solid rgba(255,255,255,.16)}.cell.header.pinned-left{z-index:var(--z-header-left);background:#2e2e33}.cell.pinned-section{position:sticky;top:36px;z-index:var(--z-pinned-section);background:#2e2e33;font-weight:600;border-bottom:1px solid rgba(59,130,246,.3)}.cell.pinned-section.pinned-left{z-index:var(--z-pinned-section-left)}.cell.pinned-subsection{position:sticky;top:72px;z-index:var(--z-pinned-subsection);background:#2a2a2d;font-weight:500;border-bottom:1px solid rgba(59,130,246,.2)}.cell.pinned-subsection.pinned-left{padding-left:24px;z-index:var(--z-pinned-subsection-left)}.cell.active{outline:2px solid #3b82f6;outline-offset:-2px}.cell.disabled{background:#1a1a1d!important;color:#52525b;pointer-events:none;border-color:#ffffff0d}.cell.disabled input{color:#52525b}.expander{width:var(--expander-width);height:var(--expander-width);border:1px solid rgba(255,255,255,.16);border-radius:6px;background:#2e2e33;color:#fafafa;font-weight:600;font-size:14px;cursor:pointer;margin-right:var(--expander-margin);flex-shrink:0;transition:all .16s ease}.expander:hover{border-color:#3b82f6;background:#3b82f626}.cell.hidden{display:none}.page--light .cell{background:#fff;border-right:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1);color:#1a1a1a}.page--light .cell.header{background:#f5f5f5;border-bottom:2px solid rgba(0,0,0,.2)}.page--light .cell.pinned-left{background:#fff;border-right:2px solid rgba(0,0,0,.2)}.page--light .cell.header.pinned-left{background:#f5f5f5}.page--light .cell.pinned-section{background:#f5f5f5;border-bottom:1px solid rgba(59,130,246,.4)}.page--light .cell.pinned-subsection{background:#fafafa;border-bottom:1px solid rgba(59,130,246,.3)}.page--light .cell.disabled{background:#f5f5f5!important;color:#9ca3af}.page--light .cell.disabled input{color:#9ca3af}.page--light .expander{background:#f5f5f5;border:1px solid rgba(0,0,0,.2);color:#1a1a1a}.page--light .expander:hover{border-color:#3b82f6;background:#3b82f61a}
