*{box-sizing:border-box}body{margin:0;background:var(--theme-bg,#0f172a);color:var(--theme-ink,#f8fafc);font:15px/1.55 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}button,select{font:inherit}button{cursor:pointer;border:1px solid var(--theme-line);background:var(--theme-control);color:inherit;padding:9px 13px;border-radius:11px;transition:background .15s,border-color .15s,transform .15s}button:hover:not(:disabled){border-color:var(--theme-accent);filter:brightness(1.12)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,svg [tabindex]:focus-visible{outline:3px solid #fbbf24;outline-offset:3px}button.active{background:#2563eb;border-color:#60a5fa;color:white}a{color:inherit}h1,h2,p{margin:0}h1{font-size:29px;line-height:1.2;letter-spacing:-.03em}h2{font-size:19px;line-height:1.4}p{margin-top:8px}small,.small{font-size:12px}b{font-weight:750}[hidden]{display:none!important}.shell{max-width:1440px;margin:auto;padding:78px 32px 20px}.trainer-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:38px}.brand{font-weight:850;font-size:25px;letter-spacing:-.7px;text-decoration:none}.brand span,.menu-intro h1 span{color:var(--theme-accent)}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--theme-muted);font-size:10px;font-weight:650}.header-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.header-actions button{font-size:12px;font-weight:600;background:var(--theme-card)}.pill{padding:7px 12px;border:1px solid;border-radius:12px;font-size:14px;white-space:nowrap}.fire{color:#fdba74;background:#43140755;border-color:#f9731633}.gems{color:#93c5fd;background:#17255488;border-color:#3b82f633}.glass{background:var(--theme-card);border:1px solid var(--theme-line);border-radius:20px;box-shadow:0 16px 50px #02061718}.muted{color:var(--theme-muted)}.badge{display:inline-block;padding:6px 11px;border:1px solid #38bdf840;background:#38bdf810;border-radius:99px;font-size:11px;color:var(--theme-accent-light);font-weight:700}.menu-layout{display:grid;grid-template-columns:1fr 450px;gap:90px;align-items:center;max-width:1050px;margin:30px auto 60px}.menu-intro h1{font-size:64px;letter-spacing:-.055em;margin-top:20px;line-height:1.04}.menu-intro>p{color:var(--theme-muted);font-size:16px;margin-top:20px}.intro-note{font-size:12px;color:var(--theme-muted);border-left:2px solid #38bdf8;padding-left:14px}.intro-note b{color:var(--theme-ink)}.menu-figure{display:block;max-width:360px;width:100%;height:250px;margin:0 auto;fill:none;stroke-linejoin:round}.preview-body{stroke:#94a3b8;stroke-width:1.7}.preview-back{stroke:#475569;stroke-dasharray:5 5}.preview-cut{fill:#38bdf81b;stroke:#38bdf8;stroke-width:2}.menu-figure circle{fill:#fbbf24;stroke:#0f172a;stroke-width:2}.menu-figure text{fill:#fbbf24;font-size:15px}.settings{padding:30px;display:flex;flex-direction:column;gap:22px}.settings h2{font-size:23px}fieldset{margin:0;padding:0;border:0}legend,.settings label{font-size:13px;color:var(--theme-muted)}.choices{display:flex;gap:9px;margin-top:9px}.choices button{flex:1}select{display:block;width:100%;margin-top:8px;padding:12px 10px;border-radius:11px;border:1px solid var(--theme-line);color:var(--theme-ink);background:var(--theme-panel);text-overflow:ellipsis}.primary{background:linear-gradient(120deg,#2563eb,#0284c7);color:white;border-color:#3b82f6;font-weight:750}.start{padding:15px;font-size:16px}.settings .small{margin:0;text-align:center}.session-bar{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;gap:15px;border-radius:15px}.timer{font:700 26px ui-monospace,monospace;font-variant-numeric:tabular-nums}.timer.urgent{color:#fda4af}.session-counters{display:flex;gap:25px}.session-counters small{color:var(--theme-muted)}.task-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0 20px}.task-heading p{font-size:13px;color:var(--theme-muted)}.task-heading h1{margin-top:5px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:18px}.drawing-card{overflow:hidden}.drawing-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 15px;border-bottom:1px solid var(--theme-line);flex-wrap:wrap}.stage-tabs{display:flex;gap:5px}.stage-tabs button{font-size:12px;padding:8px 11px}.aux-counter{font-size:11px;color:var(--theme-muted)}.aux-counter.full{color:#fbbf24}.board-container{background:var(--theme-panel);background-image:radial-gradient(#94a3b815 .7px,transparent .7px);background-size:22px 22px;aspect-ratio:1.27;position:relative}.board-container svg{display:block;width:100%;height:100%;overflow:visible}.drawing-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 15px;color:var(--theme-muted);font-size:10px;flex-wrap:wrap}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin:0 3px 0 8px}.given{background:#fbbf24}.found{background:#2dd4bf}.candidate{border:1px solid #e2e8f0}.rotate-controls{display:flex;gap:7px;align-items:center}.rotate-controls button{padding:3px 11px;font-size:19px}.construction-panel{padding:20px;display:flex;flex-direction:column;gap:12px}.construction-panel h2{font-size:17px}.construction-panel p{margin:0;font-size:12px}.selected-points{min-height:42px;padding:10px;border:1px dashed var(--theme-line);border-radius:10px;font-size:12px;color:#fbbf24;text-align:center}.button-pair{display:flex;gap:8px}.button-pair>*{flex:1;min-width:0}.construction-panel button{font-size:12px}.feedback{padding:11px;border:1px solid #38bdf833;border-radius:10px;background:#38bdf80a;color:var(--theme-accent-light);font-size:12px}.feedback.error{color:#fecdd3;border-color:#fb718566;background:#fb718511}.feedback.success{color:#99f6e4;border-color:#2dd4bf66;background:#2dd4bf11}.check-btn{background:#0f766e;border-color:#2dd4bf;color:#f0fdfa;font-weight:750}.steps-details{margin-top:5px;border-top:1px solid var(--theme-line);padding-top:12px;font-size:12px}.steps-details summary{cursor:pointer;font-weight:700}.steps-details summary span{color:var(--theme-muted);margin-left:5px}.moves-list{padding-left:23px;max-height:230px;overflow:auto;color:var(--theme-muted);font-size:11px;margin:9px 0 0}.moves-list li{padding:4px 0}.moves-list .error{color:#fda4af}.moves-list .success{color:#5eead4}footer{font-size:11px;color:var(--theme-muted);text-align:center;margin-top:45px}.summary-card{max-width:650px;margin:55px auto;padding:35px;display:flex;gap:23px;flex-direction:column}.summary-card h1{font-size:32px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat{padding:16px;border:1px solid var(--theme-line);background:var(--theme-panel);border-radius:12px}.stat strong{display:block;font-size:28px;color:var(--theme-accent-light)}.stat span{font-size:12px;color:var(--theme-muted)}dialog{width:min(850px,calc(100% - 24px));max-height:88vh;border:1px solid var(--theme-line);border-radius:20px;background:var(--theme-card);color:var(--theme-ink);padding:25px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#020617cc;backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.dialog-top h2{font-size:24px}#dialog-content{font-size:14px}#dialog-content h3{font-size:16px;color:var(--theme-accent-light);margin:24px 0 7px}#dialog-content p{color:var(--theme-muted)}#dialog-content li{padding:4px 0}.reference-rule{padding:14px;border-left:3px solid #fbbf24;background:#fbbf240b;margin:18px 0}.history-entry{border:1px solid var(--theme-line);border-radius:12px;margin:12px 0;padding:14px}.history-entry summary{cursor:pointer;font-weight:650}.history-entry small{display:block;color:var(--theme-muted);font-weight:400;margin-top:5px}.history-entry ol{font-size:12px;color:var(--theme-muted)}.history-figure{background:var(--theme-panel);aspect-ratio:1.5;max-height:340px;margin-top:15px;border-radius:12px}.history-figure svg{width:100%;height:100%}.history-entry .error{color:#fda4af}.solution-controls{display:flex;align-items:center;gap:12px;margin:12px 0}.solution-controls button{flex:none}.solution-caption{min-height:45px;color:var(--theme-accent-light)!important}.storage-warning{padding:12px;color:#fbbf24;text-align:center;font-size:12px}.geometry-line{stroke:#38bdf8;stroke-width:1.5;stroke-dasharray:8 5;opacity:.65}.geometry-line.auxiliary{stroke:#c084fc;stroke-dasharray:5 6}.body-edge{stroke:#8c9db7;stroke-width:2;fill:none}.body-edge.hidden-edge{stroke:#64748b;stroke-dasharray:7 6;opacity:.7}.face-segment{stroke:#38bdf8;stroke-width:3;fill:none}.face-segment.auxiliary{stroke:#c084fc;stroke-width:2}.face-segment.picked{stroke:#2dd4bf;stroke-width:5}.point-label{font:600 16px system-ui;paint-order:stroke;stroke:var(--theme-panel);stroke-width:5;stroke-linejoin:round;fill:#cbd5e1;pointer-events:none}.point-label.given{fill:#fbbf24}.point-label.found{fill:#5eead4}.point-hit{fill:transparent;stroke:transparent;cursor:pointer}.point-visual{stroke:var(--theme-panel);stroke-width:2;fill:#94a3b8;pointer-events:none}.point-visual.given{fill:#fbbf24}.point-visual.found{fill:#2dd4bf}.chosen .point-visual{stroke:#f8fafc;stroke-width:4}.candidate-visual{fill:var(--theme-panel);stroke:#e2e8f0;stroke-width:1.5;pointer-events:none}.candidate-hit:hover .candidate-visual{fill:#2dd4bf}.segment-hit{stroke:transparent;stroke-width:18;cursor:pointer}.segment-hit:hover{stroke:#2dd4bf44}.point-hit:hover~.point-visual{stroke:#fff;stroke-width:3}.section-fill{fill:#2dd4bf25;stroke:none;pointer-events:none}
@media(min-width:1550px){.board-container{aspect-ratio:1.4}}@media(max-width:1100px){.shell{padding:75px 22px 20px}.trainer-header{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:25px}.menu-layout{gap:35px;grid-template-columns:1fr 410px}.menu-intro h1{font-size:54px}.workspace{grid-template-columns:minmax(0,1fr) 280px}.session-counters{gap:13px}.drawing-top{padding:11px}.board-container{aspect-ratio:1.05}}@media(max-width:760px){.shell{padding:70px 14px 20px}.brand{font-size:23px}.header-actions{gap:6px}.header-actions button{padding:8px;font-size:11px}.pill{padding:6px 9px}.menu-layout{grid-template-columns:1fr;gap:25px;margin:15px auto;max-width:470px}.menu-intro{text-align:center}.menu-intro h1{font-size:43px;margin-top:12px}.menu-intro h1 br{display:none}.menu-intro>p{font-size:14px;margin-top:12px}.menu-figure{height:150px}.intro-note{display:none}.settings{padding:23px;gap:19px}.workspace{grid-template-columns:1fr}.board-container{aspect-ratio:1.2}.construction-panel{gap:10px}.session-bar{padding:12px;flex-wrap:wrap;gap:9px}.session-counters{gap:12px;font-size:13px}.session-counters small{display:none}.session-bar>button{font-size:11px}.timer{font-size:22px}.task-heading{padding:18px 0 14px;gap:8px}.task-heading h1{font-size:22px}.task-heading p{font-size:12px}.task-heading .badge{font-size:9px;max-width:112px}.drawing-top{gap:10px}.stage-tabs button{font-size:11px}.drawing-bottom{padding:8px 9px;font-size:9px}.summary-card{padding:23px;margin:25px auto}.summary-card h1{font-size:27px}dialog{padding:18px}.point-label{font-size:19px}.point-hit{r:18px}.candidate-hit .point-hit{r:18px}.moves-list{max-height:160px}}
.mobile-actions{display:none}@media(max-width:760px){.mobile-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-top:1px solid var(--theme-line);font-size:12px}.mobile-actions>span{color:#fbbf24}.mobile-actions button{font-size:12px;padding:10px 15px}.point-label{font-size:26px}.point-visual.given,.point-visual.found{r:8px}.candidate-visual{r:7px}.point-visual.vertex{r:5.5px}}
