@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-latin-400-normal-BqEyEoaF.woff2) format("woff2"),url(/assets/roboto-latin-400-normal-D27F5sTu.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/roboto-latin-500-normal-7RbcRiD8.woff2) format("woff2"),url(/assets/roboto-latin-500-normal-fsTFPL3E.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-latin-ext-400-normal-C3tdtHj3.woff2) format("woff2"),url(/assets/roboto-latin-ext-400-normal-CIveymTr.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/roboto-latin-ext-500-normal-pMCM9Ixg.woff2) format("woff2"),url(/assets/roboto-latin-ext-500-normal-C1cK9xmS.woff) format("woff")}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-latin-400-normal-GekRknry.woff2) format("woff2"),url(/assets/roboto-mono-latin-400-normal-DBZPkcnn.woff) format("woff")}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/roboto-mono-latin-500-normal-pxIOXZmA.woff2) format("woff2"),url(/assets/roboto-mono-latin-500-normal-D6j6AMzd.woff) format("woff")}@font-face{font-family:Roboto Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-latin-400-italic-B_vYWRnS.woff2) format("woff2"),url(/assets/roboto-mono-latin-400-italic-Br0OE6wL.woff) format("woff")}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-latin-ext-400-normal-DLAV9S_w.woff2) format("woff2"),url(/assets/roboto-mono-latin-ext-400-normal-BwLXVYNz.woff) format("woff")}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/roboto-mono-latin-ext-500-normal-Db3ge6Oe.woff2) format("woff2"),url(/assets/roboto-mono-latin-ext-500-normal-B1IjfbhL.woff) format("woff")}@font-face{font-family:Roboto Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-latin-ext-400-italic-D9VAuUW9.woff2) format("woff2"),url(/assets/roboto-mono-latin-ext-400-italic-B5U3gRkm.woff) format("woff")}:root{--surface: #fffbfE;--on-surface: #1c1b1f;--primary: #6750a4;--on-primary: #ffffff;--primary-container: #eaddff;--on-primary-container: #21005d;--secondary: #625b71;--on-secondary: #ffffff;--secondary-container: #e8def8;--on-secondary-container: #1d192b;--tertiary: #7d5260;--on-tertiary: #ffffff;--tertiary-container: #ffd8e4;--on-tertiary-container: #31111d;--surface-container-lowest: #fffbfE;--surface-container-low: #e7e0ec;--surface-container: #f3edf7;--surface-container-high: #ece6f0;--surface-container-highest: #e6e0e9;--surface-bright: #fffbfE;--outline: #79747e;--outline-variant: #cac4d0;--on-surface-variant: #49454f;--error: #b3261e;--on-error: #ffffff;--error-container: #f9dedc;--on-error-container: #410e0b;--success: #386a20;--on-success: #ffffff;--success-container: #b7f397;--on-success-container: #0c2000;--warning: #7a5900;--on-warning: #ffffff;--warning-container: #ffdea3;--on-warning-container: #261900;--accent-teal: #006a6a;--inverse-surface: #313033;--inverse-on-surface: #f4eff4;--scrim: rgb(28 27 31 / 32%);--workspace: var(--surface-container);--panel: var(--surface);--editor-bg: var(--surface);--blob-blend: multiply;--blob-opacity: .28;--elev-1: 0 1px 2px rgb(0 0 0 / 6%), 0 2px 6px rgb(0 0 0 / 5%);--elev-2: 0 6px 16px rgb(0 0 0 / 8%), 0 2px 4px rgb(0 0 0 / 6%);--elev-3: 0 12px 32px rgb(0 0 0 / 12%), 0 4px 10px rgb(0 0 0 / 8%);color-scheme:light}[data-theme=dark]{--surface: #141218;--on-surface: #e6e0e9;--primary: #d0bcff;--on-primary: #381e72;--primary-container: #4f378b;--on-primary-container: #eaddff;--secondary: #ccc2dc;--on-secondary: #332d41;--secondary-container: #4a4458;--on-secondary-container: #e8def8;--tertiary: #efb8c8;--on-tertiary: #492532;--tertiary-container: #633b48;--on-tertiary-container: #ffd8e4;--surface-container-lowest: #0f0d13;--surface-container-low: #1d1b20;--surface-container: #211f26;--surface-container-high: #2b2930;--surface-container-highest: #36343b;--surface-bright: #3b383e;--outline: #938f99;--outline-variant: #49454f;--on-surface-variant: #cac4d0;--error: #f2b8b5;--on-error: #601410;--error-container: #8c1d18;--on-error-container: #f9dedc;--success: #9cd67c;--on-success: #0c2000;--success-container: #1e4d12;--on-success-container: #b7f397;--warning: #f5c451;--on-warning: #261900;--warning-container: #5a4300;--on-warning-container: #ffdea3;--accent-teal: #80d5d3;--inverse-surface: #e6e0e9;--inverse-on-surface: #313033;--scrim: rgb(0 0 0 / 52%);--workspace: var(--surface);--panel: var(--surface-container);--editor-bg: var(--surface-container-high);--blob-blend: normal;--blob-opacity: .18;--elev-1: 0 1px 2px rgb(0 0 0 / 35%), 0 1px 3px rgb(0 0 0 / 28%);--elev-2: 0 8px 20px rgb(0 0 0 / 40%), 0 2px 6px rgb(0 0 0 / 28%);--elev-3: 0 16px 40px rgb(0 0 0 / 48%), 0 4px 12px rgb(0 0 0 / 32%);color-scheme:dark}:root{--font-ui: Roboto, "Segoe UI", sans-serif;--font-mono: "Roboto Mono", ui-monospace, monospace;--display-l: 56px;--headline-l: 48px;--headline-m: 32px;--title-l: 24px;--body-l: 20px;--body-m: 16px;--label-m: 14px;--label-s: 12px;--radius-panel: 28px;--radius-card: 24px;--radius-menu: 16px;--radius-field: 12px;--radius-pill: 999px;--ease: cubic-bezier(.2, 0, 0, 1);--dur-hover: .2s;--dur-panel: .3s;--dur-dialog: .4s;--dur-exit: .16s;--code-line: 20px;--code-pad: 12px;--bar: 64px;--status: 28px;--celebrate-tick: #ffffff}@media(max-width:1023px){:root{--radius-panel: 16px;--radius-card: 16px;--code-line: 24px;--title-l: 22px}}*{box-sizing:border-box}html,body,#root{height:100%}html{overflow:hidden}body{margin:0;font-family:var(--font-ui);font-size:var(--body-m);line-height:1.5;color:var(--on-surface);background:var(--workspace);overflow:hidden}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,[role=separator]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}h1,h2,h3,h4,p{margin:0}.icon{display:block;flex:none}.match-note{margin:0 10px 8px;padding:8px 12px;border-radius:var(--radius-menu);background:var(--success-container);color:var(--on-success-container);font-size:var(--label-s)}h1,h2,h3{font-weight:500;line-height:1.2}::selection{background:var(--primary-container);color:var(--on-surface)}.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{position:absolute;left:12px;top:-48px;z-index:80;background:var(--primary);color:var(--on-primary);padding:8px 14px;border-radius:var(--radius-pill)}.skip:focus{top:8px}.app{height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden}.blobs,.wash{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:var(--blob-opacity);mix-blend-mode:var(--blob-blend)}.blob-a{width:460px;height:460px;background:var(--primary);top:-160px;left:-120px}.blob-b{width:380px;height:380px;background:var(--tertiary);bottom:-160px;left:28%}.blob-c{width:340px;height:340px;background:var(--secondary);top:12%;right:-120px}.wash{background:radial-gradient(820px 420px at 100% 0%,color-mix(in srgb,var(--secondary-container) 90%,transparent),transparent 70%)}.topbar,.workspace,.statusbar,.bottom-nav{position:relative;z-index:1}.topbar{height:var(--bar);flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px 0 16px;background:color-mix(in srgb,var(--panel) 78%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb,var(--outline) 28%,transparent);position:sticky;top:0;z-index:30}.brand{min-width:0;font:inherit}.brand-hit{display:flex;align-items:center;gap:12px;min-width:0;max-width:100%;padding:4px 10px 4px 4px;border-radius:12px;color:inherit;text-align:left}.brand-hit:hover{background:color-mix(in srgb,var(--on-surface) 8%,transparent)}.logo-mark{width:40px;height:40px;border-radius:0;object-fit:contain;flex:none}.wordmark{font-size:var(--body-m);font-weight:500;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.top-actions{display:flex;align-items:center;gap:4px}.workspace{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;padding:8px 12px}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:44px}.cluster{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.btn,.icon-btn,.topic-pill,.menu-item,.q-row,.col-row,.table-toggle,.sample-btn,.pager button,.bottom-nav button{transition:background-color var(--dur-hover) var(--ease),color var(--dur-hover) var(--ease),opacity var(--dur-hover) var(--ease),box-shadow var(--dur-hover) var(--ease),transform var(--dur-hover) var(--ease)}.btn:active:not(:disabled),.icon-btn:active:not(:disabled),.topic-pill:active,.menu-item:active,.q-row:active,.table-toggle:active,.sample-btn:active,.pager button:active:not(:disabled),.bottom-nav button:active{transform:scale(.95)}.btn{min-height:44px;padding:0 16px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:var(--label-m);font-weight:500;letter-spacing:.01em;white-space:nowrap}.btn-filled{background:var(--primary);color:var(--on-primary)}.btn-filled:hover:not(:disabled){opacity:.92}.btn-filled:active:not(:disabled){opacity:.8}.btn-tonal{background:var(--secondary-container);color:var(--on-secondary-container)}.btn-tonal:hover:not(:disabled){opacity:.92}.btn-outlined{background:transparent;color:var(--on-surface);box-shadow:inset 0 0 0 1px var(--outline)}.btn-tertiary{background:var(--tertiary);color:var(--on-tertiary)}.btn-tertiary:hover:not(:disabled){opacity:.92}.btn-tertiary:active:not(:disabled){opacity:.8}.btn-text{background:transparent;color:var(--primary)}.btn-text:hover:not(:disabled),.icon-btn:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 10%,transparent)}.icon-btn{width:44px;height:44px;border-radius:var(--radius-pill);display:inline-grid;place-items:center;color:var(--on-surface-variant);flex:none}.icon-btn:focus-visible{background:color-mix(in srgb,var(--primary) 5%,transparent)}.segment{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:var(--radius-pill);background:var(--surface-container-high);min-width:min(360px,100%)}.segment-indicator{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:var(--radius-pill);background:var(--secondary-container);transform:translate(0);transition:transform var(--dur-panel) var(--ease)}.segment-indicator[data-pos="1"]{transform:translate(100%)}.segment button{position:relative;z-index:1;min-height:40px;border-radius:var(--radius-pill);font-size:var(--label-m);font-weight:500;letter-spacing:.01em;color:var(--on-secondary-container)}.segment button:active{transform:scale(.95)}.topic-pill{min-height:44px;max-width:min(460px,100%);padding:0 14px;border-radius:var(--radius-pill);background:var(--secondary-container);color:var(--on-secondary-container);display:inline-flex;align-items:center;gap:8px;font-size:var(--label-m);font-weight:500;letter-spacing:.01em}.topic-pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.chip,.status-chip,.assist,.xp-badge,.count-badge,.type-badge,.diff-badge{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:var(--radius-pill);font-size:var(--label-s);font-weight:500;letter-spacing:.01em;white-space:nowrap}.status-chip.idle,.chip-idle{background:var(--surface-container-high);color:var(--on-surface-variant)}.status-chip.progress,.chip-progress{background:var(--warning-container);color:var(--on-warning-container)}.status-chip.solved,.chip-solved,.chip-easy{background:var(--success-container);color:var(--on-success-container)}.chip-medium{background:var(--warning-container);color:var(--on-warning-container)}.chip-hard{background:var(--tertiary-container);color:var(--on-tertiary-container)}.assist{box-shadow:inset 0 0 0 1px var(--outline);color:var(--on-surface-variant);background:transparent}.xp-badge,.count-badge{background:var(--primary-container);color:var(--on-primary-container);min-height:24px}.type-badge{background:var(--surface-container-high);color:var(--on-surface-variant);min-height:22px;padding:0 8px;font-family:var(--font-mono)}.pager{display:inline-flex;align-items:center;gap:2px}.pager button{min-width:44px;min-height:44px;border-radius:var(--radius-pill);display:inline-grid;place-items:center;color:var(--on-surface)}.pager .count{min-width:72px;font-family:var(--font-mono);font-size:var(--label-s);display:inline-flex;align-items:center;justify-content:center;gap:4px}.kbd{font-family:var(--font-mono);font-size:11px;padding:2px 6px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--on-primary) 16%,transparent);color:inherit}.panels{flex:1;min-height:0;display:flex;gap:0}.panel{background:var(--panel);border-radius:var(--radius-panel);box-shadow:var(--elev-1);min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow var(--dur-hover) var(--ease),width var(--dur-panel) var(--ease)}.panel:hover{box-shadow:var(--elev-2)}.panel-schema,.panel-challenge{flex:none}.panel-schema{container:schema / inline-size}.panel-main{flex:1}.handle{flex:none;display:grid;place-items:center;touch-action:none}.handle-v{width:8px;cursor:col-resize}.handle-h{height:14px;cursor:row-resize}.grip{border-radius:var(--radius-pill);background:var(--outline-variant);transition:background-color var(--dur-hover) var(--ease)}.handle-v .grip{width:4px;height:28px}.handle-h .grip{width:36px;height:4px}.handle:hover .grip,.handle:focus-visible .grip{background:var(--primary)}body.is-dragging,body.is-dragging *{cursor:grabbing!important}body.is-dragging .panel-schema,body.is-dragging .panel-challenge,body.is-dragging .editor-wrap,body.is-dragging .results-wrap{transition:none}.panel-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 4px 16px;flex:none}.panel-title{font-size:var(--body-m);font-weight:500}.subtle{color:var(--on-surface-variant);font-size:var(--label-s);letter-spacing:.01em;font-weight:500}.hd-actions{display:flex}.scroll{overflow:auto;min-height:0;flex:1}.section-label{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:var(--label-s);letter-spacing:.08em;font-weight:500;color:var(--on-surface-variant)}.table-block{border-top:1px solid color-mix(in srgb,var(--outline) 18%,transparent)}.table-head{display:flex;align-items:center;gap:4px;padding-right:8px}.table-head .table-toggle{width:auto;flex:1;min-width:0}.sample-btn{flex:none;min-height:32px;padding:0 10px;border-radius:var(--radius-pill);color:var(--primary);font-size:var(--label-s);font-weight:500;letter-spacing:.01em;white-space:nowrap}.sample-btn:hover,.sample-btn:focus-visible{background:color-mix(in srgb,var(--primary) 10%,transparent)}@container schema (max-width: 360px){.table-head{flex-wrap:wrap;padding-right:0}.table-head .table-toggle{flex:1 1 100%}.sample-btn{margin:0 8px 8px 40px}}.table-toggle,.col-row{width:100%;min-height:44px;display:flex;align-items:center;gap:8px;padding:0 12px 0 16px;text-align:left;color:var(--on-surface)}.table-toggle{font-weight:500;font-size:var(--label-m)}.col-row{padding-left:40px;font-family:var(--font-mono);font-size:var(--label-s)}.table-toggle:hover,.col-row:hover,.menu-item:hover,.q-row:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}.used-dot,.current-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);flex:none}.current-dot{visibility:hidden}.current-dot.on{visibility:visible}.name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail{display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:4px;color:var(--on-surface-variant)}.editor-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;flex:none}.editor-toolbar .tab-label{font-size:var(--label-m);font-weight:500;letter-spacing:.01em;padding:0 8px}.push{margin-left:auto}.editor-wrap,.results-wrap{min-height:0;display:flex;flex-direction:column;flex-basis:0}.hint-stack{padding:0 12px 8px;flex:none}.hint-hd{display:flex;align-items:center;gap:8px;flex:none;font-size:var(--label-s);font-weight:500;letter-spacing:.01em;color:var(--on-surface-variant)}.hint-actions{margin-left:auto;display:flex;align-items:center}.hint-actions .icon-btn{width:36px;height:36px}.hint-card{display:flex;flex-direction:column;gap:6px;max-height:160px}.hint-body{overflow:auto;min-height:0;white-space:pre-wrap;overflow-wrap:anywhere}.hint-card,.solution-card,.info-card,.task-card,.nav-card{border-radius:var(--radius-card);background:var(--surface-container);padding:12px 14px;box-shadow:var(--elev-1);transition:box-shadow var(--dur-hover) var(--ease)}.hint-card:hover,.info-card:hover,.nav-card:hover{box-shadow:var(--elev-2)}.solution-card{background:var(--surface-container-high)}.solution-card pre,.hint-card p,.info-card li,.task-card p{font-size:var(--label-m)}.solution-card pre{font-family:var(--font-mono);font-size:var(--label-s);white-space:pre-wrap;margin:8px 0;line-height:1.5}.card-hd{display:flex;align-items:center;gap:8px;font-size:var(--label-s);font-weight:500;letter-spacing:.01em;color:var(--on-surface-variant)}.editor-shell{position:relative;flex:1;min-height:120px;margin:0 12px 8px;display:grid;grid-template-columns:48px 1fr;background:var(--editor-bg);border-radius:16px;overflow:hidden;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--outline) 25%,transparent)}.editor-shell:focus-within{outline:2px solid var(--primary);outline-offset:2px}.editor-shell.is-correct{box-shadow:inset 0 0 0 3px var(--success);background:color-mix(in srgb,var(--success) 16%,var(--editor-bg))}.celebrate{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:grid;place-items:center;background:color-mix(in srgb,var(--success) 46%,transparent);pointer-events:none;animation:celebrate-in .2s var(--ease) both}.celebrate-tick{width:128px;height:128px;color:var(--celebrate-tick);animation:tick-in .28s var(--ease) both}.celebrate-tick .icon{width:128px;height:128px}@keyframes celebrate-in{0%{opacity:0}to{opacity:1}}@keyframes tick-in{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}.editor-gutter{overflow:hidden;padding-top:var(--code-pad);background:color-mix(in srgb,var(--primary) 8%,var(--editor-bg));color:var(--on-surface-variant);font-family:var(--font-mono);font-size:13px;line-height:var(--code-line);text-align:right}.editor-gutter span{display:block;height:var(--code-line);padding-right:8px}.editor-gutter span.active{background:color-mix(in srgb,var(--primary-container) 70%,transparent);color:var(--on-surface)}.editor-code{position:relative;min-width:0;overflow:hidden}.editor-code pre,.editor-code textarea{font-family:var(--font-mono);font-size:13px;line-height:var(--code-line);padding:var(--code-pad) 12px;margin:0;-moz-tab-size:2;tab-size:2;white-space:pre}.editor-code pre{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;color:var(--on-surface)}.editor-code textarea{position:absolute;top:0;right:0;bottom:0;left:0;resize:none;border:0;color:transparent;caret-color:var(--on-surface);background:transparent;overflow:auto}.editor-code textarea:focus{outline:none}.active-line{position:absolute;left:0;right:0;height:var(--code-line);top:calc(var(--code-pad) + var(--active-index) * var(--code-line));background:color-mix(in srgb,var(--primary-container) 55%,transparent)}.tok-ghost{color:color-mix(in srgb,var(--on-surface) 38%,transparent)}.tok-key{color:var(--primary)}.tok-string{color:var(--tertiary)}.tok-number{color:var(--accent-teal)}.tok-comment{color:var(--on-surface-variant);font-style:italic}.results{flex:1;min-height:0;display:flex;flex-direction:column;container:results / inline-size}.results-head{display:flex;align-items:center;gap:8px;padding:0 12px 8px;flex-wrap:wrap}.pane-tabs{display:none;gap:8px}.results-split{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px 12px}.pane{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--editor-bg);border-radius:16px;overflow:hidden;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--outline) 18%,transparent)}.pane-title{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:var(--label-m);font-weight:500;letter-spacing:.01em}.grid-scroll{overflow:auto;flex:1;min-height:0}table{border-collapse:collapse;width:max-content;min-width:100%}th,td{padding:6px 10px;text-align:left;white-space:nowrap;font-family:var(--font-mono);font-size:12px}th{position:sticky;top:0;background:var(--surface-container-high);font-weight:500;font-size:var(--label-s);letter-spacing:.01em;z-index:1}tbody tr:nth-child(2n){background:color-mix(in srgb,var(--primary) 6%,transparent)}.null-chip{display:inline-flex;padding:0 6px;border-radius:var(--radius-pill);background:var(--surface-container-high);color:var(--on-surface-variant);font-style:italic;font-size:11px}.empty-state,.error-card{margin:12px;padding:24px 16px;border-radius:var(--radius-card);display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;color:var(--on-surface-variant)}.error-card{background:var(--error-container);color:var(--on-error-container);align-items:flex-start;text-align:left}.diff-note{margin:0 10px 8px;padding:8px 12px;border-radius:var(--radius-menu);background:var(--warning-container);color:var(--on-warning-container);font-size:var(--label-s)}@container results (max-width: 720px){.results-split{grid-template-columns:1fr}.pane{display:none}.pane.is-active,.pane-tabs{display:flex}.pane-title .wide-only{display:none}}.challenge{padding:0 12px 12px;display:flex;flex-direction:column;gap:10px}.challenge>.chip{align-self:flex-start}.nav-card ul{margin:6px 0 0;padding-left:18px}.overline{font-size:var(--label-s);letter-spacing:.08em;font-weight:500;color:var(--on-surface-variant)}.challenge-title{font-size:var(--title-l)}.role-chip{align-self:flex-start;background:var(--secondary-container);color:var(--on-secondary-container)}.task-card{background:var(--primary-container);color:var(--on-primary-container);position:relative;padding-left:20px}.task-card:before{content:"";position:absolute;left:8px;top:12px;bottom:12px;width:4px;border-radius:var(--radius-pill);background:var(--primary)}.info-card ul{margin:6px 0 0;padding-left:18px}.info-card li+li{margin-top:4px}.dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--dot, var(--primary))}.meta-line{font-size:var(--label-s);letter-spacing:.01em;color:var(--on-surface-variant)}.statusbar{height:var(--status);flex:none;display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--surface-container-low);color:var(--on-surface-variant);font-size:var(--label-s);letter-spacing:.01em;font-weight:500;z-index:20}.status-main{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.status-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--outline);flex:none}.status-dot.ready{background:var(--success)}.status-retry{min-height:24px;padding:0 8px;border-radius:var(--radius-pill);color:var(--primary);font-size:var(--label-s);font-weight:500}.statusbar .xp-badge{margin-left:auto}.privacy-link{flex:none;color:var(--primary);text-decoration:underline;text-underline-offset:3px;min-height:24px;display:inline-flex;align-items:center}.bottom-nav,.fab,.overflow-btn{display:none}.suggest{position:fixed;z-index:40;width:min(360px,calc(100vw - 16px));max-height:240px;overflow:auto;padding:6px;border-radius:var(--radius-menu);background:var(--panel);color:var(--on-surface);box-shadow:var(--elev-3)}.suggest button{width:100%;min-height:36px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:6px 10px;border-radius:10px;text-align:left;font-family:var(--font-mono);font-size:13px}.suggest button[aria-selected=true]{background:var(--secondary-container);color:var(--on-secondary-container)}.suggest-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggest-detail{font-family:var(--font-ui);font-size:var(--label-s);color:var(--on-surface-variant)}.suggest button[aria-selected=true] .suggest-detail{color:inherit}.menu,.dialog,.tour-card,.snackbar,.sheet{background:var(--panel);color:var(--on-surface);box-shadow:var(--elev-3)}.menu{position:absolute;z-index:40;top:calc(100% + 6px);left:0;width:min(420px,calc(100vw - 24px));max-height:min(420px,60vh);overflow:auto;border-radius:var(--radius-menu);padding:8px}.menu.right{left:auto;right:0;width:min(280px,calc(100vw - 24px))}.menu-anchor{position:relative}.menu-hd{padding:8px 10px 6px;font-size:var(--label-m);font-weight:500}.menu-item{width:100%;min-height:44px;border-radius:12px;padding:8px 10px;display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;text-align:left}.menu-item .copy{min-width:0}.menu-item strong{display:block;font-size:var(--label-m);font-weight:500}.menu-desc{display:block;color:var(--on-surface-variant);font-size:var(--label-s);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scrim[hidden]{display:none!important}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:var(--scrim);display:grid;place-items:center;padding:16px}.dialog{width:min(920px,100%);max-height:min(760px,100%);border-radius:var(--radius-panel);display:flex;flex-direction:column;overflow:hidden;animation:rise var(--dur-dialog) var(--ease)}.dialog.narrow{width:min(440px,100%)}.dialog.about-dialog{width:min(48rem,100%)}.dialog-hd,.sheet-hd{display:flex;align-items:center;justify-content:space-between;padding:12px 8px 8px 20px}.dialog-body{overflow:auto;padding:0 20px 20px;display:flex;flex-direction:column;gap:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.about-copy{display:flex;flex-direction:column;gap:16px;line-height:1.55}.about-copy section,.about-copy .faq-item{display:flex;flex-direction:column;gap:8px}.about-copy h3,.about-copy h4{font-size:var(--body-m);font-weight:500}.about-copy ol,.about-copy ul{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:6px}.stat-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pct-block{margin-left:auto;min-width:140px}.pct-block strong{display:block;font-size:var(--label-m);text-align:right}.progress-track{height:8px;border-radius:var(--radius-pill);background:var(--surface-container-highest);overflow:hidden;margin-top:6px}.progress-bar{height:100%;background:var(--primary);border-radius:inherit;transition:width var(--dur-panel) var(--ease)}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tiles{display:flex;gap:8px;margin:8px 0}.tile{flex:1;background:var(--surface-container-high);border-radius:16px;padding:10px}.tile span{display:block;font-size:var(--label-s);color:var(--on-surface-variant)}.tile strong{font-size:var(--title-l)}.q-group h3{font-size:var(--label-m);letter-spacing:.01em;margin:8px 0}.q-row{width:100%;min-height:44px;border-radius:12px;display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:8px;text-align:left}.q-row.current{background:color-mix(in srgb,var(--primary) 8%,transparent)}.q-row small{display:block;color:var(--on-surface-variant)}.sample-grid{overflow:auto;max-height:min(420px,60vh);border-radius:16px;background:var(--editor-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--outline) 18%,transparent)}.er-board{position:relative;overflow:auto;min-height:240px}.er-cards{position:relative}.er-card{position:absolute;width:220px;background:var(--surface-container);border-radius:var(--radius-card);box-shadow:var(--elev-1);overflow:hidden}.er-card header{padding:8px 12px;font-weight:500;background:var(--primary-container);color:var(--on-primary-container)}.er-card li{list-style:none;display:flex;justify-content:space-between;gap:8px;padding:4px 12px;font-family:var(--font-mono);font-size:12px}.er-card ul{margin:0;padding:6px 0}.er-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.rel-list{font-size:var(--label-s);color:var(--on-surface-variant)}.sheet{position:fixed;z-index:46;top:76px;right:12px;bottom:40px;width:min(420px,calc(100vw - 24px));border-radius:var(--radius-panel);display:flex;flex-direction:column;overflow:hidden;animation:rise var(--dur-dialog) var(--ease)}.tour-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.tour-hole{position:fixed;border-radius:18px;pointer-events:none}.tour-card{position:fixed;width:min(340px,calc(100vw - 24px));border-radius:var(--radius-menu);padding:16px;z-index:61}.tour-card h2{font-size:var(--body-l);margin-bottom:6px}.tour-nav{display:flex;align-items:center;gap:8px;margin-top:12px}.tour-dots{display:flex;gap:6px;margin-right:auto}.tour-dots i{width:8px;height:8px;border-radius:50%;background:var(--outline-variant);display:block}.tour-dots i.on{background:var(--primary)}.snackbar{position:fixed;z-index:70;left:50%;bottom:40px;transform:translate(-50%);display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:var(--radius-menu);background:var(--inverse-surface);color:var(--inverse-on-surface);font-size:var(--label-m);animation:rise var(--dur-panel) var(--ease)}.snackbar.success{background:var(--success-container);color:var(--on-success-container)}.snackbar .icon-btn{color:inherit;width:36px;height:36px}.live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skeleton{border-radius:12px;background:linear-gradient(90deg,var(--surface-container-high),var(--surface-container-highest),var(--surface-container-high));background-size:200% 100%;animation:shimmer 1.4s var(--ease) infinite}.sk-line{height:14px;margin:10px 16px}.sk-block{height:120px;margin:12px}.fab{position:fixed;z-index:25;right:20px;bottom:44px;width:56px;height:56px;border-radius:16px;background:var(--tertiary-container);color:var(--on-tertiary-container);box-shadow:var(--elev-3);place-items:center}.pop{animation:pop-in var(--dur-panel) var(--ease)}.is-running{animation:pulse .9s var(--ease) infinite}@keyframes rise{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@keyframes pulse{50%{opacity:.45}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(max-width:1279px)and (min-width:1024px){.panel-challenge,.handle-right{display:none}.fab{display:grid}}@media(max-width:1023px){.handle-right{display:none}}@media(min-width:1280px){.sheet{display:none}}@media(max-width:1023px){.toolbar{display:flex;flex-wrap:wrap}.segment{width:100%;min-width:0}.topic-pill{flex:1 1 180px}.cluster{margin-left:0;flex:1 1 100%;justify-content:flex-start}.secondary{display:none!important}.overflow-btn{display:inline-grid}.panels{display:block}.panel,.handle{display:none}.panel.is-active{display:flex;width:100%!important;height:100%}.bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);height:64px;background:var(--panel);border-top:1px solid color-mix(in srgb,var(--outline) 24%,transparent);z-index:30}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;color:var(--on-surface-variant);font-size:var(--label-s);font-weight:500}.bottom-nav button[aria-current=page]{color:var(--on-secondary-container)}.bottom-nav button[aria-current=page] .nav-pill{background:var(--secondary-container);border-radius:var(--radius-pill);padding:4px 16px}.editor-gutter,.editor-code pre,.editor-code textarea{font-size:16px}.wordmark{font-size:var(--label-m)}.snackbar{bottom:104px}.fab{display:none}}@media(max-width:720px){.insight-grid{grid-template-columns:1fr}.pct-block{margin-left:0;width:100%}.kbd{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition-property:opacity,color,background-color,border-color,box-shadow!important}.btn:active:not(:disabled),.icon-btn:active:not(:disabled),.topic-pill:active,.menu-item:active,.q-row:active,.segment button:active,.pager button:active:not(:disabled){transform:none}}
