@font-face{font-family:Manrope;src:url(/fonts/manrope-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-800.woff2) format("woff2");font-weight:800;font-display:swap}:root{--bg:#111211;--panel:#191b19;--line:#30332f;--text:#f4f1e8;--muted:#aaa99e;--accent:#ff9459;--green:#abd4ae;--radius:8px;--choice-line:#686d63;--choice-hover:#282b25;--wrong-bg:#33261e;--correct-bg:#202c21;--accent-hover:#ffac7d;--barcode-bg:#242722;--brand-sand:#b7aa86;--brand-sage:#84998a;--brand-deep:#55645b;--backdrop:#000c;color-scheme:dark;font-family:Manrope,sans-serif;font-synthesis:none;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{overscroll-behavior:none}button,a,textarea{font:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{color:inherit;cursor:pointer}button:disabled{cursor:default}button,a,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--accent)}::selection{background:var(--accent);color:var(--bg)}textarea{caret-color:var(--accent)}a{color:inherit;text-decoration:none;text-underline-offset:4px}a:hover{text-decoration:underline}[hidden]{display:none!important}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;z-index:20;padding:12px;background:var(--accent);color:var(--bg);transform:translateY(-150%)}.skip-link:focus{transform:none}.boot{margin:24px}.page{height:100dvh;max-width:1000px;margin:auto;padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(16px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:12px}.header{flex-shrink:0;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;font-size:22px;letter-spacing:-.035em;font-weight:800}.brand>span:not(.brand-mark){font-weight:400}.brand .brand-dot{color:var(--accent);font-weight:800}.brand-mark{display:flex;align-items:center;gap:3px;margin-right:10px}.brand-mark i{width:4px;height:22px;background:var(--accent)}.brand-mark i:nth-child(2){background:var(--brand-sand);height:16px}.brand-mark i:nth-child(3){background:var(--brand-sage)}.brand-mark i:nth-child(4){background:var(--brand-deep);height:12px}.modes{display:flex;padding:3px;border:1px solid var(--line);border-radius:26px;gap:2px}.mode{min-height:44px;padding:8px 16px;border:0;border-radius:24px;background:none;color:var(--muted);font-size:13px;font-weight:600}.mode.active{background:var(--line);color:var(--text)}.header-actions{display:flex;gap:6px}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;width:44px;min-height:44px;height:44px;background:none;border:1px solid var(--line);border-radius:50%}.icon-button:hover{background:var(--line)}main{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;gap:12px}.intro{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-shrink:0}.intro h1{font-size:26px;letter-spacing:-.035em;font-weight:400;margin:0;line-height:1.3}.intro h1{text-wrap:balance}.intro h1 span{color:var(--accent)}.intro p{margin:0;font-size:12px;color:var(--muted)}#round{flex:1;min-height:0;display:grid;grid-template-rows:auto auto minmax(70px,1fr) auto auto auto;gap:10px}.round-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.round-header h2{margin:0;font-size:15px;font-weight:600}.round-meta{display:flex;gap:16px;color:var(--muted);font-size:12px}.question-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;list-style:none;margin:0;padding:0}.progress-step{border-bottom:2px solid var(--line);display:flex;align-items:center;justify-content:space-between;min-height:26px;padding:0 6px;font-size:12px;color:var(--muted)}.progress-step .icon{width:14px;height:14px}.progress-step.current{border-color:var(--text);color:var(--text)}.progress-step.correct{border-color:var(--green);color:var(--green)}.progress-step.incorrect{border-color:var(--accent);color:var(--accent)}.screen{min-height:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);display:grid;grid-template-rows:44px minmax(20px,1fr) 24px 28px;overflow:hidden}.screen-top{display:flex;justify-content:space-between;align-items:center;padding:0 12px}.challenge,.screen-tools{display:flex;align-items:center;gap:10px;font-size:12px}.screen-tools>span{color:var(--muted)}.screen-tools .icon-button{border:0;border-radius:6px}.barcode-stage{position:relative;min-height:0;background:var(--barcode-bg);margin:0 8px;cursor:default;overflow:hidden}.barcode-stage img{width:100%;height:100%;object-fit:fill;display:block}.image-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--panel);color:var(--muted);font-size:13px}.playhead{position:absolute;top:0;bottom:0;border-left:1px solid var(--text);pointer-events:none}.playhead span{position:absolute;top:8px;left:8px;white-space:nowrap;background:var(--bg);padding:5px;font-size:11px;border-radius:4px}.timeline{display:flex;justify-content:space-between;padding:7px 16px;color:var(--muted);font-size:9px;letter-spacing:.06em}.screen-bottom{display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-top:1px solid var(--line);gap:8px}.screen-bottom p{font-size:10px;color:var(--muted);margin:0}.palette{display:flex;gap:3px}.palette span{width:16px;height:8px;border-radius:2px}.question-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.question-title h2{margin:0;font-size:17px;font-weight:600}.question-title>span{font-size:11px;color:var(--muted)}.choices{display:grid;grid-template-columns:1fr;gap:6px}.choice{border:1px solid var(--choice-line);border-radius:var(--radius);background:var(--panel);padding:8px 12px;min-height:60px;display:flex;align-items:center;gap:12px;text-align:left;transition:background .15s,border-color .15s}.choice:hover:not(:disabled){background:var(--choice-hover);border-color:var(--accent)}.choice:active:not(:disabled){background:var(--wrong-bg)}.choice-letter{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--choice-line);border-radius:4px;font-size:12px;color:var(--muted)}.choice-name{min-width:0;font-size:14px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.choice-name small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:4px}.choice-state{margin-left:auto;flex-shrink:0}.choice-state .icon{width:18px;height:18px}.choice-correct{border-color:var(--green);background:var(--correct-bg)}.choice-correct .choice-letter,.choice-correct .choice-state{color:var(--green)}.choice-wrong{border-color:var(--accent);background:var(--wrong-bg)}.choice-wrong .choice-letter,.choice-wrong .choice-state{color:var(--accent)}.feedback{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid var(--line)}.feedback>div{min-width:0}.feedback h3{font-size:14px;font-weight:600;margin:0 0 4px}.feedback p{font-size:12px;color:var(--muted);margin:0;line-height:1.35;overflow-wrap:anywhere}.feedback .primary{flex-shrink:0}.primary{min-height:44px;background:var(--accent);color:var(--bg);border:1px solid var(--accent);border-radius:var(--radius);font-size:13px;font-weight:800;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:12px}.primary:hover{background:var(--accent-hover)}.primary .icon{width:18px;height:18px}.text-button{min-height:44px;background:none;border:0;color:var(--muted);font-size:13px;padding:8px 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.text-button:disabled{opacity:.4}.text-button:hover:not(:disabled){color:var(--text)}.next-section{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:10px;min-height:28px}.next-section>div{display:flex;align-items:center;gap:8px}.next-section p{margin:0;font-size:10px;color:var(--muted)}.next-section time{font-size:11px;font-variant-numeric:tabular-nums}#reset-note{font-size:10px;color:var(--muted)}footer{flex-shrink:0;min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted)}footer a{min-height:44px;display:flex;align-items:center;gap:5px}footer .icon{width:12px;height:12px}.summary{min-height:0;flex:1;max-width:640px;width:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:center;gap:12px}.summary h2{font-size:24px;font-weight:400;letter-spacing:-.03em;margin:0;line-height:1.25}.summary-score{margin:0;font-size:20px;color:var(--muted)}.summary-score>span{font-size:44px;color:var(--accent);font-weight:600}.summary-copy{margin:0;color:var(--muted);font-size:13px}.summary-list{list-style:none;padding:0;margin:0}.summary-list li{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}.summary-index{color:var(--muted);width:12px;flex-shrink:0}.summary-film{min-width:0;overflow-wrap:anywhere}.summary-list small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.summary-status{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0;font-size:11px}.summary-status .icon{width:16px;height:16px}.summary-status.correct{color:var(--green)}.summary-status.incorrect{color:var(--accent)}.summary-actions{display:flex;gap:12px}.summary textarea{width:100%;height:64px;background:var(--panel);border:1px solid var(--line);color:var(--text);font-size:12px;resize:none}.info-panel{position:absolute;z-index:5;inset:0;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:56px 20px 20px;display:flex;flex-direction:column;justify-content:safe center;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--choice-line) var(--bg);gap:18px}.info-panel h1{font-size:22px;font-weight:600;margin:0}.info-panel p{font-size:14px;line-height:1.65;color:var(--muted);margin:0;max-width:65ch}.info-panel>.icon-button{position:absolute;top:8px;right:8px}.statistics{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:0}.statistics dt{font-size:12px;color:var(--muted)}.statistics dd{font-size:28px;margin:4px 0 0}.notice,.error{position:absolute;bottom:40px;left:0;right:0;z-index:6;background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius);padding:12px;font-size:13px;margin:0}.archive{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:12px 0;max-width:640px;width:100%;margin:0 auto}.archive h2{font-size:24px;font-weight:400;margin:0}.archive p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}.archive-days{display:flex;flex-direction:column;gap:8px}.archive-day{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;min-height:58px;padding:10px 14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);font-size:14px}.archive-day:hover{border-color:var(--accent)}.archive-day small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.archive-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:auto;font-size:12px;color:var(--muted)}dialog{max-width:95vw;width:1000px;padding:56px 16px 16px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius)}dialog::backdrop{background:var(--backdrop)}dialog>.icon-button{position:absolute;right:8px;top:6px}dialog img{width:100%;height:min(55dvh,400px);display:block;object-fit:fill}dialog p{font-size:12px;color:var(--muted);margin:12px 0 0}@media(min-width:700px){.page{padding-left:28px;padding-right:28px;gap:16px}.choices{grid-template-columns:repeat(3,minmax(0,1fr))}.choice{min-height:80px}.intro h1{font-size:30px}.screen{grid-template-rows:44px minmax(30px,1fr) 26px 32px}.summary-list li{min-height:56px}}@media(max-width:480px){.header{flex-wrap:wrap;gap:0;min-height:100px}.brand{font-size:21px}.modes{order:3;width:100%;justify-content:center;margin-bottom:8px;padding:0;border:0}.mode{flex:1;max-width:160px;min-height:44px;border-radius:5px}.page{gap:10px}.intro h1{font-size:21px}.intro p{display:none}.round-meta{font-size:11px;gap:10px}.question-title>span{font-size:10px}.summary{gap:10px}.summary h2{font-size:22px}footer>span{display:none}footer{justify-content:center}.next-section{padding-top:8px}#reset-note{display:none}.info-panel p{font-size:13px}.info-panel{gap:16px}}@media(max-height:700px){.page,main{gap:8px}.intro{display:none}#round{gap:6px}.choice{min-height:52px;padding:6px 10px}.screen{grid-template-rows:44px minmax(20px,1fr) 20px 24px}.summary{gap:6px}.summary-list li{min-height:44px}.summary-score>span{font-size:34px}.summary h2{font-size:20px}footer{min-height:24px}.info-panel{gap:12px}.archive{gap:8px}.archive-day{min-height:52px}.archive-days{gap:6px}}@media(max-height:500px)and (min-width:550px){.header{min-height:54px}.page{gap:6px}.next-section,footer,.intro{display:none}#round{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:24px 26px 24px minmax(0,1fr) auto;column-gap:14px}.round-header{grid-column:1/-1;grid-row:1}.question-progress{grid-column:1/-1;grid-row:2}.screen{grid-column:1;grid-row:3/6}.question-title{grid-column:2;grid-row:3}.question-title>span{display:none}.choices{grid-column:2;grid-row:4;grid-template-columns:1fr;gap:4px;align-self:start}.choice{min-height:48px}.feedback{grid-column:2;grid-row:5;padding-top:4px}.feedback p{font-size:10px}.feedback h3{font-size:12px}.feedback .primary{padding:6px 10px}.summary{display:grid;grid-template-columns:1fr 1.3fr;grid-template-rows:auto auto 1fr auto;column-gap:20px;align-items:start}.summary h2{grid-column:1;grid-row:1}.summary-score{grid-column:1;grid-row:2}.summary-copy{grid-column:1;grid-row:3}.summary-list{grid-column:2;grid-row:1/5}.summary-actions{grid-column:1;grid-row:4}.summary-list li{min-height:44px}.info-panel{padding:16px 64px 16px 16px;gap:8px}.info-panel p{font-size:12px;line-height:1.45}.statistics{grid-template-columns:repeat(4,1fr)}.archive{display:grid;grid-template-columns:1fr 1.6fr;grid-template-rows:auto auto 1fr auto;gap:8px}.archive h2,.archive>p{grid-column:1}.archive-days{grid-column:2;grid-row:1/5}.archive-pagination{grid-column:1;grid-row:4}.archive-day{min-height:44px;padding:6px 12px}.archive-day small{margin-top:2px}}.page{max-height:820px}.summary-actions{flex-wrap:wrap;column-gap:8px;row-gap:0}.summary{justify-content:safe center;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--choice-line) var(--bg)}.summary>*{flex-shrink:0}.summary-score{line-height:1.1}@media(max-height:600px){.summary{gap:4px}.summary-list li{min-height:40px;padding:3px 0;line-height:1.25}}.intro{flex-wrap:wrap}.intro p{margin-left:auto}@media(max-height:700px){.intro{display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.header .brand{min-height:44px}.support-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0 14px;border:1px solid var(--accent);border-radius:24px;background:var(--wrong-bg);color:var(--accent);font-size:12px;font-weight:600;white-space:nowrap;transition:background .15s ease,color .15s ease}.support-button:hover{background:var(--accent);color:var(--bg);text-decoration:none}.support-button .icon{width:18px;height:18px}@media(max-width:699px){.support-button{width:44px;padding:0}.support-button span{display:none}}.question-progress{min-height:26px}.choices:empty{min-height:192px}@media(min-width:700px){.choices:empty{min-height:80px}}@media(max-height:700px){.choices:empty{min-height:168px}}@media(min-width:700px)and (max-height:700px){.choices:empty{min-height:52px}}@media(max-height:500px)and (min-width:550px){.choices:empty{min-height:152px}}@media(max-height:600px){.next-section{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.feedback-dialog{width:400px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--choice-line) var(--panel)}.feedback-dialog h2{margin:0 40px 8px 0;font-size:20px;font-weight:600;letter-spacing:-.03em;line-height:1.3}.feedback-dialog>p{margin:0 0 20px;font-size:13px;line-height:1.6}.feedback-dialog textarea{display:block;width:100%;min-height:116px;max-height:220px;resize:vertical;padding:12px;border:1px solid var(--choice-line);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:14px;line-height:1.6;scrollbar-width:thin;scrollbar-color:var(--choice-line) var(--bg)}.feedback-dialog textarea::placeholder{color:var(--muted);opacity:1}.feedback-dialog textarea:hover{border-color:var(--muted)}.feedback-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.feedback-form-actions>span{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.feedback-dialog .primary:disabled{background:var(--line);border-color:var(--line);color:var(--muted)}.feedback-dialog .feedback-form-error{margin:12px 0 0;color:var(--accent);line-height:1.5}.feedback-success p{display:flex;align-items:center;gap:8px;color:var(--green);font-size:14px}.feedback-success .text-button{padding-left:0}.help-feedback{align-self:flex-start;padding-left:0}footer>.text-button{padding:0;font-size:11px;color:var(--muted)}@media(max-width:480px){footer{justify-content:space-between}.feedback-dialog{padding:20px}}.error{display:flex;align-items:center;justify-content:space-between;gap:12px}.error p{margin:0;line-height:1.5}.error .text-button{flex-shrink:0;color:var(--accent)}#game:focus{outline:none}.primary{white-space:nowrap}.info-panel>*{flex-shrink:0}.screen-bottom p{font-variant-numeric:tabular-nums}@media(max-height:350px){.page{height:480px;max-height:none}}@media(max-width:549px)and (max-height:450px){.page{height:760px;max-height:none}}
