/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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-leading:initial;--tw-font-weight: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{--font-sans:-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-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--leading-snug:1.375;--radius-sm:.25rem;--radius-md:.375rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-3{top:calc(var(--spacing) * 3)}.top-20{top:calc(var(--spacing) * 20)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.z-30{z-index:30}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-20{height:calc(var(--spacing) * 20)}.h-full{height:100%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-14{width:calc(var(--spacing) * 14)}.w-full{width:100%}.shrink{flex-shrink:1}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-crosshair{cursor:crosshair}.cursor-move{cursor:move}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.place-items-center{place-items:center}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[\#d6b656\]{border-color:#d6b656}.border-\[\#e5e7eb\]{border-color:#e5e7eb}.border-transparent{border-color:#0000}.bg-\[\#4f46e5\]{background-color:#4f46e5}.bg-\[\#4058ff\]{background-color:#4058ff}.bg-\[\#e5e9ff\]{background-color:#e5e9ff}.bg-\[\#f8f8f7\]{background-color:#f8f8f7}.bg-\[\#fff3b0\]\/90{background-color:oklab(95.809% -.0136973 .084579/.9)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[\#1f2328\]{color:#1f2328}.text-\[\#6b7280\]{color:#6b7280}.text-\[\#3451ff\]{color:#3451ff}.text-\[\#20242a\]{color:#20242a}.text-\[\#27356f\]{color:#27356f}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.italic{font-style:italic}.underline{text-decoration-line:underline}.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)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px 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)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px 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)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.ring-\[\#4058ff\]{--tw-ring-color:#4058ff}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.invert{--tw-invert:invert(100%);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,)}.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))}.outline-none{--tw-outline-style:none;outline-style:none}.\[writing-mode\:vertical-rl\]{writing-mode:vertical-rl}@media (hover:hover){.hover\:bg-\[\#f2f4f8\]:hover{background-color:#f2f4f8}.hover\:bg-\[\#f4f6fb\]:hover{background-color:#f4f6fb}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-35:disabled{opacity:.35}.\[\&\>svg\]\:h-5>svg{height:calc(var(--spacing) * 5)}.\[\&\>svg\]\:w-5>svg{width:calc(var(--spacing) * 5)}}:root{--accent-rgb:77, 221, 130;--green:#4ddd82;--green-deep:#1f7a3f;--surface-0:#0b0f0c;--surface-1:#101512;--surface-2:#151b17;--surface-3:#1b231e;--surface-1-rgb:16, 21, 18;--surface-2-rgb:21, 27, 23;--ink-deep:#06210f;--ink-deeper:#060e07;--txt:#e8f2eb;--txt-rgb:232, 242, 235;--txt-muted:#8fa697;--txt-dim:#6b8074;--color-primary:var(--green);--color-primary-dark:var(--green-deep);--color-accent-blue:#2563eb;--color-bg:#121212;--color-bg-panel:#161c18;--color-border-soft:rgba(var(--accent-rgb), .2);--color-text:#fff;--color-text-muted:#a9b4ad;--font-display:"Montserrat", sans-serif;--font-body:"IBM Plex Sans", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100vh}button{font-family:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@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-leading{syntax:"*";inherits:false}@property --tw-font-weight{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}.app-root{min-height:100vh}.app-loading{background-color:var(--color-bg);place-items:center;min-height:100vh;display:grid}.app-loading-inner{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;display:flex}.app-spinner{border:3px solid var(--color-border-soft);border-top-color:var(--color-primary);border-radius:50%;width:34px;height:34px;animation:.9s linear infinite app-spin}@keyframes app-spin{to{transform:rotate(360deg)}}.app-loading-text{color:var(--color-text-muted);margin:0;font-size:.95rem}.app-loading-retry,.app-fatal-btn{border:1px solid var(--color-border-soft);color:var(--color-primary);cursor:pointer;background:0 0;border-radius:.6rem;padding:.6rem 1.1rem;font-size:.9rem;font-weight:600}.app-loading-retry:hover,.app-fatal-btn:hover{background:rgba(var(--accent-rgb), .1)}.app-fatal{background-color:var(--color-bg);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.app-fatal-card{border:1px solid var(--color-border-soft);background:var(--color-bg-panel);border-radius:1rem;max-width:34rem;padding:2rem}.app-fatal-card h1{font-family:var(--font-display);margin:0 0 .5rem;font-size:1.35rem}.app-fatal-card p{color:var(--color-text-muted);margin:0 0 1rem;line-height:1.5}.app-fatal-detail{color:var(--color-text-muted);white-space:pre-wrap;background:#00000059;border-radius:.5rem;margin:0 0 1.25rem;padding:.75rem;font-size:.8rem;overflow-x:auto}.stage-overlay{z-index:60;pointer-events:none;animation:.5s both stage-fade-out;position:fixed;inset:0;overflow:hidden}@keyframes stage-fade-out{0%{opacity:1}to{opacity:0}}.auth-backdrop{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0e0bb8;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0;overflow-y:auto}.auth-dialog{border:1px solid var(--color-border-soft);background:var(--color-bg-panel);border-radius:1rem;width:100%;max-width:25rem;padding:2rem 1.75rem 1.5rem;animation:.2s auth-rise;position:relative;box-shadow:0 24px 60px #00000080}@keyframes auth-rise{0%{transform:translateY(8px)}}.auth-close{width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:.75rem;right:.75rem}.auth-close:hover{color:var(--color-text);background:#ffffff0f}.auth-title{font-family:var(--font-display);margin:0 0 .35rem;font-size:1.4rem;line-height:1.2}.auth-blurb{color:var(--color-text-muted);margin:0 0 1.25rem;font-size:.88rem;line-height:1.5}.auth-google{color:#1f1f1f;cursor:pointer;background:#fff;border:none;border-radius:.6rem;justify-content:center;align-items:center;gap:.6rem;width:100%;padding:.7rem 1rem;font-family:inherit;font-size:.92rem;font-weight:600;display:flex}.auth-google:hover:not(:disabled),.auth-google:focus-visible:not(:disabled){background:#f1f3f4}.auth-google:disabled{opacity:.6;cursor:default}.auth-google svg{flex-shrink:0;width:18px;height:18px}.auth-or{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.75rem;margin:1.1rem 0;font-size:.75rem;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--color-border-soft);flex:1;height:1px}.auth-form{flex-direction:column;gap:.85rem;display:flex}.auth-field{flex-direction:column;gap:.35rem;display:flex}.auth-field span{color:var(--color-text-muted);font-size:.78rem;font-weight:600}.auth-field input{border:1px solid var(--color-border-soft);width:100%;color:var(--color-text);background:#1f2621;border-radius:.6rem;padding:.65rem .8rem;font-family:inherit;font-size:.92rem}.auth-field input::placeholder{color:var(--txt-dim)}.auth-field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .15);outline:none}.auth-error,.auth-notice{border-radius:.5rem;margin:0;padding:.6rem .7rem;font-size:.82rem;line-height:1.45}.auth-error{color:#ffb4b6;background:#f2555a1a;border:1px solid #f2555a59}.auth-notice{border:1px solid var(--color-border-soft);background:rgba(var(--accent-rgb), .08);color:#b8f0cd}.auth-submit{background:linear-gradient(135deg, var(--green-deep), #2563eb);color:#fff;cursor:pointer;border:none;border-radius:.6rem;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.15rem;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;font-weight:600;display:flex}.auth-submit:disabled{opacity:.65;cursor:default}.auth-spin{animation:.9s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-verify{text-align:center;flex-direction:column;gap:.75rem;display:flex}.auth-verify-mark{border:1px solid var(--color-border-soft);background:rgba(var(--accent-rgb), .1);width:54px;height:54px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;margin:.2rem auto .1rem;display:flex}.auth-verify-lead{color:var(--color-text);margin:0;font-size:.92rem;line-height:1.5}.auth-verify-lead strong{overflow-wrap:anywhere}.auth-verify-hint{color:var(--color-text-muted);margin:0;font-size:.82rem;line-height:1.5}.auth-verify .auth-error,.auth-verify .auth-notice{text-align:left}.auth-alt{border-top:1px solid var(--color-border-soft);color:var(--color-text-muted);text-align:center;flex-direction:column;gap:.5rem;margin-top:1.1rem;padding-top:1rem;font-size:.83rem;display:flex}.auth-alt button{color:var(--color-primary);font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.auth-alt button:hover{text-decoration:underline}.logo-button{--primary:var(--green);cursor:pointer;text-align:left;background:0 0;border:none;margin:0;padding:0;display:inline-block}.logo-button .parent-container{justify-content:left;gap:20px;width:100%;display:flex}.logo-button .child-box{color:var(--txt,#fff);width:150px;height:50px;padding:20px;font-family:Montserrat,sans-serif;font-weight:700}.logo-button #act{background:var(--primary);color:#121212;border-radius:6px;justify-content:center;align-items:center;width:80px;height:10px;font-size:2rem;font-weight:800;display:flex}.logo-button #fresh{width:80px;height:10px;color:var(--txt,#fff);border-radius:6px;justify-content:center;align-items:center;font-size:2rem;font-style:italic;font-weight:1000;display:flex}.logo-button.is-compact .parent-container{gap:0}.logo-button.is-compact .child-box{width:auto;padding:14px 6px}.logo-button.is-compact #act,.logo-button.is-compact #fresh{width:auto;min-width:0;font-size:1.32rem}.logo-button.is-compact #act{padding-inline:10px}.welcome-page{background-color:var(--color-bg);min-height:100vh;position:relative;overflow:hidden}.starter-scene{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.starter-scene.is-lazy{animation:.8s ease-out both scene-in}@keyframes scene-in{0%{opacity:0}to{opacity:1}}.welcome-content{z-index:1;flex-direction:column;min-height:100vh;padding:1.5rem clamp(1.5rem,5vw,4rem) 4rem;display:flex;position:relative}.top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.auth-buttons{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.btn{font-family:var(--font-body);color:#fff;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:.7rem 1.6rem;font-size:.95rem;font-weight:600;transition:transform .2s,box-shadow .2s}@media (width<=560px){.auth-buttons{gap:.5rem}.btn{padding:.55rem 1rem;font-size:.85rem}}.btn-signin{background:var(--color-primary-dark)}.btn-signup{background:linear-gradient(135deg, var(--green-deep), #2563eb)}.btn-guest{border-color:var(--color-border-soft);color:var(--color-text-muted);background:0 0}.btn-guest:hover,.btn-guest:focus-visible{border-color:var(--color-primary);color:#fff}.btn:hover,.btn:focus-visible{transform:scale(1.06);box-shadow:0 0 0 4px #2563eb40,0 10px 26px #2563eb61}.hero-area{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3rem;padding-top:2rem;display:flex}.hero-heading{max-width:18ch;font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(2.25rem,5.5vw,4rem);font-weight:800;line-height:1.08;animation:.7s ease-out both fade-up}.info-split{text-align:left;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);width:100%;max-width:900px;animation:.7s ease-out .15s both fade-up;display:grid}.info-copy{color:var(--color-text-muted);flex-direction:column;align-self:center;gap:.9rem;margin:0;font-size:1.05rem;line-height:1.6;display:flex}.info-copy p{margin:0}.info-note{opacity:.85;font-size:.95rem}.saves-panel{background:var(--color-bg-panel);border:1px solid var(--color-border-soft);border-radius:1rem;padding:1.75rem;box-shadow:0 20px 40px #00000059}.saves-title{margin:0 0 1rem;font-weight:700}.saves-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.saves-list li{color:var(--color-text-muted);align-items:flex-start;gap:.6rem;line-height:1.4;display:flex}.checkmark{color:var(--color-primary);flex-shrink:0;font-weight:700}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.info-split{grid-template-columns:1fr}.info-copy{text-align:center}}.user-menu{flex-shrink:0;position:relative}.user-menu-trigger{border:1px solid rgba(var(--accent-rgb), .3);background:linear-gradient(135deg, var(--green-deep), #2563eb);color:#fff;cursor:pointer;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;font-family:inherit;font-size:.72rem;font-weight:700;display:grid;overflow:hidden}.user-menu-trigger img{object-fit:cover;width:100%;height:100%}.user-menu-pop{z-index:50;border:1px solid rgba(var(--accent-rgb), .14);background:var(--surface-2);border-radius:.7rem;min-width:13.5rem;padding:.35rem;position:absolute;bottom:calc(100% + .5rem);right:0;box-shadow:0 18px 40px #00000080}.user-menu-head{border-bottom:1px solid rgba(var(--accent-rgb), .14);padding:.55rem .6rem}.user-menu-name{color:var(--txt);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.user-menu-mail{color:var(--txt-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.user-menu-item{width:100%;color:var(--txt-muted);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.45rem;align-items:center;gap:.55rem;margin-top:.3rem;padding:.55rem .6rem;font-family:inherit;font-size:.85rem;display:flex}.user-menu-item:hover{background:rgba(var(--accent-rgb), .1);color:var(--txt)}.fig-set{flex-direction:column;align-items:center;gap:1rem;margin:.9rem 0;display:flex}.fig{flex-direction:column;align-items:center;gap:.4rem;max-width:100%;margin:.9rem 0;display:flex}.fig-paper{background:#fff;border:1px solid #000;border-radius:2px;max-width:100%;padding:.55rem;overflow-x:auto}.fig-paper--table{padding:.75rem .9rem}.fig-svg{background:#fff;width:100%;max-width:520px;height:auto;display:block}.fig-cap{color:var(--txt-muted);text-align:center;font-size:.82rem}.fig-svg text{fill:#000;font-family:Times New Roman,Times,serif}.fig-tick{font-size:12px}.fig-axis-label{font-size:13px}.fig-label{font-size:14px}.fig-label.is-italic{font-style:italic}.fig-key-title{font-size:12.5px;font-weight:700}.fig-key-text{font-size:12px}.fig-table-cap{color:#000;text-align:center;margin-bottom:.45rem;font-family:Times New Roman,Times,serif;font-size:.95rem;font-weight:700}.fig-table{border-collapse:collapse;color:#000;background:#fff;font-family:Times New Roman,Times,serif;font-size:.88rem}.fig-table th,.fig-table td{text-align:center;vertical-align:middle;color:#000;border:1px solid #000;padding:.3rem .6rem}.fig-table thead th{font-weight:700}.fig-table tbody th{text-align:left;font-weight:400}.fig-table-note{color:#000;margin-top:.4rem;font-family:Times New Roman,Times,serif;font-size:.78rem}.lines-scroll{--lines-bg:var(--surface-2);overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;min-width:0;max-height:clamp(200px,62vh,700px);overflow:auto}.lines-scroll:focus-visible{outline:2px solid var(--green);outline-offset:2px}.lines-scroll::-webkit-scrollbar{width:10px;height:10px}.lines-scroll::-webkit-scrollbar-track{background:rgba(var(--txt-rgb), .06);border-radius:6px}.lines-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px}.lines-scroll::-webkit-scrollbar-thumb:hover{background:var(--green)}.lines-body{flex-direction:column;width:max-content;min-width:100%;display:flex}.lines-row{min-height:1.72em;margin:0;line-height:1.72;display:flex}.lines-n{z-index:1;background:var(--lines-bg);width:2.6rem;color:var(--txt-dim);font-variant-numeric:tabular-nums;text-align:right;-webkit-user-select:none;user-select:none;flex:none;padding-right:.7rem;font-size:.8rem;position:sticky;left:0}.lines-scroll.is-panned .lines-n{box-shadow:6px 0 8px -6px #0000008c}.lines-text{white-space:nowrap}.lines-note{border:1px dashed var(--border);background:rgba(var(--accent-rgb), .07);color:var(--txt-muted);border-radius:10px;align-items:flex-start;gap:.5rem;margin:0 0 .9rem;padding:.6rem .75rem;font-size:.8rem;line-height:1.5;display:flex}.lines-note svg{color:var(--green);flex-shrink:0;margin-top:.1rem}.lines-note-phone{display:none}@media (width<=900px){.lines-note-phone{display:inline}}.qt-p{margin:0 0 .65rem}.qt>:last-child{margin-bottom:0}.qt-figure{justify-content:center;display:flex}.qt-figure .fig{margin:.2rem 0 .7rem}.qt-list{flex-direction:column;gap:.25rem;margin:0 0 .7rem;padding-left:1.6rem;display:flex}.qt-display{border-left:3px solid var(--border);background:var(--surface-1);font-variant-numeric:tabular-nums;border-radius:0 8px 8px 0;flex-direction:column;gap:.2rem;margin:0 0 .7rem;padding:.6rem .9rem;display:flex}.qt-quote{border-left:3px solid var(--blue);background:#2563eb1a;border-radius:0 8px 8px 0;margin:0 0 .7rem;padding:.6rem .9rem;font-style:italic}.mi-switcher{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.mi-switcher label{color:var(--txt-muted);font-size:.86rem}.mi-switcher select{min-width:18rem;max-width:100%}.mi-queued h2{align-items:center;gap:.5rem;margin-top:0;display:flex}.mi-spin{color:var(--green);animation:1.4s linear infinite mi-spin}@keyframes mi-spin{to{transform:rotate(360deg)}}.mi-report h2{margin-top:0;font-size:1.22rem;line-height:1.35}.mi-summary{font-size:1rem;line-height:1.65}.mi-findings{gap:.75rem;margin:1rem 0;display:grid}.mi-finding{background:var(--surface-3);border:1px solid var(--border);border-radius:12px;padding:.85rem 1rem}.mi-finding strong{margin-bottom:.3rem;display:block}.mi-finding p{color:var(--txt-muted);margin:0;font-size:.9rem;line-height:1.6}.mi-evidence{border-top:1px dashed var(--border);color:var(--txt-dim);font-variant-numeric:tabular-nums;margin-top:.45rem;padding-top:.45rem;font-size:.82rem;display:block}.mi-steps{color:var(--txt-muted);margin:.5rem 0 0;padding-left:1.2rem;line-height:1.7}.mi-steps li{margin-bottom:.3rem}.mi-patterns{grid-template-columns:1fr;gap:.7rem;display:grid}@media (width>=780px){.mi-patterns{grid-template-columns:1fr 1fr}}.mi-pattern{background:var(--surface-3);border:1px solid var(--border);border-radius:12px;padding:.8rem .95rem}.mi-pattern-top{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.35rem;display:flex}.mi-pattern p{color:var(--txt-muted);margin:0;font-size:.87rem;line-height:1.55}.mi-pattern-eg{color:var(--txt-dim);margin-top:.45rem;font-size:.8rem;display:block}.mi-pacing{flex-direction:column;gap:.7rem;display:flex}.mi-pace{background:var(--surface-3);border:1px solid var(--border);border-radius:12px;padding:.75rem .9rem}.mi-pace-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.mi-pace-top span{color:var(--txt-muted);font-variant-numeric:tabular-nums;font-size:.85rem}.mi-pace-halves{color:var(--txt-dim);flex-wrap:wrap;gap:.9rem;margin-top:.4rem;font-size:.82rem;display:flex}.mi-pace .is-bad{color:var(--rose)}.mi-move{flex-direction:column;gap:.4rem;display:flex}.mi-move-row{background:var(--surface-3);border-radius:10px;align-items:center;gap:.6rem;padding:.5rem .75rem;font-size:.89rem;display:flex}.mi-move-row span{flex:1;min-width:0}.mi-move-row strong{font-variant-numeric:tabular-nums}.mi-move-row.is-up svg{color:var(--green)}.mi-move-row.is-down svg{color:var(--rose)}.mi-targeted h2{align-items:center;gap:.5rem;margin-top:0;display:flex}.mi-targeted-list{flex-wrap:wrap;gap:.4rem;margin:.75rem 0 1rem;display:flex}.mi-chip{background:var(--surface-3);border:1px solid var(--border);color:var(--txt-muted);text-transform:capitalize;border-radius:999px;padding:.3rem .6rem;font-size:.79rem}.mi-chip.is-bad{color:var(--rose);border-color:#f2555a66}.mi-set-count{color:var(--txt-muted);font-size:.86rem}.mi-history{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;padding:.85rem 1rem}.mi-history summary{cursor:pointer;justify-content:space-between;align-items:center;font-weight:600;list-style:none;display:flex}.mi-history summary::-webkit-details-marker{display:none}.mi-history-body{flex-direction:column;gap:.3rem;margin-top:.8rem;display:flex}.mi-history-row{text-align:left;background:var(--surface-3);width:100%;color:var(--txt);cursor:pointer;border:1px solid #0000;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.55rem .7rem;font-size:.88rem;display:flex}.mi-history-row.is-active{border-color:var(--border-strong)}.mi-history-meta{color:var(--txt-dim);font-size:.8rem}.viz{--viz-accent:var(--green,var(--green));--viz-accent-2:var(--blue,#2563eb);--viz-warn:var(--amber,#f59e0b);--viz-bad:var(--rose,#f2555a);--viz-line:var(--border,rgba(var(--accent-rgb), .14));--viz-line-strong:var(--border-strong,rgba(var(--accent-rgb), .3));--viz-ink:var(--txt,var(--txt));--viz-ink-muted:var(--txt-muted,var(--txt-muted));--viz-ink-dim:var(--txt-dim,var(--txt-dim));--viz-plate:var(--surface-3,var(--surface-3));border:1px solid var(--viz-line);background:linear-gradient(165deg, rgba(var(--accent-rgb), .05), var(--surface-2,var(--surface-2)) 58%);color:var(--viz-ink);border-radius:16px;padding:1.25rem}.viz-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:1rem;display:flex}.viz-title{font-family:var(--font-display,sans-serif);letter-spacing:-.01em;margin:0;font-size:1.02rem;font-weight:750}.viz-sub{max-width:66ch;color:var(--viz-ink-muted);margin:.3rem 0 0;font-size:.83rem;line-height:1.55}.viz-eyebrow{border:1px solid var(--viz-line);background:rgba(var(--accent-rgb), .1);color:var(--viz-accent);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.64rem;font-weight:800;display:inline-flex}.viz-body{gap:1rem;display:grid}.viz-split{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=820px){.viz-split{grid-template-columns:minmax(0,1.35fr) minmax(240px,1fr);align-items:start}.viz-split.is-even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.viz-grid-2{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;display:grid}.viz-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.viz-stack{gap:.75rem;display:grid}.viz-stage{border:1px solid var(--viz-line);background:#0000004d;border-radius:12px;padding:.5rem;position:relative;overflow:hidden}.viz-stage svg,.viz-stage canvas{touch-action:none;width:100%;height:auto;display:block}.viz-gridline{stroke:#ffffff12;stroke-width:1px}.viz-axis{stroke:#ffffff47;stroke-width:1.5px}.viz-axis-text{fill:var(--viz-ink-dim);font-size:10px;font-family:var(--font-body,sans-serif)}.viz-plot{stroke:var(--viz-accent);stroke-width:2.5px;fill:none;stroke-linecap:round;stroke-linejoin:round}.viz-plot-2{stroke:var(--viz-accent-2);stroke-width:2.5px;fill:none;stroke-linecap:round;stroke-linejoin:round}.viz-plot-ghost{stroke:#ffffff38;stroke-width:2px;stroke-dasharray:5 5;fill:none}.viz-handle{fill:var(--viz-accent);stroke:var(--ink-deep);stroke-width:2px;cursor:grab}.viz-handle:active{cursor:grabbing}.viz-handle.is-alt{fill:var(--viz-accent-2)}.viz-ctl{display:block}.viz-ctl-label{color:var(--viz-ink-muted);justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.3rem;font-size:.75rem;font-weight:600;display:flex}.viz-ctl-label b{color:var(--viz-accent);font-variant-numeric:tabular-nums;font-weight:700}.viz-range{width:100%;accent-color:var(--viz-accent);cursor:pointer}.viz-input,.viz-select{border:1px solid var(--viz-line);background:var(--viz-plate);width:100%;color:var(--viz-ink);border-radius:9px;outline:none;padding:.45rem .6rem;font-family:inherit;font-size:.92rem;font-weight:600;transition:border-color .16s,box-shadow .16s}.viz-input:focus-visible,.viz-select:focus-visible{border-color:var(--viz-line-strong);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .14)}.viz-select option{background:var(--surface-2,var(--surface-2));color:var(--viz-ink)}.viz-btn{border:1px solid var(--viz-line);background:var(--viz-plate);color:var(--viz-ink-muted);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:.4rem;padding:.42rem .8rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:color .16s,border-color .16s,background .16s;display:inline-flex}.viz-btn:hover:not(:disabled){color:var(--viz-ink);border-color:var(--viz-line-strong);background:rgba(var(--accent-rgb), .09)}.viz-btn.is-on{color:var(--ink-deep);background:var(--viz-accent);border-color:var(--viz-accent)}.viz-btn.is-primary{color:var(--ink-deep);background:linear-gradient(135deg, var(--viz-accent), #35c46c);border-color:#0000}.viz-btn:disabled{opacity:.4;cursor:not-allowed}.viz-seg{border:1px solid var(--viz-line);background:#00000047;border-radius:11px;gap:3px;padding:3px;display:inline-flex}.viz-seg .viz-btn{background:0 0;border-color:#0000}.viz-check{color:var(--viz-ink-muted);cursor:pointer;align-items:center;gap:.45rem;font-size:.8rem;font-weight:600;display:inline-flex}.viz-check input{width:15px;height:15px;accent-color:var(--viz-accent);cursor:pointer}.viz-readout{border:1px solid var(--viz-line);background:#0000004d;border-radius:12px;padding:.8rem .9rem}.viz-readout-row{justify-content:space-between;align-items:baseline;gap:.75rem;padding:.3rem 0;font-size:.85rem;display:flex}.viz-readout-row+.viz-readout-row{border-top:1px solid #ffffff0d}.viz-k{color:var(--viz-ink-dim);font-size:.78rem}.viz-v{color:var(--viz-accent);font-variant-numeric:tabular-nums;text-align:right;font-weight:750}.viz-v.is-neutral{color:var(--viz-ink)}.viz-v.is-warn{color:var(--viz-warn)}.viz-v.is-bad{color:var(--viz-bad)}.viz-big{font-family:var(--font-display,sans-serif);letter-spacing:-.02em;color:var(--viz-accent);font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:850;line-height:1.15}.viz-mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.viz-eq{border:1px solid var(--viz-line);color:var(--viz-ink);font-variant-numeric:tabular-nums;white-space:nowrap;background:#00000052;border-radius:9px;padding:.5rem .65rem;font-size:.92rem;line-height:1.5;overflow-x:auto}.viz-eq em{color:var(--viz-accent);font-style:normal;font-weight:700}.viz-steps{counter-reset:viz-step;gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.viz-steps li{color:var(--viz-ink-muted);align-items:flex-start;gap:.55rem;font-size:.84rem;line-height:1.5;display:flex}.viz-steps li:before{counter-increment:viz-step;content:counter(viz-step);border:1px solid var(--viz-line-strong);background:rgba(var(--accent-rgb), .1);width:19px;height:19px;color:var(--viz-accent);border-radius:50%;flex-shrink:0;place-items:center;margin-top:1px;font-size:.66rem;font-weight:800;display:grid}.viz-note{color:var(--viz-ink-dim);margin:0;font-size:.76rem;line-height:1.55}.viz-alert{border:1px solid var(--viz-warn);color:var(--viz-ink);background:#f59e0b1f;border-radius:10px;align-items:flex-start;gap:.5rem;padding:.6rem .7rem;font-size:.81rem;line-height:1.5;display:flex}.viz-alert.is-good{border-color:var(--viz-line-strong);background:rgba(var(--accent-rgb), .12)}.viz-alert.is-bad{border-color:var(--viz-bad);background:#f2555a1f}.viz-flash{animation:.62s viz-flash}@keyframes viz-flash{0%,to{box-shadow:0 0 #f59e0b00}35%{box-shadow:0 0 0 4px #f59e0b66}}.viz-legend{flex-wrap:wrap;gap:.4rem .9rem;display:flex}.viz-legend-item{color:var(--viz-ink-muted);align-items:center;gap:.4rem;font-size:.75rem;display:inline-flex}.viz-swatch{background:var(--viz-accent);border-radius:3px;flex-shrink:0;width:11px;height:11px}.viz-pill{border:1px solid var(--viz-line);color:var(--viz-ink-muted);letter-spacing:.03em;background:#0000004d;border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .5rem;font-size:.7rem;font-weight:700;display:inline-flex}.viz-pill.is-on{color:var(--viz-accent);border-color:var(--viz-line-strong);background:rgba(var(--accent-rgb), .12)}.viz-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.82rem}.viz-table th,.viz-table td{text-align:right;border-bottom:1px solid #ffffff0f;padding:.34rem .5rem}.viz-table th:first-child,.viz-table td:first-child{text-align:left}.viz-table th{color:var(--viz-ink-dim);letter-spacing:.05em;text-transform:uppercase;font-size:.7rem;font-weight:700}@media (prefers-reduced-motion:reduce){.viz-flash{animation:none}}.viz-exp-board{border:1px solid var(--viz-line);background:#0000004d;border-radius:12px;padding:1rem}.viz-exp-expr{color:var(--viz-ink);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;align-items:center;gap:.1rem;font-family:Cambria Math,Georgia,serif;font-size:1.7rem;font-weight:700;line-height:1.5;display:flex}.viz-exp-sup{vertical-align:super;color:var(--viz-accent);font-size:.58em;line-height:0}.viz-exp-op{color:var(--viz-ink-dim);margin:0 .4rem;font-size:.8em}.viz-exp-paren{color:var(--viz-ink-muted)}.viz-exp-radical{align-items:flex-start;display:inline-flex}.viz-exp-index{color:var(--viz-accent);align-self:flex-start;margin-right:-.24em;font-size:.52em}.viz-exp-sign{color:var(--viz-ink);font-size:1.05em}.viz-exp-radicand{border-top:1.5px solid;padding:0 .2em}.viz-exp-sub{color:var(--viz-ink-dim);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:800}.viz-exp-rule{border:none;border-top:1px solid var(--viz-line);margin:.35rem 0}@media (width<=620px){.viz-exp-expr{font-size:1.3rem}}.viz-fn-leg-h{stroke:var(--viz-warn);stroke-width:2px;stroke-dasharray:4 4;fill:none}.viz-fn-leg-v{stroke:var(--viz-accent);stroke-width:2px;stroke-dasharray:4 4;fill:none}.viz-fn-label{font-family:var(--font-body,sans-serif);paint-order:stroke;stroke:#000000bf;stroke-width:3px;stroke-linejoin:round;font-size:10.5px;font-weight:800}.viz-fn-label-h{fill:var(--viz-warn)}.viz-fn-label-v{fill:var(--viz-accent)}.viz-fn-ghost-dot{fill:#fff6}.viz-fn-ring{fill:none;stroke:rgba(var(--accent-rgb), .3);stroke-width:2px}.viz-fn-hit{cursor:grab}.viz-fn-hit:active{cursor:grabbing}.viz-fn-anchor{transition:cx .14s,cy .14s}.viz-fn-swatch-ghost{background:#ffffff59}.viz-fn-swatch-h{background:var(--viz-warn)}.viz-fn-swatch-live{background:var(--viz-accent)}.viz-fn-scroll{overflow-x:auto}.viz-fn-caption{caption-side:bottom;color:var(--viz-ink-dim);text-align:left;margin-top:.45rem;font-size:.72rem;line-height:1.5}@media (prefers-reduced-motion:reduce){.viz-fn-anchor{transition:none}}.viz-ineq-tick{stroke:#ffffff38;stroke-width:1px}.viz-ineq-ray{stroke:var(--viz-accent);stroke-width:6px;opacity:.9}.viz-ineq-arrow{fill:var(--viz-accent);opacity:.9}.viz-ineq-ray-bad{stroke:var(--viz-bad);stroke-width:4px;stroke-dasharray:7 6;opacity:.9}.viz-ineq-arrow-bad{fill:var(--viz-bad);opacity:.9}.viz-ineq-dot-open{fill:var(--surface-0);stroke:var(--viz-accent);stroke-width:3.5px;cursor:grab}.viz-ineq-dot-solid{fill:var(--viz-accent);stroke:var(--ink-deep);stroke-width:2px;cursor:grab}.viz-ineq-dot-open:active,.viz-ineq-dot-solid:active{cursor:grabbing}.viz-ineq-dot-ghost{fill:var(--surface-0);stroke:var(--viz-bad);stroke-width:3px}.viz-ineq-num{fill:var(--viz-ink-dim);text-anchor:middle;font-size:11px}.viz-ineq-val{fill:var(--viz-accent);text-anchor:middle;font-size:13px;font-weight:800}.viz-ineq-tag-bad{fill:var(--viz-bad);font-size:11px;font-weight:700}.viz-ineq-opbadge{border:1px solid var(--viz-line-strong);background:rgba(var(--accent-rgb), .12);min-width:2.1rem;color:var(--viz-accent);border-radius:9px;place-items:center;padding:.05rem .45rem;font-size:1.2rem;font-weight:850;line-height:1.35;display:inline-grid}.viz-ineq-opbadge.viz-ineq-spin{animation:.6s viz-ineq-flip}@keyframes viz-ineq-flip{0%{color:var(--viz-warn);border-color:var(--viz-warn);transform:scaleX(-1)}55%{color:var(--viz-warn);border-color:var(--viz-warn)}to{transform:scaleX(1)}}.viz-ineq-step-eq{color:var(--viz-ink);font-variant-numeric:tabular-nums;font-weight:700}.viz-ineq-step-note{color:var(--viz-ink-dim)}.viz-ineq-flag{border:1px solid var(--viz-warn);color:var(--viz-warn);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:#f59e0b29;border-radius:999px;margin-left:.35rem;padding:.02rem .4rem;font-size:.6rem;font-weight:800;display:inline-block}.viz-ineq-dash{stroke-dasharray:8 6}.viz-ineq-shade{fill:var(--viz-accent);opacity:.16}.viz-ineq-point{fill:var(--viz-accent-2);stroke:#dbe9ff;stroke-width:2px;cursor:grab}.viz-ineq-point-bad{fill:var(--viz-bad);stroke:#2a0d0f;stroke-width:2px;cursor:grab}.viz-ineq-point:active,.viz-ineq-point-bad:active{cursor:grabbing}.viz-ineq-ptlabel{fill:var(--viz-ink);text-anchor:middle;font-size:12px;font-weight:700}.viz-ineq-swatch-bad{background:var(--viz-bad)}.viz-ineq-swatch-open{border:2px solid var(--viz-accent);background:0 0;border-radius:50%}@media (prefers-reduced-motion:reduce){.viz-ineq-opbadge.viz-ineq-spin{animation:none}}.viz-lin{--viz-lin-rise:#6aa9ff;--viz-lin-run:var(--viz-warn)}.viz-lin .viz-lin-run-leg,.viz-lin .viz-lin-rise-leg{fill:none;stroke-width:2.5px;stroke-dasharray:5 4;stroke-linecap:round}.viz-lin .viz-lin-run-leg{stroke:var(--viz-lin-run)}.viz-lin .viz-lin-rise-leg{stroke:var(--viz-lin-rise)}.viz-lin .viz-lin-corner{fill:none;stroke:#ffffff6b;stroke-width:1.4px}.viz-lin .viz-lin-leg-text,.viz-lin .viz-lin-pt-text,.viz-lin .viz-lin-btext{font-family:var(--font-body,sans-serif);paint-order:stroke;stroke:#000000b8;stroke-width:3px;stroke-linejoin:round;font-weight:700}.viz-lin .viz-lin-leg-text{font-size:11px}.viz-lin .viz-lin-run-text{fill:var(--viz-lin-run)}.viz-lin .viz-lin-rise-text{fill:var(--viz-lin-rise)}.viz-lin .viz-lin-pt-text{fill:var(--viz-ink);font-size:11px}.viz-lin .viz-lin-btext{fill:var(--viz-accent);font-size:10px}.viz-lin .viz-lin-bdot{fill:none;stroke:var(--viz-accent);stroke-width:2px;stroke-dasharray:3 3}.viz-lin .viz-lin-handle{outline:none}.viz-lin .viz-lin-ring{fill:none;stroke:var(--viz-ink);stroke-width:2px;opacity:.8;pointer-events:none}.viz-lin .viz-lin-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .7rem;display:grid}.viz-lin .viz-lin-sw-run{background:var(--viz-lin-run)}.viz-lin .viz-lin-sw-rise{background:var(--viz-lin-rise)}.viz-lin .viz-lin-big-warn{color:var(--viz-warn)}.viz-lin .viz-lin-big-bad{color:var(--viz-bad)}.viz-ang-band{fill:#ffffff09}.viz-ang-para{fill:none;stroke:rgba(var(--txt-rgb), .6);stroke-width:2.4px;stroke-linecap:round}.viz-ang-trans{fill:none;stroke:rgba(var(--txt-rgb), .82);stroke-width:2.4px;stroke-linecap:round}.viz-ang-label{fill:var(--viz-ink-muted);font-size:12px;font-style:italic;font-weight:700}.viz-ang-tag{fill:var(--viz-ink-dim);letter-spacing:.1em;font-size:9px;font-weight:700}.viz-ang-k-a{fill:var(--green);stroke:var(--green)}.viz-ang-k-b{fill:#58b6ff;stroke:#58b6ff}.viz-ang-k-r{fill:#f6a723;stroke:#f6a723}.viz-ang-t-a{fill:var(--green)}.viz-ang-t-b{fill:#8ccdff}.viz-ang-t-r{fill:#f8bd4f}.viz-ang-s-a{stroke:var(--green)}.viz-ang-s-b{stroke:#58b6ff}.viz-ang-s-r{stroke:#f6a723}.viz-ang-wedge{fill-opacity:.26;stroke-width:1.4px;transition:fill-opacity .15s}.viz-ang-wedge.is-picked{fill-opacity:.6;stroke-width:2.4px}.viz-ang-pick{cursor:pointer}.viz-ang-pick:hover .viz-ang-wedge{fill-opacity:.48}.viz-ang-ring{fill:none;stroke-width:1.6px;stroke-dasharray:4 3}.viz-ang-hit{fill:#fff;fill-opacity:0;pointer-events:all}.viz-ang-id{fill:var(--viz-ink-muted);font-size:9px;font-weight:700}.viz-ang-deg{font-size:12.5px;font-weight:800}.viz-ang-grab{cursor:grab}.viz-ang-grab:active{cursor:grabbing}.viz-ang-knob{fill:var(--viz-accent);stroke:var(--ink-deep);stroke-width:2px}.viz-ang-halo{fill:rgba(var(--accent-rgb), .16)}.viz-ang-sw-b{background:#58b6ff}.viz-ang-sw-r{background:#f6a723}@media (prefers-reduced-motion:reduce){.viz-ang-wedge{transition:none}}.viz-pct-naive{stroke:var(--viz-bad);stroke-width:2px;stroke-dasharray:5 4;fill:none;stroke-linejoin:round;stroke-linecap:round}.viz-pct-dot{fill:var(--viz-accent)}.viz-pct-dot-naive{fill:var(--viz-bad)}.viz-pct-baseline{stroke:#ffffff57;stroke-width:1.4px;stroke-dasharray:3 4}.viz-pct-tag{fill:var(--viz-ink-muted);font-family:var(--font-body,sans-serif);font-size:10px;font-weight:700}.viz-pct-tag-good{fill:var(--viz-accent)}.viz-pct-tag-bad{fill:var(--viz-bad)}.viz-pct-swatch-bad{background:var(--viz-bad)}.viz-pct-swatch-line{background:#fff6}.viz-pct-vs{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:.6rem;display:grid}.viz-pct-card{border:1px solid var(--viz-line);background:#0000004d;border-radius:12px;padding:.65rem .75rem}.viz-pct-card.viz-pct-wrong{background:#f2555a17;border-color:#f2555a6b}.viz-pct-cap{color:var(--viz-ink-dim);letter-spacing:.07em;text-transform:uppercase;margin-bottom:.18rem;font-size:.66rem;font-weight:800;display:block}.viz-pct-num{font-family:var(--font-display,sans-serif);letter-spacing:-.02em;color:var(--viz-accent);font-variant-numeric:tabular-nums;font-size:1.32rem;font-weight:850;line-height:1.15}.viz-pct-num.viz-pct-bad{color:var(--viz-bad)}.viz-pct-sub{color:var(--viz-ink-muted);font-variant-numeric:tabular-nums;margin-top:.18rem;font-size:.72rem;display:block}.viz-pct-tablewrap{border:1px solid var(--viz-line);background:#0000004d;border-radius:12px;padding:.35rem .55rem .15rem;overflow-x:auto}.viz-pct-caption{caption-side:top;text-align:left;color:var(--viz-ink-dim);padding:.25rem .5rem .45rem;font-size:.72rem}.viz-pct-last td{color:var(--viz-ink);font-weight:750}.viz-pct-empty{color:var(--viz-ink-dim)}.viz-pct-bar{justify-content:space-between}.viz-pct-steps{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.viz-pct-step{border:1px solid var(--viz-line);background:#00000042;border-radius:11px;gap:.45rem;padding:.55rem .6rem;display:grid}.viz-pct-step-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.viz-pct-step-n{color:var(--viz-ink-dim);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:800}.viz-pct-fields{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:.45rem;display:grid}.viz-pct-mini{flex-wrap:wrap;gap:.3rem;display:flex}.viz-pct-iconbtn{border:1px solid var(--viz-line);background:var(--viz-plate);min-width:30px;color:var(--viz-ink-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.3rem .52rem;font-family:inherit;font-size:.73rem;font-weight:700;line-height:1.1;transition:color .16s,border-color .16s,background .16s;display:inline-flex}.viz-pct-iconbtn:hover:not(:disabled){color:var(--viz-ink);border-color:var(--viz-line-strong);background:rgba(var(--accent-rgb), .09)}.viz-pct-iconbtn:disabled{opacity:.35;cursor:not-allowed}.viz-pct-iconbtn.viz-pct-danger:hover:not(:disabled){color:var(--viz-bad);border-color:var(--viz-bad);background:#f2555a1f}@media (width<=400px){.viz-pct-fields{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.viz-pct-iconbtn{transition:none}}.viz-poly-outline{fill:none;stroke:var(--viz-ink);stroke-width:2.5px;stroke-linejoin:round}.viz-poly-piece{stroke-width:2px;stroke-linejoin:round;transition:fill .18s}.viz-poly-p1{fill:rgba(var(--accent-rgb), .24);stroke:var(--green)}.viz-poly-p2{fill:#60a5fa42;stroke:#60a5fa}.viz-poly-p3{fill:#f59e0b3d;stroke:#f59e0b}.viz-poly-box{fill:rgba(var(--accent-rgb), .1);stroke:var(--green);stroke-width:2px;stroke-dasharray:7 5}.viz-poly-hole{stroke:#f2555a;stroke-width:2px;stroke-linejoin:round}.viz-poly-slice{stroke:#ffffff57;stroke-width:2px;stroke-dasharray:5 5;stroke-linecap:round}.viz-poly-slice-on{stroke:#f59e0b;stroke-width:3.5px;stroke-linecap:round}.viz-poly-hit{stroke:#0000;stroke-width:18px;stroke-linecap:round;fill:none}.viz-poly-cut{cursor:pointer;outline:none}.viz-poly-cut:hover .viz-poly-hit,.viz-poly-cut:focus-visible .viz-poly-hit{stroke:rgba(var(--accent-rgb), .22)}.viz-poly-label{fill:var(--viz-ink);font-family:var(--font-display,sans-serif);text-anchor:middle;pointer-events:none;font-size:14px;font-weight:800}.viz-poly-value{fill:var(--viz-ink-muted);font-family:var(--font-body,sans-serif);text-anchor:middle;pointer-events:none;font-size:11px;font-weight:700}.viz-poly-hole-label{fill:#ffb0b3;font-family:var(--font-body,sans-serif);text-anchor:middle;pointer-events:none;font-size:12px;font-weight:800}.viz-poly-box-label{fill:var(--viz-accent);font-family:var(--font-body,sans-serif);pointer-events:none;font-size:11px;font-weight:800}.viz-poly-sw1{background:var(--green)}.viz-poly-sw2{background:#60a5fa}.viz-poly-sw3{background:#f59e0b}.viz-poly-sw-hole{background:repeating-linear-gradient(45deg,#f2555a 0 3px,#f2555a4d 3px 6px)}@media (prefers-reduced-motion:reduce){.viz-poly-piece{transition:none}}.viz-quad-grab{cursor:grab;touch-action:none}.viz-quad-grab:active{cursor:grabbing}.viz-quad-halo{fill:none;stroke:var(--viz-accent);stroke-width:1.5px;opacity:.35;pointer-events:none}.viz-quad-vlabel{fill:var(--viz-ink);font-family:var(--font-body,sans-serif);paint-order:stroke;stroke:#000c;stroke-width:3.5px;stroke-linejoin:round;pointer-events:none;font-size:11.5px;font-weight:800}.viz-quad-sym{stroke:var(--viz-warn);stroke-width:1.5px;stroke-dasharray:4 5;opacity:.75}.viz-quad-symlabel{fill:var(--viz-warn);font-family:var(--font-body,sans-serif);pointer-events:none;font-size:10px;font-weight:700}.viz-quad-root{fill:var(--viz-warn);stroke:var(--ink-deep);stroke-width:1.5px}.viz-quad-sw{border-radius:3px;flex-shrink:0;width:11px;height:11px}.viz-quad-sw-ghost{background:#ffffff47}.viz-quad-sw-warn{background:var(--viz-warn)}.viz-rate-lane{stroke:#ffffff29;stroke-width:3px;stroke-linecap:round}.viz-rate-car-1{fill:var(--viz-accent);rx:3}.viz-rate-car-2{fill:var(--viz-accent-2);rx:3}.viz-rate-arrow-1{fill:var(--viz-accent)}.viz-rate-arrow-2{fill:var(--viz-accent-2)}.viz-rate-badge-1,.viz-rate-tag-1{fill:var(--viz-accent);font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:800}.viz-rate-badge-2,.viz-rate-tag-2{fill:var(--viz-accent-2);font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:800}.viz-rate-tag-1,.viz-rate-tag-2{font-size:11px}.viz-rate-ghost{fill:none;stroke:#ffffff42;stroke-width:1.4px;stroke-dasharray:3 3}.viz-rate-bracket{stroke:var(--viz-warn);stroke-width:1.6px;stroke-dasharray:5 4}.viz-rate-bracket-text{fill:var(--viz-warn);font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:800}.viz-rate-meet{stroke:var(--viz-warn);stroke-width:1.8px}.viz-rate-meet-text{fill:var(--viz-warn);font-size:10.5px;font-weight:800}.viz-rate-drop{fill:#ffffff0f;background:#ffffff0a}.viz-rate-eqs{gap:.4rem;display:grid}.viz-rate-work{gap:.55rem}.viz-rate-seg{flex-wrap:wrap}.viz-rate-swatch-2{background:var(--viz-accent-2)}.viz-rate-on{font-variant-numeric:tabular-nums}.viz-rt{--viz-rt-hyp-ink:#7aa2f7}.viz-rt-face{fill:rgba(var(--accent-rgb), .08);transition:fill .2s}.viz-rt-face-hot{fill:rgba(var(--accent-rgb), .2)}.viz-rt-hyp{stroke:var(--viz-rt-hyp-ink);stroke-width:3px;stroke-linecap:round;fill:none}.viz-rt-swatch-hyp{background:var(--viz-rt-hyp-ink)}.viz-rt-side{fill:var(--viz-accent);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.viz-rt-side-hyp{fill:var(--viz-rt-hyp-ink)}.viz-rt-ang{fill:var(--viz-ink-muted);font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:700}.viz-rt-arc{stroke:var(--viz-ink-muted);stroke-width:1.4px;fill:none}.viz-rt-sq{stroke:var(--viz-ink-dim);stroke-width:1.4px;fill:none}.viz-rt-grab{cursor:grab}.viz-rt-grab:active{cursor:grabbing}.viz-rt-hit{fill:#0000}.viz-rt-pulse{pointer-events:none;opacity:0;box-shadow:inset 0 0 0 2px var(--viz-accent);border-radius:12px;animation:.75s viz-rt-glow;position:absolute;inset:0}@keyframes viz-rt-glow{0%{opacity:0}28%{opacity:1}to{opacity:0}}.viz-rt-exact{color:var(--viz-ink-muted);font-weight:600}@media (prefers-reduced-motion:reduce){.viz-rt-pulse{animation:none}.viz-rt-face{transition:none}}.viz-solve-beam{transform-origin:50%;transition:transform .32s cubic-bezier(.22,1,.36,1)}.viz-solve-tip{filter:drop-shadow(0 0 6px #f2555a73)}.viz-solve-bar{fill:rgba(var(--txt-rgb), .75);rx:2}.viz-solve-base{fill:rgba(var(--txt-rgb), .45);stroke:none}.viz-solve-pin{fill:var(--viz-accent);stroke:var(--ink-deep);stroke-width:1.5px}.viz-solve-rope{stroke:rgba(var(--txt-rgb), .4);stroke-width:1.4px}.viz-solve-dish{fill:rgba(var(--accent-rgb), .14);stroke:var(--viz-accent);stroke-width:1.8px;rx:4}.viz-solve-txt{fill:var(--viz-ink);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.viz-solve-pal{flex-wrap:wrap;gap:.4rem;display:flex}.viz-solve-key{font-variant-numeric:tabular-nums;min-width:3.1rem}.viz-solve-goal{color:var(--viz-ink-muted);margin:0;font-size:.82rem;line-height:1.5}.viz-solve-goal strong{color:var(--viz-accent)}.viz-solve-preview{border:1px solid var(--viz-line);color:var(--viz-ink);background:#00000052;border-radius:7px;padding:.15rem .45rem;font-size:.85rem;display:inline-block}@media (prefers-reduced-motion:reduce){.viz-solve-beam{transition:none}}.viz-stat{--viz-stat-blue:#7fb0ff}.viz-stat-band{fill:rgba(var(--accent-rgb), .07)}.viz-stat-bracket{fill:none;stroke:var(--viz-ink-muted);stroke-width:1.5px;stroke-linecap:round}.viz-stat-mean-line{stroke:var(--viz-warn);stroke-width:1.5px;stroke-dasharray:5 4}.viz-stat-median-line{stroke:var(--viz-stat-blue);stroke-width:1.5px}.viz-stat-median-ring{fill:none;stroke:var(--viz-stat-blue);stroke-width:2.5px}.viz-stat-label{font-family:var(--font-body,sans-serif);font-size:11px;font-weight:700}.viz-stat-label--mean{fill:var(--viz-warn)}.viz-stat-label--median{fill:var(--viz-stat-blue)}.viz-stat-label--range{fill:var(--viz-ink-muted)}.viz-stat-modetag{fill:var(--viz-accent);font-family:var(--font-body,sans-serif);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800}.viz-stat-dot{fill:var(--viz-plate);stroke:var(--viz-accent);stroke-width:2px;cursor:grab;transition:fill .14s,stroke .14s}.viz-stat-dot:active{cursor:grabbing}.viz-stat-dot--mode{fill:var(--viz-accent);stroke:var(--ink-deep)}.viz-stat-dot--sel{stroke:var(--viz-ink);stroke-width:3px}.viz-stat-rows{gap:.4rem;display:grid}.viz-stat-chips{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.viz-stat-lab{min-width:3.2rem;color:var(--viz-ink-dim);letter-spacing:.09em;text-transform:uppercase;font-size:.66rem;font-weight:800}.viz-stat-chip{border:1px solid var(--viz-line);min-width:2rem;color:var(--viz-ink-muted);font-variant-numeric:tabular-nums;background:#0000004d;border-radius:7px;justify-content:center;align-items:center;padding:.16rem .45rem;font-size:.78rem;font-weight:700;display:inline-flex}.viz-stat-chip--median{border-color:var(--viz-stat-blue);color:var(--viz-stat-blue);background:#7fb0ff24}.viz-stat-chip--trap{border-color:var(--viz-warn);color:var(--viz-warn);background:#f59e0b1a;border-style:dashed}.viz-stat .viz-stat-arrow{margin:0 0 0 3.4rem;font-size:.72rem}.viz-stat .viz-stat-warn{color:var(--viz-warn)}.viz-stat .viz-stat-sw--dot{border:2px solid var(--viz-accent);background:0 0;border-radius:50%}.viz-stat .viz-stat-sw--mode{background:var(--viz-accent);border-radius:50%}.viz-stat .viz-stat-sw--median{background:var(--viz-stat-blue)}.viz-stat .viz-stat-sw--mean{background:var(--viz-warn)}.viz-stat .viz-stat-sw--range{background:rgba(var(--accent-rgb), .22);border:1px solid var(--viz-ink-dim)}@media (width<=460px){.viz-stat .viz-stat-arrow{margin-left:0}}@media (prefers-reduced-motion:reduce){.viz-stat-dot{transition:none}}.viz-tri-shape-1{fill:rgba(var(--accent-rgb), .15);stroke:var(--viz-accent);stroke-width:2.4px;stroke-linejoin:round}.viz-tri-shape-2{fill:#2563eb57;stroke:var(--viz-accent-2);stroke-width:2.6px;stroke-linejoin:round}.viz-tri-vertex{fill:var(--viz-ink);font-family:var(--font-display,sans-serif);font-size:13px;font-weight:800}.viz-tri-angle{fill:var(--viz-ink);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:700}.viz-tri-len{fill:var(--viz-ink-muted);font-variant-numeric:tabular-nums;font-size:10.5px}.viz-tri-panel{fill:var(--viz-ink-muted);letter-spacing:.07em;text-transform:uppercase;font-size:11.5px;font-weight:700}.viz-tri-panel-sub{fill:var(--viz-ink-dim);font-variant-numeric:tabular-nums;font-size:10.5px}.viz-tri-sub{color:var(--viz-ink-dim);letter-spacing:.07em;text-transform:uppercase;margin:0 0 .15rem;font-size:.68rem;font-weight:800}.viz-tri-off{opacity:.48}@media (width<=620px){.viz-tri-vertex{font-size:17px}.viz-tri-angle{font-size:15px}.viz-tri-len{font-size:14px}.viz-tri-panel{font-size:14.5px}.viz-tri-panel-sub{font-size:13.5px}}.lp{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.6rem}.lp-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;display:flex}.lp-head h2{margin:.35rem 0 .3rem;font-size:1.2rem}.lp-head p{color:var(--txt-muted);max-width:46ch;margin:0;font-size:.9rem;line-height:1.55}.lp-score{background:var(--surface-3);border:1px solid var(--border);color:var(--txt-muted);border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .75rem;font-size:.85rem;display:flex}.lp-score strong{color:var(--txt);font-variant-numeric:tabular-nums}.lp-reset{border:1px solid var(--border);color:var(--txt-muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.25rem;margin-left:.35rem;padding:.2rem .5rem;font-size:.78rem;display:inline-flex}.lp-reset:hover{color:var(--txt);border-color:var(--border-strong)}.lp-passage{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;margin-bottom:1.2rem;overflow:hidden}.lp-passage>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.6rem;padding:.8rem 1rem;font-weight:600;list-style:none;display:flex}.lp-passage>summary::-webkit-details-marker{display:none}.lp-passage[open]>summary{border-bottom:1px solid var(--border)}.lp-passage[open]>summary svg{transform:rotate(180deg)}.lp-passage-body{padding:1rem 1.15rem;font-size:.94rem;line-height:1.75}.lp-para{margin:0 0 .9rem;padding-left:1.6rem;position:relative}.lp-para-n{color:var(--txt-dim);font-variant-numeric:tabular-nums;font-size:.78rem;position:absolute;left:0}.lp-marker{background:var(--surface-3);color:var(--green);border-radius:4px;margin:0 .1rem;padding:0 .25rem;font-size:.7em;font-weight:700;display:inline-block}.lp-marker.is-active{background:var(--green);color:var(--surface-0)}.lp-data{color:var(--txt);margin:0;font-size:.9rem;line-height:1.7}.lp-list{flex-direction:column;gap:1.1rem;margin:0;padding:0;list-style:none;display:flex}.lp-item{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:1rem 1.15rem}.lp-prompt{margin:0 0 .85rem;line-height:1.6}.lp-prompt-n{color:var(--green);margin-right:.35rem;font-weight:700}.lp-choices{flex-direction:column;gap:.45rem;display:flex}.lp-choice{text-align:left;background:var(--surface-3);border:1px solid var(--border);color:var(--txt);cursor:pointer;border-radius:11px;align-items:flex-start;gap:.65rem;padding:.6rem .8rem;font-size:.92rem;line-height:1.5;transition:border-color .15s,background .15s;display:flex}.lp-choice:hover:not(:disabled){border-color:var(--border-strong)}.lp-choice:disabled{cursor:default}.lp-choice-letter{width:1.35rem;color:var(--txt-muted);flex-shrink:0;font-weight:700}.lp-choice-text{flex:1;min-width:0}.lp-choice.is-correct{border-color:var(--green);background:rgba(var(--accent-rgb), .12)}.lp-choice.is-correct .lp-choice-letter,.lp-choice.is-correct svg{color:var(--green)}.lp-choice.is-incorrect{background:#f2555a1a;border-color:#f2555a73}.lp-choice.is-incorrect .lp-choice-letter,.lp-choice.is-incorrect svg{color:var(--rose)}.lp-explain{border:1px solid var(--border);background:var(--surface-3);border-radius:11px;margin-top:.8rem;padding:.75rem .9rem}.lp-explain.is-right{border-color:rgba(var(--accent-rgb), .35)}.lp-explain.is-wrong{border-color:#f2555a59}.lp-explain-head{align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:.88rem;font-weight:650;display:flex}.lp-explain.is-right .lp-explain-head{color:var(--green)}.lp-explain.is-wrong .lp-explain-head{color:var(--rose)}.lp-explain p{color:var(--txt-muted);margin:0;font-size:.89rem;line-height:1.6}.lp-underline{text-underline-offset:.22em;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration:underline;text-decoration-thickness:1.5px}.lp-underline.is-active{-webkit-text-decoration-color:var(--green);text-decoration-color:var(--green);background:rgba(var(--accent-rgb), .12);border-radius:3px;text-decoration-thickness:2.5px}.lp-point{border:1px dashed var(--border-strong);width:1.1rem;height:1.1rem;color:var(--blue);vertical-align:middle;border-radius:50%;place-items:center;margin:0 .15rem;font-size:.62rem;font-weight:800;display:inline-grid}.md{color:var(--txt);font-size:.95rem;line-height:1.72}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md-p{max-width:72ch;color:var(--txt-muted);margin:0 0 1rem}.md-h{font-family:var(--font-display);letter-spacing:-.015em;color:var(--txt);margin:1.9rem 0 .75rem;scroll-margin-top:84px;font-weight:750;line-height:1.3}.md-h1{font-size:1.5rem}.md-h2{border-bottom:1px solid var(--border);padding-bottom:.45rem;font-size:1.24rem}.md-h3{color:var(--green);font-size:1.06rem}.md-h4{color:var(--txt);font-size:.95rem}.md-hr{border:none;border-top:1px solid var(--border);margin:1.7rem 0}.md-list{max-width:72ch;color:var(--txt-muted);margin:0 0 1rem;padding-left:1.35rem}.md-list li{margin-bottom:.42rem}.md-list li::marker{color:var(--green)}.md-list ul,.md-list ol{margin:.42rem 0 0}.md ul.md-list{list-style:outside}.md ul.md-list ul.md-list{list-style:circle}.md strong{color:var(--txt);font-weight:650}.md em{color:var(--txt);font-style:italic}.md code{border:1px solid var(--border);color:var(--green);background:#00000057;border-radius:5px;padding:.1rem .34rem;font-size:.88em}.md-quote{border-left:3px solid var(--green-deep);background:rgba(var(--accent-rgb), .06);border-radius:0 10px 10px 0;margin:0 0 1rem;padding:.85rem 1.05rem}.md-quote>:last-child{margin-bottom:0}.md-quote .md-p{color:var(--txt)}.md-table-wrap{border:1px solid var(--border);border-radius:12px;margin:0 0 1.2rem;overflow-x:auto}.md-table{border-collapse:collapse;width:100%;min-width:420px;font-size:.87rem}.md-table th,.md-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.6rem .85rem}.md-table tr:last-child td{border-bottom:none}.md-table th{background:rgba(var(--accent-rgb), .08);color:var(--green);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:.74rem;font-weight:700}.md-table td{color:var(--txt-muted)}.md-math{color:var(--txt);white-space:nowrap;align-items:center;gap:.06em;padding:0 .12em;font-family:Cambria Math,Latin Modern Math,Georgia,serif;font-size:1.04em;display:inline-flex}.md-math sup,.md-math sub{font-size:.68em;line-height:0}.md-math sup{vertical-align:super}.md-math sub{vertical-align:sub}.md-math-text{font-family:var(--font-body);font-size:.9em}.md-frac{vertical-align:middle;flex-direction:column;align-items:center;margin:0 .16em;font-size:.94em;line-height:1.12;display:inline-flex}.md-frac-n{padding:0 .3em}.md-frac-d{border-top:1px solid;padding:0 .3em}.md-sqrt{align-items:stretch;display:inline-flex}.md-sqrt-sign{font-size:1.06em}.md-sqrt-body{border-top:1px solid;padding:0 .16em}.md-display{border:1px solid var(--border);text-align:center;background:#0000004d;border-radius:12px;margin:0 0 1.15rem;padding:.9rem 1rem;display:block;overflow-x:auto}.md-math.is-display{font-size:1.2rem}.tut-index{padding:.5rem 0 1rem}.tut-grid{grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:.7rem;display:grid}.tut-card{border:1px solid var(--border);background:rgba(var(--surface-2-rgb), .86);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:100%;color:var(--txt);text-align:left;cursor:pointer;border-radius:13px;justify-content:space-between;align-items:center;gap:.7rem;padding:.9rem 1rem;font-family:inherit;transition:border-color .18s,background .18s,transform .18s;display:flex}.tut-card:hover{border-color:var(--border-strong);background:rgba(var(--accent-rgb), .09);transform:translateY(-2px)}.tut-card:focus-visible{outline:2px solid var(--green);outline-offset:2px}.tut-card-title{font-size:.9rem;font-weight:600;line-height:1.4}.tut-card-tag{border:1px solid var(--border-strong);background:var(--glow);color:var(--green);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;flex-shrink:0;align-items:center;gap:.25rem;padding:.16rem .46rem;font-size:.62rem;font-weight:700;display:inline-flex}.tut-practice-note{max-width:68ch;color:var(--txt-muted);margin:0 0 .75rem;font-size:.84rem;line-height:1.6}.tut-card.is-practice{border-color:var(--border-strong);background:linear-gradient(135deg, rgba(var(--accent-rgb), .11), rgba(var(--surface-2-rgb), .86))}.tut-card.is-practice .tut-card-title{font-size:.98rem}.tp-count{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.tp-count-field{flex-direction:column;gap:.35rem;display:flex}.tp-count-field span{color:var(--txt-muted);letter-spacing:.07em;text-transform:uppercase;font-size:.72rem;font-weight:700}.tp-count-field input{text-align:center;width:7rem;font-size:1.35rem;font-weight:700}.tp-presets{flex-wrap:wrap;gap:.4rem;padding-bottom:.35rem;display:flex}.tp-preset{border:1px solid var(--border);background:rgba(var(--surface-2-rgb), .8);min-width:3rem;color:var(--txt-muted);cursor:pointer;border-radius:10px;padding:.55rem .8rem;font-family:inherit;font-size:.92rem;font-weight:700;transition:border-color .16s,color .16s,background .16s}.tp-preset:hover{border-color:var(--border-strong);color:var(--txt)}.tp-preset.is-on{border-color:var(--green);background:rgba(var(--accent-rgb), .14);color:var(--green)}.tp-of{color:var(--txt-muted);font-size:.5em;font-weight:700}.tp-quit{margin:0}.tut-back{border:1px solid var(--border);background:var(--surface-2);color:var(--txt-muted);cursor:pointer;border-radius:9px;align-items:center;gap:.4rem;padding:.4rem .75rem .4rem .55rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:color .16s,border-color .16s;display:inline-flex}.tut-back:hover{color:var(--green);border-color:var(--border-strong)}.tut-article{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;padding:1.6rem 1.5rem}@media (width>=900px){.tut-article{padding:2rem 2.2rem}}.tut-status{color:var(--txt-dim);margin:0;font-size:.88rem}.tut-status.is-error{color:var(--rose)}@media (prefers-reduced-motion:reduce){.tut-card:hover{transform:none}}.tut-card-tags{flex-wrap:wrap;gap:.35rem;margin-top:.5rem;display:flex}.pt-modes{grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:1rem;display:grid}.pt-mode{border:1px solid var(--border);background:var(--surface-2);color:var(--txt);text-align:left;cursor:pointer;border-radius:16px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:1.5rem;font-family:inherit;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.pt-mode:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:0 16px 38px #00000073}.pt-mode-icon{border:1px solid var(--border);background:var(--glow);width:44px;height:44px;color:var(--green);border-radius:13px;place-items:center;margin-bottom:.9rem;display:grid}.pt-mode h2{letter-spacing:-.01em;margin:0;font-size:1.18rem;font-weight:650}.pt-mode p{color:var(--txt-muted);margin:.55rem 0 1.1rem;font-size:.88rem;line-height:1.62}.pt-mode-go{color:var(--green);align-items:center;gap:.4rem;margin-top:auto;font-size:.86rem;font-weight:600;display:inline-flex}.pt-mode:hover .pt-mode-go svg{transform:translate(3px)}.pt-mode-go svg{transition:transform .2s}.pt-note{border:1px solid var(--border);color:var(--txt-muted);background:#2563eb14;border-radius:12px;padding:.95rem 1.15rem;font-size:.86rem;line-height:1.6}.pt-note strong{color:var(--txt)}.pt-runner{flex-direction:column;gap:.9rem;display:flex}.pt-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.pt-topbar-left,.pt-topbar-right{align-items:center;gap:.6rem;display:flex}.pt-chip{color:var(--txt-muted);font-variant-numeric:tabular-nums;font-size:.8rem}.pt-clock{border:1px solid var(--border);background:var(--surface-2);font-variant-numeric:tabular-nums;color:var(--txt);border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.9rem;font-weight:700;display:inline-flex}.pt-clock.is-low{color:var(--rose);background:#f2555a1a;border-color:#f2555a6b;animation:1.6s ease-in-out infinite pt-pulse}@keyframes pt-pulse{50%{opacity:.62}}.pt-submit{padding:.44rem .95rem;font-size:.84rem}.pt-progress{background:#ffffff0f;border-radius:3px;height:3px;overflow:hidden}.pt-progress-fill{background:linear-gradient(90deg, var(--green-deep), var(--green));border-radius:3px;height:100%;transition:width .3s}.pt-split{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}@media (width>=1000px){.pt-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pt-passage{max-height:calc(100vh - 120px);position:sticky;top:84px;overflow-y:auto}.pt-passage.is-lined{flex-direction:column;display:flex}.pt-passage.is-lined .lines-scroll{flex:auto;min-height:min(340px,100vh - 300px);max-height:none}}.pt-passage{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;min-width:0;padding:1.4rem 1.5rem}.pt-passage-head{border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.9rem}.pt-passage-head h2{font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-size:1.3rem;font-weight:800}.pt-para{color:#d3e3d8;margin:0 0 1.15rem;padding-left:1.6rem;font-size:.95rem;line-height:1.85;position:relative}.pt-para:last-child{margin-bottom:0}.pt-para-n{color:var(--txt-dim);font-size:.68rem;font-weight:700;position:absolute;top:.28rem;left:0}.pt-marker{background:rgba(var(--accent-rgb), .14);border:1px solid var(--border);min-width:1.15rem;color:var(--green);text-align:center;vertical-align:super;border-radius:5px;margin:0 .12rem;padding:.05rem .22rem;font-size:.62rem;font-weight:800;line-height:1.5;transition:background .2s,transform .2s;display:inline-block}.pt-marker.is-active{background:var(--green);border-color:var(--green);color:var(--ink-deep);transform:scale(1.14)}.pt-point{color:#7ea6f5;vertical-align:middle;border:1px dashed #2563eb99;border-radius:50%;place-items:center;width:1.15rem;height:1.15rem;margin:0 .15rem;font-size:.62rem;font-weight:800;display:inline-grid}.pt-question-col{flex-direction:column;gap:.75rem;display:flex}.pt-question{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;padding:1.35rem 1.4rem}.pt-insert{border-left:3px solid var(--blue);color:#cfe0ff;background:#2563eb1a;border-radius:0 10px 10px 0;margin:0 0 1rem;padding:.8rem 1rem;font-size:.88rem;font-style:italic;line-height:1.65}.pt-review-insert{margin:.1rem 0 .55rem;padding:.55rem .8rem;font-size:.83rem}.pt-prompt{margin:0 0 1.1rem;font-size:.98rem;font-weight:500;line-height:1.6}.pt-prompt-n{color:var(--green);margin-right:.25rem;font-weight:800}.pt-choices{flex-direction:column;gap:.5rem;display:flex}.pt-choice{border:1px solid var(--border);background:var(--surface-1);width:100%;color:var(--txt);text-align:left;cursor:pointer;border-radius:11px;align-items:flex-start;gap:.7rem;padding:.75rem .9rem;font-family:inherit;font-size:.89rem;line-height:1.55;transition:border-color .15s,background .15s,transform .1s;display:flex}.pt-choice:hover:not(:disabled){border-color:var(--border-strong);background:rgba(var(--accent-rgb), .07)}.pt-choice:active:not(:disabled){transform:scale(.994)}.pt-choice-letter{border:1px solid var(--border);background:var(--surface-3);width:22px;height:22px;color:var(--txt-muted);border-radius:6px;flex-shrink:0;place-items:center;font-size:.72rem;font-weight:800;display:grid}.pt-choice-text{flex:1;min-width:0}.pt-choice-mark{flex-shrink:0;margin-top:.15rem}.pt-choice.is-picked{border-color:var(--green);background:rgba(var(--accent-rgb), .12)}.pt-choice.is-picked .pt-choice-letter{background:var(--green);border-color:var(--green);color:var(--ink-deep)}.pt-choice.is-correct{border-color:rgba(var(--accent-rgb), .6);background:rgba(var(--accent-rgb), .13);color:#dcf5e4}.pt-choice.is-correct .pt-choice-letter,.pt-choice.is-correct .pt-choice-mark{background:var(--green);border-color:var(--green);color:var(--ink-deep)}.pt-choice.is-correct .pt-choice-mark{color:var(--green);background:0 0}.pt-choice.is-incorrect{background:#f2555a1c;border-color:#f2555a80}.pt-choice.is-incorrect .pt-choice-letter{background:var(--rose);border-color:var(--rose);color:#fff}.pt-choice.is-incorrect .pt-choice-mark{color:var(--rose)}.pt-choice:disabled{cursor:default;opacity:1}.pt-explain{border:1px solid var(--border);background:var(--surface-1);border-radius:11px;margin-top:1rem;padding:.9rem 1.05rem;animation:.24s pt-slide}@keyframes pt-slide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pt-explain-head{letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.5rem;margin-bottom:.45rem;font-size:.78rem;font-weight:800;display:flex}.pt-explain.is-right .pt-explain-head{color:var(--green)}.pt-explain.is-wrong .pt-explain-head{color:var(--rose)}.pt-explain p{color:var(--txt-muted);margin:0;font-size:.87rem;line-height:1.65}.pt-controls{align-items:center;gap:.55rem;display:flex}.pt-controls .dash-btn:last-child{margin-left:auto}.pt-flag{border:1px solid var(--border);background:var(--surface-3);color:var(--txt-muted);cursor:pointer;border-radius:10px;align-items:center;gap:.4rem;padding:.6rem .85rem;font-family:inherit;font-size:.84rem;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.pt-flag.is-on{color:var(--amber);background:#f59e0b1f;border-color:#f59e0b73}.pt-nav{border:1px solid var(--border);background:var(--surface-1);border-radius:12px;overflow:hidden}.pt-nav-toggle{width:100%;color:var(--txt-muted);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.7rem .95rem;font-family:inherit;font-size:.83rem;display:flex}.pt-nav.is-open .pt-nav-toggle svg{transform:rotate(180deg)}.pt-nav-toggle svg{transition:transform .2s}.pt-nav-grid{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:5px;padding:0 .75rem .85rem;display:grid}.pt-nav-cell{aspect-ratio:1;border:1px solid var(--border);background:var(--surface-3);color:var(--txt-dim);cursor:pointer;border-radius:8px;font-family:inherit;font-size:.75rem;font-weight:700;transition:border-color .14s,background .14s,color .14s}.pt-nav-cell:hover{border-color:var(--border-strong);color:var(--txt)}.pt-nav-cell.is-answered{background:rgba(var(--accent-rgb), .16);border-color:rgba(var(--accent-rgb), .32);color:var(--green)}.pt-nav-cell.is-flagged{color:var(--amber);border-color:#f59e0b99}.pt-nav-cell.is-ungraded{border-style:dashed}.pt-nav-cell.is-current{background:var(--green);border-color:var(--green);color:var(--ink-deep)}.pt-result{border:1px solid var(--border-strong);background:linear-gradient(150deg, rgba(var(--accent-rgb), .13), var(--surface-2) 60%);border-radius:18px;grid-template-columns:1fr;gap:1rem;padding:1.6rem;display:grid}@media (width>=760px){.pt-result{grid-template-columns:260px 1fr;align-items:center}}.pt-result-score{text-align:center}.pt-result-value{font-family:var(--font-display);letter-spacing:-.05em;color:var(--green);font-variant-numeric:tabular-nums;font-size:5rem;font-weight:900;line-height:1;animation:.5s cubic-bezier(.22,1,.36,1) both pt-pop}@keyframes pt-pop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.pt-result-raw{color:var(--txt-muted);margin-top:.35rem;font-size:.86rem}.pt-result-meta{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;display:grid}.pt-result-meta>div{border:1px solid var(--border);background:#00000042;border-radius:11px;padding:.7rem .85rem}.pt-result-meta span{color:var(--txt-dim);margin-bottom:.2rem;font-size:.72rem;display:block}.pt-result-meta strong{font-variant-numeric:tabular-nums;font-size:1.05rem}.pt-result-meta em{color:var(--txt-dim);font-size:.68rem;font-style:normal}.pt-skills{flex-direction:column;gap:.7rem;margin-top:1.1rem;display:flex}.pt-skill-top{justify-content:space-between;margin-bottom:.3rem;font-size:.84rem;display:flex}.pt-skill-num{color:var(--txt-dim);font-variant-numeric:tabular-nums}.pt-bar{background:#ffffff0f;border-radius:3px;height:6px;overflow:hidden}.pt-bar-fill{background:var(--green);border-radius:3px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1)}.pt-bar-fill[data-weak=true]{background:var(--amber)}.pt-accordion{border:1px solid var(--border);background:var(--surface-2);border-radius:13px;margin-bottom:.6rem;overflow:hidden}.pt-accordion-head{width:100%;color:var(--txt);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.95rem 1.1rem;font-family:inherit;font-size:.92rem;font-weight:600;display:flex}.pt-accordion-head:hover{background:rgba(var(--accent-rgb), .05)}.pt-accordion-meta{color:var(--txt-dim);flex-shrink:0;align-items:center;gap:.5rem;font-size:.79rem;font-weight:500;display:inline-flex}.pt-accordion.is-open .pt-accordion-meta svg{transform:rotate(180deg)}.pt-accordion-meta svg{transition:transform .2s}.pt-accordion-body{padding:0 1.1rem 1rem}.pt-review-item{border-top:1px solid var(--border);padding:.85rem 0}.pt-review-head{align-items:flex-start;gap:.55rem;margin-bottom:.55rem;display:flex}.pt-review-n{border-radius:6px;flex-shrink:0;align-items:center;gap:.25rem;padding:.15rem .45rem;font-size:.72rem;font-weight:800;display:inline-flex}.pt-review-item.is-right .pt-review-n{background:rgba(var(--accent-rgb), .16);color:var(--green)}.pt-review-item.is-wrong .pt-review-n{color:var(--rose);background:#f2555a29}.pt-review-item.is-skipped .pt-review-n{color:var(--amber);background:#f59e0b29}.pt-review-prompt{color:var(--txt-muted);font-size:.86rem;line-height:1.5}.pt-review-answers{flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.82rem;display:flex}.pt-review-answers span{color:var(--txt-dim);font-size:.72rem;display:block}.pt-review-answers strong.ok{color:var(--green)}.pt-review-answers strong.bad{color:var(--rose)}.pt-review-answers strong.skip{color:var(--amber)}.pt-review-passage{border:1px solid var(--border);background:var(--surface-1);border-radius:11px;margin:.25rem 0 .4rem}.pt-review-passage>summary{color:var(--txt-muted);cursor:pointer;padding:.7rem .9rem;font-size:.79rem;font-weight:600;list-style:none}.pt-review-passage>summary::-webkit-details-marker{display:none}.pt-review-passage>summary:before{content:"▸";width:1rem;color:var(--txt-dim);transition:transform .2s;display:inline-block}.pt-review-passage[open]>summary:before{transform:rotate(90deg)}.pt-review-passage>summary:hover{color:var(--green)}.pt-review-passage-body{border-top:1px solid var(--border);max-height:320px;padding:.2rem 1.1rem 1rem;overflow-y:auto}.pt-review-passage-body .pt-para{font-size:.88rem;line-height:1.75}.pt-review-why{border-left:2px solid var(--border);color:var(--txt-muted);margin:.6rem 0 0;padding-left:.8rem;font-size:.83rem;line-height:1.65}@media (prefers-reduced-motion:reduce){.pt-mode:hover{transform:none}.pt-clock.is-low,.pt-result-value,.pt-explain{animation:none}}.pt-picker{grid-template-columns:1fr;gap:.75rem;display:grid}@media (width>=780px){.pt-picker{grid-template-columns:1fr 1fr}.pt-pick.is-wide{grid-column:1/-1}}.pt-pick{text-align:left;background:var(--surface-2);border:1px solid var(--border);color:var(--txt);cursor:pointer;border-radius:15px;align-items:flex-start;gap:.85rem;padding:1rem 1.1rem;transition:border-color .18s,transform .18s;display:flex}.pt-pick:hover{border-color:var(--border-strong);transform:translateY(-1px)}.pt-pick.is-active{border-color:var(--green);background:linear-gradient(180deg, rgba(var(--accent-rgb), .09), var(--surface-2) 60%)}.pt-pick-icon{background:var(--surface-3);border:1px solid var(--border);width:38px;height:38px;color:var(--green);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.pt-pick-body{flex-direction:column;gap:.3rem;min-width:0;display:flex}.pt-pick-title{align-items:center;gap:.4rem;font-weight:650;display:flex}.pt-pick-title svg{color:var(--green)}.pt-pick-blurb{color:var(--txt-muted);font-size:.87rem;line-height:1.5}.pt-options{flex-direction:column;gap:.75rem;display:flex}.pt-option{background:var(--surface-2);border:1px solid var(--border);border-radius:15px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1.1rem;display:flex}.pt-option-copy{flex-direction:column;flex:22rem;gap:.25rem;min-width:15rem;display:flex}.pt-option-copy span{color:var(--txt-muted);font-size:.86rem;line-height:1.5}.pt-launch{background:linear-gradient(180deg, rgba(var(--accent-rgb), .1), var(--surface-2) 70%);border:1px solid var(--border-strong);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 1.2rem;display:flex}.pt-launch-summary{flex-direction:column;gap:.2rem;display:flex}.pt-launch-summary span{color:var(--txt-muted);font-size:.87rem}.pt-note{align-items:flex-start;gap:.6rem;display:flex}.pt-note svg{color:var(--green);flex-shrink:0;margin-top:.15rem}.pt-between-next{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.pt-between-next>div{flex-direction:column;gap:.2rem;display:flex}.pt-mi-note h2{align-items:center;gap:.5rem;margin-top:0;display:flex}.pt-attrib{color:var(--txt-muted);margin:.2rem 0 0;font-size:.87rem;font-style:italic}.pt-passage-intro{color:var(--txt-muted);margin:.7rem 0 0;font-size:.9rem;font-style:italic}.pt-para--plain{padding-left:0}.pt-split.is-single{grid-template-columns:1fr}.pt-choice.is-figure{align-items:flex-start}.pt-choice-figure{flex-direction:column;gap:.3rem;min-width:0;display:flex}.pt-choice-alt{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pt-review-skill{margin-top:.5rem}.pt-underline{text-underline-offset:.22em;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration:underline;text-decoration-thickness:1.5px}.pt-underline.is-active{-webkit-text-decoration-color:var(--green);text-decoration-color:var(--green);background:rgba(var(--accent-rgb), .12);border-radius:3px;text-decoration-thickness:2.5px}.pt-passage .qt-p{margin-bottom:1.15rem}.pt-review-prompt.qt{min-width:0}.pt-review-prompt .qt-p{margin-bottom:.4rem}.set-toggle-row{background:var(--surface-2);border:1px solid var(--border);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 1.15rem;display:flex}.set-toggle-copy{flex-direction:column;flex:22rem;gap:.3rem;min-width:15rem;display:flex}.set-toggle-title{color:var(--txt);align-items:center;gap:.45rem;font-size:1rem;font-weight:650;display:flex}.set-toggle-title svg{color:var(--green)}.set-toggle-sub{color:var(--txt-muted);font-size:.88rem;line-height:1.55}.set-seg{background:var(--surface-3);border:1px solid var(--border);border-radius:12px;gap:3px;padding:3px;display:inline-flex}.set-seg-btn{color:var(--txt-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:.5rem 1.15rem;font-size:.9rem;font-weight:600;transition:background .18s,color .18s}.set-seg-btn:hover:not(:disabled){color:var(--txt)}.set-seg-btn.is-on{background:var(--green);color:var(--surface-0)}.set-seg-btn:disabled{opacity:.45;cursor:not-allowed}.set-note{background:rgba(var(--accent-rgb), .07);border:1px solid var(--border);color:var(--txt-muted);border-radius:12px;align-items:flex-start;gap:.55rem;margin:.75rem 0 0;padding:.75rem .9rem;font-size:.88rem;line-height:1.55;display:flex}.set-note svg{color:var(--green);flex-shrink:0;margin-top:.15rem}.set-note strong{color:var(--txt)}.set-themes{grid-template-columns:1fr;gap:.85rem;display:grid}@media (width>=720px){.set-themes{grid-template-columns:repeat(3,1fr)}}.set-theme{text-align:left;background:var(--surface-2);border:1px solid var(--border);color:var(--txt);cursor:pointer;border-radius:16px;flex-direction:column;gap:.55rem;padding:1rem;transition:border-color .18s,transform .18s;display:flex}.set-theme:hover{border-color:var(--border-strong);transform:translateY(-1px)}.set-theme.is-active{border-color:var(--green)}.set-theme-swatch{border:1px solid var(--border);border-radius:10px;height:42px;display:flex;overflow:hidden}.set-theme-swatch>span{flex:1}.set-theme-label{align-items:center;gap:.5rem;font-weight:650;display:flex}.set-theme-sub{color:var(--txt-dim);font-size:.82rem}.set-explain h2{margin-top:0}.set-explain-state strong.on{color:var(--green)}.set-explain-state strong.off{color:var(--txt-dim)}.dash{--surface-0:#0b0f0c;--surface-1:#101512;--surface-2:#151b17;--surface-3:#1b231e;--surface-1-rgb:16, 21, 18;--surface-2-rgb:21, 27, 23;--border:rgba(var(--accent-rgb), .14);--border-strong:rgba(var(--accent-rgb), .3);--accent-rgb:77, 221, 130;--green:#4ddd82;--green-deep:#1f7a3f;--ink-deep:#06210f;--ink-deeper:#060e07;--blue:#2563eb;--amber:#f59e0b;--rose:#f2555a;--txt:#e8f2eb;--txt-rgb:232, 242, 235;--txt-muted:#8fa697;--txt-dim:#6b8074;--glow:rgba(var(--accent-rgb), .1);--ambient-a:rgba(var(--accent-rgb), .09);--ambient-b:#2563eb12;--sidebar-w:288px;background:var(--surface-0);min-height:100vh;color:var(--txt);font-family:var(--font-body);position:relative}.dash:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(760px 420px at 12% -8%, rgba(var(--accent-rgb), .09), transparent 70%), radial-gradient(680px 420px at 100% 0%, #2563eb12, transparent 68%);position:fixed;inset:0}.dash-sidebar{inset-block:0;z-index:40;width:var(--sidebar-w);background:rgba(var(--surface-1-rgb), .92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-right:1px solid var(--border);flex-direction:column;transition:transform .26s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;left:0;transform:translate(-100%)}.dash-sidebar.is-open{transform:translate(0)}@media (width>=1024px){.dash-sidebar{transform:translate(0)}.dash-sidebar.is-collapsed{transform:translate(-100%)}}.dash-sidebar-head{flex-shrink:0;justify-content:space-between;align-items:center;height:72px;padding:0 .75rem 0 .25rem;display:flex}.dash-icon-btn{border:1px solid var(--border);background:var(--surface-2);width:36px;height:36px;color:var(--txt-muted);cursor:pointer;border-radius:10px;place-items:center;transition:color .16s,border-color .16s,background .16s;display:grid}.dash-icon-btn:hover{color:var(--green);border-color:var(--border-strong);background:var(--glow)}.dash-sidebar-close{color:var(--txt-muted);cursor:pointer;background:0 0;border:none;padding:.4rem}@media (width>=1024px){.dash-sidebar-close{display:none}}.dash-who{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;align-items:center;gap:.75rem;margin:0 .75rem .25rem;padding:.75rem;display:flex}.dash-avatar{background:linear-gradient(135deg, var(--green-deep), var(--blue));color:#fff;letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:.85rem;font-weight:700;display:grid}.dash-who-text{min-width:0}.dash-who-name{white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:600;overflow:hidden}.dash-who-mail{color:var(--txt-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.dash-nav{flex:1;padding:.9rem .75rem 0;overflow-y:auto}.dash-nav-label{letter-spacing:.09em;text-transform:uppercase;color:var(--txt-dim);padding:0 .6rem .5rem;font-size:.7rem;font-weight:700}.dash-nav-btn{width:100%;color:var(--txt-muted);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:.7rem;margin-bottom:2px;padding:.62rem .7rem;font-family:inherit;font-size:.89rem;transition:background .16s,color .16s;display:flex;position:relative}.dash-nav-btn:hover{background:rgba(var(--accent-rgb), .07);color:var(--txt)}.dash-nav-btn.is-active{background:rgba(var(--accent-rgb), .12);color:var(--green);font-weight:600}.dash-nav-btn.is-active:before{content:"";background:var(--green);border-radius:0 3px 3px 0;width:3px;height:20px;position:absolute;top:50%;left:-.75rem;transform:translateY(-50%)}.dash-nav-btn svg{flex-shrink:0;width:17px;height:17px}.dash-nav-btn svg.dash-nav-lock{width:13px;height:13px;color:var(--txt-dim);margin-left:.35rem}.dash-nav-btn.is-locked{color:var(--txt-dim)}.dash-nav-btn.is-locked:hover svg.dash-nav-lock{color:var(--txt-muted)}.dash-tag{letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--border);color:var(--txt-dim);border-radius:999px;margin-left:auto;padding:.1rem .42rem;font-size:.62rem;font-weight:700}.dash-tag.is-live{color:var(--green);border-color:var(--border-strong);background:var(--glow)}.dash-sidebar-foot{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.6rem;margin-top:auto;padding:.9rem 1rem;display:flex}.dash-streak{color:var(--txt-muted);align-items:center;gap:.4rem;font-size:.8rem;display:flex}.dash-streak svg{width:15px;height:15px;color:var(--amber)}.dash-scrim{z-index:30;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;background:#040805a8;border:none;padding:0;animation:.2s dash-fade;position:fixed;inset:0}@media (width>=1024px){.dash-scrim{display:none}}.dash-main{z-index:1;min-height:100vh;transition:padding-left .26s cubic-bezier(.4,0,.2,1);position:relative}@media (width>=1024px){.dash-main{padding-left:var(--sidebar-w)}.dash-main.is-wide{padding-left:0}}.dash-header{z-index:20;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0b0f0cd1;align-items:center;gap:.9rem;height:64px;padding:0 1.25rem;display:flex;position:sticky;top:0}.dash-title{letter-spacing:-.01em;font-size:1rem;font-weight:600}.dash-crumb{color:var(--txt-dim);font-size:.8rem}.dash-header-right{align-items:center;gap:.75rem;margin-left:auto;display:flex}.dash-body{max-width:1140px;margin:0 auto;padding:1.75rem 1.25rem 4rem}@media (width>=1024px){.dash-body{padding:2.25rem 2rem 4rem}}.dash-view{animation:.34s cubic-bezier(.22,1,.36,1) both dash-rise}@keyframes dash-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes dash-fade{0%{opacity:0}to{opacity:1}}.dash-card{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;padding:1.4rem;transition:border-color .2s,transform .2s,box-shadow .2s;position:relative}.dash-card.is-interactive{cursor:pointer;text-align:left;width:100%;color:inherit;font-family:inherit}.dash-card.is-interactive:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 14px 34px #0000006b}.dash-card h2{letter-spacing:-.01em;margin:0;font-size:1.1rem;font-weight:650}.dash-card p{color:var(--txt-muted);margin:.55rem 0 0;font-size:.9rem;line-height:1.6}.dash-h1{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:clamp(1.9rem,4vw,2.7rem);font-weight:800;line-height:1.1}.dash-h1-lock{vertical-align:-.1em;color:var(--txt-dim);margin-right:.15rem}.dash-lede{max-width:62ch;color:var(--txt-muted);margin:.85rem 0 0;font-size:1rem;line-height:1.65}.dash-eyebrow{border:1px solid var(--border);background:var(--glow);color:var(--green);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.45rem;margin-bottom:.9rem;padding:.28rem .7rem;font-size:.72rem;font-weight:700;display:inline-flex}.dash-section-title{letter-spacing:.1em;text-transform:uppercase;color:var(--txt-dim);margin:0 0 .9rem;font-size:.74rem;font-weight:700}.dash-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.66rem 1.15rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:transform .14s,box-shadow .18s,background .18s,border-color .18s;display:inline-flex}.dash-btn svg{width:16px;height:16px}.dash-btn-primary{background:linear-gradient(135deg, var(--green), #35c46c);color:var(--ink-deep)}.dash-btn-primary:hover:not(:disabled){box-shadow:0 10px 26px rgba(var(--accent-rgb), .26);transform:translateY(-1px)}.dash-btn-ghost{background:var(--surface-3);border-color:var(--border);color:var(--txt)}.dash-btn-ghost:hover:not(:disabled){border-color:var(--border-strong);background:rgba(var(--accent-rgb), .09)}.dash-btn:disabled{opacity:.42;cursor:not-allowed}.dash-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.9rem;display:grid}.dash-stat{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;padding:1rem 1.1rem}.dash-stat-label{color:var(--txt-dim);align-items:center;gap:.4rem;font-size:.76rem;display:flex}.dash-stat-label svg{width:14px;height:14px}.dash-stat-value{font-family:var(--font-display);letter-spacing:-.02em;margin-top:.35rem;font-size:1.75rem;font-weight:800}.dash-stat-value .dash-unit{color:var(--txt-dim);margin-left:.15rem;font-size:.9rem;font-weight:600}.dash-stack{flex-direction:column;gap:1.15rem;display:flex}.dash-grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.dash-row{flex-wrap:wrap;gap:.7rem;display:flex}.dash-launch{align-items:flex-start;gap:.9rem;display:flex}.dash-launch-icon{border:1px solid var(--border);background:var(--glow);width:42px;height:42px;color:var(--green);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.dash-launch-icon svg{width:19px;height:19px}.dash-launch-arrow{color:var(--txt-dim);align-self:center;margin-left:auto;transition:transform .2s,color .2s}.dash-card.is-interactive:hover .dash-launch-arrow{color:var(--green);transform:translate(3px)}.dash-soon{text-align:center;place-items:center;min-height:58vh;display:grid}.dash-soon-badge{border:1px solid var(--border);background:var(--glow);width:62px;height:62px;color:var(--green);border-radius:18px;place-items:center;margin:0 auto 1.4rem;display:grid}.dash-soon-badge svg{width:26px;height:26px}.dash-soon h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(1.8rem,5vw,2.6rem);font-weight:800}.dash-soon p{max-width:42ch;color:var(--txt-muted);margin:.9rem auto 0;font-size:.92rem;line-height:1.65}.dash-lesson-meta{color:var(--txt-dim);letter-spacing:.04em;justify-content:space-between;align-items:center;font-size:.72rem;display:flex}.dash-lesson-meta .dash-pill{border:1px solid var(--border);text-transform:uppercase;border-radius:999px;padding:.15rem .5rem;font-size:.62rem;font-weight:700}.dash-calc-grid{grid-template-columns:1fr;gap:1.15rem;display:grid}@media (width>=900px){.dash-calc-grid{grid-template-columns:1fr 300px;align-items:start}}.dash-field{display:block}.dash-field-label{color:var(--txt-muted);margin-bottom:.4rem;font-size:.78rem;font-weight:600;display:block}.dash-input{border:1px solid var(--border);background:var(--surface-3);width:100%;color:var(--txt);border-radius:10px;outline:none;padding:.6rem .75rem;font-family:inherit;font-size:1.05rem;font-weight:600;transition:border-color .16s,box-shadow .16s}.dash-input:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .12)}.dash-input:disabled{opacity:.4;cursor:not-allowed}.dash-range{width:100%;accent-color:var(--green);cursor:pointer;margin-top:.55rem}.dash-range:disabled{opacity:.35;cursor:not-allowed}.dash-toggle{border:1px solid var(--border);background:var(--surface-1);border-radius:14px;padding:.9rem 1rem;transition:border-color .16s;display:block}.dash-toggle:hover{border-color:var(--border-strong)}.dash-toggle-head{cursor:pointer;align-items:center;gap:.55rem;font-size:.88rem;font-weight:600;display:flex}.dash-toggle-head input{width:16px;height:16px;accent-color:var(--green);cursor:pointer}.dash-readout{border:1px solid var(--border-strong);background:linear-gradient(160deg, rgba(var(--accent-rgb), .12), var(--surface-2) 62%);text-align:center;border-radius:16px;padding:1.5rem 1.4rem}.dash-readout-label{letter-spacing:.09em;text-transform:uppercase;color:var(--txt-dim);font-size:.74rem;font-weight:700}.dash-readout-value{font-family:var(--font-display);letter-spacing:-.04em;color:var(--green);font-variant-numeric:tabular-nums;font-size:4rem;font-weight:900;line-height:1}.dash-readout-note{color:var(--txt-muted);margin-top:.6rem;font-size:.82rem;line-height:1.55}.dash-subscore{border:1px solid var(--border);background:#00000047;border-radius:10px;justify-content:space-between;align-items:baseline;margin-top:.6rem;padding:.6rem .8rem;font-size:.84rem;display:flex}.dash-subscore strong{font-variant-numeric:tabular-nums;font-size:1.15rem}.pg-chart{align-items:flex-end;gap:.6rem;height:180px;margin-top:1.2rem;padding:.75rem .5rem 0;display:flex;overflow-x:auto}.pg-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:.4rem;min-width:42px;height:100%;display:flex}.pg-col-value{color:var(--green);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700}.pg-col-bar{background:linear-gradient(180deg, var(--green), var(--green-deep));border-radius:6px 6px 0 0;width:100%;max-width:34px;animation:.55s cubic-bezier(.22,1,.36,1) both pg-grow}@keyframes pg-grow{0%{transform-origin:bottom;transform:scaleY(0)}to{transform-origin:bottom;transform:scaleY(1)}}.pg-col-date{color:var(--txt-dim);white-space:nowrap;font-size:.66rem}.dash ::-webkit-scrollbar{width:8px;height:8px}.dash ::-webkit-scrollbar-track{background:0 0}.dash ::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb), .18);border-radius:4px}.dash ::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb), .32)}@media (prefers-reduced-motion:reduce){.dash-view,.dash-scrim{animation:none}.dash-card.is-interactive:hover,.dash-btn-primary:hover:not(:disabled){transform:none}}.pg-col-label{color:var(--txt-dim);text-align:center;overflow-wrap:anywhere;margin-top:.15rem;font-size:.68rem;line-height:1.25;display:block}.pg-sets{flex-direction:column;gap:.5rem;margin-top:.7rem;display:flex}.pg-set{border:1px solid var(--border);background:rgba(var(--surface-2-rgb), .6);border-radius:11px;align-items:center;gap:.85rem;padding:.6rem .8rem;display:flex}.pg-set-score{flex-shrink:0;align-items:baseline;gap:.15rem;min-width:3.6rem;display:flex}.pg-set-score strong{color:var(--green);font-size:1.25rem;font-weight:800;line-height:1}.pg-set-score span{color:var(--txt-dim);font-size:.82rem;font-weight:600}.pg-set-body{flex-direction:column;gap:.1rem;min-width:0;display:flex}.pg-set-label{color:var(--txt);font-size:.86rem;font-weight:600}.pg-set-meta{color:var(--txt-muted);font-size:.74rem}.dash[data-theme=dark-green]{--surface-0:#0b0f0c;--surface-1:#101512;--surface-2:#151b17;--surface-3:#1b231e;--surface-1-rgb:16, 21, 18;--surface-2-rgb:21, 27, 23;--accent-rgb:77, 221, 130;--green:#4ddd82;--green-deep:#1f7a3f;--ink-deep:#06210f;--ink-deeper:#060e07;--txt:#e8f2eb;--txt-rgb:232, 242, 235;--txt-muted:#8fa697;--txt-dim:#6b8074;--border:rgba(var(--accent-rgb), .14);--border-strong:rgba(var(--accent-rgb), .3);--glow:rgba(var(--accent-rgb), .1);--ambient-a:rgba(var(--accent-rgb), .09);--ambient-b:#2563eb12}.dash[data-theme=white-green],.dash[data-theme=white-gray]{--surface-0:#f3f6f4;--surface-1:#fff;--surface-2:#fff;--surface-3:#eef1ef;--surface-1-rgb:255, 255, 255;--surface-2-rgb:255, 255, 255;--txt:#131a16;--txt-rgb:19, 26, 22;--txt-muted:#55645c;--txt-dim:#7d8a83;--ink-deep:#eaf3ec;--ink-deeper:#f6faf7;--border:#131a161f;--border-strong:#131a1642;--glow:#131a160f;--rose:#c0303a;--amber:#a86808;--blue:#1d4ed8}.dash[data-theme=white-green]{--accent-rgb:22, 122, 60;--green:#167a3c;--green-deep:#0f5729;--ambient-a:rgba(var(--accent-rgb), .07);--ambient-b:#2563eb0d}.dash[data-theme=white-gray]{--accent-rgb:82, 95, 106;--green:#4b5563;--green-deep:#33404b;--ambient-a:rgba(var(--accent-rgb), .08);--ambient-b:#525f6a0d}.dash[data-theme=white-green] .dash-sidebar,.dash[data-theme=white-gray] .dash-sidebar,.dash[data-theme=white-green] .dash-header,.dash[data-theme=white-gray] .dash-header{background:#fffffff0}.dash[data-theme=white-green] .dash-card,.dash[data-theme=white-gray] .dash-card,.dash[data-theme=white-green] .dash-stat,.dash[data-theme=white-gray] .dash-stat{box-shadow:0 1px 2px #131a160d}.dash[data-theme=white-green] .dash-btn-primary,.dash[data-theme=white-gray] .dash-btn-primary{color:#fff}.dash[data-theme=white-green] .dash-tag,.dash[data-theme=white-gray] .dash-tag{color:var(--green-deep)}
