:root{color-scheme:light;font-family:Avenir Next,Nunito Sans,Segoe UI,sans-serif;--font-display: "Sora", "Avenir Next", "Nunito Sans", sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "Menlo", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--line-height-tight: 1.2;--line-height-base: 1.5;--bg: #f8f2e6;--bg-soft: #f3ead8;--surface: #fffdf8;--surface-alt: #f9f4e8;--surface-strong: #efe7d8;--text: #1d2a24;--muted: #55685d;--accent: #0f5b44;--accent-soft: #2a7a5e;--accent-ink: #0b3527;--gold: #b17a2a;--border: #d8cfbe;--danger: #a3202f;--warning: #b8740d;--success: #1f7a4a;--info: #2a6a88;--card-face: #fffdf8;--card-ink: #1d2a24;--card-red: #d11f33;--shadow-soft: 0 8px 22px rgba(28, 38, 32, .09);--shadow-medium: 0 16px 34px rgba(20, 32, 24, .15);--radius-sm: 10px;--radius-md: 12px;--radius-lg: 18px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--text);background:radial-gradient(circle at 12% -10%,rgba(177,122,42,.18),transparent 34%),radial-gradient(circle at 100% 0%,rgba(15,91,68,.17),transparent 42%),linear-gradient(140deg,#f9f4e9,#f3ebdd 42%,#f7efe0)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.24;background-image:linear-gradient(to right,rgba(108,102,84,.04) 1px,transparent 1px);background-size:28px 28px}a{color:var(--accent);text-underline-offset:2px}a:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:2px}.layout{position:relative;z-index:1;max-width:1220px;margin:0 auto;padding:1.05rem;display:grid;gap:.95rem}.app-shell{padding-top:4.7rem}.app-shell-focus{padding-top:1rem}.workspace-content{display:grid;gap:.9rem;min-width:0}.workspace-navbar{position:fixed;top:0;left:0;right:0;z-index:30;padding:.52rem .9rem .44rem;border-bottom:1px solid rgba(214,202,178,.9);background:#fffbf4e6;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.workspace-navbar-inner{max-width:1220px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:.7rem}.workspace-navbar-current{min-width:0;display:flex;align-items:baseline;gap:.4rem;line-height:1.1}.workspace-navbar-current .crumb-root{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;cursor:pointer;white-space:nowrap;font-family:var(--font-display);font-size:.88rem;font-weight:700;color:var(--muted);transition:color .15s ease}.workspace-navbar-current .crumb-root:hover,.workspace-navbar-current .crumb-root:focus-visible{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.workspace-navbar-current .crumb-sep{color:var(--muted);opacity:.6}.workspace-navbar-current .crumb-current{max-width:min(58vw,280px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:.92rem;color:#17362b}.workspace-drawer{display:none;max-width:1220px;margin:.48rem auto 0;padding:.56rem;border:1px solid #d8ccb7;border-radius:var(--radius-md);background:linear-gradient(180deg,#fffdf8,#f5eedf);box-shadow:0 10px 18px #1b271e21;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.5rem}.workspace-drawer.is-open{display:grid}.workspace-drawer-group{grid-column:1 / -1;margin-top:.1rem;padding-top:.58rem;border-top:1px dashed #d7ccb8}.workspace-submenu-title{margin:0 0 .38rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#667266}.workspace-submenu-items{display:grid;gap:.4rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.workspace-drawer-section{grid-column:1 / -1;margin:.3rem 0 -.1rem;padding-top:.5rem;border-top:1px dashed #d7ccb8;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#667266}.workspace-sub-link{text-align:left;border:1px solid #d4c6ac;border-radius:var(--radius-sm);color:#224136;background:linear-gradient(120deg,#fff9ec,#f2e7d2);box-shadow:none;padding:.46rem .56rem;font-size:.82rem}.workspace-sub-link.is-active{color:#f6f8f2;border-color:#0a3627bf;background:linear-gradient(120deg,var(--accent) 0%,var(--accent-soft) 100%)}.practice-layout{display:grid;gap:.9rem;grid-template-columns:1fr}.analysis-master{display:grid;gap:.9rem;align-items:start}.analysis-master #chapter-progress{order:1}.analysis-master #practice-window-panel-puzzle{order:2}.chapter-progress-head{justify-content:flex-start}.chapter-progress-head h2{flex:1;min-width:0}.chapter-panel-toggle{flex:0 0 auto}.chapter-progress-body{display:grid;gap:.72rem;min-width:0}.practice-main,.practice-side{display:grid;gap:.9rem;min-width:0}.hero{position:relative;overflow:hidden;padding:1.35rem 1.45rem;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.24);color:#f8f7ef;box-shadow:var(--shadow-medium);background:linear-gradient(130deg,#0e5942,#1f6f55 55%,#2a8062)}.hero:after{content:"";position:absolute;width:310px;height:310px;right:-130px;top:-185px;border-radius:50%;background:radial-gradient(circle,#fff0cd5c,#fff0cd00);animation:float-hero 7s ease-in-out infinite}.hero-kicker{display:inline-block;margin-bottom:.45rem;padding:.2rem .62rem;border-radius:999px;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,255,255,.42);background:#ffffff14}.hero h1{margin:0;font-family:var(--font-display);font-size:clamp(1.52rem,2.2vw,2.1rem);line-height:1.12;letter-spacing:.01em}.hero p{margin:.52rem 0 0;max-width:78ch;color:#f8f7efeb}.hero-chip{margin-top:.72rem;font-size:.82rem;color:#f8f7efde}.workspace-link{width:100%;text-align:left;border:1px solid #d7cab3;color:#254339;background:linear-gradient(120deg,#fff9ed,#f2e7d3);box-shadow:none}.workspace-link strong{display:block;font-size:.86rem;line-height:1.2}.workspace-link span{display:block;margin-top:.24rem;font-size:.74rem;color:#5a655d}.workspace-link.is-active{color:#f6f8f2;border-color:#0a3627bf;background:linear-gradient(120deg,var(--accent) 0%,var(--accent-soft) 100%);box-shadow:0 8px 14px #0c372933}.workspace-link.is-active span{color:#f6f8f2eb}.workspace-menu-toggle{display:inline-flex;align-items:center;gap:.36rem;padding:.38rem .6rem;border-radius:999px;font-size:.78rem;letter-spacing:.03em;text-transform:uppercase}.workspace-menu-toggle span[aria-hidden=true]{font-size:.94rem;line-height:1}@media (min-width: 1100px){.practice-layout{grid-template-columns:minmax(0,1.45fr) minmax(300px,.95fr);align-items:start}}.panel{border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(180deg,#ffffffed,#fdf9f2f0);box-shadow:var(--shadow-soft);padding:.92rem .98rem;animation:panel-rise .34s ease both}.panel h2,.panel h3{margin-top:0;margin-bottom:.56rem;font-family:var(--font-display);color:var(--accent-ink);letter-spacing:.01em}.panel p{color:var(--muted)}.panel[id]{scroll-margin-top:5.6rem}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.56rem}.panel-head h2{margin:0}.panel-toggle{padding:.42rem .56rem;font-size:.8rem;letter-spacing:.03em;text-transform:uppercase}.practice-layout.is-controls{grid-template-columns:minmax(0,1fr)}.controls-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.controls-grid>label{min-width:0}.wizard-grid .diag-card button{margin-top:.4rem}.wizard-stepper{display:grid;gap:.52rem;grid-template-columns:1fr;margin-top:.5rem}.wizard-step-chip{text-align:left;color:#284339;border-color:#cfbfa3;background:linear-gradient(120deg,#fff8ea,#f2e6cf);box-shadow:none}.wizard-step-chip strong{display:block;font-size:.88rem}.wizard-step-chip span{display:block;margin-top:.2rem;font-size:.78rem;color:#59655d}.wizard-step-chip.is-done{border-color:#14664a70;background:linear-gradient(120deg,#edf8f2,#e3f1ea)}.wizard-step-chip.is-active{color:#f4f8f4;border-color:#0a3627bd;background:linear-gradient(120deg,var(--accent) 0%,var(--accent-soft) 100%);box-shadow:0 8px 14px #0c372933}.wizard-step-chip.is-active span{color:#f4f8f4e6}.wizard-focus{margin-top:.68rem}.wizard-actions,.wizard-nav{margin-top:.54rem}.wizard-nav{justify-content:space-between}.adaptive-hint{margin:.1rem 0 0;font-size:.87rem;color:#234a3b;padding:.58rem .66rem;border:1px dashed rgba(35,74,59,.36);border-radius:var(--radius-sm);background:#234a3b0f;grid-column:1 / -1}label{display:grid;gap:.38rem;font-size:.92rem;color:#355045}select,input,textarea,button{border-radius:var(--radius-sm);border:1px solid #c8bda8;padding:.6rem .68rem;font-size:.93rem;transition:border-color .2s ease,box-shadow .2s ease,transform .16s ease,background .18s ease}input,select,textarea{background:#fffefb;color:#23372e;width:100%;min-width:0;max-width:100%}.chapter-filter-select{overflow:hidden;text-overflow:ellipsis}input:focus,select:focus,textarea:focus{outline:none;border-color:#0f5b44a8;box-shadow:0 0 0 3px #0f5b4421}textarea{resize:vertical;min-height:74px;font-family:inherit}button{cursor:pointer;color:#f8f8f2;border-color:#0a3627b3;background:linear-gradient(120deg,var(--accent) 0%,var(--accent-soft) 100%);box-shadow:0 8px 14px #0c372933}button:hover:enabled{transform:translateY(-1px);box-shadow:0 11px 18px #0c37293d}button:active:enabled{transform:translateY(0)}button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none}button.secondary{background:var(--surface);color:var(--accent-ink);border-color:var(--border);box-shadow:none}button.secondary:hover:enabled{background:var(--surface-alt);border-color:var(--accent-soft)}.chapter-grid{display:grid;gap:.78rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.chapter-progress-shell{display:grid;gap:.8rem;grid-template-columns:1fr}.chapter-rail{display:grid;gap:.44rem;grid-template-columns:1fr}.chapter-rail-item{text-align:left;border:1px solid #d6c8b2;border-radius:var(--radius-sm);background:linear-gradient(180deg,#fff9ed,#f4ead7);color:#244036;box-shadow:none;padding:.52rem .6rem}.chapter-rail-item-zero{border-color:#0f5b4470;background:linear-gradient(180deg,#f1faf5,#e7f2eb)}.chapter-rail-item strong{display:block;font-size:.86rem;line-height:1.2}.chapter-rail-level{display:block;margin-bottom:.18rem;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#5b695f}.skip-link{position:absolute;left:.5rem;top:-3rem;z-index:50;padding:.5rem .85rem;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-weight:700;text-decoration:none;box-shadow:var(--shadow-medium);transition:top .15s ease}.skip-link:focus{top:.5rem}#workspace-content:focus{outline:none}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:2rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230f5b44' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:.72rem}.chapter-rail-meta{display:block;margin-top:.18rem;font-size:.74rem;color:#4d5f56}.chapter-rail-item.is-active{color:#f5f8f4;border-color:#0a3627c7;background:linear-gradient(120deg,var(--accent) 0%,var(--accent-soft) 100%);box-shadow:0 8px 14px #0c372933}.chapter-rail-item.is-active .chapter-rail-level,.chapter-rail-item.is-active .chapter-rail-meta{color:#f5f8f4e6}.chapter-detail-stack{display:grid;gap:.74rem;min-width:0}.chapter-mobile-summary{display:none}.chapter-mobile-actions{display:flex;gap:.42rem;flex-wrap:wrap}.chapter-card{border:1px solid #d5c9b3;border-radius:var(--radius-md);padding:.78rem;background:linear-gradient(180deg,#fffaf0,#f9f1e4)}.chapter-card h3{margin-bottom:.34rem}.chapter-card-zero{border-color:#0f5b4480;background:linear-gradient(180deg,#f2fbf6,#e8f4ee)}.chapter-card p{margin:.45rem 0}.chapter-detail-actions{margin:.5rem 0 .2rem}.chapter-level{margin:0;font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;color:#5c6559}.chapter-progress-track{margin:0;min-height:10px;flex:1}.chapter-progress-fill{min-height:10px}.chapter-progress-fill-attempted{background:linear-gradient(90deg,#d8b679,#9f7c3f,#6b7e56)}.chapter-kpi-grid{display:grid;gap:.44rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:.48rem 0 .4rem}.chapter-kpi{border:1px solid #d8ccb8;border-radius:var(--radius-sm);background:#fff8ea;padding:.36rem .42rem}.chapter-kpi .label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#6b6558}.chapter-kpi strong{font-size:.94rem;color:#1f3d31}.chapter-progress-dual{display:grid;gap:.3rem;margin-top:.16rem}.chapter-progress-row{display:flex;align-items:center;gap:.45rem}.chapter-progress-label{min-width:4.7rem;font-size:.72rem;color:#3e564b}.chapter-roadmap-title{margin-top:.58rem}.chapter-roadmap{display:grid;grid-template-columns:repeat(auto-fill,minmax(2rem,1fr));gap:.3rem;margin:.24rem 0 .4rem}.chapter-step{padding:.32rem 0;min-height:2rem;border-radius:10px;border:1px solid #d6c7ad;background:linear-gradient(180deg,#fff7e8,#f4ead3);color:#314b40;box-shadow:none;font-size:.75rem;font-weight:700}.chapter-step:hover:enabled{transform:translateY(-1px);box-shadow:0 5px 10px #0c372924}.chapter-step.chapter-step-solved{border-color:#2070516b;background:linear-gradient(180deg,#edf9f2,#dff0e5)}.chapter-step.chapter-step-attempted{border-color:#b17a2a70;background:linear-gradient(180deg,#fff4dd,#f4e5c5)}.chapter-step.chapter-step-due{border-color:#356a8885;background:linear-gradient(180deg,#ecf7fc,#dceef8)}.chapter-step.chapter-step-new{border-color:#d6c7ad}.chapter-step.is-current{border-color:#0a3627c7;box-shadow:inset 0 0 0 1px #0a362747}.chapter-step-legend{display:flex;flex-wrap:wrap;gap:.32rem;margin:0 0 .42rem}.chapter-step-legend-chip{display:inline-block;border-radius:999px;border:1px solid #d8ccb8;background:#fff9ee;color:#3f4a43;font-size:.72rem;padding:.12rem .46rem}.chapter-step-legend-chip.is-solved{background:#e9f5ec;border-color:#20705166}.chapter-step-legend-chip.is-attempted{background:#fbf0da;border-color:#b17a2a66}.chapter-step-legend-chip.is-due{background:#e8f3fa;border-color:#356a8875}.chapter-step-legend-chip.is-new{background:#fff9ee}.chapter-puzzle-list{display:grid;gap:.4rem;max-height:58vh;overflow:auto;padding-right:.18rem}.chapter-puzzle-row{width:100%;text-align:left;display:grid;grid-template-columns:2rem minmax(0,1fr) auto;gap:.1rem .55rem;align-items:center;border:1px solid #d6c7ad;border-radius:var(--radius-sm);background:linear-gradient(180deg,#fff8eb,#f5e9d2);color:#2b4a3d;box-shadow:none}.chapter-puzzle-row:hover:enabled{border-color:#0a362780;box-shadow:0 4px 10px #0c37291f}.chapter-puzzle-row.chapter-step-solved{border-color:#2070516b;background:linear-gradient(180deg,#edf9f2,#dff0e5)}.chapter-puzzle-row.chapter-step-attempted{border-color:#b17a2a70;background:linear-gradient(180deg,#fff4dd,#f4e5c5)}.chapter-puzzle-row.chapter-step-due{border-color:#356a8885;background:linear-gradient(180deg,#ecf7fc,#dceef8)}.chapter-puzzle-row.chapter-step-new{border-color:#d6c7ad}.chapter-puzzle-row.is-current{border-color:#0a3627c7;box-shadow:inset 0 0 0 1px #0a362747}.chapter-puzzle-row-order{grid-row:1 / span 2;display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:999px;border:1px solid rgba(42,68,56,.26);background:#ffffffbd;font-size:.76rem;font-weight:700}.chapter-puzzle-row-title{font-size:.82rem;font-weight:700;color:#183e30;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter-puzzle-row-context{grid-column:2;font-size:.74rem;color:#4c5f55;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter-puzzle-row-meta{grid-column:3;grid-row:1 / span 2;align-self:center;justify-self:end;display:inline-flex;align-items:center;gap:.22rem;padding:.16rem .46rem;border-radius:999px;border:1px solid transparent;font-size:var(--font-size-xs);font-weight:800;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:var(--surface-strong);border-color:#14322624;color:var(--muted)}.chapter-puzzle-row.chapter-step-solved .chapter-puzzle-row-meta{background:#1f7a4a29;color:var(--success)}.chapter-puzzle-row.chapter-step-solved .chapter-puzzle-row-order{border-color:var(--success);color:var(--success)}.chapter-puzzle-row.chapter-step-attempted .chapter-puzzle-row-meta{background:#b8740d29;color:var(--warning)}.chapter-puzzle-row.chapter-step-due .chapter-puzzle-row-meta{background:#356a882e;color:#2a6a88}.chapter-puzzle-row.is-current .chapter-puzzle-row-meta{background:var(--accent);color:#fff}.chapter-card button+button{margin-top:.44rem}.chapter-meta{font-size:.85rem}.chapter-badge{display:inline-block;font-size:.8rem;font-weight:700;color:#5d4c27;padding:.14rem .44rem;border-radius:999px;background:#b17a2a24}.chapter-card.is-selected{border-color:#0f5b4494;box-shadow:inset 0 0 0 1px #0f5b443d;background:linear-gradient(180deg,#f5fcf8,#ecf7f0)}.chapter-card.is-locked{opacity:.73}.chapter-focus-card{margin-top:0;border-color:#0f5b4470;background:linear-gradient(180deg,#f7fcf9,#ecf5ef)}.chapter-rail-accordion{display:none}.chapter-detail-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:none;align-items:end;justify-items:stretch;background:#111f1973;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.chapter-detail-drawer{margin:0;border-radius:16px 16px 0 0;max-height:84vh;overflow:auto}.chapter-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;align-items:end;justify-items:center;padding:.7rem;background:#111f1973;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.chapter-picker-window{width:min(100%,720px);max-height:calc(100vh - 1.4rem);overflow:auto;margin:0}.chapter-picker-list{display:grid;gap:.42rem}.chapter-picker-item{text-align:left;border:1px solid #d6c8b2;border-radius:var(--radius-sm);background:linear-gradient(180deg,#fff9ed,#f4ead7);color:#244036;box-shadow:none;padding:.52rem .6rem}.chapter-picker-item-zero{border-color:#0f5b4470;background:linear-gradient(180deg,#f1faf5,#e7f2eb)}.chapter-picker-item strong{display:block;font-size:.86rem;line-height:1.2}.chapter-picker-item.is-active{color:#f5f8f4;border-color:#0a3627c7;background:linear-gradient(120deg,var(--accent) 0%,var(--accent-soft) 100%);box-shadow:0 8px 14px #0c372933}.chapter-picker-item.is-active .chapter-rail-level,.chapter-picker-item.is-active .chapter-rail-meta{color:#f5f8f4e6}.onboarding p,.mobile-status p{margin:.42rem 0}.account-grid{display:grid;gap:.68rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:.56rem}.account .mini-actions{margin-top:.48rem}.account label{margin-top:.52rem}.boss-message{margin-top:.76rem;padding:.68rem .76rem;border-radius:var(--radius-sm);border:1px solid rgba(177,122,42,.35);background:#b17a2a1a;color:#5a4522}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.62rem;align-items:stretch}.stats>div{display:flex;flex-direction:column;gap:.28rem;border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem .85rem;background:var(--surface);box-shadow:var(--shadow-soft)}.stats>div strong{font-family:var(--font-display);font-size:var(--font-size-2xl);line-height:var(--line-height-tight);color:var(--accent-ink);font-variant-numeric:tabular-nums}.stats>button{min-height:100%}.stats .label,.arena-toolbar .label{display:block;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.progress-track{margin:.52rem 0 .74rem;border-radius:999px;border:1px solid rgba(25,80,60,.28);background:var(--surface-strong);box-shadow:inset 0 1px 2px #14322629;overflow:hidden;min-height:12px}.progress-fill{min-height:12px;border-radius:999px;background:linear-gradient(90deg,var(--accent-soft) 0%,var(--accent) 100%);box-shadow:0 0 6px #0f5b4459;transition:width .35s ease}.subline{margin-top:-.1rem;color:#5c665f}.run-progress{margin:.28rem 0 .48rem}.run-progress-head{margin:0;display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}.run-progress-head strong{color:#1a4a39;letter-spacing:.03em}.run-progress-track{margin:.26rem 0 .12rem;min-height:10px}.run-progress-fill{min-height:10px}.run-progress-path{display:flex;gap:.3rem;flex-wrap:wrap}.run-progress-step{min-width:2rem;padding:.24rem .44rem;border-radius:999px;border-color:#ccbfa7;color:#254338;background:linear-gradient(120deg,#f8f0df,#efe1c8);box-shadow:none;font-size:.8rem}.run-progress-step.is-past{border-color:#0f5b4470;background:linear-gradient(120deg,#eef8f2,#dfefe7)}.run-progress-step.is-current{border-color:#0a3627bd;color:#f5f8f4;background:linear-gradient(120deg,var(--accent) 0%,var(--accent-soft) 100%);box-shadow:0 6px 12px #0c372933}.question{font-family:var(--font-display);color:#183028;font-size:1.03rem;font-weight:700;margin-top:.7rem}.puzzle{background:radial-gradient(circle at 100% -20%,rgba(15,91,68,.09),transparent 36%),linear-gradient(180deg,#fffffff0,#fcf6ece6)}.puzzle-context{margin-top:.56rem;padding:.7rem .74rem;border:1px solid rgba(20,88,66,.22);border-radius:14px;background:linear-gradient(180deg,#f6fcf9fa,#ebf6f0f5),radial-gradient(circle at 100% -30%,rgba(15,91,68,.16),transparent 55%);box-shadow:inset 0 1px #ffffffbf}.puzzle-context-label{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#4f675c}.puzzle-context-head{margin-top:.2rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.password-field{position:relative;display:flex;align-items:center}.password-field input{width:100%;padding-right:4.6rem}.password-toggle{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;min-height:2rem;background:transparent;border:0;box-shadow:none;color:var(--accent);font-size:var(--font-size-xs);font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.4rem .6rem}.password-toggle:hover:enabled{transform:translateY(-50%);box-shadow:none;text-decoration:underline}.password-toggle:active:enabled{transform:translateY(-50%)}.account-feedback{display:flex;align-items:center;gap:.45rem;margin:.3rem 0 0;padding:.55rem .7rem;border-radius:var(--radius-sm);border:1px solid transparent;border-left-width:3px;font-size:var(--font-size-sm);font-weight:600}.account-feedback-icon{flex:none;font-weight:800}.account-feedback.is-error{background:#a3202f14;border-color:var(--danger);color:var(--danger)}.account-feedback.is-success{background:#1f7a4a1a;border-color:var(--success);color:var(--success)}.author-card-preview{display:inline-flex;margin-top:.4rem}.status-pill{display:inline-flex;align-items:center;padding:.1rem .5rem;border-radius:999px;border:1px solid transparent;font-size:var(--font-size-xs);font-weight:700;text-transform:capitalize}.status-pill-ok{background:#1f7a4a24;border-color:#1f7a4a66;color:var(--success)}.status-pill-bad{background:#a3202f1a;border-color:#a3202f57;color:var(--danger)}.status-pill-neutral{background:var(--surface-strong);border-color:var(--border);color:var(--muted)}.empty-hint{margin:.2rem 0;color:var(--muted);font-style:italic}.chapter-rail-bar{display:block;margin-top:.32rem;height:4px;border-radius:999px;background:#1432261f;overflow:hidden}.chapter-rail-bar-fill{display:block;height:100%;border-radius:999px;background:var(--accent)}.chapter-rail-item.is-active .chapter-rail-bar{background:#ffffff40}.chapter-rail-item.is-active .chapter-rail-bar-fill{background:#ffffffe6}.chapter-puzzle-row.is-locked{cursor:not-allowed}.chapter-puzzle-row.is-locked .chapter-puzzle-row-meta{background:var(--surface-strong);border-color:var(--border);color:var(--muted)}.puzzle-context-chapter{margin:0;font-family:var(--font-display);font-size:.96rem;font-weight:700;line-height:1.2;color:#143f31}.puzzle-context-chip{display:inline-flex;align-items:baseline;gap:.2rem;padding:.22rem .5rem;border-radius:999px;border:1px solid rgba(18,71,53,.28);background:linear-gradient(120deg,#f0f9f4,#e3f1e9);font-size:.79rem;font-weight:800;color:#184e3b;white-space:nowrap}.puzzle-context-chip span{font-size:.72rem;color:#3f6657}.puzzle-context-progress{margin-top:.42rem;display:flex;align-items:center;gap:.52rem}.puzzle-context-track{flex:1;height:12px;border-radius:999px;border:1px solid rgba(25,80,60,.28);background:var(--surface-strong);box-shadow:inset 0 1px 2px #14322629;overflow:hidden}.puzzle-context-fill{height:100%;min-width:.5rem;border-radius:999px;background:linear-gradient(90deg,var(--accent-soft) 0%,var(--accent) 100%);box-shadow:0 0 6px #0f5b4459;transition:width .35s ease}.puzzle-context-meta{margin:0;min-width:2.45rem;text-align:right;font-size:.74rem;font-weight:700;color:#2a5947}.choices{display:grid;gap:.68rem;margin-top:.78rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.choices button{display:inline-flex;align-items:center;gap:.46rem;min-height:3rem;font-weight:600;letter-spacing:.01em}.choice-label{flex:1;text-align:left}.choices button:disabled{opacity:1;background:var(--surface-strong);border:1px solid var(--border);color:var(--muted);box-shadow:none}.choices button.is-correct:disabled{background:var(--success);border-color:var(--success);color:#fff}.choices button.is-wrong:disabled{background:#a3202f1a;border-color:var(--danger);color:var(--danger)}.choices button.is-selected:disabled{box-shadow:0 0 0 2px var(--bg),0 0 0 4px #1433278c}.choice-result-tag{font-size:var(--font-size-xs);font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.12rem .42rem;border-radius:999px;white-space:nowrap}.choices button.is-correct .choice-result-tag{background:#fff;color:var(--success)}.choices button.is-wrong .choice-result-tag{background:var(--danger);color:#fff}.choices button.is-correct .choice-hotkey{background:#ffffffeb;color:var(--accent-ink)}.choice-hotkey{display:inline-flex;align-items:center;justify-content:center;min-width:1.3rem;height:1.3rem;border-radius:999px;border:1px solid rgba(20,51,39,.28);background:#fffc;font-size:.72rem;font-weight:700}.puzzle-shortcut-hint{margin-top:.62rem;font-size:var(--font-size-sm);color:var(--muted);display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.puzzle-shortcut-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;padding:.1rem .34rem;border-radius:6px;border:1px solid var(--border);border-bottom-width:2px;background:var(--surface);box-shadow:0 1px #14322614;font-family:var(--font-mono);font-size:.74rem;font-weight:700;color:var(--text);line-height:1.4}.puzzle-shortcut-hint .kbd-range,.puzzle-shortcut-hint .shortcut-sep{opacity:.7}.puzzle-shortcut-hint .shortcut-sep{margin:0 .4rem}.feedback{margin-top:.92rem;padding:.86rem;border-radius:var(--radius-md);border:1px solid #d8ccb8;background:linear-gradient(180deg,#fffcf5,#f7efdf)}.feedback h3:focus{outline:none}.feedback h3{scroll-margin-top:5.6rem}.verdict-banner{display:flex;align-items:center;gap:var(--space-2);margin:.7rem 0 .2rem;padding:.55rem .8rem;border-radius:var(--radius-sm);border:1px solid transparent;font-family:var(--font-display);font-weight:700}.verdict-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;font-size:.95rem;color:#fff}.verdict-text{flex:1;font-size:var(--font-size-xl);line-height:var(--line-height-tight)}.verdict-score{font-variant-numeric:tabular-nums;font-size:var(--font-size-lg);font-weight:800}.verdict-correct{background:#1f7a4a1f;border-color:#1f7a4a59;color:var(--success)}.verdict-correct .verdict-icon{background:var(--success)}.verdict-partial{background:#b8740d1f;border-color:#b8740d59;color:var(--warning)}.verdict-partial .verdict-icon{background:var(--warning)}.verdict-wrong{background:#a3202f1a;border-color:#a3202f52;color:var(--danger)}.verdict-wrong .verdict-icon{background:var(--danger)}.review-lines{display:flex;flex-direction:column;gap:.75rem;margin-top:.7rem}.review-line{padding:.5rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--border);border-left-width:3px;background:#ffffff8c}.review-line.is-ok{border-left-color:var(--success)}.review-line.is-bad{border-left-color:var(--danger)}.review-line-head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin-bottom:.18rem}.review-line-label{font-family:var(--font-display);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink)}.review-status{font-weight:700;font-size:var(--font-size-sm);white-space:nowrap}.review-line.is-ok .review-status{color:var(--success)}.review-line.is-bad .review-status{color:var(--danger)}.review-line-body{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-base);color:var(--muted)}.why-not{margin:0;padding:.5rem .7rem;border-radius:var(--radius-sm);background:#b8740d14;border:1px solid rgba(184,116,13,.25);border-left:3px solid var(--warning);font-size:var(--font-size-sm)}.option-row{margin:.32rem 0 0}.feedback-section{margin-top:0;border-top:1px solid var(--border)}.feedback-section summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.58rem .15rem;font-family:var(--font-display);font-weight:700;color:var(--accent-ink);transition:color .15s ease}.feedback-section summary::-webkit-details-marker{display:none}.feedback-section summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:var(--radius-sm)}.feedback-section summary:after{content:"›";font-size:1.35rem;font-weight:700;line-height:1;color:var(--accent);opacity:.65;transition:transform .2s ease,opacity .15s ease}.feedback-section summary:hover,.feedback-section[open] summary{color:var(--accent)}.feedback-section[open] summary{background:#0f5b440f;border-radius:6px}.feedback-section summary:hover:after,.feedback-section[open] summary:after{opacity:1}.feedback-section[open] summary:after{transform:rotate(90deg)}.feedback-section[open]{padding-bottom:.45rem}.feedback-section[open]>*:not(summary){margin-left:.5rem;padding-left:.6rem;border-left:2px solid rgba(15,91,68,.2)}.puzzle-sticky-actions{display:none;position:sticky;bottom:.3rem;z-index:2;margin-top:.82rem;padding:.46rem;border:1px solid #d8ccb8;border-radius:var(--radius-sm);background:#fffaf1f5;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);gap:.4rem}.ev-note{margin:.24rem 0 .58rem;font-size:.84rem}.ev-row+.ev-row{margin-top:.54rem}.ev-action{margin:0 0 .28rem;font-size:.9rem}.ev-bars{display:grid;gap:.24rem}.ev-track{position:relative;border-radius:9px;border:1px solid #d9ccb8;background:#fff9ec;overflow:hidden;min-height:19px}.ev-legend{position:absolute;left:.48rem;top:50%;transform:translateY(-50%);font-size:.72rem;color:#2b4738;z-index:1}.ev-fill{height:100%}.ev-fill-gto{background:linear-gradient(90deg,#9fcbaf,#53885f)}.ev-fill-exploit{background:linear-gradient(90deg,#a2cfdf,#4385a0)}.ev-fill-blend{background:linear-gradient(90deg,#e0d2aa,#b28f3c)}.replayer .replay-step{margin:.4rem 0 .74rem;padding:.58rem .7rem;border-radius:var(--radius-sm);background:#fff9ed;border:1px dashed #ccb998}.mini-actions{display:flex;flex-wrap:wrap;gap:.54rem}.mini-actions button:not(:first-child),.stats>button{color:#2b473b;border-color:#cab99d;background:linear-gradient(120deg,#fbf4e6,#efe2cb);box-shadow:none}.mini-actions button:not(:first-child):hover:enabled,.stats>button:hover:enabled{box-shadow:0 8px 14px #44483824}.diag-grid{display:grid;gap:.68rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.diag-card{border:1px solid #d7c9b2;border-radius:var(--radius-md);background:linear-gradient(180deg,#fffaf0,#f8efdf);padding:.72rem}.diag-card>strong{display:block;margin-bottom:.2rem;font-family:var(--font-display);font-size:var(--font-size-md);line-height:var(--line-height-tight);color:var(--accent-ink)}.diag-card p{margin:.24rem 0 0}.learning-path .diag-card.earned,.badge-card.earned{border-color:#16684c7a;background:linear-gradient(180deg,#eff9f3,#e4f3eb)}.badge-card.locked{opacity:.72}.badge-status{margin:.2rem 0 0;font-size:var(--font-size-sm);font-weight:700}.badge-card.earned .badge-status{color:var(--success)}.badge-card.locked .badge-status{color:var(--muted);font-weight:600}.arena-toolbar{display:flex;justify-content:space-between;align-items:end;gap:.95rem;margin-bottom:.74rem}.arena-elo strong{display:block;margin-top:.1rem;font-family:var(--font-display);font-size:var(--font-size-xl);line-height:1;color:var(--accent-ink);font-variant-numeric:tabular-nums}.arena-match{border:1px solid #d8ccb8;border-radius:var(--radius-md);padding:.78rem;background:linear-gradient(180deg,#fffaf0,#f8efdf)}.pvp-toolbar{display:grid;gap:.68rem;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(130px,auto));align-items:end}.pvp-error{color:var(--danger);font-weight:700}.author-grid{display:grid;gap:.68rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:.72rem}.author-grid label{font-size:.87rem}.author-grid input,.author-grid select{width:100%}.admin-grid{display:grid;gap:.74rem;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));margin-top:.74rem}.admin-player-row{border-top:1px solid #dbcdb7;padding-top:.48rem;margin-top:.42rem}.admin-player-row label{margin-top:.34rem}.investigation{border-color:#0f5b4457;background:linear-gradient(180deg,#f3fbf7,#ecf6f1)}.coaching-intel .diag-card,.account .diag-card{background:linear-gradient(180deg,#fdfaf3,#f4ecdf)}.footer{font-size:.91rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.footer p{margin:0;color:var(--muted)}.footer-admin-link{font-size:var(--font-size-xs);color:var(--muted);opacity:.7}.footer-admin-link:hover{opacity:1}.card-line{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.card-hand{display:inline-flex;gap:var(--space-1);vertical-align:middle}.card-hand-empty{color:var(--muted);font-style:italic;font-size:var(--font-size-sm)}.playing-card{display:inline-flex;align-items:baseline;gap:1px;min-width:1.85rem;justify-content:center;padding:.24rem .42rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card-face);box-shadow:var(--shadow-soft);font-family:var(--font-display);font-weight:700;font-size:var(--font-size-lg);line-height:1}.playing-card.is-black{color:var(--card-ink)}.playing-card.is-red{color:var(--card-red)}.playing-card-suit{font-size:.95em}.empty{text-align:center}@keyframes panel-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes float-hero{0%,to{transform:translateY(0)}50%{transform:translateY(12px)}}@media (max-width: 860px){.layout{padding:.82rem;gap:.8rem}.hero{padding:1.08rem 1.12rem}.hero-chip{display:none}.pvp-toolbar{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-navbar{padding:.48rem .72rem .4rem}.analysis-master #practice-window-panel-puzzle{order:1}.analysis-master #chapter-progress{order:2;width:100%;min-width:0;max-width:none;resize:none}}@media (max-width: 640px){.layout{padding:.64rem}.hero,.panel{border-radius:14px}.app-shell{padding-top:4.45rem}.workspace-navbar-current .crumb-root,.workspace-navbar-current .crumb-sep{display:none}.workspace-navbar-current .crumb-current{max-width:52vw}.hero h1{font-size:1.38rem}.arena-toolbar{flex-direction:column;align-items:stretch}.stats,.controls-grid,.chapter-grid,.diag-grid,.admin-grid,.author-grid,.account-grid{grid-template-columns:1fr}.chapter-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-progress-label{min-width:4rem}.chapter-rail{grid-template-columns:1fr;overflow:visible;padding-bottom:0}.puzzle-sticky-actions{display:grid;grid-template-columns:1fr}.chapter-picker-overlay{padding:.5rem}.chapter-picker-window{max-height:calc(100vh - 1rem)}}@media (max-width: 860px){.analysis-master .chapter-detail-stack{display:none}.analysis-master .chapter-detail-stack.is-drawer{display:grid}.chapter-mobile-summary{display:grid;gap:.42rem;margin-bottom:.6rem;padding:.58rem .62rem;border:1px solid #d8ccb8;border-radius:var(--radius-sm);background:#fffaf1}.chapter-mobile-summary strong{font-size:.9rem;color:#1d3f32}.chapter-mobile-summary span{font-size:.78rem;color:#4f6157}.chapter-rail-accordion{display:block;margin-top:.18rem}.chapter-rail-accordion-toggle{width:100%;border-style:dashed}.chapter-detail-drawer-overlay{display:grid}}@media (min-width: 861px){.workspace-navbar{padding-left:1.15rem;padding-right:1.15rem}.wizard-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-progress-shell{grid-template-columns:minmax(230px,300px) minmax(0,1fr);align-items:start}.chapter-rail{position:sticky;top:.5rem;max-height:calc(100vh - 1.8rem);overflow:auto;padding-right:.2rem}.chapter-picker-overlay{align-items:center}.analysis-master{grid-template-columns:auto minmax(0,1fr)}.analysis-master #chapter-progress{width:clamp(280px,28vw,430px);min-width:250px;max-width:min(64vw,780px);resize:horizontal;position:sticky;top:5.1rem;max-height:calc(100vh - 5.8rem);overflow:auto}.analysis-master.is-chapter-panel-collapsed #chapter-progress{width:110px;min-width:110px;max-width:110px;resize:none;overflow:hidden}.analysis-master.is-chapter-panel-collapsed #chapter-progress .chapter-progress-body,.analysis-master.is-chapter-panel-collapsed #chapter-progress .chapter-progress-head h2{display:none}.analysis-master.is-chapter-panel-collapsed #chapter-progress .chapter-progress-head{margin-bottom:0}.analysis-master .chapter-progress-shell{grid-template-columns:1fr}.analysis-master .chapter-rail{position:static;max-height:none;overflow:visible;padding-right:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.workspace-navbar-extras{display:flex;align-items:center;gap:.6rem;margin-left:auto}.navbar-score{display:flex;gap:.7rem;align-items:center;font-size:.74rem;color:#5d6a5b;white-space:nowrap}.navbar-score strong{color:#1f3a30;font-size:.92rem}@media (max-width: 640px){.navbar-score{display:none}}.hero-extras{display:flex;justify-content:center;margin-top:.6rem}.settings-screen{display:grid;gap:.9rem;max-width:760px;margin:0 auto}.level-banner{display:flex;align-items:center;gap:1.1rem;padding:1.1rem 1.3rem;border-radius:var(--radius-md);color:#f3f8f1;background:linear-gradient(120deg,#0f5132,#1c6b44 55%,#2f8a5c);box-shadow:0 14px 30px #0f322147}.level-banner-rank{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;width:84px;height:84px;border-radius:50%;background:#ffffff1f;border:2px solid rgba(255,255,255,.35)}.level-banner-num{font-size:2rem;font-weight:800;line-height:1}.level-banner-rank-label{font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;opacity:.85}.level-banner-meta{flex:1;min-width:0}.level-banner-points{margin:0 0 .5rem;font-weight:700;font-size:1.05rem}.level-banner-track{background:#ffffff38}.level-banner-track .progress-fill{background:#ffd97a}.level-banner-sub{margin:.45rem 0 0;font-size:.78rem;opacity:.9}.settings-card{padding:1rem 1.15rem 1.15rem;border:1px solid #dccfb6;border-radius:var(--radius-md);background:linear-gradient(180deg,#fffdf8,#f6efe1);box-shadow:0 8px 18px #1b271e14}.settings-card h2{margin:0 0 .7rem;font-size:1.02rem;color:#1f3a30}.settings-rows{display:grid;gap:.1rem}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.62rem 0;border-bottom:1px solid rgba(120,110,90,.14)}.settings-row:last-child{border-bottom:none}.settings-row-label{display:flex;flex-direction:column;gap:.15rem;font-weight:600;color:#294338;font-size:.9rem}.settings-row-label small{font-weight:400;color:#6c7568;font-size:.74rem}.settings-row select,.reminder-hour{border:1px solid #cebfa3;border-radius:var(--radius-sm);padding:.34rem .5rem;background:#fffef9;color:#26382f;font-size:.85rem}.reminder-hour{width:64px}.settings-row-controls{display:flex;align-items:center;gap:.6rem}.switch{position:relative;flex:none;width:46px;height:26px;padding:0;border:none;border-radius:999px;background:#c9bea6;cursor:pointer;transition:background .18s ease}.switch.is-on{background:var(--accent)}.switch-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .18s ease}.switch.is-on .switch-knob{transform:translate(20px)}.settings-cta{background:linear-gradient(120deg,var(--accent),var(--accent-soft));color:#f6f8f2;border:none;border-radius:var(--radius-sm);padding:.42rem .95rem;font-weight:600;cursor:pointer}.settings-cta:disabled{opacity:.5;cursor:not-allowed}.settings-subtle{margin:.25rem 0 .35rem;font-size:.76rem;color:#77806f}.settings-warn{margin:.45rem 0 0;padding:.5rem .7rem;border-radius:var(--radius-sm);background:#fbe6d8;border:1px solid #e6c39a;color:#8a5320;font-size:.78rem}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem}.badge-tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.32rem;padding:.95rem .7rem;border-radius:var(--radius-md);border:1px solid #e0d4bd;background:#fffdf8}.badge-tile.locked{opacity:.85}.badge-tile.earned{border-color:#0f513273;background:linear-gradient(180deg,#f1f8ef,#e2f0df);box-shadow:0 6px 16px #0f513229}.badge-icon{font-size:1.8rem;line-height:1}.badge-tile.locked .badge-icon{filter:grayscale(.7);opacity:.7}.badge-name{font-size:.86rem;color:#20392f}.badge-hint{margin:0;font-size:.72rem;color:#77806f;min-height:2.1em}.badge-progress{width:100%;display:flex;flex-direction:column;align-items:center;gap:.22rem}.badge-track{width:100%}.badge-progress-num{font-size:.72rem;color:#5d6a5b;font-variant-numeric:tabular-nums}.badge-earned-pill{font-size:.74rem;font-weight:700;color:#0f5132}@media (max-width: 560px){.badge-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}}.language-switcher{display:inline-flex;gap:.18rem;padding:.18rem;background:#ffffff14;border-radius:999px;border:1px solid rgba(255,255,255,.12)}.language-switcher-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-size:.78rem;line-height:1;padding:.32rem .55rem;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:.32rem;letter-spacing:.02em;opacity:.88;transition:background .15s ease,opacity .15s ease,color .15s ease}.language-switcher-btn:hover:not(.is-active){opacity:1;background:#ffffff0f}.language-switcher-btn.is-active{background:#ffffffeb;color:#0f5132;opacity:1;font-weight:600;cursor:default}.language-switcher-btn:focus-visible{outline:2px solid #f4f7f2;outline-offset:2px}@media (max-width: 640px){.language-switcher-btn{padding:.28rem .4rem;font-size:.72rem}}.truth-chip{display:inline-block;margin-left:.55rem;padding:.12rem .55rem;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;vertical-align:middle;font-weight:600;background:#ffffff1a;border:1px solid rgba(255,255,255,.18)}.truth-chip.truth-solver{background:#46b46e38;border-color:#46b46e73;color:#46b46e}.truth-chip.truth-heuristic{background:#dcaa462e;border-color:#dcaa4666;color:#d3a849}.truth-chip.truth-solver_suspect{background:#dc5a5a2e;border-color:#dc5a5a66;color:#d36a6a}.feedback .common-mistake{margin-top:.4rem;padding:.55rem .7rem;border-left:3px solid rgba(220,170,70,.55);background:#dcaa4614;border-radius:6px}.feedback .teaching-point{margin:.4rem 0 .6rem;padding:.55rem .7rem;border-left:3px solid var(--info);background:#2a6a8817;border-radius:6px;font-style:italic}.panel.puzzle h2:focus{outline:none}.panel.puzzle h2{scroll-margin-top:5.6rem}.puzzle-facts{margin:.6rem 0 0;display:grid;gap:.4rem}.puzzle-fact{display:grid;grid-template-columns:minmax(5.5rem,max-content) 1fr;gap:.7rem;align-items:baseline}.puzzle-fact dt{font-weight:700;color:var(--accent-ink)}.puzzle-fact dd{margin:0;min-width:0}.puzzle-tags{display:flex;flex-wrap:wrap;gap:.32rem;margin:.1rem 0 .2rem}.puzzle-tag{display:inline-flex;align-items:center;padding:.14rem .5rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-strong);color:var(--muted);font-size:var(--font-size-xs);font-weight:700;letter-spacing:.02em;text-transform:capitalize}.suit-red{color:var(--card-red)}.verdict-revealed{background:#2a6a881a;border-color:#2a6a8857;color:var(--info)}.verdict-revealed .verdict-icon{background:var(--info)}.ev-best-tag{margin-left:.4rem;padding:.05rem .4rem;border-radius:999px;background:#1f7a4a29;color:var(--success);font-size:var(--font-size-xs);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.poker-table{margin:.75rem 0 .5rem}.table-felt{position:relative;display:grid;justify-items:center;gap:.85rem;padding:1.05rem 1.1rem 1.2rem;border-radius:88px;border:3px solid #0a3b2c;background:radial-gradient(ellipse at 50% 32%,rgba(255,255,255,.12),transparent 62%),linear-gradient(165deg,#12664d,#0b4030);box-shadow:inset 0 0 0 6px #ffffff0a,inset 0 6px 24px #00000057,0 16px 30px #08281c4d}.seat{display:flex;flex-direction:column;align-items:center;gap:.32rem}.seat-role{font-family:var(--font-display);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#f5f8f4cc}.seat-role-hero{color:#ffd97a}.seat-pos{display:inline-flex;align-items:center;padding:.2rem .72rem;border-radius:999px;background:#0000003d;border:1px solid rgba(255,255,255,.2);color:#eaf3ea;font-weight:700;font-size:.82rem;letter-spacing:.02em}.table-center{display:flex;flex-direction:column;align-items:center;gap:.42rem;width:100%;padding:.45rem 0;border-top:1px dashed rgba(255,255,255,.14);border-bottom:1px dashed rgba(255,255,255,.14)}.table-board-label{font-size:var(--font-size-xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#f5f8f48c}.table-stack{display:inline-flex;align-items:center;padding:.16rem .62rem;border-radius:999px;background:#ffd97a29;border:1px solid rgba(255,217,122,.5);color:#ffe7ab;font-size:.72rem;font-weight:700}.table-felt .card-hand{display:inline-flex;gap:.4rem}.table-felt .card-hand-empty{color:#f5f8f4d1;font-size:var(--font-size-md);font-style:italic}.table-felt .playing-card{min-width:2.2rem;padding:.32rem .5rem;font-size:var(--font-size-xl)}.seat-hero .playing-card{min-width:2.7rem;padding:.42rem .6rem;font-size:1.7rem;box-shadow:0 6px 14px #00000052}.puzzle-situation{margin:.55rem 0 0;text-align:center;font-size:var(--font-size-sm);color:var(--muted)}
