:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f8f9fa;--bg-surface:#fff;--bg-hover:#f0f1f3;--text:#1a1a2e;--text-muted:#6b7280;--accent:#6366f1;--accent-soft:rgba(99,102,241,.12);--border:#d0d3d9;--valid:#22c55e;--valid-soft:rgba(34,197,94,.12);--invalid:#ef4444;--invalid-soft:rgba(239,68,68,.05);--pending:#f59e0b;--neutral-bar:#d1d5db;--strikethrough:rgba(0,0,0,.25);--dropdown-shadow:0 2px 8px rgba(0,0,0,.12)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-theme=dark]{--bg:#0f1117;--bg-surface:#1a1c25;--bg-hover:#252830;--text:#e4e5e9;--text-muted:#9ca3af;--accent:#818cf8;--accent-soft:rgba(129,140,248,.15);--border:#2d3039;--valid:#4ade80;--valid-soft:rgba(74,222,128,.12);--invalid:#f87171;--invalid-soft:rgba(248,113,113,.05);--pending:#fbbf24;--neutral-bar:#4b5563;--strikethrough:rgba(255,255,255,.3);--dropdown-shadow:0 4px 16px rgba(0,0,0,.5)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1117;--bg-surface:#1a1c25;--bg-hover:#252830;--text:#e4e5e9;--text-muted:#9ca3af;--accent:#818cf8;--accent-soft:rgba(129,140,248,.15);--border:#2d3039;--valid:#4ade80;--valid-soft:rgba(74,222,128,.12);--invalid:#f87171;--invalid-soft:rgba(248,113,113,.05);--pending:#fbbf24;--neutral-bar:#4b5563;--strikethrough:rgba(255,255,255,.3);--dropdown-shadow:0 4px 16px rgba(0,0,0,.5)}}.icon-correct{color:var(--valid)}.icon-incorrect{color:var(--invalid)}.icon-neutral{color:var(--neutral-bar)}.icon-hint{color:var(--pending)}.nowrap{white-space:nowrap}.nowrap svg{vertical-align:-.125em}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}:focus:not(:focus-visible){outline:none}body{background:var(--bg);color:var(--text);min-height:100vh;min-height:100svh;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:14px;line-height:1.4}.page{max-width:68rem;margin:0 auto;padding:1rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex;position:relative}.app-header h1{align-items:center;gap:.5rem;margin:0;font-size:1.5rem;font-weight:400;display:flex}.app-title-link{color:inherit;flex-direction:column;line-height:1.2;text-decoration:none;display:inline-flex}.app-title-link:hover{text-decoration:none}.app-tagline{color:var(--text-muted);letter-spacing:.03em;font-size:.55rem;font-weight:400}.app-title{letter-spacing:-.02em}.app-title-ref{color:var(--accent);font-weight:800}.app-logo{cursor:pointer;width:1.4em;height:1.4em;display:inline-block}.app-logo svg{border-radius:4px;width:100%;height:100%}.header-actions{align-items:center;gap:.5rem;display:flex}.header-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;align-items:center;gap:.25em;padding:.3rem .4rem;font-family:inherit;font-size:.8rem;text-decoration:none;display:inline-flex}.header-btn:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}.more-btn{border:1px solid var(--border);letter-spacing:.1em;padding:.25rem .5rem;font-weight:700}.daily-header{color:var(--text-muted);align-items:center;gap:1rem;padding:.5rem 1rem;font-size:.9rem;display:flex}.daily-date{color:var(--text);font-weight:600}.back-link{color:var(--accent);font-size:.85rem;text-decoration:none}.back-link:hover{text-decoration:underline}.difficulty-tabs{background:var(--border);border-radius:8px;gap:0;margin-bottom:.5rem;padding:2px;display:flex;overflow-x:auto}.difficulty-tab{cursor:pointer;color:var(--text-muted);text-align:center;white-space:nowrap;background:0 0;border:none;border-radius:6px;flex:1;padding:.4rem .5rem;font-family:inherit;font-size:.8rem;transition:all .15s}.difficulty-tab:first-child{--tab-color:#22c55e}.difficulty-tab:nth-child(2){--tab-color:#60a5fa}.difficulty-tab:nth-child(3){--tab-color:#f59e0b}.difficulty-tab:nth-child(4){--tab-color:#f97316}.difficulty-tab:nth-child(5){--tab-color:#ef4444}.difficulty-tab{border-bottom:2px solid color-mix(in srgb, var(--tab-color) 75%, transparent);border-radius:6px 6px 0 0}.difficulty-tab:first-child{border-bottom-left-radius:6px}.difficulty-tab:last-child{border-bottom-right-radius:6px}.difficulty-tab:hover{background:var(--bg-hover)}.difficulty-tab.active{background:var(--bg-surface);color:var(--tab-color);border-bottom-color:var(--tab-color);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}.tab-label{font-size:.8rem}.tab-count{opacity:.7;font-size:.65rem}.tab-check{color:var(--valid);vertical-align:middle;margin-right:.25em;display:inline-flex}.tab-started-dot{color:var(--accent)}.questions-grid{grid-template-columns:1fr 1fr;grid-auto-flow:column;gap:0 1.5rem;display:grid}.questions-grid .question-row{grid-row:span 2;grid-template-rows:subgrid}.not-found{text-align:center;padding-top:4rem}.not-found h1{opacity:.2;font-size:3rem}.not-found p{color:var(--text-muted);margin:1rem 0}.icon-btn,.help-btn,.toolbar-icon-btn{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;display:flex}:is(.icon-btn,.help-btn,.toolbar-icon-btn):hover:not(:disabled){background:var(--bg-hover);color:var(--text)}:is(.icon-btn,.help-btn,.toolbar-icon-btn):disabled{opacity:.3;cursor:default}.help-btn{width:1.75rem;height:1.75rem;font-size:.9rem;font-weight:700}.toolbar-icon-btn{border-radius:6px;width:2rem;height:2rem;font-size:.9rem}.toolbar-accent-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;align-items:center;gap:.25rem;padding:.3rem .6rem;font-family:inherit;font-size:.8rem;display:flex}.toolbar-accent-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.toolbar-accent-btn:disabled{opacity:.35;cursor:default}.toolbar-accent-btn.reset-confirm{color:var(--invalid)}.toolbar-accent-btn.reset-confirm:hover{color:var(--invalid)}.more-menu-wrapper{position:relative}.more-menu{background:var(--bg-surface);border:1px solid var(--border);box-shadow:var(--dropdown-shadow);z-index:20;border-radius:6px;flex-direction:column;min-width:10rem;margin-top:4px;display:flex;position:absolute;top:100%;right:0}.more-menu-divider{border:none;border-top:1px solid var(--border);margin:0}.more-menu-item{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.8rem;display:block}.more-menu-item:hover{background:var(--bg-hover)}.more-menu-item:first-child{border-radius:6px 6px 0 0}.more-menu-item:last-child{border-radius:0 0 6px 6px}.split-btn{align-items:stretch;display:inline-flex}.split-btn .toolbar-accent-btn{border-radius:6px 0 0 6px}.split-btn-wrapper{position:relative}.split-btn .split-btn-drop{border-left:1px solid var(--border);border-radius:0 6px 6px 0;padding-left:.3rem;padding-right:.3rem}.split-btn-menu{background:var(--bg-surface);border:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;box-shadow:var(--dropdown-shadow);z-index:10;border-radius:6px;margin-top:4px;padding:.5rem .85rem;font-family:inherit;font-size:.8rem;position:absolute;top:100%;right:0}.split-btn-menu:hover{background:var(--bg-hover)}.share-toast{background:var(--text);color:var(--bg);white-space:nowrap;z-index:10;pointer-events:none;border-radius:6px;margin-top:2px;padding:.3rem .6rem;font-size:.75rem;font-weight:600;animation:2s ease-out forwards toast-fade;position:absolute;top:100%;right:0}@keyframes toast-fade{0%,70%{opacity:1}to{opacity:0}}.puzzle-controls{flex-wrap:wrap;align-items:center;gap:.25rem;padding:.5rem 0;display:flex}.controls-spacer{flex:1}.puzzle-view{position:relative}.question-row{border-bottom:1px solid var(--border);grid-template-rows:auto auto;grid-template-columns:auto 1fr;padding:.5rem 0;display:grid}.question-row>.validity-bar{grid-row:1/-1}.question-row>.question-header{grid-column:2}.question-row>.question-options{grid-column:2;align-self:start}.validity-bar{background:0 0;flex-shrink:0;align-self:stretch;width:4px;margin-right:.5rem}.validity-bar.neutral{background:linear-gradient(to right, var(--neutral-bar) 3px, transparent 3px)}.validity-bar.valid{background:var(--valid)}.validity-bar.pending{border-left:4px dotted var(--pending);width:0}.validity-bar.invalid{border-left:4px double var(--invalid);width:0}.question-header{gap:.4rem;margin-bottom:.3rem;display:flex}.question-num{color:var(--text-muted);flex-shrink:0;font-size:.85rem;font-weight:700}.question-text{font-size:.85rem}.question-options{gap:4px;display:flex}.question-options>*{flex:1 1 0}.question-options.options-vertical{flex-direction:column;gap:3px}.question-options.options-vertical .option-btn{white-space:normal}.option-btn{border:1px solid var(--border);background:var(--bg-surface);color:var(--text);cursor:pointer;text-align:left;white-space:nowrap;border-radius:6px;align-items:center;gap:.45em;padding:.35rem .3rem;font-family:inherit;font-size:.82rem;transition:background .1s,border-color .1s,opacity .1s;display:inline-flex}.option-btn:hover:not(:disabled){background:var(--bg-hover)}.option-btn:disabled{cursor:not-allowed}.option-btn.incorrect{background:var(--invalid-soft);border-color:transparent}.option-btn.incorrect .option-text{opacity:.45}.option-btn.implied{background:var(--invalid-soft);cursor:not-allowed;border-color:transparent}.option-btn.implied .option-text{opacity:.45}.option-btn.correct{border-color:var(--accent);background:var(--accent-soft)}.option-btn.revealed{background:var(--valid-soft);color:var(--valid);border-color:var(--valid)}.option-btn:focus-visible{outline-offset:-1px;z-index:1}.question-row:has(:focus-visible)>.question-header>.question-num{color:var(--accent)}.question-row:has(:focus-visible)>.question-header>.question-text{color:var(--accent)}.option-letter{opacity:.45;font-size:.75rem;font-weight:700}.option-indicator{flex-shrink:0;align-self:center;width:1.4em;height:1em;line-height:0;display:inline-flex;overflow:visible}.option-indicator-spacer{width:1.4em;display:inline-block}.puzzle-hint{background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent);border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.75rem;padding:.6rem 1rem;font-size:.85rem;display:flex}.hint-more{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:.15rem .5rem;font-family:inherit;font-size:.75rem}.hint-more:hover{background:var(--accent);color:#fff}@keyframes glow-pulse{0%,to{box-shadow:0 0 8px var(--valid-soft)}50%{box-shadow:0 0 20px var(--valid-soft)}}.puzzle-complete{background:var(--valid-soft);border:1px solid var(--valid);color:var(--valid);border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;font-weight:600;animation:2s ease-in-out infinite glow-pulse;display:flex}.next-puzzle-btn{background:var(--valid);color:var(--bg);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:.4rem .85rem;font-family:inherit;font-size:.85rem;font-weight:600}.next-puzzle-btn:hover{opacity:.9}.history-strip{flex-wrap:wrap;gap:2px;margin-top:.5rem;padding:.4rem 0;display:flex}.history-entry{align-items:center;gap:2px;display:inline-flex}.history-step{background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;color:var(--text-muted);white-space:nowrap;border-radius:4px;padding:.1rem .4rem;font-family:inherit;font-size:.65rem}.history-step:hover:not(:disabled){background:var(--bg-hover)}.history-step:disabled{cursor:default;opacity:.7}.history-step.current{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.history-step.future{opacity:.35}.history-step.checkpoint{border-color:var(--valid)}.history-step.checkpoint-old{border-color:var(--border)}.history-step.completed-step{border-color:var(--valid);color:var(--valid);align-items:center;gap:.2em;font-weight:600;display:inline-flex}.history-icon{vertical-align:middle;display:inline-flex}.history-hint{opacity:.7;background:var(--bg-surface);border:1px solid var(--border);border-radius:4px;padding:.1rem .25rem;font-size:.55rem}.onboarding-banner{background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.onboarding-content{font-size:.85rem}.onboarding-content strong{color:var(--accent);margin-bottom:.35rem;display:block}.onboarding-content ul{color:var(--text-muted);margin:0;padding-left:1.25rem;line-height:1.6}.onboarding-dismiss{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;flex-shrink:0;padding:.35rem .75rem;font-family:inherit;font-size:.8rem;font-weight:600}.onboarding-dismiss:hover{opacity:.9}.help-panel::backdrop{background:rgba(0,0,0,.4)}.help-panel{background:var(--bg-surface);border:1px solid var(--border);width:100%;max-width:31.25rem;max-height:80vh;color:var(--text);border-radius:12px;margin:auto;padding:0;overflow-y:auto}.help-panel-inner{padding:1.5rem}.help-panel-inner ol{color:var(--text-muted);margin:0 0 .75rem 1.25rem;line-height:1.6}.help-panel-inner ul{color:var(--text-muted);margin:0 0 .75rem 1.25rem;line-height:1.6}.help-panel-inner h4{margin:1rem 0 .5rem;font-size:.95rem}.help-panel-inner p{color:var(--text-muted);margin-bottom:.5rem;line-height:1.6}.help-panel-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.help-panel-header h3{font-size:1.1rem;font-weight:700}.help-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:.25rem;font-size:1.5rem;line-height:1}.help-close:hover{color:var(--text)}.help-credit{color:var(--text-muted);margin-top:1rem;font-size:.8rem}.help-credit a{color:var(--accent)}.inline-help{max-width:600px;color:var(--text-muted);margin:2rem auto 0;padding:1rem;font-size:.8rem;line-height:1.5}.inline-help h4{color:var(--text);margin:.8rem 0 .3rem;font-size:.85rem}.inline-help p{margin:0 0 .5rem}.inline-help ol{margin:0;padding-left:1.5rem}.import-preview{max-width:550px}.import-summary{margin-bottom:.75rem}.import-section{margin-bottom:.75rem}.import-section h4{margin-bottom:.25rem;font-size:.85rem}.import-list{color:var(--text-muted);max-height:6rem;margin:0 0 0 1.25rem;font-size:.75rem;line-height:1.5;overflow-y:auto}.import-actions{border-top:1px solid var(--border);align-items:center;gap:1rem;margin-top:1rem;padding-top:.75rem;display:flex}.sync-dialog{max-width:22rem}.sync-start-btn{width:100%;padding:.5rem;font-size:.9rem}.sync-divider{color:var(--text-muted);align-items:center;gap:.75rem;margin:1rem 0;font-size:.8rem;display:flex}.sync-divider:before{content:"";border-top:1px solid var(--border);flex:1}.sync-divider:after{content:"";border-top:1px solid var(--border);flex:1}.sync-join{gap:.5rem;display:flex}.sync-code-input{letter-spacing:.15em;border:1px solid var(--border);background:var(--bg-surface);color:var(--text);text-align:center;border-radius:6px;flex:1;padding:.4rem .6rem;font-family:inherit;font-size:.95rem}.sync-waiting{text-align:center;padding:.5rem 0}.sync-code-display{letter-spacing:.25em;font-variant-numeric:tabular-nums;padding:.75rem 0;font-size:2rem;font-weight:700}.sync-waiting-text{color:var(--text-muted);font-size:.85rem}.sync-error{color:var(--incorrect);margin-top:.5rem;font-size:.85rem}.keyboard-help{z-index:1000;background:rgba(0,0,0,.3);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.keyboard-help-inner{background:var(--bg-surface);border:1px solid var(--border);width:90%;max-width:24rem;max-height:80vh;color:var(--text);box-shadow:var(--dropdown-shadow);border-radius:12px;padding:1.25rem;overflow-y:auto}.keyboard-help-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.keyboard-help-header strong{font-size:1rem}.keyboard-shortcut-list h4{color:var(--text);margin:.75rem 0 .25rem;font-size:.85rem}.keyboard-shortcut-list h4:first-child{margin-top:0}.shortcut-dl{margin:0}.shortcut-row{align-items:baseline;gap:.75rem;padding:.15rem 0;font-size:.8rem;display:flex}.shortcut-row dt{text-align:right;flex-shrink:0;width:9rem}.shortcut-row dd{color:var(--text-muted);margin:0}kbd{background:var(--bg-hover);border:1px solid var(--border);border-radius:3px;padding:.05rem .35rem;font-family:inherit;font-size:.78rem;font-weight:600}.install-toast{background:var(--bg-surface);border:1px solid var(--border);box-shadow:var(--dropdown-shadow);max-width:20rem;color:var(--text);z-index:100;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:.5rem;padding:.75rem 1rem;font-size:.85rem;display:flex;position:absolute;top:100%;right:0}.install-toast-actions{gap:.5rem;display:flex}.qr-image{image-rendering:pixelated;align-self:center}.history-page{max-width:600px;margin:0 auto;padding:1rem}.history-page h2{margin-bottom:1rem}.history-month{margin-bottom:.5rem}.history-month-header{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-family:inherit;font-size:.9rem;font-weight:600;display:flex}.history-month-header:hover{color:var(--accent)}.history-month-arrow{color:var(--text-muted);font-size:.75rem;transition:transform .15s}.history-month-arrow.open{transform:rotate(180deg)}.history-list{flex-direction:column;gap:.5rem;padding-top:.5rem;display:flex}.history-item{background:var(--bg-surface);border:1px solid var(--border);color:var(--text);border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem 1rem;text-decoration:none;transition:background .15s;display:flex}.history-item:hover{background:var(--bg-hover)}.history-item.history-today{border-color:var(--accent);border-width:2px}.history-date{font-weight:600}.history-day{color:var(--text-muted);margin-left:.5rem;font-size:.85em;font-weight:400}.history-progress{color:var(--text-muted);font-size:.85rem}.file-input,.print-only{display:none}@media print{body *{visibility:hidden}.print-only,.print-only *{visibility:visible}.print-only{color:#000;background:#fff;width:100%;padding:1rem;font-size:11pt;display:block;position:absolute;top:0;left:0}.print-only h1{border-bottom:1px solid #000;margin-bottom:.5rem;padding-bottom:.3rem;font-size:14pt}.print-puzzle{page-break-inside:avoid;margin-bottom:1rem}.print-puzzle h2{margin-bottom:.3rem;font-size:12pt}.print-question{margin-bottom:.4rem}.print-question-text{margin-bottom:.15rem;font-weight:600}.print-options{flex-wrap:wrap;padding-left:1.2em;display:flex}.print-options.print-options-long{flex-direction:column;gap:.1em}.print-option{flex:1 1 0;min-width:5em}}.show-mobile{display:none!important}@media (max-width:768px){.hide-mobile{display:none!important}.show-mobile{display:block!important}.questions-grid{display:block}.questions-grid .question-row{grid-row:auto;grid-template-rows:auto auto}}@media (max-width:420px){:root{font-size:15px}}@media (max-width:390px){:root{font-size:14px}}@media (max-width:360px){:root{font-size:13px}}@media (min-width:1200px){:root{font-size:18px}}
