@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-ui);--default-mono-font-family:var(--font-code)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.min-h-dvh{min-height:100dvh}.w-full{width:100%}.max-w-\[400px\]{max-width:400px}.max-w-\[420px\]{max-width:420px}.max-w-\[560px\]{max-width:560px}.min-w-0{min-width:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.grid-cols-\[minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr)}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.p-0{padding:0}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pl-5{padding-left:calc(var(--spacing) * 5)}.whitespace-nowrap{white-space:nowrap}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[mock\:fail\]{mock:fail}.\[mock\:gaveup\]{mock:gaveup}.\[mock\:injection\]{mock:injection}.\[mock\:perfect\]{mock:perfect}.\[mock\:recover\]{mock:recover}.\[mock\:slow\]{mock:slow}.\[mock\:spendcap\]{mock:spendcap}.\[mock\:unsure\]{mock:unsure}.\[mock\:unverified\]{mock:unverified}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}@media (min-width:40rem){.sm\:pt-8{padding-top:calc(var(--spacing) * 8)}}}.meter.unmeasured i{border:1px dashed var(--border-strong);background:0 0}.main:has(>.onb-page){margin-left:auto;margin-right:auto}.streak-line{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex}.streak-line svg{color:var(--streak);flex:none}.why{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-secondary);align-items:center;gap:4px;font-weight:500;display:inline-flex}.why svg{color:var(--accent)}.explain{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-muted);margin:0}.tagcloud{flex-wrap:wrap;gap:8px;display:flex}.tagcloud a.tag{min-height:28px;padding:0 10px}.tagcloud a.tag:hover{color:var(--text)}.demo-shell{min-height:100dvh;padding:16px max(16px, env(safe-area-inset-left,0px)) 48px;align-content:start;gap:16px;max-width:1200px;margin:0 auto;display:grid}.demo-top{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.demo-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.demo-pane{align-content:start;gap:12px;display:grid}.demo-pane .score{white-space:nowrap;flex:none}.quote-block{border-left:2px solid var(--border-strong);color:var(--text-secondary);font-size:var(--fs-small);line-height:var(--lh-small);margin:0;padding:4px 0 4px 12px}@media (min-width:1024px){.demo-shell{padding:24px 32px 48px}.demo-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}.demo-pane.sticky{position:sticky;top:24px}}.report{gap:20px;display:grid}.report-head{gap:4px;display:grid}.report-group{break-inside:avoid-page;page-break-inside:avoid;gap:8px;display:grid}.report-group h2{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.report-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:var(--fs-small);line-height:var(--lh-small)}.report-table th{text-align:left;color:var(--text-muted);font-weight:500;font-size:var(--fs-caption);border-bottom:1px solid var(--border-strong);padding:6px 8px 6px 0}.report-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:8px 8px 8px 0}.report-table tr{break-inside:avoid;page-break-inside:avoid}.report-table .num{white-space:nowrap}.report-answers{gap:2px;margin:0;padding:0;list-style:none;display:grid}.report-print-only{display:none}@media (max-width:599px){.report-table thead{display:none}.report-table,.report-table tbody,.report-table tr,.report-table td{width:100%;display:block}.report-table tr{border-bottom:1px solid var(--border);padding:8px 0}.report-table td{border:0;padding:2px 0}.report-table colgroup{display:none}.report-table tr.unmeasured{justify-content:space-between;gap:12px;padding:6px 0;display:flex}.report-table tr.unmeasured td{width:auto}.report-table tr.unmeasured td.report-opt{display:none}}@media print{@page{size:auto;margin:16mm 14mm}:root,:root[data-theme=dark],:root[data-theme=light]{--bg:#fff;--surface:#fff;--surface-raised:#fff;--border:#d9d9d2;--border-strong:#a9a9a0;--text:#111;--text-secondary:#333;--text-muted:#555;--accent:#0b7f69;--accent-subtle:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{color:var(--text);background:var(--bg)!important}.sidebar,.tabbar,.no-print,[role=status][aria-live]{display:none!important}.shell{display:block!important}.main,.main.wide{max-width:none!important;margin:0!important;padding:0!important}.report-print-only{display:block}.report{gap:14px}.report a{color:inherit;text-decoration:none}.report-table{font-size:10.5pt;line-height:14pt}.report-table th{font-size:9pt}.meter i{-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-table thead{display:table-header-group}}.focusbar{display:none}.shell .tabbar{grid-template-columns:repeat(4,1fr);padding-left:4px;padding-right:4px}.shell .tab{white-space:nowrap}@media (min-width:1024px){.shell.focus{display:block}.shell.focus .sidebar{display:none}.focusbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;height:48px;padding:0 32px;display:flex}.focusbar .wordmark{font-size:var(--fs-title-2);line-height:var(--lh-title-2)}.focusbar .foot{font-size:var(--fs-small);color:var(--text-secondary);align-items:center;gap:6px;display:flex}.focusbar .foot svg{color:var(--streak)}.main.focus{max-width:1680px;margin:0 auto;padding:20px 32px 32px}}code,pre,kbd,samp,.code,.code-meta,.filetab,.ic,.kbd,.rt-pre,textarea.textarea.mono,.gut,.ceditor,.tests .tname,.tests .terr,.mono-chip,.input.mono{font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0}.code-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.filetabs{flex-wrap:wrap;gap:8px;min-width:0;max-width:100%;display:flex}.filetab{border-radius:var(--r-sm);border:1px solid var(--border);min-height:32px;font-family:var(--font-code);font-size:var(--fs-caption);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;background:0 0;flex:0 auto;min-width:0;max-width:260px;padding:0 10px;overflow:hidden}.filetab[aria-selected=true]{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.tab-dot{background:var(--streak);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.tools{align-items:center;gap:4px;display:flex}.mini{border-radius:var(--r-sm);border:1px solid var(--border);min-width:32px;min-height:32px;font-size:var(--fs-caption);color:var(--text-secondary);background:0 0;justify-content:center;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.mini[aria-pressed=true]{background:var(--accent-subtle);color:var(--text);border-color:var(--border-strong)}.mini:disabled{color:var(--text-muted);border-color:var(--border);cursor:not-allowed;background:0 0}.code-box{--gut-w:48px;min-width:0;position:relative}.code-box[data-diff]{--gut-w:100px}.code-box[data-ct=hc]{--surface-code:#000}.code-box[data-ct=glare]{--surface-code:#f4ecd8}.code-box:before,.code-box:after{content:"";pointer-events:none;opacity:0;width:32px;transition:opacity var(--dur-hover) var(--ease-in);z-index:2;position:absolute;top:1px;bottom:1px}.code-box:after{border-radius:0 calc(var(--r-md) - 1px) calc(var(--r-md) - 1px) 0;background:linear-gradient(to right, transparent, var(--surface-code) 85%);right:1px}.code-box:before{left:calc(var(--gut-w,48px) + 1px);background:linear-gradient(to left, transparent, var(--surface-code) 85%)}.code-box[data-more-right]:after,.code-box[data-more-left]:before{opacity:1}.code{background:var(--surface-code);border-radius:var(--r-md);font-family:var(--font-code);color:var(--syn-plain);border:1px solid var(--border);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;padding:8px 0;overflow-x:auto}.code.prose-art{font-family:var(--font-ui)}.code-inner{width:max-content;min-width:100%}.code.wrap .code-inner{width:auto}.ln{grid-template-columns:var(--gut-w,48px) 1fr;align-items:start;display:grid}.ln.diff{grid-template-columns:var(--gut-w,100px) 20px 1fr}.ln.cited{background:var(--line-hl);box-shadow:inset 3px 0 0 var(--accent)}.ln.hl{background:var(--line-hl);box-shadow:inset 3px 0 0 var(--streak)}.ln.add{background:var(--diff-add)}.ln.del{background:var(--diff-remove)}.ln.add.cited,.ln.del.cited{background:var(--line-hl);box-shadow:inset 3px 0 0 var(--accent)}.ln.add.hl,.ln.del.hl{box-shadow:inset 3px 0 0 var(--streak)}.ln.sep{color:var(--syn-com)}.ln.hunk{--hunk-bg:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ln.hunk{--hunk-bg:color-mix(in srgb, var(--accent) 7%, var(--surface-code))}}.ln.hunk{background:var(--hunk-bg);margin:4px 0}.ln.hunk:first-child{margin-top:-8px}.ln.file{border-block:1px solid var(--border);background:var(--surface);font-family:var(--font-code);font-size:max(var(--fs-caption), .85em);color:var(--text-secondary);margin:8px 0 4px;padding:6px 0;display:block}.ln.file:first-child{border-radius:calc(var(--r-md) - 1px) calc(var(--r-md) - 1px) 0 0;border-top:0;margin-top:-8px}.file-path{padding:0 12px;position:sticky;left:12px}.gut{color:var(--syn-com);font-family:var(--font-code);font-size:max(var(--fs-caption), .85em);text-align:right;line-height:inherit;font-variant-numeric:tabular-nums;z-index:1;background:var(--surface-code);border:0;justify-content:flex-end;align-self:stretch;align-items:flex-start;min-height:100%;padding:0 12px 0 0;display:flex;position:sticky;left:0}button.gut:hover{color:var(--syn-plain)}.gut:focus-visible{outline-offset:-2px}.ln.diff .gut{grid-template-columns:1fr 1fr;padding:0;display:grid}.g-old,.g-new{text-align:right;padding-right:10px}@media (max-width:599px){.code-box[data-diff]{--gut-w:72px}.g-old,.g-new{padding-right:6px}}.ln.add .gut{background:var(--diff-add)}.ln.del .gut{background:var(--diff-remove)}.ln.hunk .gut{background:var(--hunk-bg)}.ln.cited .gut,.ln.hl .gut{background:var(--line-hl)}.ln.cited .gut{color:var(--syn-plain);font-weight:600}.mark{color:var(--syn-pun);-webkit-user-select:none;user-select:none;text-align:center}.ln.add .mark{color:var(--success)}.ln.del .mark{color:var(--danger)}.src{white-space:pre;tab-size:4;padding-right:16px}.code.wrap .src{white-space:pre-wrap;word-break:normal;overflow-wrap:normal;padding-left:var(--ind,0px);text-indent:calc(-1 * var(--ind,0px))}.src .lead{white-space:pre}.code-meta{font-family:var(--font-code);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted)}.code-meta.doc-title{font-family:var(--font-ui);font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);font-weight:500}.doc{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-family:var(--font-ui);font-size:var(--fs-body);line-height:var(--lh-read);color:var(--text);overflow-wrap:break-word;gap:12px;min-width:0;padding:16px 20px;display:grid}.doc .doc-para{gap:2px;display:grid}.doc .doc-row{border-radius:var(--r-sm);scroll-margin:24px}.doc .doc-row.hl,.doc tr.hl>td{background:var(--line-hl);box-shadow:inset 3px 0 0 var(--streak)}.doc .doc-row.cited,.doc tr.cited>td{background:var(--line-hl);box-shadow:inset 3px 0 0 var(--accent)}.doc .doc-row.flash,.doc tr.flash>td{animation:line-flash 1.6s var(--ease-in)}.doc .doc-p{max-width:72ch;margin:0}.doc .doc-h{font-size:var(--fs-title-2);line-height:var(--lh-title-2);margin:4px 0 0;font-weight:600}.doc .doc-h2,.doc .doc-h3{font-size:var(--fs-body)}.doc .doc-quote{border-left:3px solid var(--border-strong);color:var(--text-secondary);margin:0;padding-left:12px}.doc .doc-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.doc .doc-li{grid-template-columns:2ch minmax(0,1fr);gap:8px;max-width:72ch;display:grid}.doc ol.doc-list .doc-li{grid-template-columns:3ch minmax(0,1fr)}.doc .doc-mark{color:var(--text-muted);text-align:right}.doc .doc-table-wrap{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;overflow-x:auto}.doc .doc-table{border-collapse:collapse;font-size:var(--fs-small);line-height:var(--lh-small)}.doc .doc-table td{vertical-align:top;border-bottom:1px solid var(--border);padding:4px 16px 4px 0}.doc .doc-table tr:last-child td{border-bottom:0}.doc .doc-table td:first-child{padding-left:4px}.doc .doc-numcell{text-align:right;white-space:nowrap}.doc .doc-pre{font-family:var(--font-code);font-size:var(--fs-code);line-height:var(--lh-code);background:var(--surface-code);border-radius:var(--r-md);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;padding:8px 12px;overflow-x:auto}.doc .doc-pre .doc-row{width:max-content;min-width:100%}.doc .doc-pre-line{white-space:pre}.doc.citing{padding-left:8px}.doc.citing .doc-row,.doc.citing .doc-para>.doc-row{grid-template-columns:32px minmax(0,1fr);align-items:baseline;display:grid}.doc.citing .doc-pre .doc-row{grid-template-columns:32px auto}.doc-cite{min-height:24px;color:var(--text-muted);font-size:var(--fs-caption);font-variant-numeric:tabular-nums;text-align:right;opacity:.7;cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;padding:0 8px 0 0}.doc-cite:hover,.doc-cite:focus-visible{opacity:1;color:var(--text)}.doc-cite[aria-pressed=true]{opacity:1;color:var(--accent);font-weight:600}.doc .doc-cite-cell{width:32px;padding-right:0}@media (max-width:599px){.doc{font-size:var(--fs-body);line-height:var(--lh-body);padding:12px 14px}}.task-head{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;display:grid}.task-head>.iconbtn{margin-top:-4px}.th-body{gap:4px;min-width:0;display:grid}.th-meta{flex-wrap:wrap;align-items:baseline;gap:2px 6px;margin:0;display:flex}.th-link{color:var(--text-secondary);font:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;position:relative}.th-link:before{content:"";position:absolute;inset:-12px -6px}.th-link:hover,.th-link[aria-expanded=true]{color:var(--text)}.th-chips{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.th-chips .pop-wrap.open{flex-basis:100%}.task-head .why-line{margin-top:2px}.th-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);animation:th-in var(--dur-enter) var(--ease-in) both;grid-column:2;padding:12px 14px}.th-panel ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}@keyframes th-in{0%{opacity:0;transform:translateY(-4px)}}@media (max-width:599px){.th-panel{grid-column:1/-1}}.task-grid{gap:16px;display:grid}.task-context p{margin:0}.task-context p+p{margin-top:8px}@media (min-width:1024px){.task-grid{grid-template-columns:minmax(0,63fr) minmax(340px,37fr);align-items:start;gap:32px}.task-grid>*{min-width:0}.answer-sticky{overscroll-behavior:contain;max-height:calc(100dvh - 32px);padding:2px;position:sticky;top:16px;overflow-y:auto}}@media (min-width:1440px){.task-grid{gap:40px}}.hint .save-slot{white-space:nowrap;width:64px;transition:opacity var(--dur-enter) var(--ease-in);flex:none;justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.save-slot svg{color:var(--success);flex:none}.save-slot[data-state=dirty]{opacity:.45}.answer-tools{justify-content:space-between;align-items:center;gap:8px;min-height:32px;display:flex}textarea.textarea.mono{font-family:var(--font-code);font-size:var(--fs-code);line-height:var(--lh-code);tab-size:4}.rt-pre{background:var(--surface-code);border:1px solid var(--border);border-radius:var(--r-md);margin:0 0 8px;overflow-x:auto}.rt-pre:last-child{margin-bottom:0}.rt-pre .rt-lang{font-family:var(--font-ui);font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted);padding:6px 12px 0;display:block}.rt-pre code{font-family:var(--font-code);font-size:var(--fs-code);line-height:var(--lh-code);white-space:pre;tab-size:4;color:var(--syn-plain);width:max-content;min-width:100%;padding:8px 12px 10px;display:block}.why-line{align-items:flex-start;gap:6px;min-width:0;margin-top:6px;display:flex}.why-line svg{color:var(--accent);flex:none;margin-top:2px}.why-line.runner-why{margin-top:-8px}.fb-one{max-width:720px}@media (min-width:1024px){.main:has(>.fb-page){max-width:1320px}.fb-grid{grid-template-columns:minmax(0,11fr) minmax(360px,10fr);align-items:start;gap:32px;display:grid}.fb-grid>*{min-width:0}.fb-code{overscroll-behavior:contain;max-height:calc(100dvh - 32px);padding:2px;position:sticky;top:16px;overflow-y:auto}}@media (min-width:1440px){.fb-grid{gap:40px}}.fb-skel-code{display:none}@media (min-width:1024px){.fb-skel-code{align-content:start;gap:12px;display:grid}}.fb-head{gap:4px;display:grid}details.disclosure.fb-question>summary{min-height:32px;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);justify-content:flex-start;font-weight:500}.score-card{gap:12px}.sc-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.sc-score{align-items:baseline;gap:8px;min-width:0;display:flex}.sc-n{font-size:var(--fs-display);line-height:var(--lh-display);font-weight:600}.sc-of{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-secondary)}.score-pips{flex:none;gap:3px;display:inline-flex}.score-pips i{border:1px solid var(--border-strong);border-radius:2px;width:12px;height:10px;display:block}.score-pips i.on{background:currentColor;border-color:currentColor}.sc-moves{border-top:1px solid var(--border);margin:0;padding:8px 0 0;list-style:none;display:grid}.sc-move{min-height:44px;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);align-items:center;gap:10px;display:flex}.sc-move-text{overflow-wrap:anywhere;min-width:0}.sc-skill{color:var(--text);font-weight:600}.sc-move:hover .sc-skill{text-underline-offset:3px;text-decoration:underline}.sc-note{border-top:1px solid var(--border);color:var(--text-secondary);align-items:flex-start;gap:8px;padding-top:12px;display:flex}.sc-note>svg{margin-top:1px}.sc-note+.sc-note{border-top:0;padding-top:0}.sc-wait{gap:8px}.fb-next{gap:10px}.fb-missed{color:var(--text-secondary)}.rev-text{font-size:var(--fs-body);line-height:var(--lh-read);white-space:pre-wrap;overflow-wrap:break-word;margin:0}.rev-ins{background:var(--diff-add);color:var(--text);text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--success);-webkit-text-decoration-color:var(--success);-webkit-text-decoration-color:var(--success);text-decoration-color:var(--success);text-underline-offset:3px;border-radius:var(--r-sm);padding:1px}.rev-del{background:var(--diff-remove);color:var(--text-secondary);text-decoration:line-through;-webkit-text-decoration-color:var(--danger);-webkit-text-decoration-color:var(--danger);-webkit-text-decoration-color:var(--danger);text-decoration-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.rev-del{-webkit-text-decoration-color:color-mix(in srgb, var(--danger) 70%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--danger) 70%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--danger) 70%, transparent);text-decoration-color:color-mix(in srgb, var(--danger) 70%, transparent)}}.rev-del{border-radius:var(--r-sm);padding:1px}.fb-next .rev-ins{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.fb-next .rev-ins{background:color-mix(in srgb, var(--success) 22%, transparent)}}.rev{gap:4px;display:grid}.rev-gap{color:var(--text-muted)}.rev-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 12px;display:flex}.rev-legend{color:var(--text-secondary);align-items:center;gap:12px;display:inline-flex}.rev-legend .rev-ins,.rev-legend .rev-del{padding:0 3px}.rev-toggle{border-radius:var(--r-sm);cursor:pointer;min-height:40px;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;transition:color var(--dur-hover) var(--ease-in);background:0 0;border:0;align-items:center;margin:0 -4px;padding:0 4px;display:inline-flex}.rev-toggle:hover{color:var(--text);text-decoration-color:currentColor}.rev-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (pointer:fine){.rev-toggle{min-height:28px}}.rubric li{border-radius:var(--r-sm);transition:background-color var(--dur-hover) var(--ease-in)}.rubric li.active{background:var(--surface);box-shadow:0 0 0 6px var(--surface)}.pt-toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;align-items:flex-start;gap:4px;margin:-5px 0;padding:5px 0;display:flex}.pt-toggle:hover>span{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.pt-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pt-chev{color:var(--text-muted);transition:transform var(--dur-hover) var(--ease-in);flex:none;margin-top:2px}.pt-toggle[aria-expanded=true] .pt-chev{transform:rotate(180deg)}.pt-more{justify-self:start;align-items:center;width:auto}.pt-detail{border-left:2px solid var(--border-strong);animation:reveal var(--dur-enter) var(--ease-in) both;gap:4px;padding:2px 0 2px 10px;display:grid}.pt-quote{color:var(--text-secondary)}.note-label{color:var(--text-secondary);font-weight:500}.line-ref{font:inherit;color:var(--accent);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline;text-decoration-thickness:1px}.line-ref:hover{color:var(--accent-strong)}.quote-link{text-align:left;cursor:pointer;color:var(--accent);text-underline-offset:2px;background:0 0;border:0;justify-self:start;padding:0;text-decoration:underline}.quote-link:hover{color:var(--accent-strong)}.fb-folds{border-top:1px solid var(--border);display:grid}.fb-folds>.fold{border-bottom:1px solid var(--border)}.fb-folds>.fold>summary{min-height:48px}.fold-body{padding:4px 0 20px}.answer-text p{margin:0}.answer-text p+p,.answer-text p+.rt-pre,.answer-text .rt-pre+p{margin-top:8px}mark.quote-mark{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){mark.quote-mark{background:color-mix(in srgb, var(--accent) 14%, transparent)}}mark.quote-mark{color:inherit;border-radius:var(--r-sm);box-shadow:inset 0 -1px 0 var(--accent);padding:0 1px}@supports (color:color-mix(in lab, red, red)){mark.quote-mark{box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--accent) 55%, transparent)}}mark.quote-mark{transition:background-color var(--dur-hover) var(--ease-in)}mark.quote-mark.active{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){mark.quote-mark.active{background:color-mix(in srgb, var(--accent) 32%, transparent)}}.quote-block{border-radius:var(--r-md);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab, red, red)){.quote-block{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent)}}.quote-block.active{box-shadow:0 0 0 2px var(--accent)}.code-legend{flex-wrap:wrap;gap:4px 16px;display:flex}.code-legend span{align-items:center;gap:6px;display:inline-flex}.swatch{background:var(--line-hl);border-radius:0;width:12px;height:12px;display:inline-block}.swatch.hl{box-shadow:inset 3px 0 0 var(--streak)}.swatch.cited{box-shadow:inset 3px 0 0 var(--accent)}.ln.flash{animation:line-flash 1.6s var(--ease-in)}@keyframes line-flash{0%,40%{background:color-mix(in srgb, var(--accent) 28%, var(--surface-code))}to{background:var(--line-hl)}}@media (prefers-reduced-motion:reduce){.ln.flash{outline:2px solid var(--accent);outline-offset:-2px;animation:none}}.retry{margin-top:4px}.retry-open{justify-self:start}.retry-result{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);gap:4px;padding:8px 10px;display:grid}.retry-text>summary{cursor:pointer;list-style:none}.retry-text>summary::-webkit-details-marker{display:none}.fb-continue{z-index:20;padding:12px 0 calc(4px + env(safe-area-inset-bottom,0px));background:var(--bg);gap:2px;margin-top:8px;display:grid;position:sticky;bottom:0}.fb-continue:before{content:"";pointer-events:none;background:linear-gradient(to bottom, transparent, var(--bg));height:24px;position:absolute;bottom:100%;left:0;right:0}html:has(.fb-continue){scroll-padding-bottom:calc(var(--bottom-bar-h,120px) + 24px)}@media (max-width:1023px){.fb-continue{margin:0 -16px;padding-left:16px;padding-right:16px}}.fb-quiet{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;column-gap:16px;display:flex}.quiet-group{white-space:nowrap;align-items:center;gap:2px;display:inline-flex}.quiet-group>span[id]{margin-right:2px}.quiet-sep{padding:0 1px}.quiet-btn{border-radius:var(--r-sm);min-height:40px;font:inherit;color:var(--text-secondary);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;transition:color var(--dur-hover) var(--ease-in);background:0 0;border:0;align-items:center;padding:0 4px;display:inline-flex}.quiet-btn:hover{color:var(--text);text-decoration-color:currentColor}.quiet-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.quiet-btn[aria-pressed=true]{color:var(--text);text-decoration-color:currentColor;text-decoration-thickness:2px}.quiet-btn[aria-disabled=true]{cursor:progress}@media (pointer:fine){.fb-quiet{column-gap:12px}.quiet-btn{min-height:28px}}.quiet-err{color:var(--warning);margin-left:6px}:root .toast{bottom:calc(var(--tabbar-h) + var(--bottom-bar-h,0px) + 24px + env(safe-area-inset-bottom,0px))}:root:has(.main.no-tabbar) .toast{bottom:calc(max(var(--bottom-bar-h,0px), env(safe-area-inset-bottom,0px)) + 16px)}@media (min-width:1024px){:is(:root .toast,:root:has(.main.no-tabbar) .toast){bottom:calc(var(--bottom-bar-h,0px) + 32px)}}.cite-chip{border-radius:var(--r-pill);border:1px solid var(--border-strong);font-size:var(--fs-caption);color:var(--text-secondary);white-space:nowrap;vertical-align:baseline;text-overflow:ellipsis;align-items:center;gap:4px;max-width:100%;padding:0 6px;line-height:18px;display:inline-flex;overflow:hidden}.cite-chip svg{color:var(--accent);flex:none}.sring{flex:none;display:block}.sring .trk{fill:none;stroke:var(--border-strong)}.sring .fil{fill:none;stroke:var(--accent);transition:stroke-dasharray var(--dur-fill) var(--ease-in)}.sring text{fill:var(--text);font-variant-numeric:tabular-nums}.sring .sub{fill:var(--text-muted)}@media (prefers-reduced-motion:reduce){.sring .fil{transition:none}}.parts{margin:0;padding:0;list-style:none;display:grid}.part-row{border-bottom:1px solid var(--border);grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:4px 12px;min-height:52px;padding:12px 0;display:grid}.part-row:last-child{border-bottom:0}.pdot{background:var(--accent);border-radius:50%;width:12px;height:12px}.part-row .pname{font-size:var(--fs-body);line-height:var(--lh-title-3);font-weight:500}.part-row .pstate{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex}.part-row .pstate svg{color:var(--success)}.part-row.done .pname{color:var(--text-secondary)}.part-items{grid-column:2/4;gap:2px;margin:4px 0 0;padding:0;list-style:none;display:grid}.item-link{border-radius:var(--r-md);min-height:44px;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;margin:0 -10px;padding:0 10px;display:flex}.item-link:hover{background:var(--surface);color:var(--text)}.item-link[data-status=done]{color:var(--text-muted)}.item-link svg{flex:none}.runner{align-content:start;gap:20px;width:100%;max-width:640px;margin:0 auto;display:grid}.runner-top{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.sbar{border-radius:var(--r-pill);gap:3px;height:8px;display:flex;overflow:hidden}.sbar>span{background:var(--border-strong);min-width:6px;position:relative}.sbar>span>i{background:var(--accent);transition:width var(--dur-fill) var(--ease-in);position:absolute;inset:0 auto 0 0}.part-cap{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-secondary);align-items:center;gap:8px;font-weight:500;display:inline-flex}.part-cap .pdot{width:10px;height:10px}.rcard{gap:16px;display:grid}.rprompt{font-size:var(--fs-title-2);line-height:var(--lh-title-2);text-wrap:pretty;margin:0;font-weight:600}@media (min-width:600px){.rprompt{font-size:var(--fs-title-1);line-height:var(--lh-title-1)}}.ropts{gap:10px;display:grid}.ropt{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);text-align:left;min-height:56px;font-size:var(--fs-body);line-height:var(--lh-body);grid-template-columns:32px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:10px 14px;display:grid}@media (hover:hover){.ropt:hover:not([disabled],[aria-disabled=true]){border-color:var(--text-muted)}}.ropt:active:not([disabled],[aria-disabled=true]),.ropt[data-phase]{border-color:var(--accent);background:var(--accent-subtle);transform:translateY(1px)}.ropt[aria-busy=true]{cursor:progress}.ropt .btn-spin{color:var(--accent);justify-self:center}.ropt i{border-radius:var(--r-sm);background:var(--surface-raised);width:28px;height:28px;font-style:normal;font-size:var(--fs-small);color:var(--text-secondary);font-weight:600;font-family:var(--font-code);place-items:center;display:grid}.ropt[disabled]{cursor:default}.ropt.ok{border-color:var(--success);background:var(--success)}@supports (color:color-mix(in lab, red, red)){.ropt.ok{background:color-mix(in srgb, var(--success) 12%, var(--surface))}}.ropt.ok i{background:var(--success);color:var(--bg)}.ropt.miss{border-color:var(--warning);background:var(--warning)}@supports (color:color-mix(in lab, red, red)){.ropt.miss{background:color-mix(in srgb, var(--warning) 10%, var(--surface))}}.ropt.dim{opacity:.6}.ropt .ok-ic{color:var(--success)}.ropt .miss-ic{color:var(--warning)}.rinput{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.rinput .input{min-height:52px;font-size:var(--fs-title-2)}.rinput .input.ok{border-color:var(--success)}.rinput .input.miss{border-color:var(--warning)}.rresult{border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);gap:6px;padding:12px 14px;display:grid}.rresult .head{align-items:center;gap:8px;font-weight:600;display:flex}.rresult .head.ok{color:var(--success)}.rresult .head.miss{color:var(--warning)}.ranswer{border-radius:var(--r-md);background:var(--surface-raised);border:1px solid var(--border);font-size:var(--fs-body);line-height:var(--lh-body);padding:12px 14px}.rates{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (min-width:600px){.rates{grid-template-columns:repeat(4,minmax(0,1fr))}}.rates .btn{min-height:52px}.runner-foot{padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(to bottom, transparent, var(--bg) 30%);position:sticky;bottom:0}.takeaway textarea.textarea{min-height:96px;font-size:var(--fs-title-2);line-height:var(--lh-title-2)}.pills{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pill{border-radius:var(--r-pill);border:1px solid var(--border);min-height:28px;font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums;background:0 0;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}button.pill{cursor:pointer;position:relative}button.pill:before{content:"";position:absolute;inset:-6px 0}button.pill:hover{border-color:var(--border-strong);color:var(--text)}.m-new{color:var(--text-muted)}.m-learning{border-color:var(--border-strong);color:var(--text)}.m-reviewing{background:var(--accent-subtle);color:var(--text);border-color:#0000}.m-mastered{background:var(--success);border-color:#0000}@supports (color:color-mix(in lab, red, red)){.m-mastered{background:color-mix(in srgb, var(--success) 16%, transparent)}}.m-mastered{color:var(--text)}.pop-wrap{display:inline-flex;position:relative}.pop-wrap.open{flex-basis:100%;justify-items:start;gap:6px;display:grid}.popover{background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--r-md);gap:8px;width:max-content;max-width:min(360px,100%);padding:12px 14px;display:grid}.concept-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;min-height:56px;padding:12px 0;display:grid}.concept-row:last-child{border-bottom:0}.concept-row .sub{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ccard{border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);gap:6px;padding:14px;display:grid}.ccard .sum{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ccards{gap:10px;display:grid}@media (min-width:600px){.ccards{grid-template-columns:repeat(2,minmax(0,1fr))}}.reviews{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.reviews li{border-radius:var(--r-sm);border:1px solid var(--border);place-items:center;width:28px;height:28px;display:grid}.reviews li.ok{color:var(--success);border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.reviews li.ok{border-color:color-mix(in srgb, var(--success) 40%, transparent)}}.reviews li.miss{color:var(--warning);border-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.reviews li.miss{border-color:color-mix(in srgb, var(--warning) 40%, transparent)}}.bites{border-left:3px solid var(--border-strong);padding:2px 0 2px 12px}.more-list{margin:0;padding:0;list-style:none;display:grid}.more-list a{border-bottom:1px solid var(--border);min-height:52px;font-size:var(--fs-body);align-items:center;gap:12px;display:flex}.more-list li:last-child a{border-bottom:0}.more-list svg{color:var(--text-secondary)}.week-card{gap:10px}.week-dots{gap:4px;display:inline-flex}.week-dots i{border:1px solid var(--border-strong);border-radius:50%;width:10px;height:10px;display:block}.week-dots i.on{background:var(--accent);border-color:var(--accent)}.week-stats{flex-wrap:wrap;gap:4px 16px;display:flex}.week-stats b{color:var(--text);font-weight:600}.report{justify-items:start;gap:8px;display:grid}.report-btn{margin-left:-12px}.report-open{border-radius:var(--r-md);border:1px solid var(--border);justify-self:stretch;padding:12px 14px}.report-status{align-items:center;gap:6px;display:inline-flex}.report-note{gap:8px;width:100%;display:flex}.report-note .input{flex:auto;min-width:0}.report-add{text-align:left;overflow-wrap:anywhere;background:0 0;border:0;min-height:32px;padding:0}.ceditor{background:var(--surface-code);border:1px solid var(--border);border-radius:var(--r-md);font-family:var(--font-code);font-size:var(--fs-code);line-height:var(--lh-code);grid-template-columns:auto minmax(0,1fr);display:grid;overflow:hidden}.ceditor.focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.ceditor-gutter{color:var(--syn-com);text-align:right;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;border-right:1px solid var(--border);align-content:start;padding:8px 10px 8px 12px;display:grid;overflow:hidden}.ceditor-text{resize:none;width:100%;min-width:0;color:var(--syn-plain);font:inherit;white-space:pre;tab-size:4;caret-color:var(--accent);background:0 0;border:0;outline:none;padding:8px 12px;display:block;overflow:auto hidden}.ceditor-text:disabled{opacity:.75}.tests{border-collapse:collapse;width:100%;font-size:var(--fs-small);line-height:var(--lh-small)}.tests caption{text-align:left;padding-bottom:6px}.tests td{border-top:1px solid var(--border);vertical-align:top;padding:8px 0}.tests .ticon{width:24px;padding-top:9px}.tests .tname{font-family:var(--font-code);font-size:var(--fs-caption);overflow-wrap:anywhere;display:block}.tests .terr{color:var(--text-secondary);font-family:var(--font-code);font-size:var(--fs-caption);line-height:var(--lh-caption);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px;display:block}.chips-wrap{flex-wrap:wrap;gap:8px;display:flex}.mono-chip{font-family:var(--font-code);font-size:var(--fs-small);min-height:40px}.est-input{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.est-unit{font-size:var(--fs-small);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:12ch;overflow:hidden}.input.mono{font-family:var(--font-code)}.spec-panel .body p{margin:0 0 8px}.timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.tl-step{animation:reveal var(--dur-enter) var(--ease-in) both;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:0 0 16px;display:grid;position:relative}.tl-step:before{content:"";background:var(--border);width:2px;position:absolute;top:22px;bottom:0;left:11px}.tl-step:last-child:before{display:none}.tl-dot{background:var(--surface);border:1px solid var(--border-strong);z-index:1;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.incident-now{border-color:var(--border-strong)}.incident-now h2:focus,.incident-end h2:focus{outline:none}.choice-btn{border-radius:var(--r-md);border:1px solid var(--border-strong);text-align:left;min-height:44px;font-size:var(--fs-body);line-height:var(--lh-body);background:0 0;padding:10px 14px}.choice-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-subtle)}.choice-btn:disabled{color:var(--text-muted);border-color:var(--border);cursor:not-allowed}@media (prefers-reduced-motion:reduce){.tl-step{animation:none}}.order-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.order-row{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 4px 4px 10px;display:grid}.order-row[draggable=true]{cursor:grab}.order-row.dragging{opacity:.5}.order-row.over{border-color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.order-row:focus-within{border-color:var(--accent)}.order-n{text-align:center;width:22px;font-size:var(--fs-small);color:var(--text-muted);font-weight:600}.order-text{font-size:var(--fs-body);line-height:var(--lh-body);overflow-wrap:anywhere;padding:8px 0}.order-btns{display:flex}.iconbtn.sm-ic:disabled{color:var(--border-strong);cursor:not-allowed;background:0 0}.grip{flex:none}.order-compare{gap:6px;margin:0;padding:0;list-style:none;display:grid}.order-compare li{font-size:var(--fs-small);line-height:var(--lh-small);grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.sk-palette{flex-wrap:wrap;gap:6px;display:flex}.sk-pal{border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);min-height:40px;font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text);align-items:center;gap:6px;padding:0 10px;display:inline-flex}.sk-pal svg{color:var(--accent)}.sk-pal:hover:not(:disabled){border-color:var(--accent)}.sk-pal:disabled{color:var(--text-muted);border-color:var(--border);cursor:not-allowed}.sk-pal:disabled svg{color:var(--text-muted)}.sk-pal[draggable=true]{cursor:grab}.sk-wrap{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-code);width:100%;min-width:0;overflow:hidden}.sk-canvas{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.sk-bg{fill:var(--surface-code)}.sk-empty{fill:var(--text-muted);font-size:var(--fs-small);font-family:var(--font-ui)}.sk-node{cursor:grab;touch-action:none;outline:none}.sk-node .sk-box{fill:var(--surface);stroke:var(--border-strong);stroke-width:1px}.sk-node:hover .sk-box{stroke:var(--text-muted)}.sk-node.sel .sk-box{stroke:var(--accent);stroke-width:2px;fill:var(--accent-subtle)}.sk-node.from .sk-box{stroke:var(--streak);stroke-width:2px;stroke-dasharray:4 3}.sk-node:focus-visible .sk-box{stroke:var(--accent);stroke-width:2px}.sk-canvas.connecting .sk-node{cursor:crosshair}.sk-icon{color:var(--accent)}.sk-label{fill:var(--text);font-size:var(--fs-caption);font-family:var(--font-ui);pointer-events:none;font-weight:500}.sk-line{stroke:var(--text-secondary);stroke-width:1.5px;fill:none}.sk-hit{stroke:#0000;stroke-width:16px;cursor:pointer}.sk-edge.sel .sk-line{stroke:var(--accent);stroke-width:2.5px}.sk-arrow{fill:var(--text-secondary)}.sk-elabel-bg{fill:var(--surface-code);stroke:var(--border)}.sk-elabel{fill:var(--text-secondary);font-size:var(--fs-figure);font-family:var(--font-ui);pointer-events:none}.sk-panel{align-items:center;min-height:44px;display:grid}.sk-edit{gap:8px;display:grid}@media (min-width:600px){.sk-edit{grid-template-columns:minmax(0,1fr) auto;align-items:end}}.sk-items{gap:4px;margin:0;padding:0;list-style:none;display:grid}.sk-connect{grid-template-columns:1fr 1fr;align-items:end;gap:8px;display:grid}.sk-connect .btn{grid-column:1/-1;justify-self:start}@media (min-width:600px){.sk-connect{grid-template-columns:1fr 1fr auto}.sk-connect .btn{grid-column:auto}}.sk-view{background:var(--surface-code);border:1px solid var(--border);border-radius:var(--r-md);width:100%;height:auto;display:block}.req-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.req-list li{font-size:var(--fs-small);line-height:var(--lh-small);align-items:flex-start;gap:8px;display:flex}.est-band{border-radius:var(--r-pill);background:var(--border);height:8px;margin:10px 0 4px;position:relative}.est-band .band{background:var(--accent-subtle);border:1px solid var(--accent);border-radius:var(--r-pill);position:absolute;top:0;bottom:0}.est-band .mark{border-radius:var(--r-pill);background:var(--text);width:3px;height:16px;position:absolute;top:-4px;transform:translate(-1px)}.est-band .mark.answer{background:var(--accent)}.block-card{gap:10px;display:grid}.block-head{align-items:center;gap:10px;display:flex}.block-head>svg{color:var(--text-secondary);flex:none}.swap-list{flex-wrap:wrap;gap:8px;display:flex}.applied-row{border-top:1px solid var(--border);gap:8px;padding:12px 0;display:grid}.applied-row:first-of-type{border-top:0}.pillar-map{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}@media (max-width:599px){.pillar-map{grid-template-columns:repeat(2,minmax(0,1fr))}}.pillar{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);text-align:left;align-content:start;gap:6px;width:100%;min-height:96px;padding:12px;display:grid}.pillar:hover{border-color:var(--border-strong)}.pillar[aria-expanded=true]{border-color:var(--accent)}.pillar .pname{font-size:var(--fs-small);line-height:var(--lh-small);align-items:center;gap:8px;font-weight:600;display:flex}.pillar .pname svg{color:var(--text-secondary);flex:none}.pillar .lvl{white-space:normal;font-size:var(--fs-caption);line-height:var(--lh-caption)}.pillar.unplaced{background:0 0;border-style:dashed}.pillar-detail{border:1px solid var(--border);border-radius:var(--r-md);padding:4px 16px 8px}.adm-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.adm-title{overflow-wrap:anywhere;font-weight:500}.adm-list{margin:0;padding:0;list-style:none;display:grid}.adm-row{border-bottom:1px solid var(--border);border-radius:var(--r-sm);color:inherit;justify-content:space-between;align-items:center;gap:16px;min-height:56px;margin:0 -8px;padding:12px 8px;text-decoration:none;display:flex}.adm-row:hover{background:var(--surface)}.adm-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.adm-list li:last-child .adm-row{border-bottom:0}.adm-meta{text-align:right;flex:none;justify-items:end;gap:2px;display:grid}.adm-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;display:grid}.adm-grid>*{min-width:0}@media (min-width:1024px){.main:has(>.adm-page){max-width:1320px}.adm-grid{grid-template-columns:minmax(0,11fr) minmax(360px,9fr);gap:32px}}.adm-answer{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);padding:12px 14px}.adm-points{gap:12px;margin:0;padding:0;list-style:none;display:grid}.adm-points li{border-radius:var(--r-md);border:1px solid var(--border);gap:6px;padding:12px 14px;display:grid}.adm-points li.changed{border-color:var(--accent);background:var(--accent-subtle)}.adm-point-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.adm-stepper{align-items:center;gap:8px;display:inline-flex}.adm-stepper .btn{min-width:40px;padding:0 10px}.adm-stepper output{text-align:center;min-width:48px}.adm-quote{border-left:2px solid var(--border-strong);color:var(--text-secondary);margin:0;padding-left:10px}.adm-expert summary{cursor:pointer;font-weight:500}.adm-expert[open] summary{margin-bottom:8px}.adm-actions{flex-wrap:wrap;gap:12px;display:flex}@media (max-width:599px){.adm-actions .btn{flex:100%}}.att-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.att{gap:10px}.att-flags{gap:4px;margin:0;padding:0;list-style:none;display:grid}.att-flags li{color:var(--warning);align-items:flex-start;gap:6px;display:flex}.att-flags svg{flex:none;margin-top:2px}.att-card{gap:6px;display:grid}.att-options{font-size:var(--fs-small);line-height:var(--lh-small);gap:2px;margin:0;padding-left:20px;display:grid}.att-options li.key{color:var(--success);font-weight:500}.att-comments{gap:8px;margin:0;padding:0;list-style:none;display:grid}.att-comments li,.att-comment>span{gap:2px;display:grid}.att-comment{align-items:flex-start}.att-comment blockquote,.att-comments blockquote{overflow-wrap:anywhere}.adm-nav{flex-wrap:wrap;gap:16px;display:flex}.adm-nav [aria-current=page]{color:var(--text);font-weight:600;text-decoration:none}.adm-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.adm-stat{color:inherit;gap:2px;text-decoration:none}a.adm-stat:hover{border-color:var(--border-strong)}.adm-stat .tone-warning{align-items:center;gap:6px;display:inline-flex}.grow-controls{flex-wrap:wrap;align-items:end;gap:12px 16px;display:flex}.grow-controls .field{min-width:180px}.funnel{gap:14px;margin:0;padding:0;list-style:none;display:grid}.funnel li{gap:4px;display:grid}.funnel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.funnel-track{height:10px}.funnel-bar{background:var(--accent);border-radius:0 var(--r-pill) var(--r-pill) 0;min-width:2px;height:10px}.cohort td,.cohort th{white-space:nowrap}.cohort .cell{gap:0;display:grid}.dbars{gap:8px;display:grid}.dbars-chart{grid-template-columns:auto minmax(0,1fr);gap:4px 8px;display:grid}.dbars-y{text-align:right;flex-direction:column;justify-content:space-between;height:140px;margin-top:-8px;margin-bottom:-8px;display:flex}.dbars-plot{border-top:1px solid var(--border);border-bottom:1px solid var(--border-strong);align-items:flex-end;gap:2px;height:140px;display:flex;position:relative}.dbars-col{flex:1 1 0;justify-content:center;align-items:flex-end;min-width:0;height:100%;display:flex}.dbars-col[data-active]{background:var(--surface-raised)}.dbars-bar{background:var(--accent);border-radius:var(--r-sm) var(--r-sm) 0 0;width:100%;max-width:24px}.dbars-tip{white-space:nowrap;border-radius:var(--r-sm);background:var(--surface-raised);border:1px solid var(--border-strong);box-shadow:var(--shadow-high);pointer-events:none;padding:4px 8px;position:absolute;top:4px;transform:translate(-50%)}.dbars-x{justify-content:space-between;display:flex}.dbars-table summary{cursor:pointer;color:var(--text-secondary)}.err-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.err-msg{overflow-wrap:anywhere}.err-sample{border-radius:var(--r-md);background:var(--surface-code);border:1px solid var(--border);font-family:var(--font-code);font-size:var(--fs-caption);white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;margin:8px 0 0;padding:12px;line-height:18px;overflow-y:auto}.err-list details summary{cursor:pointer;color:var(--text-secondary)}.pricing{max-width:880px;padding:16px max(16px, env(safe-area-inset-right,0px)) 48px max(16px, env(safe-area-inset-left,0px));gap:24px;margin:0 auto;display:grid}@media (min-width:1024px){.pricing{padding-top:24px}}.pricing-head{gap:12px;display:grid}.pricing-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (min-width:720px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.pricing-grid .card{gap:14px}.pro-card{border-color:var(--accent)}.price-line{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.price-seg{justify-self:start}.seg button.pro-locked{color:var(--text-muted,var(--text-secondary));align-items:center;gap:4px;display:inline-flex}.pro-lock .block-head svg{color:var(--text-secondary)}.capstone-card{gap:10px}.capstone-card .block-head>svg{color:var(--text-secondary)}.capstone-story{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);max-width:64ch;margin:0}.cap-parts{gap:0;margin:0;padding:0;list-style:none;display:grid}.cap-part{border-top:1px solid var(--border);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;display:grid}.cap-part:first-child{border-top:0}.cap-parts.compact .cap-part{border-top:0;padding:6px 0}.cap-part-name{font-weight:500}.cap-dot{width:24px;height:24px;font-size:var(--fs-caption);border:1px solid var(--border-strong);color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.cap-part[data-status=open] .cap-dot{border-color:var(--accent);color:var(--accent)}.cap-part[data-status=done] .cap-dot{border-color:var(--success);color:var(--success)}.cap-part[data-status=missed] .cap-part-name,.cap-part[data-status=locked] .cap-part-name{color:var(--text-secondary)}.cap-badges{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cap-badge{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);align-items:center;gap:10px;min-width:0;max-width:100%;padding:10px 12px;display:flex}.cap-badge>svg{color:var(--success);flex:none}.capstone-earned{gap:6px}@media print{.cap-badge{border-color:var(--border-strong)}}.day-results{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);text-align:left;gap:12px;padding:16px;display:grid}.day-results .res-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.res-moves{gap:4px;margin:0;padding:0;list-style:none;display:grid}.res-skill{min-height:44px;color:var(--text);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.res-skill-text{min-width:0;display:grid}.res-skill-name{font-size:var(--fs-body);line-height:var(--lh-title-3);overflow-wrap:anywhere;font-weight:600}.res-skill:hover .res-skill-name{text-underline-offset:3px;text-decoration:underline}.res-chips{flex-wrap:wrap;gap:6px;display:flex}.res-quote{border-left:2px solid var(--border-strong);gap:2px;margin:0;padding:0 0 0 12px;display:grid}.score-chip{border-radius:var(--r-pill);min-height:24px;font-size:var(--fs-small);line-height:var(--lh-small);font-variant-numeric:tabular-nums;border:1px solid;align-items:center;padding:0 8px;font-weight:600;display:inline-flex}.score-link{align-items:center;min-height:44px;display:inline-flex}.item-link .res-line{font-size:var(--fs-small);color:var(--text-secondary)}.part-result{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);overflow-wrap:anywhere;grid-column:2/4;margin:2px 0 0}@media (max-width:480px){.day-results{padding:14px}}.done-screen{text-align:left;gap:16px;display:grid}.done-head{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;display:grid}.done-check{background:var(--accent);width:40px;height:40px;color:var(--on-accent);border-radius:50%;place-items:center;display:grid}.done-check path{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;animation:done-draw var(--dur-fill) var(--ease-in) both}@keyframes done-draw{0%{stroke-dashoffset:1px}}@media (prefers-reduced-motion:reduce){.done-check path{animation:none}}.done-meta{flex-wrap:wrap;align-items:center;display:flex}.done-sep{white-space:pre}.done-streak{align-items:center;gap:4px;display:inline-flex}.done-streak svg{color:var(--streak)}.done-next{align-items:center;gap:8px;display:flex}.done-actions{gap:4px;display:grid}.remind-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.remind-ask{align-items:center;gap:8px;min-width:0;display:inline-flex}.remind-ask .input.remind-time{width:auto;min-height:40px;padding:6px 10px}.remind-acts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:inline-grid}.remind-acts .btn{min-height:40px;padding:0 16px}.remind-done{flex-wrap:nowrap;justify-content:flex-start;align-items:flex-start;gap:8px}.remind-done>svg{margin-top:1px}:root{--vz-1:#3987e5;--vz-2:#d55181;--vz-3:#9085e9;--vz-4:#d95926;--vz-5:#199e70;--vz-6:#c98500;--vz-other:#7d8490;--vz-grid:#20242c;--vz-axis:#3a4150}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--vz-1:#2470cc;--vz-2:#b83f75;--vz-3:#5c4bcc;--vz-4:#c2501c;--vz-5:#138a62;--vz-6:#9a6500;--vz-other:#7f796e;--vz-grid:#dcd7cb;--vz-axis:#c4beb0}}:root[data-theme=light]{--vz-1:#2470cc;--vz-2:#b83f75;--vz-3:#5c4bcc;--vz-4:#c2501c;--vz-5:#138a62;--vz-6:#9a6500;--vz-other:#7f796e;--vz-grid:#dcd7cb;--vz-axis:#c4beb0}.vz{grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;margin:0;display:grid}.vz-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:32px;display:flex}.vz-title{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);overflow-wrap:anywhere;min-width:0;font-weight:600}.vz-tools{flex:none;align-items:center;gap:4px;display:flex}.vz-mono{font-family:var(--font-code);font-variant-ligatures:none}.vz-note{padding:0 2px}.vz-empty{background:var(--surface-code);border:1px solid var(--border);border-radius:var(--r-md);padding:16px}.vz-chart,.vz-trace,.vz-il,.vz-tl,.vz-text{background:var(--surface-code);border:1px solid var(--border);border-radius:var(--r-md);min-width:0}.vz-scroll{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;min-width:0;overflow:auto hidden}.vz-svg{font-family:var(--font-ui);display:block;overflow:visible}.vz-svg [role=button]{cursor:pointer;outline:none}.vz-key{flex:none;display:inline-block}.vz-key.line{border-radius:var(--r-pill);width:14px;height:2px}.vz-key.box{border-radius:0;width:10px;height:10px}.vz-key.dot{border-radius:50%;width:8px;height:8px}.vz-legend{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-secondary);flex-wrap:wrap;gap:2px 14px;margin:0;padding:0;list-style:none;display:flex}.vz-legend li,.vz-legend-item{align-items:center;gap:6px;min-height:24px;display:inline-flex}.vz-legend-item{border-radius:var(--r-sm);margin:0 -4px;padding:0 4px}.vz-legend-item[role=button]{cursor:pointer}.vz-legend-item[role=button]:hover{background:var(--surface)}.vz-legend-item.is-mark{background:var(--line-hl);box-shadow:inset 0 -2px 0 var(--streak)}.vz-legend-item.is-pick{outline:2px solid var(--accent);outline-offset:0}.vz-grid{stroke:var(--vz-grid);stroke-width:1px;shape-rendering:crispedges}.vz-axis{stroke:var(--vz-axis);stroke-width:1px;shape-rendering:crispedges}.vz-tick{fill:var(--text-muted);font-size:var(--fs-figure);font-variant-numeric:tabular-nums}.vz-axis-label{fill:var(--text-muted);font-size:var(--fs-figure)}.vz-lbl{fill:var(--text-secondary);font-size:var(--fs-figure)}.halo{paint-order:stroke;stroke:var(--surface-code);stroke-width:4px;stroke-linejoin:round}.vz-chart{gap:4px;padding:10px 10px 4px;display:grid}.vz-chart-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 16px;min-height:20px;padding:0 2px;display:flex}.vz-ylabel{min-width:0}.vz-canvas{position:relative}.vz-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.vz-area{fill-opacity:.14}.vz-bar{transition:opacity var(--dur-hover) var(--ease-in)}.vz-bar.is-active{opacity:.8}.vz-bar.is-mark{stroke:var(--streak);stroke-width:2px;paint-order:stroke}.vz-bar.is-pick{stroke:var(--accent);stroke-width:2px;paint-order:stroke}.vz-pt{pointer-events:none}.vz-pt circle{stroke:var(--surface-code);stroke-width:2px}.vz-pt.sparse:not(.is-active):not(.is-mark):not(.is-pick) circle{r:3}.vz-pt .ring-mark{fill:none;stroke:var(--streak);stroke-width:2px}.vz-pt .ring-pick{fill:none;stroke:var(--accent);stroke-width:2px}.vz-region rect{fill:var(--text-muted);fill-opacity:.1}.vz-region.is-mark rect{fill:var(--streak);fill-opacity:.12;stroke:var(--streak);stroke-opacity:.7;stroke-width:1px}.vz-region.is-pick rect{fill:var(--accent);fill-opacity:.12;stroke:var(--accent);stroke-width:2px}.vz-region{pointer-events:none}.vz-threshold line{stroke:var(--text-secondary);stroke-width:1.25px;stroke-dasharray:5 4}.vz-threshold:not([role]){pointer-events:none}.vz-threshold[role=button] line{stroke-width:1.5px}.vz-threshold.is-mark line{stroke:var(--streak);stroke-width:2px}.vz-threshold.is-mark text{fill:var(--text)}.vz-threshold.is-pick line{stroke:var(--accent);stroke-width:2px}.vz-threshold:focus-visible text{fill:var(--accent)}.vz-event-line{stroke:var(--text-muted);stroke-width:1px;stroke-opacity:.7;pointer-events:none}.vz-event.tone-warning .vz-event-line{stroke:var(--warning)}.vz-event.tone-danger .vz-event-line{stroke:var(--danger)}.vz-badge{fill:var(--surface);stroke:var(--border-strong);stroke-width:1px}.vz-badge-icon{color:var(--text-secondary);pointer-events:none}.vz-event.tone-warning .vz-badge-icon{color:var(--warning)}.vz-event.tone-danger .vz-badge-icon{color:var(--danger)}.vz-event.tone-muted .vz-badge-icon{color:var(--text-muted)}.vz-event[role=button]:hover .vz-badge{stroke:var(--text-muted)}.vz-event.is-mark .vz-badge{fill:var(--line-hl);stroke:var(--streak);stroke-width:2px}.vz-event.is-mark .vz-event-line{stroke:var(--streak);stroke-opacity:1;stroke-width:1.5px}.vz-event.is-mark text{fill:var(--text)}.vz-event.is-pick .vz-badge,.vz-event:focus-visible .vz-badge{stroke:var(--accent);stroke-width:2.5px}.vz-cross{stroke:var(--text-muted);stroke-width:1px;pointer-events:none}.vz-hit{fill:#0000;cursor:crosshair;touch-action:pan-x pan-y;outline:none}.vz-hit.cite{cursor:pointer}.vz-hit:focus-visible{stroke:var(--accent);stroke-width:2px}.vz-tip{z-index:3;pointer-events:none;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--r-sm);min-width:96px;box-shadow:var(--shadow-high);font-size:var(--fs-caption);line-height:var(--lh-caption);white-space:nowrap;gap:2px;padding:6px 10px;display:grid;position:absolute}.vz-tip-row{align-items:center;gap:6px;display:flex}.vz-tip-row b{color:var(--text);font-weight:600}.vz-trace{gap:8px;padding:4px 0 8px;display:grid}.vz-trace .vz-legend{padding:0 12px}.vz-row-bg,.vz-row-bar{fill:#0000}.vz-span[role=button]:hover .vz-row-bg,.vz-span.is-open .vz-row-bg{fill:var(--surface)}.vz-span.is-mark .vz-row-bg,.vz-span.is-pick .vz-row-bg{fill:var(--line-hl)}.vz-span.is-mark .vz-row-bar{fill:var(--streak)}.vz-span.is-pick .vz-row-bar{fill:var(--accent)}.vz-ring{fill:none;stroke:none;stroke-width:2px}.vz-span.is-mark .vz-ring{stroke:var(--streak)}.vz-span.is-pick:not(.is-mark) .vz-ring{stroke:var(--accent)}.vz-span:focus-visible .vz-row-bg{stroke:var(--accent);stroke-width:2px}.vz-spanbar{fill:var(--vz-other)}.vz-span.is-error .vz-spanbar{fill:var(--danger)}.vz-err-icon{color:var(--danger);flex:none}.vz-name{fill:var(--text);font-size:var(--fs-caption)}.vz-dur{fill:var(--text-secondary);font-size:var(--fs-figure);font-variant-numeric:tabular-nums}.vz-span.is-open .halo,.vz-span[role=button]:hover .halo{stroke:var(--surface)}.vz-span.is-mark .halo,.vz-span.is-pick .halo{stroke:var(--line-hl)}.vz-details{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);gap:4px;min-width:0;margin:0 12px;padding:10px 12px;display:grid}.vz-attrs{font-family:var(--font-code);font-size:var(--fs-caption);gap:2px;margin:4px 0 0;line-height:18px;display:grid}.vz-attrs div{grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:12px;display:grid}.vz-attrs dt{color:var(--text-muted)}.vz-attrs dd{overflow-wrap:anywhere;color:var(--text);margin:0}.vz-il{padding:0 0 4px;overflow-x:auto;container-type:inline-size}.vz-il-grid{grid-template-columns:30px repeat(var(--lanes), minmax(120px, 1fr)) repeat(var(--vars), minmax(64px, max-content));display:grid}.vz-il-row{display:contents}.vz-il-row>*{border-bottom:1px solid var(--vz-grid)}.vz-il-row:last-child>*{border-bottom:0}.vz-il-row.head>*{border-bottom:1px solid var(--border);color:var(--text-secondary);background:var(--surface-code);padding:8px;font-weight:600;position:sticky;top:0}.vz-il-n{text-align:right;padding:12px 6px 0 0}.vz-il-row.head .vz-il-n{padding-right:6px}.vz-il-lane,.vz-il-cell{border-left:1px solid var(--vz-grid);min-width:0}.vz-il-lanename{border-radius:var(--r-sm);align-items:center;gap:6px;margin:-2px -4px;padding:2px 4px;display:inline-flex}.vz-il-lanename.is-mark{background:var(--line-hl);box-shadow:inset 0 -2px 0 var(--streak)}.vz-il-lanename.is-pick{outline:2px solid var(--accent)}.vz-il-cell{padding:4px 6px}.vz-il-step{border-radius:var(--r-sm);text-align:left;background:var(--surface);border:1px solid var(--border);width:100%;box-shadow:inset 3px 0 0 var(--lane,var(--border-strong));font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text);overflow-wrap:anywhere;gap:4px;padding:6px 8px 6px 11px;display:grid}.vz-il-step[role=button]{cursor:pointer}.vz-il-step[role=button]:hover{border-color:var(--border-strong)}.vz-il-step.is-mark{background:var(--line-hl);border-color:var(--streak)}@supports (color:color-mix(in lab, red, red)){.vz-il-step.is-mark{border-color:color-mix(in srgb, var(--streak) 55%, transparent)}}.vz-il-step.is-mark{box-shadow:inset 3px 0 0 var(--streak)}.vz-il-step.is-pick{outline:2px solid var(--accent);outline-offset:1px}.vz-il-var{font-size:var(--fs-caption);color:var(--text-muted);text-align:right;white-space:nowrap;border-left:1px solid var(--vz-grid);padding:11px 10px 0;line-height:18px}.vz-il-row.head .vz-il-var{text-align:right;font-weight:500;font-size:var(--fs-caption)}.vz-il-var.changed{color:var(--text);font-weight:600}.vz-il-chips{flex-wrap:wrap;gap:4px;display:none}.vz-chip{font-size:var(--fs-caption);line-height:var(--lh-caption);border-radius:var(--r-pill);border:1px solid var(--border);color:var(--text-muted);background:var(--surface-code);padding:0 6px}.vz-chip.changed{color:var(--text);border-color:var(--border-strong);font-weight:600}@container (max-width:519px){.vz-il-grid{grid-template-columns:22px repeat(var(--lanes), minmax(0, 1fr))}.vz-il-var{display:none}.vz-il-chips{display:flex}.vz-il-cell{padding:4px}.vz-il-step{padding:6px 6px 6px 9px}.vz-il-row.head>*{padding:8px 4px}}.vz-tl{padding:12px 12px 8px;position:relative;container-type:inline-size}.vz-tl-more{margin-bottom:8px}.vz-tl:before,.vz-tl:after{content:"";pointer-events:none;opacity:0;width:40px;transition:opacity var(--dur-hover) var(--ease-in);z-index:2;position:absolute;top:36px;bottom:8px}.vz-tl:after{background:linear-gradient(to right, transparent, var(--surface-code) 85%);right:0}.vz-tl:before{background:linear-gradient(to left, transparent, var(--surface-code) 85%);left:0}.vz-tl[data-more-right]:after,.vz-tl[data-more-left]:before{opacity:1}.vz-tl-list{margin:0;padding:0;list-style:none;display:grid}.vz-tl-item{min-width:0;padding-bottom:6px;position:relative}.vz-tl-item:before{content:"";background:var(--border);width:2px;position:absolute;top:34px;bottom:-2px;left:17px}.vz-tl-item:last-child:before{display:none}.vz-tl-ev{border-radius:var(--r-md);text-align:left;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;padding:4px;display:grid;position:relative}.vz-tl-ev[role=button]{cursor:pointer}.vz-tl-ev[role=button]:hover{background:var(--surface)}.vz-tl-dot{background:var(--surface);border:1px solid var(--border-strong);width:28px;height:28px;color:var(--text-secondary);z-index:1;border-radius:50%;place-items:center;display:grid}.vz-tl-ev.tone-warning .vz-tl-dot{color:var(--warning)}.vz-tl-ev.tone-success .vz-tl-dot{color:var(--success)}.vz-tl-ev.tone-muted .vz-tl-dot{color:var(--text-muted)}.vz-tl-body{gap:2px;min-width:0;padding-top:1px;display:grid}.vz-tl-at{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vz-tl-kind{font-size:var(--fs-caption);line-height:var(--lh-caption);border-radius:var(--r-sm);background:var(--surface);color:var(--text-secondary);border:1px solid var(--border);padding:0 6px}.vz-tl-label{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text);overflow-wrap:break-word;min-width:0}.vz-tl-ev.is-mark{background:var(--line-hl);box-shadow:inset 3px 0 0 var(--streak)}.vz-tl-ev.is-mark .vz-tl-dot{border-color:var(--streak)}.vz-tl-ev.is-pick{outline:2px solid var(--accent);outline-offset:-2px}.vz-tl.compact{padding:8px}@container (min-width:560px){.vz-tl-list{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;padding-bottom:6px;display:flex;overflow-x:auto}.vz-tl-item{flex:1 0 196px;max-width:260px;padding:0 12px 0 0}.vz-tl-item:before{width:auto;height:2px;inset:17px -4px auto 32px}.vz-tl-ev{grid-template-columns:minmax(0,1fr);align-content:start;gap:8px;height:100%}}.vz-text{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;max-height:440px;padding:8px 0;overflow:auto}.vz.compact .vz-text{max-height:260px}.vz-text-inner{min-width:100%}.vz-tline{width:100%;font-family:var(--font-code);font-size:var(--fs-caption);white-space:pre-wrap;overflow-wrap:anywhere;text-indent:-2ch;color:var(--syn-plain);text-align:left;font-variant-ligatures:none;background:0 0;border:0;padding:0 12px 0 calc(12px + 2ch);line-height:20px;display:block}button.vz-tline{cursor:pointer}button.vz-tline:hover{background:var(--surface)}.vz-tline.is-mark{background:var(--line-hl);box-shadow:inset 3px 0 0 var(--streak)}.vz-tline.is-pick{background:var(--line-hl);box-shadow:inset 3px 0 0 var(--accent)}.vz-flash{animation:vz-flash 1.6s var(--ease-in)}@keyframes vz-flash{0%,45%{filter:drop-shadow(0 0 3px var(--accent)) drop-shadow(0 0 6px var(--accent))}to{filter:none}}@media (prefers-reduced-motion:reduce){.vz-flash{outline:2px solid var(--accent);outline-offset:2px;animation:none}.vz-bar{transition:none}}.swatch.vz-mark-sw{background:var(--line-hl);box-shadow:inset 0 0 0 2px var(--streak);border-radius:0}.swatch.vz-pick-sw{box-shadow:inset 0 0 0 2px var(--accent);background:0 0;border-radius:0}.vz-cite-hint{padding:0 2px}.filetab.vtab{font-family:var(--font-ui);align-items:center;gap:6px;display:inline-flex}.vtab-icon{color:var(--text-muted);flex:none}.filetab.vtab[aria-selected=true] .vtab-icon{color:var(--text-secondary)}.vtab-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.vz-panel{grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;display:grid}.vz-panel.picking .vz-hit{cursor:pointer}.spot-prompt{color:var(--text);align-items:flex-start;gap:8px;display:flex}.spot-prompt svg{color:var(--accent);flex:none;margin-top:1px}.mono-id{font-family:var(--font-code);font-size:var(--fs-caption);color:var(--text-secondary);font-variant-ligatures:none}.spot-picks{gap:4px;margin:0;padding:0;list-style:none;display:grid}.spot-picks li{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:0 0 0 10px;display:grid}.spot-pick-label{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spot-option .sm{grid-column:2}.spot-list,.spot-options{gap:8px;margin:0;padding:0;list-style:none;display:grid}.spot-options .card{gap:6px;padding:12px 14px}.spot-options .card.right{border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.spot-options .card.right{border-color:color-mix(in srgb, var(--success) 45%, var(--border))}}.spot-blank{width:16px;height:16px;display:inline-block}.dg-frame{background:var(--surface-code);border:1px solid var(--border);border-radius:var(--r-md);overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;min-width:0;padding:6px 0;overflow:auto hidden}.dg-svg{font-family:var(--font-ui);margin:0 auto;display:block;overflow:visible}.dg-frame.scrolls .dg-svg{margin:0}.dg-frame.scrolls{background:linear-gradient(to right, var(--surface-code) 40%, transparent) left / 28px 100% no-repeat local, linear-gradient(to left, var(--surface-code) 40%, transparent) right / 28px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, var(--text), transparent) left / 12px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, var(--text), transparent) right / 12px 100% no-repeat scroll, var(--surface-code)}@supports (color:color-mix(in lab, red, red)){.dg-frame.scrolls{background:linear-gradient(to right, var(--surface-code) 40%, transparent) left / 28px 100% no-repeat local, linear-gradient(to left, var(--surface-code) 40%, transparent) right / 28px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, color-mix(in srgb, var(--text) 16%, transparent), transparent) left / 12px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, color-mix(in srgb, var(--text) 16%, transparent), transparent) right / 12px 100% no-repeat scroll, var(--surface-code)}}.dg-placeholder{width:100%}.dg-svg text{pointer-events:none}.dg-svg [role=button]{cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none}.dg-svg .dg-box,.dg-svg .dg-band,.dg-svg .dg-bar,.dg-svg .dg-line,.dg-svg .dg-pill,.dg-svg .dg-card-box,.dg-svg .dg-thead-bg,.dg-svg .dg-group-box{transition:fill var(--dur-hover) var(--ease-in), stroke var(--dur-hover) var(--ease-in)}.dg-box{fill:var(--surface);stroke:var(--border-strong);stroke-width:1px}.dg-icon{color:var(--accent)}.dg-name{fill:var(--text);font-size:var(--fs-caption);font-weight:500}.dg-state .dg-name{font-size:var(--fs-small)}.dg-state.compact .dg-name{font-size:var(--fs-caption)}.dg-seq .dg-name{font-weight:600}.dg-note-text{fill:var(--text-muted);font-size:var(--fs-figure)}.dg-label{fill:var(--text);font-size:var(--fs-caption);paint-order:stroke;stroke:var(--surface-code);stroke-width:4px;stroke-linejoin:round}.dg-svg [role=button]:hover>.dg-label{stroke:var(--surface)}.is-mark>.dg-label,.is-pick>.dg-label,.dg-svg [role=button].is-mark:hover>.dg-label,.dg-svg [role=button].is-pick:hover>.dg-label{stroke:var(--line-hl)}.dg-line{fill:none;stroke:var(--text-secondary);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.dg-line.dashed{stroke-dasharray:5 4;stroke-linecap:butt}.dg-head-arrow.solid{fill:var(--text-secondary);stroke:var(--text-secondary);stroke-width:1px;stroke-linejoin:round}.dg-head-arrow.open{fill:none;stroke:var(--text-secondary);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.dg-pill{fill:var(--surface-code);stroke:var(--border);stroke-width:1px}.dg-elabel{fill:var(--text-secondary);font-size:var(--fs-figure)}.dg-edge-hit{fill:none;stroke:#0000;stroke-width:16px}.dg-band,.dg-bar{fill:#0000}.dg-svg [role=button]:hover>.dg-band{fill:var(--surface)}.is-mark>.dg-band,.dg-svg [role=button].is-mark:hover>.dg-band{fill:var(--line-hl)}.is-mark>.dg-bar{fill:var(--streak)}.is-pick>.dg-band,.dg-svg [role=button].is-pick:hover>.dg-band{fill:var(--line-hl);stroke:var(--accent);stroke-width:1.5px}.is-pick:not(.is-mark)>.dg-bar{fill:var(--accent)}.vz-el:focus-visible>.dg-band{stroke:var(--accent);stroke-width:2px}.dg-life{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:3 4}.dg-badge circle{fill:var(--surface);stroke:var(--border-strong);stroke-width:1px}.dg-badge text{fill:var(--text-secondary);font-size:var(--fs-figure);font-variant-numeric:tabular-nums;font-weight:600}.dg-msg.is-mark .dg-badge circle{fill:var(--line-hl);stroke:var(--streak)}.dg-msg.is-pick .dg-badge circle{stroke:var(--accent)}.dg-msg.is-mark .dg-line,.dg-msg.is-pick .dg-line{stroke:var(--text)}.dg-msg.is-mark .dg-head-arrow.solid,.dg-msg.is-pick .dg-head-arrow.solid{fill:var(--text);stroke:var(--text)}.dg-msg.is-mark .dg-head-arrow.open,.dg-msg.is-pick .dg-head-arrow.open{stroke:var(--text)}.dg-note path{fill:var(--surface);stroke:var(--border-strong);stroke-width:1px}.dg-note path.fold{fill:none}.dg-note text{fill:var(--text-secondary);font-size:var(--fs-figure)}.dg-foot{opacity:.9}.dg-svg [role=button].dg-node:hover .dg-box{stroke:var(--text-muted)}.dg-node.is-mark .dg-box,.dg-svg [role=button].dg-node.is-mark:hover .dg-box{fill:var(--line-hl);stroke:var(--streak);stroke-width:2px}.dg-pickring{fill:none;stroke:none;pointer-events:none}.is-pick>.dg-pickring{stroke:var(--accent);stroke-width:2px}.dg-node:focus-visible .dg-box{stroke:var(--accent);stroke-width:2.5px}.dg-edge.s-async .dg-line{stroke-dasharray:6 4;stroke-linecap:butt}.dg-edge.s-data .dg-line,.dg-legend .s-data .dg-line{stroke-dasharray:.5 4.5;stroke-width:2.25px}.dg-legend .s-async .dg-line{stroke-dasharray:6 4;stroke-linecap:butt}.dg-legend text{fill:var(--text-muted);font-size:var(--fs-figure)}.dg-svg [role=button].dg-edge:hover .dg-line{stroke:var(--text)}.dg-svg [role=button].dg-edge:hover .dg-head-arrow{fill:var(--text);stroke:var(--text)}.dg-edge.is-mark .dg-line,.dg-svg [role=button].dg-edge.is-mark:hover .dg-line{stroke:var(--streak);stroke-width:2.25px}.dg-edge.is-mark .dg-head-arrow,.dg-svg [role=button].dg-edge.is-mark:hover .dg-head-arrow{fill:var(--streak);stroke:var(--streak)}.dg-edge.is-mark .dg-pill{fill:var(--line-hl);stroke:var(--streak)}.dg-edge.is-mark .dg-elabel{fill:var(--text)}.dg-edge.is-pick:not(.is-mark) .dg-line,.dg-svg [role=button].dg-edge.is-pick:not(.is-mark):hover .dg-line{stroke:var(--accent);stroke-width:2.25px}.dg-edge.is-pick:not(.is-mark) .dg-head-arrow,.dg-svg [role=button].dg-edge.is-pick:not(.is-mark):hover .dg-head-arrow{fill:var(--accent);stroke:var(--accent)}.dg-edge.is-pick.is-mark .dg-edge-hit{stroke:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dg-edge.is-pick.is-mark .dg-edge-hit{stroke:color-mix(in srgb, var(--accent) 40%, transparent)}}.dg-edge.is-pick.is-mark .dg-edge-hit{stroke-width:7px;stroke-linecap:round}.dg-edge.is-pick .dg-pill{stroke:var(--accent);stroke-width:1.5px}.dg-edge.is-pick .dg-elabel{fill:var(--text)}.dg-edge:focus-visible .dg-pill{stroke:var(--accent);stroke-width:2px}.dg-edge:focus-visible .dg-line{stroke:var(--accent)}.dg-group-box{fill:var(--text)}@supports (color:color-mix(in lab, red, red)){.dg-group-box{fill:color-mix(in srgb, var(--text) 3%, transparent)}}.dg-group-box{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:5 4;pointer-events:none}.dg-group-hit{fill:none;stroke:#0000;stroke-width:12px}.dg-group-tab{fill:#0000}.dg-group-label{fill:var(--text-muted);font-size:var(--fs-figure);font-weight:600}.dg-group.is-mark .dg-group-box{fill:var(--line-hl)}@supports (color:color-mix(in lab, red, red)){.dg-group.is-mark .dg-group-box{fill:color-mix(in srgb, var(--line-hl) 55%, transparent)}}.dg-group.is-mark .dg-group-box{stroke:var(--streak);stroke-width:2px;stroke-dasharray:none}.dg-group.is-mark .dg-group-label,.dg-group.is-pick .dg-group-label{fill:var(--text)}.dg-group.is-pick .dg-group-box{stroke:var(--accent);stroke-width:2px;stroke-dasharray:none}.dg-group:focus-visible .dg-group-box{stroke:var(--accent);stroke-width:2px}.dg-init{fill:var(--text-secondary)}.dg-init-edge .dg-line{stroke:var(--text-muted)}.dg-init-edge .dg-head-arrow.solid{fill:var(--text-muted);stroke:var(--text-muted)}.dg-ring{fill:none;stroke:var(--border-strong);stroke-width:1px;pointer-events:none}.dg-node.final .dg-box{stroke:var(--text-muted)}.dg-node.final.is-mark .dg-ring{stroke:var(--streak)}.dg-card-box{fill:var(--surface);stroke:var(--border-strong);stroke-width:1px}.dg-thead-bg{fill:var(--text)}@supports (color:color-mix(in lab, red, red)){.dg-thead-bg{fill:color-mix(in srgb, var(--text) 5%, var(--surface))}}.dg-tname{fill:var(--text);font-size:var(--fs-small);font-weight:600}.dg-trows{fill:var(--text-muted);font-size:var(--fs-figure);font-variant-numeric:tabular-nums}.dg-divider{stroke:var(--border);stroke-width:1px}.dg-cname{fill:var(--text);font-family:var(--font-code);font-size:var(--fs-caption);font-variant-ligatures:none}.dg-cname.pk{font-weight:600}.dg-ctype{fill:var(--text-muted);font-family:var(--font-code);font-size:var(--fs-figure);font-variant-ligatures:none}.dg-null{fill:var(--text-muted);font-style:italic}.dg-tag rect{fill:var(--surface-code);stroke:var(--border-strong);stroke-width:1px}.dg-tag text{fill:var(--text-secondary);font-size:var(--fs-figure);letter-spacing:.03em;font-weight:600}.dg-tag.t-pk rect{fill:var(--accent-subtle);stroke:none}.dg-tag.t-pk text{fill:var(--accent)}.dg-itext{fill:var(--text-secondary);font-family:var(--font-code);font-size:var(--fs-figure);font-variant-ligatures:none}.dg-svg [role=button].dg-thead:hover .dg-thead-bg{fill:var(--text)}@supports (color:color-mix(in lab, red, red)){.dg-svg [role=button].dg-thead:hover .dg-thead-bg{fill:color-mix(in srgb, var(--text) 9%, var(--surface))}}.dg-card.is-mark .dg-card-box{stroke:var(--streak);stroke-width:2px}.dg-card.is-mark .dg-thead-bg,.dg-svg [role=button].dg-thead.is-mark:hover .dg-thead-bg{fill:var(--line-hl)}.dg-thead:focus-visible .dg-thead-bg{stroke:var(--accent);stroke-width:2px}.dg-link .dg-line{stroke:var(--text-muted);stroke-width:1.25px}.dg-crow{fill:none;stroke:var(--text-muted);stroke-width:1.25px;stroke-linecap:round}.dg-link.is-mark .dg-line,.dg-link.is-mark .dg-crow{stroke:var(--streak);stroke-width:2px}.dg-link.is-pick:not(.is-mark) .dg-line,.dg-link.is-pick:not(.is-mark) .dg-crow{stroke:var(--accent);stroke-width:2px}.dg-frame.compact{padding:4px 0}@media (prefers-reduced-motion:reduce){.dg-svg .dg-box,.dg-svg .dg-band,.dg-svg .dg-bar,.dg-svg .dg-line,.dg-svg .dg-pill,.dg-svg .dg-card-box,.dg-svg .dg-thead-bg,.dg-svg .dg-group-box{transition:none}}.rdiagram,.concept-diagram{min-width:0}.onb-step{animation:onb-in var(--dur-enter) var(--ease-in) both}@keyframes onb-in{0%{opacity:0;transform:translate(12px)}}.pdots i{transition:width var(--dur-enter) var(--ease-in), background-color var(--dur-enter) var(--ease-in)}.pdots i.on{border-radius:var(--r-pill);width:20px}.onb-cap{text-align:center;margin-top:-4px}.option-card.onb-opt{border-radius:var(--r-md);min-height:56px;transition:border-color var(--dur-hover) var(--ease-in), background-color var(--dur-hover) var(--ease-in), transform var(--dur-hover) var(--ease-in);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:12px 14px;display:flex;position:relative}.onb-opt input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.onb-opt:active{transform:scale(.99)}.onb-opt .t3{flex:auto;order:0;min-width:0}.onb-opt .desc{flex-basis:100%;order:2}.onb-opt .onb-ic{color:var(--accent);flex:none;order:-1}.onb-opt:not(.tile):after{content:"";border:1.5px solid var(--border-strong);width:20px;height:20px;transition:background-color var(--dur-hover) var(--ease-in), border-color var(--dur-hover) var(--ease-in);border-radius:50%;flex:none;order:1}.onb-opt:not(.tile):has(input:checked):after{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 4px var(--accent-subtle)}.onb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.onb-grid.years{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.option-card.tile{text-align:center;flex-flow:column;justify-content:center;gap:8px;min-height:84px;padding:12px 8px}.tile .t3{text-wrap:balance;flex:none}.onb-grid.years .option-card.tile{min-height:64px;padding:10px 4px}.onb-grid.years .tile .t3{font-size:var(--fs-small);line-height:var(--lh-small)}.tile .onb-ic{background:var(--accent-subtle);border-radius:50%;width:36px;height:36px;padding:9px}.lang-java{--lc:var(--syn-num)}.lang-python{--lc:var(--syn-fn)}.lang-go{--lc:var(--syn-str)}.lang-typescript{--lc:var(--syn-kw)}.lang-mono{border-radius:var(--r-md);width:40px;height:40px;font-family:var(--font-code);font-weight:700;font-size:var(--fs-body);color:var(--lc);background:var(--lc);place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.lang-mono{background:color-mix(in srgb, var(--lc) 14%, transparent)}}.lang-mono{border:1px solid var(--lc)}@supports (color:color-mix(in lab, red, red)){.lang-mono{border:1px solid color-mix(in srgb, var(--lc) 40%, transparent)}}.lang-mono{transition:background-color var(--dur-hover) var(--ease-in), color var(--dur-hover) var(--ease-in)}.lang-mono:before{content:attr(data-mono)}.tile:has(input:checked) .lang-mono{background:var(--lc);color:var(--bg)}.onb-time{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.onb-time .field{flex:0 200px}.onb-tz{border-radius:var(--r-pill);border:1px solid var(--border);align-items:center;gap:6px;min-height:44px;padding:0 12px;display:inline-flex}.lc-plan{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.lc-day{border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);animation:lc-in var(--dur-enter) var(--ease-in) both;align-content:start;justify-items:center;gap:8px;padding:12px 8px;display:grid;position:relative}@keyframes lc-in{0%{opacity:0;transform:translateY(6px)}}.lc-day+.lc-day:before{content:"";border-radius:var(--r-pill);background:var(--border-strong);width:12px;height:2px;position:absolute;top:50%;left:-11px}.lc-day.now{border-color:var(--accent);background:var(--accent-subtle)}.lc-day.done{border-style:dashed}.lc-d{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-secondary);align-items:center;gap:4px;font-weight:600;display:inline-flex}.lc-day.now .lc-d{color:var(--text)}.lc-day.done .lc-d svg{color:var(--success)}.lc-icons{flex-wrap:wrap;place-content:center;gap:4px;max-width:68px;min-height:30px;display:flex}.lc-ic{border:1.5px solid var(--border-strong);width:30px;height:30px;color:var(--text-secondary);background:var(--bg);border-radius:50%;place-items:center;display:grid}.lc-day.now .lc-ic{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.lc-day.now .lc-ic{border-color:color-mix(in srgb, var(--accent) 60%, transparent)}}.lc-day.now .lc-ic{color:var(--text)}.lc-ic.on{border-color:var(--success);color:var(--success)}.lc-n{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted)}.lc-plan.compact{gap:8px;max-width:440px}.lc-plan.compact .lc-day{border-radius:var(--r-md);gap:6px;padding:8px 6px}.lc-plan.compact .lc-day+.lc-day:before{width:10px;left:-9px}.lc-plan.compact .lc-icons{max-width:56px;min-height:24px}.lc-plan.compact .lc-ic{width:25px;height:25px}.page.today{gap:16px}.today-head{justify-content:space-between;align-items:flex-end;gap:12px;min-width:0;display:flex}.today-streak{flex:none;margin-bottom:2px}.today-main{justify-items:center;gap:4px;display:grid}.today-card{gap:12px;width:100%}.tc-label{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:4px 6px;display:inline-flex}.tc-done{color:var(--text-secondary);align-items:center;gap:4px;display:inline-flex}.tc-done svg{color:var(--accent)}.tc-title{margin-top:-4px}.tc-start{margin-top:4px}.rest-note{align-items:flex-start;gap:8px;display:flex}.rest-note svg{flex:none;margin-top:1px}.card.tomorrow{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 12px}.tomorrow svg{grid-row:span 2}@media (min-width:600px){.today-card{padding:20px}}.tc-short{min-height:44px;color:var(--text-secondary);font-size:var(--fs-small);line-height:var(--lh-small);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;transition:color var(--dur-hover) var(--ease-in);background:0 0;border:0;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.tc-short:hover{color:var(--text)}.tc-short:active{transform:translateY(1px)}.tc-short[aria-pressed=true]{color:var(--text);text-decoration:none}.tc-short[aria-pressed=true] svg{color:var(--accent)}.tc-short:disabled{cursor:progress}.partbar{gap:6px 3px;display:grid}.pb-track{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.pb-names{flex-wrap:wrap;grid-column:1/-1;gap:0 6px;display:flex}.pb-names li+li:before{content:"·";color:var(--text-muted);margin-right:6px;font-weight:400}.pb-track>span{border-radius:var(--r-pill);background:var(--border-strong);min-width:6px;height:6px;position:relative;overflow:hidden}.pb-track i{border-radius:var(--r-pill);background:var(--accent);transition:width var(--dur-fill) var(--ease-in);position:absolute;inset:0 auto 0 0}.pb-names{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted);margin:0;padding:0;list-style:none}.pb-names li{white-space:nowrap;min-width:0}.pb-names li.done{color:var(--text-secondary)}.pb-names li.now{color:var(--text);font-weight:500}@media (prefers-reduced-motion:reduce){.pb-track i{transition:none}}.sk-card .skeleton{background:var(--border);border-color:#0000}.skeleton.sk-line{border-radius:var(--r-sm)}.part-cap .pnode{background:var(--accent-subtle);width:24px;height:24px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.part-cap{font-size:var(--fs-small);line-height:var(--lh-small)}.part-done{animation:pd-in var(--dur-enter) var(--ease-in) both;align-items:center;gap:8px;display:inline-flex}.part-done svg{color:var(--accent);flex:none}@keyframes pd-in{0%{opacity:0;transform:translateY(4px)}}.res-strip{margin:0;padding:0;list-style:none;display:grid}.res-strip li{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.res-strip li:last-child{border-bottom:0}.res-part{color:var(--text-secondary);align-items:center;gap:8px;min-width:0;display:inline-flex}.res-ic{background:var(--accent-subtle);width:26px;height:26px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.res-marks{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.rdots{gap:5px;display:inline-flex}.rdots i{border:1.5px solid var(--border-strong);width:12px;height:12px;animation:dot-in var(--dur-enter) var(--ease-in) both;border-radius:50%}.rdots i:nth-child(2){animation-delay:60ms}.rdots i:nth-child(3){animation-delay:.12s}.rdots i:nth-child(4){animation-delay:.18s}.rdots i:nth-child(n+5){animation-delay:.24s}@keyframes dot-in{0%{opacity:0;transform:scale(.4)}}.rdots i.ok{background:var(--success);border-color:var(--success)}.rdots i.miss{border-color:var(--warning);background:var(--warning)}@supports (color:color-mix(in lab, red, red)){.rdots i.miss{background:color-mix(in srgb, var(--warning) 14%, transparent)}}.res-task{align-items:center;gap:8px;display:inline-flex}.spips{gap:3px;display:inline-flex}.spips i{opacity:.45;border:1px solid;border-radius:2px;width:8px;height:14px}.spips i.on{opacity:1;background:currentColor}.res-stats{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px;display:grid}.res-stat{border-radius:var(--r-md);background:var(--bg);border:1px solid var(--border);align-content:start;gap:2px;padding:10px 12px;display:grid}.res-bar{border-radius:var(--r-pill);background:var(--border);height:4px;margin-top:4px;overflow:hidden}.res-bar i{border-radius:var(--r-pill);background:var(--accent);height:100%;display:block}@supports (color:color-mix(in lab, red, red)){.res-bar i{background:color-mix(in srgb, var(--accent) 75%, transparent)}}.res-delta{font-size:var(--fs-small);line-height:var(--lh-small);align-items:center;gap:2px;font-weight:600;display:inline-flex}.res-cmp{align-items:center;gap:4px;display:inline-flex}.done-hero{place-items:center;display:grid;position:relative}.done-burst{pointer-events:none;position:absolute;inset:0}.done-burst i{width:0;height:0;position:absolute;top:50%;left:50%}.done-burst i:before{content:"";background:var(--accent);opacity:0;width:7px;height:7px;animation:burst 1s .28s var(--ease-in) both;border-radius:50%;margin:-3.5px;position:absolute}@keyframes burst{0%{opacity:0;transform:translateY(-80px)scale(.4)}30%{opacity:1}to{opacity:0;transform:translateY(-122px)scale(1)}}.ladder{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:2px;margin-top:2px;display:grid}.rung{border-radius:var(--r-sm);justify-items:center;gap:3px;padding:4px 0 2px;display:grid}.rung.cur{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.rung.cur{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.rung b{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted);border-top:1px solid var(--border-strong);text-align:center;width:100%;padding-top:2px;font-weight:500}.rung.cur b{color:var(--text)}.ldots{flex-wrap:wrap-reverse;justify-content:center;gap:2px;max-width:26px;min-height:7px;display:flex}.ldots i,.ladder-key i{border-radius:50%;width:7px;height:7px;display:inline-block}.ldots i.m,.ladder-key i.m{background:var(--accent)}.ldots i.e,.ladder-key i.e{border:1.5px solid var(--text-muted);opacity:.7}.ladder-key{justify-self:end;align-items:center;gap:6px;display:inline-flex}.ladder-key i.e{margin-left:8px}.focus-line{min-height:28px;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);flex-wrap:wrap;justify-self:start;align-items:center;gap:4px 6px;display:inline-flex}.focus-line svg{color:var(--accent);flex:none}.focus-line[data-day=rotation]:not(.intro) svg{color:var(--text-secondary)}.focus-line .fl-text{min-width:0}.fl-change{font:inherit;color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);background:0 0;border:0;margin:-13px -8px;padding:13px 8px;font-weight:500}@supports (color:color-mix(in lab, red, red)){.fl-change{-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent)}}.fl-change{text-underline-offset:3px;cursor:pointer;border-radius:var(--r-sm)}.fl-change:hover{-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.focus-line.intro{border-radius:var(--r-pill);background:var(--accent-subtle);color:var(--text);animation:fl-in var(--dur-enter) var(--ease-in) both;padding:4px 14px 4px 10px}@keyframes fl-in{0%{opacity:0;transform:translateY(-3px)}}.st-topic{min-width:0;font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-secondary);align-items:flex-start;gap:8px;font-weight:500;display:flex}.st-topic .tp-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.tp-track{background:linear-gradient(to right, var(--border-strong) 0 3px, transparent 3px 6px) left center / 6px 2px repeat-x;flex:none;width:36px;height:8px;margin:4px 4px 0;position:relative}.tp-track i{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 2px var(--bg);border-radius:50%;margin:-4px 0 0 -4px;position:absolute;top:50%}.focus-list{gap:6px;display:grid}.focus-list>.cap{margin-bottom:2px}.focus-opt{border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);cursor:pointer;min-height:56px;transition:border-color var(--dur-hover) var(--ease-in), background-color var(--dur-hover) var(--ease-in);grid-template-columns:20px 18px minmax(0,1fr);align-items:center;gap:10px;padding:8px 12px;display:grid;position:relative}.focus-opt:hover{border-color:var(--border-strong)}.focus-opt>svg{color:var(--text-secondary)}.focus-opt input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.focus-opt:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.focus-opt.on{border-color:var(--accent);background:var(--accent-subtle)}.focus-opt.on>svg{color:var(--accent)}.focus-opt:has(input:disabled){cursor:not-allowed;opacity:.55}.focus-opt.want{border-style:dashed;border-color:var(--accent)}.fo-check{border-radius:var(--r-sm);border:1.5px solid var(--border-strong);width:20px;height:20px;color:var(--on-accent);transition:background-color var(--dur-hover) var(--ease-in), border-color var(--dur-hover) var(--ease-in);place-items:center;display:grid}.focus-opt.on .fo-check{background:var(--accent);border-color:var(--accent)}.fo-body{gap:2px;min-width:0;display:grid}.fo-name{font-size:var(--fs-body);line-height:var(--lh-title-3);font-weight:500}.fo-meta{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.tag.fo-sug,.tag.focus-tag{background:var(--accent-subtle);color:var(--accent)}.focus-opt.on .tag.fo-sug{background:var(--surface)}.focus-foot{z-index:1;background:var(--surface-raised);box-shadow:0 calc(24px + env(safe-area-inset-bottom,0px)) 0 0 var(--surface-raised);flex-wrap:wrap;gap:8px;padding-top:12px;display:flex;position:sticky;bottom:0}.focus-foot .btn.primary{min-width:140px}.trend{align-items:center;gap:2px;display:inline-flex}.focus-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.focus-chips li{border-radius:var(--r-pill);border:1px solid var(--border-strong);min-height:40px;font-size:var(--fs-small);line-height:var(--lh-small);align-items:center;gap:8px;padding:0 12px;display:inline-flex}.focus-chips li svg{color:var(--accent)}@media (prefers-reduced-motion:reduce){.focus-line.intro{animation:none}}.shell .tabbar{grid-template-columns:repeat(var(--tabs,4), minmax(0, 1fr))}.role-picker{gap:16px;display:grid}.role-search{display:block;position:relative}.role-search svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.role-search .input{min-height:44px;padding-left:36px}.role-family{gap:8px;display:grid}.role-family-h{text-transform:none;letter-spacing:0;margin:0}.role-list{gap:8px;display:grid}.role-opt .t3{flex-wrap:wrap;align-items:center;gap:4px 8px;display:inline-flex}.role-now{background:var(--accent-subtle);color:var(--text)}.stage-list{gap:8px;display:grid}@media (min-width:600px){.stage-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.stage-opt .desc{color:var(--text-muted)}.tool-kinds{gap:16px;display:grid}.tool-kind{gap:8px;min-width:0;display:grid}.tool-kind-h{text-transform:none;letter-spacing:0;margin:0}.chip.tool-chip{min-height:40px;padding:0 20px}.chip.tool-chip[aria-pressed=true]{padding:0 10px}.tool-levels{interpolate-size:allow-keywords;margin:-8px 0 0;padding:0;list-style:none;display:grid}.tool-levels li{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:8px;padding:8px 12px;display:flex}.tool-levels li:first-child{margin-top:12px}.tool-levels li.tool-enter{animation:tool-in var(--dur-enter) var(--ease-in) both;overflow:clip}@keyframes tool-in{0%{opacity:0;height:0;margin-top:0;padding-top:0;padding-bottom:0}}.tool-name{flex:120px;min-width:0;font-weight:500}.tool-hint{flex-basis:100%}.tool-level{max-width:100%}.tool-level button{min-height:40px;padding:0 12px}.onb-foot{padding:8px 0 calc(8px + env(safe-area-inset-bottom,0px));background:linear-gradient(to bottom, transparent, var(--bg) 16px);position:sticky;bottom:0}html:has(.onb-foot){scroll-padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}.onb-foot{pointer-events:none}.onb-foot>*{pointer-events:auto}.onb-page .tool-kinds{padding-bottom:8px}.profile-group{gap:12px;scroll-margin-top:72px;display:grid}.profile-group>h2{margin-top:8px}.profile-group .card[id]{scroll-margin-top:72px}.profile-index{display:none}@media (min-width:1024px){.profile-index{z-index:5;background:var(--bg);margin:-8px 0;padding:8px 0;display:block;position:sticky;top:0}.profile-index ul{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.profile-index a{border-radius:var(--r-md);min-height:40px;color:var(--text-secondary);font-size:var(--fs-small);line-height:var(--lh-small);transition:color var(--dur-hover) var(--ease-in), background-color var(--dur-hover) var(--ease-in);align-items:center;padding:0 12px;display:inline-flex}.profile-index a:hover{color:var(--text);background:var(--surface)}.profile-index a[aria-current=true]{color:var(--text);background:var(--accent-subtle);font-weight:500}.profile-index a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}}.card.fold-card{gap:0;padding:0}.fold-body{border-top:1px solid var(--border);gap:8px;padding:16px;display:grid}.fold-card .fold-row{min-height:56px}.role-now-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.role-now-row>.grid{flex:220px}.my-tools{margin:0;padding:0;list-style:none;display:grid}.my-tools li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:8px 0;display:flex}.my-tools li:last-child{border-bottom:0}.my-tool-name{flex:160px;min-width:0;display:grid}.my-tools .iconbtn{margin-right:-10px}.add-tools{justify-self:start;margin-left:-12px}.day-toggles{grid-template-columns:repeat(7,minmax(0,52px));gap:6px;display:grid}.day-chip{font-variant-numeric:tabular-nums;justify-content:center;min-height:44px;padding:0}.day-chip[aria-disabled=true]{cursor:not-allowed}@media (max-width:380px){.day-toggles{gap:4px}}.self-area{gap:4px;display:grid}.self-area h4{text-transform:none;letter-spacing:0;margin:8px 0 0}.self-list{margin:0;padding:0;list-style:none;display:grid}.self-list>li{border-bottom:1px solid var(--border);gap:8px;padding:6px 0;display:grid}.self-list>li:last-child{border-bottom:0}.self-row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.self-row .btn{margin-right:-12px}.self-editor{gap:8px;padding-bottom:8px;display:grid}.preview-list{margin:0;padding:0;list-style:none;display:grid}.preview-list li{border-bottom:1px solid var(--border);min-height:36px;font-size:var(--fs-body);line-height:var(--lh-title-3);justify-content:space-between;align-items:center;gap:12px;padding:4px 0;display:flex}.preview-list li:last-child{border-bottom:0}.preview-list li>span:first-child{min-width:0}.preview-list li>span:last-child{text-align:right;flex:none}.week-now{gap:12px}.week-now-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.week-now-head b{color:var(--text);font-weight:600}.week-row{grid-template-columns:repeat(7,minmax(0,40px));gap:4px;display:grid}.week-row .wd{justify-items:center;gap:6px;display:grid}.week-row .dot{border:1px solid var(--border-strong);border-radius:50%;width:14px;height:14px;display:block}.week-row .on .dot{background:var(--accent);border-color:var(--accent)}.week-row .today .dot{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent)}.week-row .later .dot{border-style:dashed}.week-row .dl{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted);font-weight:500}.week-row .today .dl{color:var(--text)}.history-tabs{justify-self:start}.history-tabs button{min-height:44px;padding:0 20px}.history-tabs button[aria-selected=true]{background:var(--accent-subtle);color:var(--text);font-weight:500}.profile-status{align-items:center;gap:6px;display:inline-flex}.profile-status .btn-spin{width:12px;height:12px}.profile-status svg{color:var(--success)}.meter.has-target{padding:4px 0}.meter i.tgt{position:relative}.meter i.tgt:after{content:"";border-radius:var(--r-pill);background:var(--text-secondary);height:2px;position:absolute;bottom:-6px;left:-1px;right:-1px}.skills-line{display:block}.inline-link{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);font-weight:500}@supports (color:color-mix(in lab, red, red)){.inline-link{-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent)}}.inline-link{text-underline-offset:3px;border-radius:var(--r-sm);margin:-13px -4px;padding:13px 4px}.inline-link:hover{-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.practise-next{gap:6px}.pn-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.pn-name{color:var(--text);text-underline-offset:3px;transition:text-decoration-color var(--dur-hover) var(--ease-in);-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.pn-name:hover{-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.pn-act{flex:none;justify-items:end;gap:4px;max-width:50%;display:grid}.practise-next .btn.secondary{background:var(--bg)}.practise-next .btn.secondary:hover{background:var(--surface-raised)}.levels-key{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);margin-top:-12px}.levels-key>summary{cursor:pointer;border-radius:var(--r-sm);width:fit-content;max-width:100%;padding:11px 0;list-style:none;display:block}.levels-key>summary::-webkit-details-marker{display:none}.lk-line{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.levels-key>summary:hover{color:var(--text)}.levels-key>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.levels-key>summary svg{vertical-align:-3px;color:var(--text-muted);transition:transform var(--dur-hover) var(--ease-in);margin-left:4px;display:inline-block}.levels-key[open]>summary svg{transform:rotate(180deg)}.lk-name{white-space:nowrap}.lk-list{animation:reveal var(--dur-enter) var(--ease-in) both;gap:4px;margin:4px 0 0;padding:0;display:grid}.lk-row{grid-template-columns:7.5em minmax(0,1fr);gap:12px;display:grid}.lk-row dt{color:var(--text);font-weight:500}.lk-row dd{margin:0}@media (max-width:380px){.lk-row{grid-template-columns:minmax(0,1fr);gap:0}}.area-card{gap:12px;container-type:inline-size}.area-list{margin:0;padding:0;list-style:none;display:grid}.area-list>li+li{border-top:1px solid var(--border)}.area-row{min-height:52px;color:inherit;grid-template-columns:18px minmax(0,1fr) auto 18px;grid-template-areas:"icon name level go";align-items:center;gap:4px 10px;padding:8px 0;display:grid}.area-list>li:first-child .area-row{min-height:44px;padding-top:0}.area-row:hover .ar-title{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.area-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.ar-icon{color:var(--text-secondary);grid-area:icon}.ar-title{font-size:var(--fs-body);line-height:var(--lh-title-3);overflow-wrap:anywhere;grid-area:name;min-width:0;font-weight:500}.ar-level{grid-area:level;justify-items:end;gap:2px;display:grid}.ar-meter{align-items:center;gap:8px;display:inline-flex}.ar-meter .lvl{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);white-space:nowrap}.ar-go{color:var(--text-muted);flex:none;grid-area:go}@container (max-width:330px){.area-row{grid-template-columns:18px minmax(0,1fr) 18px;grid-template-areas:"icon name go"".level go"}.ar-level{justify-items:start}}.area-next{gap:8px;display:grid}.area-chips{flex-wrap:wrap;gap:10px 6px;margin:0;padding:0;list-style:none;display:flex}.area-chip{border-radius:var(--r-pill);border:1px dashed var(--border-strong);min-height:30px;color:var(--text-secondary);font-size:var(--fs-small);line-height:var(--lh-small);transition:border-color var(--dur-hover) var(--ease-in), color var(--dur-hover) var(--ease-in);align-items:center;padding:0 12px;display:inline-flex;position:relative}.area-chip:before{content:"";position:absolute;inset:-5px 0}.area-chip:hover{color:var(--text);border-color:var(--text-muted)}.area-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card.other-areas{gap:0;padding:0}.other-h{font:inherit;margin:0}.fold-row{border-radius:var(--r-md);width:100%;min-height:64px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.fold-row:hover .t3{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.fold-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fold-chev{color:var(--text-muted);transition:transform var(--dur-hover) var(--ease-in);flex:none}.fold-row[aria-expanded=true] .fold-chev{transform:rotate(180deg)}.other-body{border-top:1px solid var(--border);gap:24px;padding:16px;display:grid}.other-group{gap:4px;display:grid}.other-layer{margin-top:12px;display:grid}.other-layer h4{margin:0}.area-lines{margin:4px 0 0;padding:0;list-style:none;display:grid}.area-lines>li+li{border-top:1px solid var(--border)}.area-line{min-height:44px;color:inherit;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.al-title{font-size:var(--fs-body);line-height:var(--lh-title-3);min-width:0}.area-line:hover .al-title{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.area-line:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.skills-foot{flex-wrap:wrap;justify-content:center;gap:0 24px;display:flex}.foot-link{min-height:44px;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;align-items:center;gap:6px;display:inline-flex}.foot-link:hover{color:var(--text)}.target-text,.self-text{white-space:nowrap}.card.concepts-card{gap:0;margin:0;padding:0 16px;list-style:none}.concepts-card>li+li{border-top:1px solid var(--border)}.concepts-card .concept-row{color:inherit;border-bottom:0}.concepts-card .cr-name{font-size:var(--fs-body);line-height:var(--lh-title-3);font-weight:500}.concepts-card .concept-row:hover .cr-name{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.concepts-card .concept-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.area-level{gap:10px}.area-facts{flex-wrap:wrap;gap:4px 16px;display:flex}.area-facts:empty{display:none}.area-focus{gap:6px;display:grid}.af-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.skill-rows{margin:0;padding:0;list-style:none;display:grid}.skill-rows>li{border-bottom:1px solid var(--border)}.skill-rows>li:last-child{border-bottom:0}.skill-row{min-height:56px;color:inherit;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.skill-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-md)}.sr-main{gap:4px;min-width:0;display:grid}.sr-name{font-size:var(--fs-body);line-height:var(--lh-title-3);font-weight:500}.skill-row:hover .sr-name{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.sr-meta{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.sr-next{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.skill-rest-h{margin:8px 0 0}.al-end{flex:none;align-items:center;gap:8px;display:inline-flex}.ladder5{gap:6px;margin:0;padding:0;list-style:none;display:grid}.l5{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);grid-template-columns:28px minmax(0,1fr);align-items:start;gap:12px;padding:10px 12px;display:grid}.l5-num{width:28px;height:28px;font-size:var(--fs-small);color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:50%;place-items:center;font-weight:600;display:grid}.l5-body{gap:2px;min-width:0;display:grid}.l5-head{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.l5.target{border-style:dashed;border-color:var(--border-strong)}.l5.earned{border-color:var(--accent);background:var(--accent-subtle)}.l5.earned .l5-num{border-color:var(--accent);color:var(--accent)}.l5-tag.t-earned{background:var(--accent-subtle);color:var(--accent);border:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.l5-tag.t-earned{border:1px solid color-mix(in srgb, var(--accent) 45%, transparent)}}.l5.earned .l5-tag.t-earned{background:var(--surface)}.l5-tag.t-target{border:1px dashed var(--border-strong);color:var(--text-secondary);background:0 0}.l5-tag.t-self{background:var(--surface-raised);color:var(--text)}.self-card{gap:10px}.skill-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.skill-actions:empty{display:none}.try-work p{color:var(--text)}.focus-kind{margin-top:6px}.start-line{color:var(--text-secondary);align-items:flex-start;gap:6px;display:flex}.start-line svg{color:var(--accent);flex:none;margin-top:3px}.start-line .sl-text{overflow-wrap:anywhere;min-width:0}.rest-note{gap:4px;display:grid}.rest-note .rn-head{align-items:center;gap:8px;display:flex}.rest-note .rn-head svg{color:var(--text-muted);flex:none}.checkin .ck-skill{gap:8px;min-width:0;display:grid}.checkin .ck-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.checkin .ck-opt{align-items:start;min-height:48px}.checkin .ck-opt .sm{overflow-wrap:anywhere}.checkin .ck-foot{gap:8px;display:grid}@media (min-width:600px){.checkin .ck-foot{grid-template-columns:1fr auto}.checkin .ck-foot .btn.ghost{min-width:120px}}.at-work{border-style:dashed;gap:8px}.at-work-h{align-items:center;gap:6px;margin:0;font-weight:500;display:flex}.at-work-h svg{color:var(--accent);flex:none}.at-work p{overflow-wrap:anywhere}.at-work-use{justify-self:start;margin-left:-12px}textarea.textarea.query-box{background:var(--surface-code);white-space:pre;overflow-wrap:normal;min-height:160px;overflow-x:auto}.runner-head{letter-spacing:.01em}.more-offer{gap:12px;min-width:0;display:grid}.more-offer.more-line{gap:0}.more-line-row{flex-wrap:wrap;align-items:center;display:flex}.more-line-h{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-secondary);margin:0 2px 0 0;font-weight:400}.more-line .text-btn.more-len{padding:0 4px}.more-sep{color:var(--text-muted)}.more-offer.more-link{text-align:center;justify-items:center;gap:0}.text-btn{border-radius:var(--r-md);cursor:pointer;min-height:44px;font-size:var(--fs-body);line-height:var(--lh-title-3);color:var(--text-secondary);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;transition:color var(--dur-hover) var(--ease-in);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.text-btn:hover{color:var(--text);text-decoration-color:currentColor}.text-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.text-btn:disabled{cursor:progress}.text-btn.pro-locked{color:var(--text-muted)}.sessions-today{gap:12px}.sess-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.sess-list .item-link{font-size:var(--fs-body);line-height:var(--lh-title-3);color:var(--text)}.sess-list .item-link[data-status=done]{color:var(--text-secondary)}.sess-status{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.site-foot{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;column-gap:20px;width:100%;padding-top:8px;display:flex}.legal-links ul{flex-wrap:wrap;column-gap:20px;margin:0;padding:0;list-style:none;display:flex}.site-foot .foot-link,.legal-links a{min-height:44px;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);align-items:center;display:inline-flex}.site-foot .foot-link:hover,.legal-links a:hover{color:var(--text);text-underline-offset:3px;text-decoration:underline}.legal{max-width:720px;padding:32px max(16px, env(safe-area-inset-left,0px)) 32px;align-content:start;gap:32px;min-height:100dvh;margin:0 auto;display:grid}.legal-home{justify-self:start}.legal-body{gap:28px;min-width:0;display:grid}.legal-body section{gap:10px;display:grid}.legal-body h3{font-size:var(--fs-body);line-height:var(--lh-title-3);margin:4px 0 0;font-weight:600}.legal-body p,.legal-body li{font-size:var(--fs-body);line-height:var(--lh-read);color:var(--text-secondary);overflow-wrap:anywhere;margin:0}.legal-body ul{gap:6px;margin:0;padding-left:20px;list-style:outside;display:grid}.legal-body li::marker{color:var(--text-muted)}.legal-body strong{color:var(--text);font-weight:600}.legal-body .legal-lead{font-size:var(--fs-body);line-height:var(--lh-read);color:var(--text-secondary)}.legal-body .card p,.legal-body .card li{font-size:var(--fs-body)}.legal-body .link{overflow-wrap:anywhere}@media (min-width:1024px){.legal{padding-top:48px}}.contact-form{gap:16px;display:grid}.contact-form .field-label .mut{font-weight:400}.input[readonly]{color:var(--text-secondary);background:var(--surface)}.msg-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.msg-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--fs-body);line-height:var(--lh-body);margin:0}.wordmark{white-space:nowrap;align-items:center;gap:.4em;display:inline-flex}.brandmark{flex:none;width:auto;height:.6em;display:block}.brandmark .on{fill:var(--accent)}.brandmark .off{fill:var(--border-strong)}.landing{max-width:1152px;min-height:100dvh;padding:16px max(16px, env(safe-area-inset-right,0px)) 32px max(16px, env(safe-area-inset-left,0px));grid-template-rows:auto 1fr auto;gap:24px;margin:0 auto;display:grid}.lp-top{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.lp-main{grid-template-columns:minmax(0,1fr);align-content:start;gap:20px;display:grid}.lp-head{gap:12px;display:grid}.lp-actions-wrap{gap:8px;display:grid}.lp-actions{flex-direction:column;gap:12px;display:flex}.lp-facts{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);text-align:center;margin:0}.lp-examples{gap:8px;min-width:0;display:grid}.lp-tabs{justify-self:start}.lp-tabs button{min-height:40px;padding:0 16px}.lp-tabs button[aria-selected=true]{background:var(--accent-subtle);color:var(--text);font-weight:500}.lp-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lp-panels{min-width:0;display:grid}.lp-panel{visibility:hidden;grid-area:1/1;min-width:0;display:grid}.lp-panel[data-active]{visibility:visible}.lp-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);min-width:0;box-shadow:var(--shadow-low);align-content:start;gap:12px;margin:0;padding:12px;display:grid}.lp-preview-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.lp-preview-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lp-preview-meta .tag{box-shadow:inset 0 0 0 1px var(--border)}.lp-score{white-space:nowrap;align-items:baseline;gap:6px;margin:0;display:flex}.lp-score-n{font-size:var(--fs-title-1);line-height:var(--lh-title-1);color:var(--accent);font-weight:600}.lp-preview .code-box{--gut-w:40px}.lp-preview .code{font-size:var(--fs-code);line-height:var(--lh-code)}.lp-kw{color:var(--syn-kw)}.lp-fn{color:var(--syn-fn)}.lp-pun{color:var(--syn-pun)}.lp-answer{border-left:2px solid var(--border-strong);font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text);margin:0;padding-left:10px}.lp-cite{font-family:var(--font-code);font-size:var(--fs-caption);color:var(--accent)}.lp-doc{background:var(--surface-code);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text);gap:2px;padding:10px 12px;display:grid}.lp-doc-in{padding-left:12px}.lp-doc-row{justify-content:space-between;gap:12px;display:flex}.lp-doc-note-row{grid-template-columns:8.5em minmax(0,1fr);column-gap:12px;display:grid}.lp-doc-label{white-space:nowrap}.lp-doc-note{color:var(--text-secondary)}@media (min-width:600px){.lp-actions{flex-flow:wrap}.lp-actions .btn{flex:auto}}@media (min-width:1024px){.landing{gap:32px;padding:24px 32px 32px}.lp-main{grid-template-rows:1fr auto auto auto 1fr;grid-template-columns:minmax(0,1fr) minmax(0,540px);align-self:start;gap:24px 64px;padding-top:48px}.lp-head{grid-area:2/1;gap:16px}.lp-actions-wrap{grid-area:3/1}.lp-facts{text-align:left;grid-area:4/1}.lp-main>.lp-examples{grid-area:1/2/-1;align-self:center}.lp-examples .lp-preview{gap:14px;padding:16px}}.role-family-h{z-index:2;background:var(--bg);margin-top:-8px;padding:8px 0;position:sticky;top:0}.onb-nudge{text-align:center;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);animation:onb-nudge-in var(--dur-enter) var(--ease-in) both;margin:0}@keyframes onb-nudge-in{0%{opacity:0;transform:translateY(4px)}}.onb-foot:has(.onb-nudge){padding-top:16px}.ctb-back{justify-self:start;align-items:center;gap:2px;min-height:40px;margin:-8px 0 -8px -4px;padding:0 4px;display:inline-flex}.ctb-fields{gap:16px;display:grid}.ctb-part{gap:12px}.ctb-part-head{align-items:center;gap:10px;display:flex}.ctb-part-head h2{margin:0}.ctb-n{border:1px solid var(--border-strong);width:24px;height:24px;font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-secondary);border-radius:50%;flex:none;place-items:center;display:inline-grid}.ctb-eg{overflow-wrap:anywhere;margin-top:-6px}.ctb-segs{flex-wrap:wrap;gap:12px 24px;display:flex}.ctb-segs .seg{justify-self:start}.ctb-piece{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);gap:10px;min-width:0;margin:0;padding:12px;display:grid}.ctb-piece-head{justify-content:space-between;align-items:center;gap:8px;min-height:40px;margin:-4px 0;display:flex}.ctb-piece-legend{color:var(--text-secondary);font-weight:600}.ctb-remove{margin-right:-8px}.ctb-piece-row{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}@media (min-width:600px){.ctb-piece-row{grid-template-columns:minmax(132px,1fr) minmax(0,2fr)}.ctb-piece-row:has(>:nth-child(3)){grid-template-columns:minmax(132px,1fr) minmax(0,2fr) minmax(132px,1fr)}}.ctb-add{justify-self:start}.ctb-points{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ctb-points li{grid-template-columns:20px minmax(0,1fr) 44px;align-items:start;gap:4px 8px;display:grid}.ctb-pn{color:var(--text-muted);font-size:var(--fs-small);line-height:var(--lh-small);padding-top:11px}.ctb-pad{width:44px}details.disclosure.ctb-best>summary{min-height:44px;color:var(--text-secondary);justify-content:flex-start;font-weight:500}.ctb-best[open]>summary{margin-bottom:4px}.ctb-count{white-space:nowrap;flex:none}.ctb-count.at,.ctb-need{color:var(--warning)}.ctb-findings{gap:4px;margin:0;padding:0;list-style:none;display:grid}.ctb-finding{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);align-items:flex-start;gap:6px;display:flex}.ctb-finding svg{flex:none;margin-top:1px}.ctb-finding.block{color:var(--text)}.ctb-finding.block svg{color:var(--warning)}.ctb-finding.warn svg{color:var(--text-muted)}.ctb-line{font-weight:600}.ctb-excerpt{white-space:nowrap}textarea.textarea[aria-invalid=true],.input[aria-invalid=true]{border-color:var(--warning)}.ctb-send{gap:10px}.ctb-check{cursor:pointer;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;display:grid}.ctb-check input{width:18px;height:18px;accent-color:var(--accent);margin:1px 0 0}.ctb-bar{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));z-index:20;background:var(--bg);gap:6px;margin:0 -16px;padding:10px 16px;display:grid;position:sticky}.ctb-bar:before{content:"";pointer-events:none;background:linear-gradient(to bottom, transparent, var(--bg));height:20px;position:absolute;bottom:100%;left:0;right:0}@media (min-width:1024px){.ctb-bar{margin:0;padding:12px 0 16px;bottom:0}}html:has(.ctb-bar){scroll-padding-bottom:calc(var(--bottom-bar-h,64px) + var(--tabbar-h) + 24px)}@media (min-width:1024px){html:has(.ctb-bar){scroll-padding-bottom:calc(var(--bottom-bar-h,64px) + 24px)}}.ctb-bar-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.ctb-bar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.ctb-bar-msg{color:var(--text-secondary)}.ctb-bar .save-slot{white-space:nowrap;width:64px;font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted);transition:opacity var(--dur-enter) var(--ease-in);flex:none;align-items:center;gap:4px;display:inline-flex}.ctb-preview{border:1px dashed var(--border-strong);border-radius:var(--r-md);gap:16px;min-width:0;padding:16px;display:grid}.ctb-preview h2,.ctb-preview h3{margin:0}.ctb-preview-q{border-top:1px solid var(--border);gap:4px;padding-top:12px;display:grid}.ctb-points-view ol,.ctb-ol{gap:4px;padding-left:20px;list-style:decimal;display:grid}.ctb-status{gap:10px}.ctb-status h2:focus{outline:none}.ctb-next{color:var(--text-secondary);gap:4px;margin:0;padding-left:20px;list-style:outside;display:grid}.ctb-list{margin:0 -8px;padding:0;list-style:none;display:grid}.ctb-row{border-top:1px solid var(--border);border-radius:var(--r-sm);min-height:56px;color:inherit;justify-content:space-between;align-items:center;gap:12px;padding:10px 8px;text-decoration:none;display:flex}.ctb-list li:first-child .ctb-row{border-top:0}.ctb-row:hover{background:var(--surface-raised)}.ctb-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ctb-row-title{overflow-wrap:anywhere;font-weight:500}.ctb-row-note{overflow-wrap:anywhere}.ctb-chev{color:var(--text-muted);flex:none}.ctb-status-word.s-accepted{color:var(--success)}.ctb-status-word.s-changes_requested{color:var(--warning)}.credits{gap:8px;display:grid}.credits .divider{margin:4px 0}.seg button:disabled{color:var(--text-muted);cursor:not-allowed}.fb-contrib{text-align:center;color:var(--text-muted)}.fb-contrib-link{color:var(--text-secondary);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.fb-contrib-link:hover{color:var(--text);text-decoration-color:currentColor}.ctb-part.admin{border-bottom:1px solid var(--border);gap:10px;padding-bottom:16px;display:grid}.ctb-part.admin:last-child{border-bottom:0}.ctb-admin-h{color:var(--text-secondary);font-weight:600}.ctb-ids{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:10px;display:grid}.ctb-decide{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ctb-decide>.btn:first-child{grid-column:1/-1}.adm-dups{gap:6px;margin:0;padding:0;list-style:none;display:grid}.adm-events{gap:8px;margin:0;padding:0;list-style:none;display:grid}.adm-events li{border-left:2px solid var(--border-strong);gap:0;padding-left:12px;display:grid}:root{--bg:#0e1014;--surface:#161920;--surface-raised:#1d212a;--surface-code:#12151b;--border:#2a2f3a;--border-strong:#3a4150;--text:#e8eaed;--text-secondary:#a3a9b5;--text-muted:#7d8490;--accent:#3dd6b5;--accent-strong:#2bb89a;--accent-subtle:#15302c;--on-accent:#06231d;--streak:#f2b45a;--success:#4ade80;--warning:#f5b84b;--danger:#f87171;--diff-add:#12301f;--diff-remove:#3a1618;--line-hl:#233047;--shadow-low:none;--shadow-high:none;--scrim:#0000007a;--syn-plain:#e8eaed;--syn-kw:#9aa8ff;--syn-fn:#6cc7f0;--syn-ty:#e6a6d3;--syn-str:#8bd5a0;--syn-num:#f2b45a;--syn-com:#7d8490;--syn-pun:#a3a9b5;--ease-in:cubic-bezier(.2, 0, 0, 1);--font-ui:var(--font-inter), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-code:var(--font-jetbrains), ui-monospace, Menlo, Consolas, monospace;--tabbar-h:64px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f1eee7;--surface:#f8f6f1;--surface-raised:#fbfaf6;--surface-code:#ece8df;--border:#dfdacf;--border-strong:#c4beb0;--text:#25231e;--text-secondary:#4f4b43;--text-muted:#6a655b;--accent:#0b6f5e;--accent-strong:#085c4e;--accent-subtle:#dcebe4;--on-accent:#f8f6f1;--streak:#85530c;--success:#2e7339;--warning:#93520b;--danger:#a3322a;--diff-add:#dfebd5;--diff-remove:#f5e3dc;--line-hl:#eee5cb;--shadow-low:0 1px 2px #3c30180f;--shadow-high:0 8px 24px #3c30181a;--scrim:#1e1a1252;--syn-plain:#25231e;--syn-kw:#5a45a8;--syn-fn:#1c6280;--syn-ty:#8a3566;--syn-str:#3d6b22;--syn-num:#8e520a;--syn-com:#655e51;--syn-pun:#57524a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#f1eee7;--surface:#f8f6f1;--surface-raised:#fbfaf6;--surface-code:#ece8df;--border:#dfdacf;--border-strong:#c4beb0;--text:#25231e;--text-secondary:#4f4b43;--text-muted:#6a655b;--accent:#0b6f5e;--accent-strong:#085c4e;--accent-subtle:#dcebe4;--on-accent:#f8f6f1;--streak:#85530c;--success:#2e7339;--warning:#93520b;--danger:#a3322a;--diff-add:#dfebd5;--diff-remove:#f5e3dc;--line-hl:#eee5cb;--shadow-low:0 1px 2px #3c30180f;--shadow-high:0 8px 24px #3c30181a;--scrim:#1e1a1252;--syn-plain:#25231e;--syn-kw:#5a45a8;--syn-fn:#1c6280;--syn-ty:#8a3566;--syn-str:#3d6b22;--syn-num:#8e520a;--syn-com:#655e51;--syn-pun:#57524a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.code[data-ct=hc]{--surface-code:#000;--line-hl:#24365a;--diff-add:#0f3a22;--diff-remove:#4a1518;--syn-plain:#fff;--syn-kw:#b4beff;--syn-fn:#8fdcff;--syn-ty:#ffb8e6;--syn-str:#a6f0b8;--syn-num:#ffd28a;--syn-com:#b4bac4;--syn-pun:#d0d4db}.code[data-ct=glare]{--surface-code:#f4ecd8;--line-hl:#e6dab9;--diff-add:#e2ebc9;--diff-remove:#f2d9c9;--syn-plain:#3b3428;--syn-kw:#6b4fa0;--syn-fn:#1f6a85;--syn-ty:#8e3b6e;--syn-str:#4d7a2a;--syn-num:#8f5400;--syn-com:#776d59;--syn-pun:#5e5646}:root{--fs-caption:12px;--lh-caption:16px;--fs-small:13px;--lh-small:18px;--fs-body:15px;--lh-body:22px;--lh-title-3:20px;--lh-read:24px;--fs-title-2:18px;--lh-title-2:24px;--fs-title-1:22px;--lh-title-1:28px;--fs-display:28px;--lh-display:34px;--fs-code:13px;--lh-code:20px;--fs-figure:11px;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-pill:999px;--dur-hover:.12s;--dur-enter:.2s;--dur-sheet:.32s;--dur-fill:.4s}@media (min-width:1024px){:root{--fs-code:14px;--lh-code:22px}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[tabindex="-1"]:focus:not(:focus-visible),:is(h1,h2,h3,h4)[tabindex="-1"]:focus{outline:none}.num{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.link{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.display{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:-.01em;margin:0;font-weight:600}.t1{font-size:var(--fs-title-1);line-height:var(--lh-title-1);margin:0;font-weight:600}.t2{font-size:var(--fs-title-2);line-height:var(--lh-title-2);text-wrap:balance;margin:0;font-weight:600}.t3{font-size:var(--fs-body);line-height:var(--lh-title-3);margin:0;font-weight:600}.body{font-size:var(--fs-body);line-height:var(--lh-body)}.sm{font-size:var(--fs-small);line-height:var(--lh-small)}.cap{font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:500}.sec{color:var(--text-secondary)}.mut{color:var(--text-muted)}.prose-p p{margin:0 0 8px}.prose-p p:last-child{margin-bottom:0}.wordmark{font-size:var(--fs-title-1);line-height:var(--lh-title-1);letter-spacing:-.01em;text-transform:lowercase;font-weight:600}.wordmark b{color:var(--accent);font-weight:600}.wordmark.wm-sm{font-size:var(--fs-title-2);line-height:var(--lh-title-2)}.wordmark.wm-lg{font-size:var(--fs-display);line-height:var(--lh-display)}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.stack{align-content:start;gap:16px;display:grid}.stack-sm{align-content:start;gap:8px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-low);gap:8px;padding:16px;display:grid}.card.tint{background:var(--accent-subtle);box-shadow:none;border-color:#0000}.card.raised{background:var(--surface-raised);border-color:var(--border-strong);box-shadow:var(--shadow-high)}.card-link{transition:border-color var(--dur-hover) var(--ease-in)}.card-link:hover{border-color:var(--border-strong)}.streak{border-radius:var(--r-pill);border:1px solid var(--border);font-size:var(--fs-small);line-height:var(--lh-small);font-variant-numeric:tabular-nums;align-items:center;gap:4px;padding:4px 10px;font-weight:600;display:inline-flex}.streak svg{color:var(--streak)}.btn{border-radius:var(--r-md);min-height:48px;font-size:var(--fs-body);font-weight:600;line-height:var(--lh-title-3);text-align:center;transition:background-color var(--dur-hover) var(--ease-in), transform var(--dur-hover) var(--ease-in), border-color var(--dur-hover) var(--ease-in);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;display:inline-flex}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.secondary{border-color:var(--border-strong);color:var(--text);background:0 0}.btn.ghost{color:var(--text-secondary);background:0 0;min-height:44px;padding:0 12px}.btn.danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn.s40{min-height:40px;font-size:var(--fs-small)}.btn.block{width:100%}@media (hover:hover){.btn.primary:hover{background:var(--accent-strong)}.btn.secondary:hover{background:var(--surface-raised)}.btn.ghost:hover{color:var(--text)}.btn.danger:hover{background:var(--surface-raised)}}.btn:active:not(:disabled,[aria-disabled=true]),.btn[data-phase=pressed]{transition-duration:0s;transform:translateY(1px)}.btn.primary:active:not(:disabled,[aria-disabled=true]),.btn.primary[data-phase=pressed]{background:var(--accent-strong)}.btn.secondary:active:not(:disabled,[aria-disabled=true]),.btn.secondary[data-phase=pressed]{background:var(--surface-raised);border-color:var(--text-muted)}.btn.ghost:active:not(:disabled,[aria-disabled=true]),.btn.ghost[data-phase=pressed]{color:var(--text)}.btn.danger:active:not(:disabled,[aria-disabled=true]),.btn.danger[data-phase=pressed]{background:var(--surface-raised)}.btn:is(:disabled,[aria-disabled=true]),.btn:is(:disabled,[aria-disabled=true]):is(:hover,:active){background:var(--surface);border-color:var(--border);color:var(--text-muted);cursor:not-allowed;transform:none}.btn.ghost:is(:disabled,[aria-disabled=true]){background:0 0;border-color:#0000}.btn.busy,.btn.busy:is(:disabled,[aria-disabled=true]){background:var(--surface);color:var(--text-secondary);border-color:var(--border-strong);cursor:progress}.bb.busy{cursor:progress}.btn-spin{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}.bb-in{place-items:center;min-width:0;display:inline-grid}.bb-in>.bb-now,.bb-in:before,.bb-in:after{grid-area:1/1}.bb-now{justify-content:center;align-items:center;gap:8px;min-width:0;display:inline-flex}.bb-in[data-verb]:before,.bb-in[data-past]:after{visibility:hidden;white-space:nowrap;padding-left:24px}.bb-in[data-verb]:before{content:attr(data-verb) / ""}.bb-in[data-past]:after{content:attr(data-past) / ""}.bb:not(.primary)[data-phase=done] .bb-now>svg{color:var(--accent)}.why-note{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);animation:reveal var(--dur-enter) var(--ease-in) both;flex-basis:100%;order:1;grid-column:1/-1;margin:0}.iconbtn{border-radius:var(--r-md);width:44px;height:44px;color:var(--text-secondary);background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.iconbtn:hover{color:var(--text);background:var(--surface)}.chip{border-radius:var(--r-pill);border:1px solid var(--border-strong);min-height:40px;font-size:var(--fs-small);line-height:var(--lh-small);background:0 0;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.chip[aria-pressed=true],.chip[aria-checked=true]{background:var(--accent-subtle);border-color:var(--accent)}.chip:hover{border-color:var(--text-muted)}.tag{border-radius:var(--r-sm);background:var(--surface-raised);min-height:22px;color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);align-items:center;gap:4px;padding:0 8px;font-weight:500;display:inline-flex}.light-border-tag{border:1px solid var(--border)}.seg{border:1px solid var(--border-strong);border-radius:var(--r-md);display:inline-flex;overflow:hidden}.seg button{min-height:40px;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);background:0 0;border:0;padding:0 14px}.seg button[aria-checked=true],.seg button[aria-pressed=true]{background:var(--accent-subtle);color:var(--text);font-weight:500}.seg button+button{border-left:1px solid var(--border-strong)}.input,.select,textarea.textarea{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r-sm);width:100%;font-size:var(--fs-body);line-height:var(--lh-body);min-height:44px;padding:10px 12px}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-secondary) 50%), linear-gradient(135deg, var(--text-secondary) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}textarea.textarea{border-radius:var(--r-sm);resize:vertical;min-height:120px}.input:focus,.select:focus,textarea.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);outline:none}.field{gap:6px;display:grid}.field-label{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);font-weight:500}.hint{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted);justify-content:space-between;gap:12px;display:flex}.kbd{font-family:var(--font-code);font-size:var(--fs-caption);border:1px solid var(--border-strong);border-radius:var(--r-sm);border-bottom-width:2px;padding:0 5px}.keys{gap:16px;display:grid}.keys-group{gap:8px;display:grid}.keys-group h3{margin:0}.keys dl{grid-template-columns:168px minmax(0,1fr);align-items:baseline;gap:8px 16px;margin:0;display:grid}.keys dt{white-space:nowrap;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary)}.keys dd{margin:0}.meter{flex:none;align-items:center;gap:3px;display:inline-flex}.meter i{border:1px solid var(--border-strong);border-radius:2px;width:12px;height:10px;display:block}.meter i.on{background:var(--accent);border-color:var(--accent)}.meter i.on.med{opacity:.5}.meter i.low{border:1px dashed var(--accent);background:0 0}.meter.lg{gap:3px}.meter.lg i{width:20px;height:14px}.meter i.fill{animation:meter-fill var(--dur-fill) var(--ease-in) both}@keyframes meter-fill{0%{border-color:var(--border-strong);background:0 0}}.lvl{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.skillrow{border-bottom:1px solid var(--border);text-align:left;background:0 0;border-top:0;border-left:0;border-right:0;grid-template-columns:20px 1fr auto;align-items:center;gap:4px 12px;width:100%;min-height:44px;padding:12px 0;display:grid}.skillrow:last-child{border-bottom:0}.skillrow>svg{color:var(--text-secondary)}.skillrow .name{font-size:var(--fs-body);line-height:var(--lh-title-3);font-weight:500}.skillrow .sub{flex-wrap:wrap;grid-column:2/4;align-items:center;gap:8px;display:flex}.trend{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--success);font-weight:500}.trend.down{color:var(--warning)}.shell{min-height:100dvh}.sidebar{display:none}.tabbar{z-index:30;border-top:1px solid var(--border);padding:6px 8px calc(8px + env(safe-area-inset-bottom,0px));background:var(--bg);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab{min-height:48px;color:var(--text-muted);font-size:var(--fs-caption);line-height:var(--lh-caption);background:0 0;border:0;justify-items:center;gap:2px;padding:6px 0;font-weight:500;display:grid}.tab[aria-current=page]{color:var(--text)}.tab[aria-current=page] svg{color:var(--accent)}.main{padding:16px max(16px, env(safe-area-inset-left,0px)) calc(var(--tabbar-h) + 32px) max(16px, env(safe-area-inset-right,0px));width:100%;max-width:720px;margin:0 auto}.main.no-tabbar{padding-bottom:32px}.main.narrow{max-width:672px}.page{grid-template-columns:minmax(0,1fr);align-content:start;gap:20px;display:grid}.page>*{min-width:0}.page-head{gap:4px;display:grid}@media (min-width:600px){.main{padding-top:24px}}@media (min-width:1024px){.shell{grid-template-columns:240px 1fr;display:grid}.sidebar{border-right:1px solid var(--border);flex-direction:column;gap:4px;height:100dvh;padding:24px 16px;display:flex;position:sticky;top:0}.sidebar .wordmark{font-size:var(--fs-title-2);line-height:var(--lh-title-2);padding:0 8px 20px}.nav{border-radius:var(--r-md);min-height:40px;color:var(--text-secondary);font-size:var(--fs-body);align-items:center;gap:10px;padding:0 8px;display:flex}.nav:hover{color:var(--text);background:var(--surface)}.nav[aria-current=page]{background:var(--accent-subtle);color:var(--text);font-weight:500}.nav[aria-current=page] svg{color:var(--accent)}.nav-sep{background:var(--border);height:1px;margin:12px 8px}.sidebar .foot{font-size:var(--fs-small);color:var(--text-secondary);align-items:center;gap:6px;margin-top:auto;padding:0 8px;display:flex}.sidebar .foot svg{color:var(--streak)}.tabbar{display:none}.main{max-width:784px;margin:0 auto;padding:32px}.main.narrow{max-width:704px}.main.wide{max-width:1200px}}.answer-pane{align-content:start;gap:12px;display:grid}.answer-pane textarea.textarea{min-height:200px}.option-card{border:1px solid var(--border-strong);border-radius:var(--r-md);text-align:left;cursor:pointer;background:0 0;grid-template-columns:20px 1fr;gap:4px 12px;padding:12px 14px;display:grid}.option-card:hover{border-color:var(--text-muted)}.option-card:has(input:checked){border-color:var(--accent);background:var(--accent-subtle)}.option-card:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.option-card input{accent-color:var(--accent);width:16px;height:16px;margin:3px 0 0}.option-card .desc{grid-column:2}.qc{border:0;gap:8px;margin:0;padding:0;display:grid}.qc legend{font-size:var(--fs-body);line-height:var(--lh-body);margin-bottom:8px;padding:0;font-weight:500}.qc legend.onb-legend{margin-bottom:4px}.qc-choice{border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-body);line-height:var(--lh-body);grid-template-columns:20px 1fr;gap:12px;padding:10px 12px;display:grid}.qc-choice:has(input:checked){border-color:var(--accent);background:var(--accent-subtle)}.qc-choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.qc-choice input{accent-color:var(--accent);width:16px;height:16px;margin:2px 0 0}.sheet{z-index:40;background:var(--surface-raised);border-top:1px solid var(--border-strong);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--shadow-high);max-height:86dvh;padding-bottom:env(safe-area-inset-bottom,0px);transition:max-height var(--dur-sheet) var(--ease-in);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}.sheet-head{text-align:left;background:0 0;border:0;gap:8px;width:100%;padding:8px 16px 12px;display:grid}.sheet-head:before{content:"";border-radius:var(--r-pill);background:var(--border-strong);justify-self:center;width:40px;height:4px}.sheet-body{gap:12px;padding:0 16px 16px;display:grid;overflow-y:auto}.sheet.collapsed .sheet-body{display:none}.sheet-q{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sheet.open .sheet-q{-webkit-line-clamp:unset;max-height:30dvh;display:block;overflow-y:auto}.scrim{background:var(--scrim);z-index:35;position:fixed;inset:0}@media (min-width:1024px){.sheet,.scrim.sheet-scrim{display:none}}.score{align-items:baseline;gap:6px;display:flex}.score .big{font-size:var(--fs-display);line-height:var(--lh-display);font-variant-numeric:tabular-nums;font-weight:600}.tone-success{color:var(--success)}.tone-accent{color:var(--accent)}.tone-warning{color:var(--warning)}.tone-muted{color:var(--text-muted)}.rubric{gap:10px;margin:0;padding:0;list-style:none;display:grid}.rubric li{font-size:var(--fs-small);line-height:var(--lh-small);grid-template-columns:20px 1fr auto;align-items:start;gap:8px;display:grid}.rubric li.reveal{animation:reveal var(--dur-enter) var(--ease-in) both}@keyframes reveal{0%{opacity:0;transform:translateY(4px)}}.rubric .ok{color:var(--success)}.rubric .part{color:var(--accent)}.rubric .miss{color:var(--warning)}.fb{gap:4px;display:grid}.fb p{margin:0}.ic{font-family:var(--font-code);font-size:var(--fs-small);background:var(--surface-code);border-radius:var(--r-sm);padding:1px 5px}.divider{background:var(--border);border:0;width:100%;height:1px;margin:0}details.disclosure>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;min-height:44px;font-weight:600;list-style:none;display:flex}details.disclosure>summary::-webkit-details-marker{display:none}details.disclosure[open]>summary svg{transform:rotate(180deg)}details.disclosure>summary svg{transition:transform var(--dur-hover) var(--ease-in)}.pre-wrap{white-space:pre-wrap}.banner{border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface);font-size:var(--fs-small);line-height:var(--lh-small);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.banner svg{flex:none;margin-top:1px}.banner.warn svg{color:var(--warning)}.banner.info svg{color:var(--accent)}.offline-banner{z-index:45;border-width:0 0 1px;border-radius:0;justify-content:center;position:sticky;top:0}.toast{left:50%;bottom:calc(var(--tabbar-h) + 24px + env(safe-area-inset-bottom,0px));background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-high);z-index:60;width:max-content;max-width:min(420px,100vw - 32px);animation:toast-in var(--dur-enter) var(--ease-in) both;align-items:center;gap:12px;padding:12px 16px;display:flex;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,16px)}}@media (min-width:1024px){.toast{bottom:32px;left:calc(50% + 120px)}}.dots{gap:4px;display:inline-flex}.dots i{background:var(--accent);width:6px;height:6px;animation:pulse .9s infinite var(--ease-in);border-radius:50%}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes pulse{50%{opacity:.5}}.pdots{gap:6px;display:flex}.pdots i{background:var(--border-strong);border-radius:50%;width:8px;height:8px}.pdots i.on{background:var(--accent)}.pdots i.done{background:var(--text-muted)}.modal-wrap{z-index:70;place-items:end center;display:grid;position:fixed;inset:0}.modal-wrap .scrim{z-index:0;position:absolute}.modal{z-index:1;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-width:480px;padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-high);gap:16px;max-height:90dvh;display:grid;position:relative;overflow-y:auto}@media (min-width:600px){.modal-wrap{align-items:center}.modal{border-radius:var(--r-lg);padding:24px}}.table{border-collapse:collapse;width:100%;font-size:var(--fs-small);line-height:var(--lh-small)}.table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border-strong);white-space:nowrap;padding:8px;font-weight:500}.table td{border-bottom:1px solid var(--border);vertical-align:top;padding:10px 8px}.table-wrap{overflow-x:auto}.list{display:grid}.list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px 0;display:flex}.list-row:last-child{border-bottom:0}.skeleton{background:var(--surface);border-radius:var(--r-md);border:1px solid var(--border);animation:pulse 1.4s infinite var(--ease-in)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
