@layer properties;@layer theme,base,components,utilities;@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: "Fira Code", monospace;--spacing: .25rem;--text-xs: .75rem;--text-sm: .875rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--ease-in: cubic-bezier(.4, 0, 1, 1);--animate-spin: spin 1s linear infinite;--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);--font-display: "Fira Sans", sans-serif;--font-body: "Fira Sans", sans-serif}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;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;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{font-size:75%;line-height:0;position:relative;vertical-align:baseline}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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}: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,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-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]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.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}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.w-1{width:var(--spacing)}.w-2{width:calc(var(--spacing) * 2)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.flex-shrink,.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.border{border-style:var(--tw-border-style);border-width:1px}.text-\[12px\]{font-size:12px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[40px\]{font-size:40px}.text-\[--color-primary\]{color:--color-primary}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-25{opacity:25%}.opacity-75{opacity:75%}.shadow{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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,)}.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))}.ease-in{--tw-ease: var(--ease-in);transition-timing-function:var(--ease-in)}}:host{display:block}.landing{--landing-section-gap: clamp(4rem, 7vw, 6.5rem);overflow:clip;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-body)}.landing-surface--canvas{background:transparent}.landing-surface--secondary{background:var(--surface-secondary)}.landing-surface--immersive{background:var(--surface-immersive);color:var(--text-on-immersive)}.landing-nav,.landing-hero,.landing-section,.landing-verify,.landing-paths,.landing-final,.landing-footer{width:min(100% - 3rem,75rem);margin-inline:auto}.landing>section+section,.landing>section+.landing-footer{margin-top:var(--landing-section-gap)}.landing-nav,.landing-nav__links,.landing-nav__actions,.landing-hero__actions,.product-window__bar,.product-window__footer,.product-window__identity,.code-pane__heading,.result-heading,.result-status,.validation-visual__top,.ai-dialogue__head,.verification-visual__head,.verification-visual__line,.resource-preview__header,.resource-preview__meta{display:flex;align-items:center}.landing-nav{position:sticky;top:.75rem;z-index:20;min-height:4.5rem;gap:2rem;justify-content:space-between;padding-inline:1.25rem;border:1px solid transparent;border-radius:var(--radius-lg);background:transparent;transition:min-height var(--duration-panel),gap var(--duration-panel),padding var(--duration-panel),background var(--duration-panel),border-color var(--duration-panel),box-shadow var(--duration-panel),backdrop-filter var(--duration-panel)}.landing-nav--floating{min-height:3.75rem;gap:1.25rem;padding-inline:1rem;border-color:var(--border-default);background:var(--surface-page);box-shadow:var(--shadow-popover);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}@supports (color: color-mix(in lab,red,red)){.landing-nav--floating{border-color:color-mix(in srgb,var(--border-default) 82%,transparent)}}@supports (color: color-mix(in lab,red,red)){.landing-nav--floating{background:color-mix(in srgb,var(--surface-page) 90%,transparent)}}.landing-nav__brand{display:inline-flex;width:8rem;align-items:center}.landing-logo{width:100%;height:2.5rem;object-fit:contain}.landing-logo--dark,.landing-nav__toggle,.landing-nav__menu-login{display:none}.landing-nav__links{gap:clamp(1rem,2vw,1.75rem);margin-left:auto}.landing-nav__actions{gap:1.25rem}.landing-nav--floating .landing-nav__brand{width:7rem}.landing-nav--floating .landing-logo{height:2.1rem}.landing-nav--floating .landing-nav__links{gap:1.25rem}.landing-nav--floating .landing-nav__actions{gap:.75rem}.landing-nav__links a,.landing-footer a{color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:color var(--duration-fast)}.landing-nav__links a:hover,.landing-footer a:hover{color:var(--action-primary)}.landing-button{display:inline-flex;min-height:3.25rem;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1.15rem;border:1px solid var(--action-primary);border-radius:var(--radius-md);background:var(--action-primary);color:var(--text-on-action);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:background var(--duration-normal),border-color var(--duration-normal),transform var(--duration-fast)}.landing-button:hover{border-color:var(--action-primary-hover);background:var(--action-primary-hover);transform:translateY(-.125rem)}.landing-button:focus-visible,.landing-nav a:focus-visible,.landing-nav__toggle:focus-visible,.landing-footer a:focus-visible,.atelier-step:focus-visible,.product-window__footer button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.landing-button .material-symbols-rounded{font-size:1.125rem}.landing-button--small{min-height:2.6rem;padding-inline:.875rem;font-size:var(--text-xs)}.landing-button--secondary{border-color:var(--action-primary-border);background:var(--action-primary-subtle);color:var(--action-primary)}.landing-button--secondary:hover{border-color:var(--action-primary);background:var(--action-primary);color:var(--action-primary-hover)}@supports (color: color-mix(in lab,red,red)){.landing-button--secondary:hover{background:color-mix(in srgb,var(--action-primary) 16%,var(--surface-primary))}}.landing-hero{display:grid;grid-template-columns:minmax(0,.88fr) minmax(30rem,1.12fr);align-items:center;gap:clamp(3rem,7vw,7rem);min-height:calc(100svh - 5.75rem);padding-block:clamp(4rem,8vw,7.5rem)}.landing-hero__copy,.landing-hero__product{min-width:0}.landing-kicker,.landing-section__label{display:block;margin:0;color:var(--action-primary);font:600 .6875rem/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}.landing-hero h1,.landing-section h2,.landing-verify h2,.landing-paths h2,.landing-final h2{margin:0;font-family:var(--font-display);font-weight:600;letter-spacing:-.06em}.landing-hero h1{margin-top:1.5rem;font-size:clamp(3.15rem,5.25vw,5.2rem);line-height:.95}.landing-hero h1 em{color:transparent;font-style:normal;-webkit-text-stroke:1px var(--action-primary)}.landing-hero__intro{max-width:32rem;margin:1.5rem 0 0;color:var(--text-secondary);font-size:clamp(1rem,1.3vw,1.125rem);line-height:1.7}.landing-hero__detail{max-width:34rem;margin:.75rem 0 0;color:var(--text-primary);font-size:clamp(1rem,1.3vw,1.125rem);font-weight:600;line-height:1.65}.landing-hero__actions{gap:1.5rem;margin-top:2.25rem}.landing-hero__product{position:relative}.product-window{overflow:hidden;border:1px solid var(--brand-400);border-radius:var(--radius-xl);background:var(--surface-immersive);color:var(--neutral-100);box-shadow:var(--shadow-modal)}@supports (color: color-mix(in lab,red,red)){.product-window{border:1px solid color-mix(in srgb,var(--brand-400) 38%,var(--surface-immersive))}}.product-window__bar{min-height:3.3rem;justify-content:space-between;padding-inline:1.125rem;background:var(--surface-immersive);color:var(--neutral-400);font:600 .625rem/1 var(--font-mono);letter-spacing:.06em}@supports (color: color-mix(in lab,red,red)){.product-window__bar{background:color-mix(in srgb,var(--surface-immersive) 88%,var(--brand-800))}}.product-window__identity{gap:.55rem}.product-window__mark,.ai-dialogue__avatar{display:block;object-fit:contain}.product-window__mark{width:1.25rem;height:1.25rem}.product-window__mode{color:var(--brand-300);font-size:.5625rem}.product-window__workbench{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(10rem,.6fr);min-height:22rem}.code-pane{min-width:0;padding:1.15rem}.code-pane__heading{justify-content:space-between;gap:1rem;margin-bottom:1.5rem;color:var(--neutral-300);font:600 .625rem/1 var(--font-mono)}.code-pane__saved{display:inline-flex;align-items:center;color:var(--neutral-500)}.code-pane__lines{margin:0;padding-left:2.35rem;color:var(--neutral-300);font:500 clamp(.67rem,1vw,.78rem) / 1.85 var(--font-mono)}.code-pane__lines li{padding-left:.8rem}.code-pane__lines li::marker{color:var(--neutral-600)}.code-keyword,.compare-card b{color:var(--brand-300);font-weight:600}.product-window__result{display:flex;flex-direction:column;justify-content:center;padding:1.25rem;background:var(--surface-immersive)}@supports (color: color-mix(in lab,red,red)){.product-window__result{background:color-mix(in srgb,var(--surface-immersive) 84%,var(--brand-900))}}.result-heading{gap:.4rem;color:var(--neutral-400);font:600 .625rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.result-heading .material-symbols-rounded{color:var(--brand-300);font-size:1rem}.result-output{margin:1.5rem 0 1rem;color:var(--neutral-50);font:600 clamp(2.8rem,5vw,4.5rem) / 1 var(--font-mono)}.result-status{gap:.4rem;color:var(--success-100);font-size:.6875rem;font-weight:600}.result-status .material-symbols-rounded{color:var(--success-600);font-size:1rem}.result-tests{margin-top:2.25rem;padding:.875rem;border-radius:var(--radius-md);background:var(--surface-immersive-raised);color:var(--neutral-400);font:600 .625rem/1.4 var(--font-mono)}.result-tests strong{display:block;margin-top:.25rem;color:var(--neutral-100);font-size:1.25rem}.result-tests p{margin:.5rem 0 0;color:var(--success-100);font-size:.5625rem}.product-window__footer{min-height:3.35rem;justify-content:space-between;gap:1rem;padding-inline:1.125rem;background:var(--surface-immersive);color:var(--neutral-500);font:600 .5625rem/1 var(--font-mono)}@supports (color: color-mix(in lab,red,red)){.product-window__footer{background:color-mix(in srgb,var(--surface-immersive) 95%,var(--neutral-950))}}.product-window__footer button{display:inline-flex;min-height:2rem;align-items:center;gap:.4rem;padding-inline:.75rem;border:0;border-radius:var(--radius-sm);background:var(--brand-500);color:var(--surface-immersive);cursor:pointer;font:600 .625rem/1 var(--font-mono)}.product-window__footer button .material-symbols-rounded{font-size:.9rem}.landing-section{padding-block:0}#atelier,#comprends,#ecris,#verifie,#valide{scroll-margin-top:6.25rem}.landing-section--atelier{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:2rem}.landing-section__intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(15rem,.5fr);gap:3rem}.landing-section h2,.landing-verify h2,.landing-paths h2,.landing-final h2{font-size:clamp(2.4rem,4vw,4.35rem);line-height:.98}.landing-section__intro>p,.understand-copy>p,.bridge-copy>p,.validation-copy>p,.landing-paths__intro>p,.landing-final>p{margin:0;color:var(--text-secondary);font-size:var(--text-md);line-height:1.75}.atelier-steps{display:grid;grid-column:2;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:clamp(2.5rem,5vw,5rem)}.atelier-step{display:block;min-height:100%;padding:1.25rem;border:1px solid transparent;border-radius:var(--radius-lg);background:var(--surface-primary);color:var(--text-primary);text-decoration:none;transition:border-color var(--duration-normal),background var(--duration-normal)}.atelier-step:hover{border-color:var(--action-primary-border);background:var(--action-primary-subtle)}.atelier-step h3{margin:0;font:600 1.25rem/1 var(--font-display);letter-spacing:-.03em}.atelier-step p{max-width:14rem;margin:.75rem 0 0;color:var(--text-muted);font-size:var(--text-sm);line-height:1.6}.landing-section--understand,.landing-section--write,.landing-section--validate{display:grid;grid-template-columns:minmax(16rem,.62fr) minmax(0,1fr);align-items:center;gap:clamp(3rem,8vw,9rem)}.understand-copy>h2,.bridge-copy>h2,.validation-copy>h2{margin-top:1.25rem}.understand-copy>p:not(.landing-section__label),.bridge-copy>p:not(.landing-section__label),.validation-copy>p:not(.landing-section__label){margin-top:1.5rem}.understand-copy__note,.bridge-copy__note{padding:1rem;border-radius:var(--radius-md);background:var(--action-primary-subtle);color:var(--feedback-info-text)!important;font-size:var(--text-sm)!important}.understand-visual{display:grid;gap:1rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--surface-primary)}.understand-visual__path{display:grid;gap:.5rem}.understand-path__item{display:grid;grid-template-columns:2.25rem minmax(0,1fr);align-items:center;gap:.75rem;min-height:4.5rem;padding:.75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-secondary);color:var(--text-muted)}.understand-path__item--active{border-color:var(--action-primary-border);background:var(--action-primary-subtle)}.understand-path__item>div{display:grid;gap:.25rem}.understand-path__item strong{color:var(--text-primary);font-size:var(--text-sm);font-weight:600}.understand-path__item div span{color:var(--text-muted);font-size:var(--text-xs)}.understand-path__icon{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:var(--radius-sm);background:var(--surface-primary);color:var(--action-primary);font-size:1.125rem}.understand-visual__resource{margin-top:.5rem}.resource-preview{overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-secondary)}.resource-preview__header{gap:.5rem;min-height:2.75rem;padding-inline:.875rem;border-bottom:1px solid var(--border-default);color:var(--text-secondary);font:600 .6875rem/1 var(--font-mono)}.resource-preview__header>.material-symbols-rounded{color:var(--feedback-error-text);font-size:1rem}.resource-preview__tag{margin-left:auto;padding:.2rem .4rem;border-radius:var(--radius-sm);background:var(--surface-primary);color:var(--text-muted);font-size:.5625rem}.resource-preview__body{padding:1rem;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.65}.resource-preview__body strong{display:block;max-width:28rem;font-weight:600}.resource-preview__meta{justify-content:space-between;gap:1rem;padding:.75rem .875rem;border-top:1px solid var(--border-default);color:var(--text-muted);font:600 .5625rem/1 var(--font-mono)}.resource-preview__meta span:last-child{color:var(--action-primary)}.bridge-compare{display:grid;grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr);align-items:center;gap:.75rem}.compare-card{overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-primary)}.compare-card__head{display:flex;justify-content:space-between;gap:.5rem;padding:.875rem 1rem;background:var(--surface-secondary);color:var(--text-muted);font:600 .5625rem/1 var(--font-mono);letter-spacing:.06em}.compare-card__head span:first-child{color:var(--action-primary)}.compare-card pre{min-height:12rem;margin:0;padding:1.25rem 1rem;color:var(--text-secondary);font:500 clamp(.625rem,1vw,.75rem) / 1.85 var(--font-mono);white-space:pre-wrap}.bridge-compare__swap{display:flex;flex-direction:column;align-items:center;gap:.25rem;color:var(--action-primary);text-align:center}.bridge-compare__swap span{font:600 1.25rem/1 var(--font-mono)}.bridge-compare__swap small{color:var(--text-muted);font:600 .5rem/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.landing-verify{display:grid;grid-template-columns:minmax(17rem,.68fr) minmax(0,1.32fr);align-items:center;gap:clamp(3rem,7vw,7rem);padding:clamp(2rem,5vw,4.5rem);border-radius:var(--radius-xl)}.landing-verify h2{max-width:34rem;margin-top:1.5rem;color:var(--text-on-immersive)}.landing-verify h2 em{color:inherit;font-style:normal;-webkit-text-stroke-width:0}.landing-verify__copy>p:not(.landing-kicker){max-width:31rem;margin:1.5rem 0 0;color:var(--text-on-immersive-muted);font-size:var(--text-md);line-height:1.75}.landing-verify__principle{max-width:31rem;padding-left:.75rem;border-left:1px solid var(--action-primary-border);color:var(--brand-200)!important;font-size:var(--text-sm)!important;font-weight:600}.verification-experience{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:1rem}.verification-visual,.ai-dialogue{min-width:0;padding:1.125rem;border:1px solid var(--text-on-immersive-muted);border-radius:var(--radius-lg);background:var(--surface-immersive-raised)}@supports (color: color-mix(in lab,red,red)){.verification-visual,.ai-dialogue{border:1px solid color-mix(in srgb,var(--text-on-immersive-muted) 34%,transparent)}}.verification-visual__head{gap:.4rem;color:var(--text-on-immersive-muted);font:600 .5625rem/1.25 var(--font-mono);letter-spacing:.06em}.verification-visual__head>.material-symbols-rounded{color:var(--error-100);font-size:1rem}.verification-visual__head span:last-child{margin-left:auto;color:var(--error-100)}.verification-visual__issue{margin-top:1.25rem;padding:.75rem;border:1px solid var(--error-600);border-radius:var(--radius-md);background:var(--error-600)}@supports (color: color-mix(in lab,red,red)){.verification-visual__issue{border:1px solid color-mix(in srgb,var(--error-600) 42%,transparent)}}@supports (color: color-mix(in lab,red,red)){.verification-visual__issue{background:color-mix(in srgb,var(--error-600) 14%,var(--surface-immersive-raised))}}.verification-visual__issue div{display:grid;gap:.25rem}.verification-visual__issue strong{color:var(--text-on-immersive);font-size:var(--text-sm);font-weight:600}.verification-visual__issue div span{color:var(--text-on-immersive-secondary);font-size:var(--text-xs);line-height:1.5}.verification-visual code,.ai-message code{color:var(--brand-200);font-family:var(--font-mono)}.verification-visual__line{gap:.75rem;margin-top:1rem;padding:.75rem;border-radius:var(--radius-md);background:var(--text-on-immersive)}@supports (color: color-mix(in lab,red,red)){.verification-visual__line{background:color-mix(in srgb,var(--text-on-immersive) 8%,transparent)}}.verification-visual__line>span{color:var(--text-on-immersive-muted);font:500 var(--text-xs)/1 var(--font-mono)}.verification-visual__line code{min-width:0;overflow:hidden;color:var(--text-on-immersive-secondary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.verification-visual__hint{margin:1rem 0 0;color:var(--brand-200);font-size:var(--text-xs);line-height:1.5}.ai-dialogue__head{gap:.625rem}.ai-dialogue__avatar{width:2rem;height:2rem;flex:0 0 auto}.ai-dialogue__head div{display:flex;flex-direction:column;gap:.2rem}.ai-dialogue__head strong{color:var(--text-on-immersive);font-size:var(--text-sm);font-weight:600}.ai-dialogue__head span,.ai-dialogue__hint{color:var(--text-on-immersive-muted);font:600 .5625rem/1.4 var(--font-mono)}.ai-message{margin-top:1.5rem;padding:.875rem 1rem;border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.6}.ai-message--student{margin-left:1.5rem;background:var(--brand-700);color:var(--neutral-0)}.ai-message--agent{margin-right:.75rem;background:var(--text-on-immersive);color:var(--text-on-immersive-secondary)}@supports (color: color-mix(in lab,red,red)){.ai-message--agent{background:color-mix(in srgb,var(--text-on-immersive) 8%,transparent)}}.ai-message p{margin:0}.ai-dialogue__hint{margin:1.25rem 0 0;color:var(--brand-200)}.ai-dialogue__hint span{color:var(--text-on-immersive-muted)}.validation-visual{padding:clamp(1.5rem,3vw,2.25rem);border:1px solid var(--feedback-success-border);border-radius:var(--radius-xl);background:var(--feedback-success-bg);color:var(--feedback-success-text)}.validation-visual__top{justify-content:space-between;color:var(--feedback-success-text);font:600 .625rem/1 var(--font-mono);letter-spacing:.12em}.validation-visual__execution{display:flex;align-items:center;gap:.625rem;margin-top:1.25rem;padding:.75rem;border:1px solid var(--feedback-success-border);border-radius:var(--radius-md);background:var(--surface-primary)}.validation-visual__execution>.material-symbols-rounded{color:var(--success-600);font-size:1.25rem}.validation-visual__execution div{display:grid;gap:.15rem}.validation-visual__execution strong{color:var(--feedback-success-text);font-size:var(--text-sm);font-weight:600}.validation-visual__execution span{color:var(--text-muted);font-size:var(--text-xs)}.validation-visual>strong{display:block;max-width:14rem;margin-top:1.5rem;font:600 clamp(1.8rem,2.7vw,2.4rem) / 1.05 var(--font-display);letter-spacing:-.05em}.validation-visual>p{margin:.75rem 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.validation-visual__reference{display:flex;align-items:center;gap:.5rem;max-width:19rem;color:var(--feedback-success-text)!important;font-size:var(--text-sm)!important;line-height:1.6}.validation-visual__reference .material-symbols-rounded{flex:0 0 auto;font-size:1rem}.landing-paths{padding:clamp(2rem,5vw,4rem);border-radius:var(--radius-xl)}.landing-paths__intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(15rem,.5fr);gap:1.5rem 3rem}.landing-paths__intro .landing-section__label{grid-column:1 / -1}.landing-paths__intro>p:not(.landing-section__label){align-self:end}.landing-paths__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:clamp(2rem,4vw,3rem)}.landing-path-card{display:flex;min-height:17rem;flex-direction:column;padding:clamp(1.25rem,2vw,1.75rem);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-primary)}.landing-path-card__meta{margin:0;color:var(--action-primary);font:600 .625rem/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.landing-path-card h3{max-width:28rem;margin:1rem 0 0;color:var(--text-primary);font:600 clamp(1.3rem,2vw,1.65rem) / 1.12 var(--font-display);letter-spacing:-.035em}.landing-path-card>p:not(.landing-path-card__meta,.landing-path-card__stats){max-width:30rem;margin:1rem 0 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.65}.landing-path-card__stats{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.25rem 0 0;color:var(--text-muted);font:600 .625rem/1.5 var(--font-mono)}.landing-final{display:grid;grid-template-areas:"copy action" "proof proof";grid-template-columns:minmax(0,1fr) minmax(16rem,.42fr);align-items:start;gap:1.5rem clamp(2rem,6vw,6rem);min-height:25rem;padding:clamp(2rem,5vw,4rem);border-radius:var(--radius-xl)}.landing-final__copy{grid-area:copy}.landing-final__copy h2{max-width:37rem;font-size:clamp(2.7rem,4.6vw,4.85rem)}.landing-final__copy>p{max-width:33rem;margin:1.25rem 0 0;color:var(--text-on-immersive-secondary);font-size:var(--text-md);line-height:1.75}.landing-final__action{grid-area:action;align-self:end;padding:1.5rem;border-radius:var(--radius-lg);background:var(--surface-immersive-raised)}.landing-final__status{margin:0;color:var(--text-on-immersive-secondary);font:600 var(--text-sm)/1.4 var(--font-body)}.landing-final__prompt{max-width:16rem;margin:1rem 0 0;color:var(--neutral-100);font:600 1.05rem/1.45 var(--font-display);letter-spacing:-.02em}.landing-final__proof{grid-area:proof;margin:0;color:var(--text-on-immersive-muted);font:500 var(--text-xs)/1.6 var(--font-body)}.landing-button--inverse,.landing-button--inverse:hover{margin-top:2rem;border-color:var(--brand-700);background:var(--brand-700);color:var(--neutral-0)}.landing-footer{position:relative;display:grid;grid-template-columns:minmax(6.5rem,.45fr) minmax(11rem,.8fr) minmax(18rem,1.5fr);align-items:center;gap:1.5rem;min-height:7rem}.landing-footer:before{position:absolute;top:0;right:0;left:0;height:1px;background:var(--border-default);content:""}.landing-footer__brand{display:inline-flex;width:6.5rem}.landing-footer__logo{width:100%;height:2rem;object-fit:contain}.landing-footer__logo--dark{display:none}.landing-footer p{margin:0;color:var(--text-muted);font:600 .625rem/1.55 var(--font-mono)}.landing-footer__parent-note{padding-left:1rem;border-left:1px solid var(--border-default)}html.dark .landing-logo--light,html.dark .landing-footer__logo--light{display:none}html.dark .landing-logo--dark,html.dark .landing-footer__logo--dark{display:block}@media(max-width:960px){.landing-hero,.landing-section--understand,.landing-section--write,.landing-section--validate,.landing-verify{grid-template-columns:1fr}.landing-hero{gap:3rem;min-height:auto}.landing-hero__copy{width:100%;max-width:42rem}.landing-hero__product,.understand-visual,.bridge-compare,.verification-experience,.validation-visual{width:min(100%,42rem)}.landing-section--atelier{grid-template-columns:1fr;gap:1.25rem}.atelier-steps{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.landing-section__intro{max-width:55rem}.landing-verify{gap:3rem}.landing-paths__intro{grid-template-columns:1fr 1fr}.landing-footer{grid-template-columns:minmax(6.5rem,.45fr) minmax(0,1fr);padding-block:1.5rem}.landing-footer__parent-note{grid-column:2}}@media(max-width:720px){.landing{--landing-section-gap: 3.5rem}.landing-nav,.landing-hero,.landing-section,.landing-verify,.landing-paths,.landing-final,.landing-footer{width:min(100% - 2.5rem,75rem)}.landing-nav{top:.5rem;min-height:4.25rem;gap:.5rem;padding-inline:.875rem}.landing-nav__toggle{display:grid;width:2.75rem;height:2.75rem;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--action-primary-border);border-radius:var(--radius-md);background:var(--action-primary-subtle);color:var(--action-primary);cursor:pointer}.landing-nav__toggle .material-symbols-rounded{font-size:1.25rem}.landing-nav__links{position:absolute;top:calc(100% + .5rem);right:0;left:0;display:none;margin:0;padding:.5rem;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-page);box-shadow:var(--shadow-popover);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}@supports (color: color-mix(in lab,red,red)){.landing-nav__links{background:color-mix(in srgb,var(--surface-page) 96%,transparent)}}.landing-nav__links--open{display:grid;gap:.25rem}.landing-nav__links a{display:flex;min-height:2.75rem;align-items:center;padding-inline:.875rem;border-radius:var(--radius-sm)}.landing-nav__links a:hover{background:var(--action-primary-subtle)}.landing-nav__menu-login{display:flex!important;color:var(--action-primary)!important}.landing-nav__actions{margin-left:auto}.landing-nav__actions>.landing-button--secondary{display:none}.landing-hero{gap:2.5rem;padding-block:2.5rem 3.75rem}.landing-hero h1{font-size:clamp(var(--text-2xl),8.5vw,3.25rem)}.landing-hero h1 br,.understand-copy h2 br,.bridge-copy h2 br,.landing-verify h2 br{display:none}.landing-section--understand,.landing-section--write,.landing-section--validate,.landing-verify{gap:2rem}.product-window__workbench{grid-template-columns:1fr}.product-window__result{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:center}.result-output,.result-tests{margin:0}.result-status{grid-column:1}.result-tests{grid-row:1 / span 2;grid-column:2}.landing-section__intro,.landing-paths__intro{grid-template-columns:1fr;gap:1.25rem}.landing-paths__intro .landing-section__label{grid-column:auto}.atelier-steps,.landing-paths__grid,.verification-experience{grid-template-columns:1fr}.atelier-steps{margin-top:2rem}.understand-copy>p:not(.landing-section__label),.bridge-copy>p:not(.landing-section__label),.landing-verify__copy>p:not(.landing-kicker){margin-top:1.25rem}.understand-visual,.verification-experience,.validation-visual{width:100%}.bridge-compare{grid-template-columns:1fr;gap:1rem}.bridge-compare__swap{order:1}.compare-card--python{order:2}.compare-card pre{min-height:0}.landing-verify,.landing-paths{padding:1.75rem 1.25rem}.ai-message--student{margin-left:.75rem}.ai-message--agent{margin-right:0}.landing-path-card{min-height:0}.landing-final{grid-template-areas:"copy" "action" "proof";grid-template-columns:1fr;min-height:0;padding:1.75rem 1.25rem}.landing-final__action{padding:1.25rem}.landing-button--inverse{width:100%}.landing-footer{grid-template-columns:1fr;gap:1rem;min-height:0;padding-block:1.5rem}.landing-footer__parent-note{grid-column:auto;padding-top:1rem;padding-left:0;border-top:1px solid var(--border-default);border-left:0}}@media(max-width:520px){.landing-nav__brand{width:6.6rem}.landing-button--small{padding-inline:.65rem;font-size:.6875rem}.landing-hero__actions{width:100%;align-items:stretch;flex-direction:column;gap:.75rem}.landing-hero__actions .landing-button{width:100%}.product-window__footer>span{display:none}.product-window__footer{justify-content:flex-end}.understand-path__item{grid-template-columns:2.25rem minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.landing *,.landing *:before,.landing *:after{scroll-behavior:auto;transition-duration:1ms!important}}app-subscription-pack-management .spm-theme-access{grid-column:1 / -1}app-subscription-pack-management .spm-theme-access__form{display:grid;gap:1rem;padding:1.25rem}app-subscription-pack-management .spm-theme-access__feature-note,app-subscription-pack-management .spm-theme-access__summary,app-subscription-pack-management .spm-theme-access__empty{margin:0;color:var(--text-secondary);font-size:.75rem;line-height:1.5}app-subscription-pack-management .spm-theme-access__feature-note{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;border:1px solid var(--action-primary);border-radius:.625rem;background:var(--action-primary)}@supports (color: color-mix(in lab,red,red)){app-subscription-pack-management .spm-theme-access__feature-note{border:1px solid color-mix(in srgb,var(--action-primary) 28%,transparent)}}@supports (color: color-mix(in lab,red,red)){app-subscription-pack-management .spm-theme-access__feature-note{background:color-mix(in srgb,var(--action-primary) 8%,transparent)}}app-subscription-pack-management .spm-theme-access__feature-note .material-symbols-rounded{color:var(--action-primary);font-size:1rem}app-subscription-pack-management .spm-theme-access__modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.625rem;margin:0;padding:0;border:0}app-subscription-pack-management .spm-theme-access__mode,app-subscription-pack-management .spm-theme-access__theme{display:flex;align-items:flex-start;gap:.625rem;min-width:0;border:1px solid var(--border-default);border-radius:.75rem;color:var(--text-primary);background:var(--surface-secondary);cursor:pointer}app-subscription-pack-management .spm-theme-access__mode{min-height:5.25rem;padding:.75rem}app-subscription-pack-management .spm-theme-access__mode--selected{border-color:var(--action-primary);background:var(--action-primary);box-shadow:var(--focus-ring)}@supports (color: color-mix(in lab,red,red)){app-subscription-pack-management .spm-theme-access__mode--selected{background:color-mix(in srgb,var(--action-primary) 8%,var(--surface-secondary))}}app-subscription-pack-management .spm-theme-access__mode input,app-subscription-pack-management .spm-theme-access__theme input{flex:0 0 auto;margin:.1875rem 0 0;accent-color:var(--action-primary)}app-subscription-pack-management .spm-theme-access__mode>span,app-subscription-pack-management .spm-theme-access__theme>span{display:grid;gap:.1875rem;min-width:0}app-subscription-pack-management .spm-theme-access__mode strong,app-subscription-pack-management .spm-theme-access__theme strong{color:var(--text-primary);font-size:.8125rem}app-subscription-pack-management .spm-theme-access__mode small,app-subscription-pack-management .spm-theme-access__theme small{color:var(--text-secondary);font-size:.6875rem;font-weight:400;line-height:1.35}app-subscription-pack-management .spm-theme-access__summary{padding:.75rem;border-radius:.625rem;background:var(--surface-secondary)}app-subscription-pack-management .spm-theme-access__themes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;margin:0;padding:0;border:0}app-subscription-pack-management .spm-theme-access__themes--loading{padding:.75rem;border:1px solid var(--border-default);border-radius:.625rem;color:var(--text-secondary);font-size:.75rem}app-subscription-pack-management .spm-theme-access__theme{min-height:3.75rem;padding:.75rem}app-subscription-pack-management .spm-theme-access__mode:focus-within,app-subscription-pack-management .spm-theme-access__theme:focus-within{border-color:var(--action-primary);box-shadow:var(--focus-ring)}@media(max-width:640px){app-subscription-pack-management .spm-theme-access__modes,app-subscription-pack-management .spm-theme-access__themes{grid-template-columns:1fr}}*,*:before,*:after{box-sizing:border-box}html,body,app-root{height:100%;margin:0;padding:0}body{font-family:var(--font-body, "Inter", sans-serif);background-color:var(--bg-page);color:var(--text-primary);transition:background-color .25s ease,color .25s ease}app-root,.shell,.shell__content,.dashboard,.profile-page{background-color:var(--bg-page);transition:background-color .25s ease}.btn-primary{position:relative;overflow:hidden;width:100%;padding:1rem;background-color:var(--color-primary);background-image:none;color:var(--text-on-action);font-family:var(--font-display);min-height:2.75rem;font-size:.9375rem;font-weight:600;border-radius:var(--radius-md);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:none;transition:opacity var(--duration-fast),background-color var(--duration-normal)}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-primary:active{background-color:var(--action-primary-active)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.surface-card{border-radius:var(--radius-xl);overflow:hidden;background-color:var(--bg-surface);border:1px solid var(--border-default);box-shadow:none}html.dark .surface-card{box-shadow:none}.btn-pill{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:999px;background:var(--action-primary);color:var(--text-on-action);border:none;font-size:13px;font-weight:600;font-family:inherit;box-shadow:none;cursor:pointer;white-space:nowrap;transition:opacity .18s ease,transform .18s ease}.btn-pill:hover{background:var(--action-primary-hover)}.btn-pill .material-symbols-rounded{font-size:18px}.btn-ghost{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:10px;background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-default);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.btn-ghost:hover{background:var(--bg-page);border-color:var(--color-primary);color:var(--color-primary)}.btn-ghost .material-symbols-rounded{font-size:18px}.btn-danger{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:10px;background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.btn-danger:hover{background:var(--danger-bg-hover);border-color:var(--danger-border-hover)}.btn-danger .material-symbols-rounded{font-size:18px}.auth-field{display:flex;flex-direction:column;gap:.25rem}.auth-label{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.auth-input{width:100%;padding:.75rem 1rem;background-color:var(--bg-surface-alt);border:1px solid var(--border-default);min-height:2.75rem;border-radius:var(--radius-md);outline:none;transition:border-color .15s,box-shadow .15s,background-color .2s;font-family:var(--font-body);font-size:.9375rem;color:var(--text-primary)}.auth-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--teal-12)}.auth-input--white{background-color:var(--bg-surface)}.auth-input--error{border-color:var(--error-600)!important}.auth-input--icon-left{padding-left:2.75rem}.auth-input--icon-right{padding-right:3rem}.auth-input-wrapper{position:relative}.auth-input-icon-left{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:1.25rem;pointer-events:none;transition:color .15s}.auth-input-wrapper:focus-within .auth-input-icon-left{color:var(--color-primary)}.auth-input-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:var(--text-muted);background:none;border:none;cursor:pointer;padding:0;transition:color .15s;line-height:1}.auth-input-toggle:hover{color:var(--color-primary)}.auth-field-error{font-size:.75rem;color:var(--error-600);margin-top:.25rem}.auth-alert{display:flex;align-items:center;gap:.75rem;border-radius:.75rem;padding:.75rem 1rem;font-size:.875rem;margin-bottom:1.5rem;border-width:1px;border-style:solid}.auth-alert--error{background-color:var(--feedback-error-bg);border-color:var(--feedback-error-border);color:var(--feedback-error-text)}.auth-alert--success{background-color:var(--feedback-success-bg);border-color:var(--feedback-success-border);color:var(--feedback-success-text)}html.dark .auth-alert--error{background-color:#2d1515;border-color:#7f1d1d;color:#fca5a5}html.dark .auth-alert--success{background-color:#0d2818;border-color:#14532d;color:#86efac}.auth-link{color:var(--color-primary);font-weight:700;background:none;border:none;cursor:pointer;text-decoration:none;transition:text-decoration .1s}.auth-link:hover{text-decoration:underline}.zellige-pattern{background-color:var(--bg-surface-alt);background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0l15 15-15 15-15-15L30 0zm0 60l15-15-15-15-15 15 15 15zM0 30l15-15 15 15-15 15L0 30zm60 0l-15-15-15 15 15 15 15-15z' fill='%2304aea0' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E")}.auth-logo-badge{display:flex;align-items:center;justify-content:center;background-color:var(--color-primary);border-radius:.75rem;box-shadow:var(--shadow-teal);flex-shrink:0}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.dashboard-card{background-color:var(--bg-surface);border-radius:.875rem;border:1px solid var(--border-default);box-shadow:var(--shadow-card);overflow:hidden;transition:background-color .2s ease,border-color .2s ease}.dashboard-card__header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.75rem}.dashboard-card__title{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:.9375rem;font-weight:700;color:var(--color-deep-charcoal);letter-spacing:-.01em}.dashboard-cell{background-color:var(--bg-muted);border:1px solid var(--border-default);border-radius:.625rem;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.25rem;transition:background-color .2s ease,border-color .2s ease}.dashboard-cell__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-label)}.dashboard-cell__value{font-size:13.5px;font-weight:500;color:var(--color-deep-charcoal);font-family:var(--font-body);word-break:break-all}.dashboard-role-badge{display:inline-flex;align-items:center;padding:.2rem .625rem;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background-color:var(--teal-12);color:var(--color-primary-hover);border:1px solid var(--teal-20);width:fit-content;margin-top:.125rem}.cm-form-textarea{min-height:6rem;resize:vertical}.cm-examples{display:flex;flex-direction:column;gap:.875rem}.cm-examples__header,.cm-examples__item-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.cm-examples__item{padding:.875rem;border:1px solid var(--border-default);border-radius:.875rem;background:var(--bg-surface-alt)}.cm-examples__item-head{margin-bottom:.75rem}.cm-embedded-editor-shell{height:24rem;min-height:24rem}@media(max-width:860px){.cm-embedded-editor-shell{height:22rem;min-height:22rem}}@media(max-width:640px){.cm-embedded-editor-shell{height:20rem;min-height:20rem}}html.dark .auth-code-block span[style*="color:#334155"]{color:#adbac7!important}html.dark .auth-code-block span[style*="color:#94a3b8"]{color:#768390!important}.algo-tdo-title,.algo-tdo-header-text,.algo-tdo-fill{--tdo-fill: var(--brand-100);--tdo-ink: var(--brand-800)}html.dark .algo-tdo-title,html.dark .algo-tdo-header-text,html.dark .algo-tdo-fill{--tdo-fill: var(--brand-400);--tdo-ink: var(--brand-200)}@supports (color: color-mix(in lab,red,red)){html.dark .algo-tdo-title,html.dark .algo-tdo-header-text,html.dark .algo-tdo-fill{--tdo-fill: color-mix(in srgb, var(--brand-400) 20%, transparent)}}.algo-tdo-title,.algo-tdo-header-text{color:var(--tdo-ink)!important;font-weight:700}.algo-tdo-fill{background-image:linear-gradient(var(--tdo-fill),var(--tdo-fill));background-repeat:no-repeat;background-size:var(--tdo-fill-w, 100%) var(--tdo-fill-h, 100%);background-position:var(--tdo-fill-x, left) var(--tdo-fill-y, top)}.algo-tdo-fill--h-left{--tdo-fill-w: 50%;--tdo-fill-x: left}.algo-tdo-fill--h-right{--tdo-fill-w: 50%;--tdo-fill-x: right}.algo-tdo-fill--v-top{--tdo-fill-h: 50%;--tdo-fill-y: top}.algo-tdo-fill--v-bottom{--tdo-fill-h: 50%;--tdo-fill-y: bottom}.algo-link-line{background-color:var(--color-primary-15)}.pyodide-error-squiggly{text-decoration:underline wavy #e53e3e;text-decoration-skip-ink:none;text-underline-offset:3px}.pyodide-warning-squiggly{text-decoration:underline wavy #d69e2e;text-decoration-skip-ink:none;text-underline-offset:3px}.pyodide-error-line,.algo-error-line{background-color:color-mix(in srgb,#e53e3e 8%,transparent)!important;border-left:3px solid #e53e3e!important}.pyodide-warning-line,.algo-warning-line{background-color:color-mix(in srgb,#d69e2e 7%,transparent);border-left:3px solid #d69e2e}.algo-error-glyph{width:8px!important;height:8px!important;border-radius:50%!important;background-color:#e53e3e!important;margin-top:6px!important;margin-left:4px!important;cursor:pointer}.algo-warning-glyph{width:8px!important;height:8px!important;border-radius:50%!important;background-color:#d69e2e!important;margin-top:6px!important;margin-left:4px!important;cursor:pointer}html.dark .pyodide-error-line,html.dark .algo-error-line{background-color:color-mix(in srgb,#fc8181 10%,transparent)!important;border-left-color:#fc8181!important}html.dark .pyodide-warning-line,html.dark .algo-warning-line{background-color:color-mix(in srgb,#fbbf24 10%,transparent);border-left-color:#fbbf24}html.dark .algo-error-glyph{background-color:#fc8181!important}html.dark .algo-warning-glyph{background-color:#fbbf24!important}.monaco-editor .margin{background-color:inherit}.monaco-editor .suggest-widget.message{min-height:26px}.monaco-editor .suggest-widget>.message{display:flex;align-items:center;font-size:13px;line-height:1.4}.cm-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid transparent;border-radius:.5rem;background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .15s ease}.cm-icon-btn:hover{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-hover);transform:translateY(-1px)}@supports (color: color-mix(in lab,red,red)){.cm-icon-btn:hover{border-color:color-mix(in srgb,var(--color-primary) 20%,transparent)}}@supports (color: color-mix(in lab,red,red)){.cm-icon-btn:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}}.cm-icon-btn--danger:hover{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}.cm-icon-btn--lg{width:2.5rem;height:2.5rem;border-radius:.75rem}.cm-icon-btn--xl{width:2.55rem;height:2.55rem;border-radius:.875rem}.cm-stars{display:inline-flex;gap:.125rem}.cm-stars__star{color:var(--border-default);font-size:.8125rem}.cm-stars__star--filled{color:var(--amber)}.cm-status-badge{display:inline-flex;align-items:center;min-height:1.5rem;padding:0 .625rem;border:1px solid var(--border-default);border-radius:999px;background:var(--bg-muted);color:var(--text-secondary);font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.cm-status-badge--active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-hover)}@supports (color: color-mix(in lab,red,red)){.cm-status-badge--active{border-color:color-mix(in srgb,var(--color-primary) 25%,transparent)}}@supports (color: color-mix(in lab,red,red)){.cm-status-badge--active{background:color-mix(in srgb,var(--color-primary) 12%,transparent)}}html.dark .cm-status-badge{background:var(--bg-muted);border-color:var(--border-default)}html.dark .cm-status-badge--active{background:var(--color-primary);border-color:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){html.dark .cm-status-badge--active{background:color-mix(in srgb,var(--color-primary) 12%,transparent)}}@supports (color: color-mix(in lab,red,red)){html.dark .cm-status-badge--active{border-color:color-mix(in srgb,var(--color-primary) 25%,transparent)}}.cm-primary-btn{min-height:2.75rem;padding:0 1rem;border:none;border-radius:.75rem;background:linear-gradient(135deg,var(--teal-l),var(--teal-d));color:#fff;font-family:var(--font-display);font-size:.875rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-teal);transition:transform .15s ease,background-color .2s ease,border-color .2s ease,color .2s ease}.cm-primary-btn:hover{transform:translateY(-1px)}.cm-secondary-btn{min-height:2.75rem;padding:0 1rem;border:1px solid var(--border-default);border-radius:.75rem;background:var(--bg-muted);color:var(--text-secondary);font-size:.875rem;font-weight:700;cursor:pointer;transition:transform .15s ease,background-color .2s ease,border-color .2s ease,color .2s ease}.cm-secondary-btn:hover{transform:translateY(-1px)}.cm-secondary-btn--inline{display:inline-flex;align-items:center;gap:.375rem}.cm-outline-btn{min-height:2.75rem;padding:0 1rem;border:1px solid var(--border-default);border-radius:.75rem;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:700;cursor:pointer;transition:transform .15s ease,background-color .2s ease,border-color .2s ease,color .2s ease}.cm-outline-btn:hover{border-color:var(--color-primary);color:var(--color-primary-hover);background:var(--color-primary);transform:translateY(-1px)}@supports (color: color-mix(in lab,red,red)){.cm-outline-btn:hover{border-color:color-mix(in srgb,var(--color-primary) 24%,transparent)}}@supports (color: color-mix(in lab,red,red)){.cm-outline-btn:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}}html.dark .cm-primary-btn{background:linear-gradient(135deg,var(--teal-l),var(--teal-d))}.shared-icon-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:.5rem;background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .15s ease}.shared-icon-btn:hover{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-hover);transform:translateY(-1px)}@supports (color: color-mix(in lab,red,red)){.shared-icon-btn:hover{border-color:color-mix(in srgb,var(--color-primary) 20%,transparent)}}@supports (color: color-mix(in lab,red,red)){.shared-icon-btn:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}}.shared-icon-btn--sm{width:1.75rem;height:1.75rem}.shared-icon-btn--md{width:2rem;height:2rem}.shared-icon-btn--lg{width:2.5rem;height:2.5rem}.shared-icon-btn--danger:hover{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}.shared-stars{display:inline-flex;gap:.125rem}.shared-stars__star{color:var(--border-default);font-size:.875rem;transition:color .2s ease}.shared-stars__star--filled{color:var(--amber)}:host-context(html.dark) .shared-stars__star{color:var(--border-default)}:host-context(html.dark) .shared-stars__star--filled{color:var(--amber)}.shared-status-badge{display:inline-flex;align-items:center;min-height:1.5rem;padding:0 .625rem;border:1px solid var(--border-default);border-radius:999px;background:var(--bg-muted);color:var(--text-secondary);font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.shared-status-badge--active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-hover)}@supports (color: color-mix(in lab,red,red)){.shared-status-badge--active{border-color:color-mix(in srgb,var(--color-primary) 25%,transparent)}}@supports (color: color-mix(in lab,red,red)){.shared-status-badge--active{background:color-mix(in srgb,var(--color-primary) 12%,transparent)}}.shared-status-badge--pending{border-color:var(--amber);background:var(--amber);color:var(--amber)}@supports (color: color-mix(in lab,red,red)){.shared-status-badge--pending{border-color:color-mix(in srgb,var(--amber) 25%,transparent)}}@supports (color: color-mix(in lab,red,red)){.shared-status-badge--pending{background:color-mix(in srgb,var(--amber) 12%,transparent)}}.shared-copy-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .625rem;border-radius:.5rem;background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary);font-size:.6875rem;font-weight:700;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease;white-space:nowrap}.shared-copy-btn:hover{background:var(--teal-06);border-color:var(--color-primary);color:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.shared-copy-btn:hover{border-color:color-mix(in srgb,var(--color-primary) 20%,transparent)}}.shared-copy-btn--copied{background:var(--color-success);border-color:var(--color-success);color:var(--color-success)}@supports (color: color-mix(in lab,red,red)){.shared-copy-btn--copied{background:color-mix(in srgb,var(--color-success) 12%,transparent)}}@supports (color: color-mix(in lab,red,red)){.shared-copy-btn--copied{border-color:color-mix(in srgb,var(--color-success) 30%,transparent)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.page-title{margin:0;font-family:var(--font-display);font-size:clamp(1.4rem,2vw,1.75rem);line-height:1.15;letter-spacing:-.025em;color:var(--color-deep-charcoal)}:host-context(html.dark) .shared-copy-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary)}@supports (color: color-mix(in lab,red,red)){:host-context(html.dark) .shared-copy-btn:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent)}}@supports (color: color-mix(in lab,red,red)){:host-context(html.dark) .shared-copy-btn:hover{border-color:color-mix(in srgb,var(--color-primary) 25%,transparent)}}.res-loader-container{display:flex;align-items:center;justify-content:center;padding:48px;flex:1}.res-spinner{width:32px;height:32px;border:3px solid var(--border-subtle);border-top-color:var(--color-primary);border-radius:50%;animation:resSpin .8s linear infinite}@keyframes resSpin{to{transform:rotate(360deg)}}.res-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:var(--text-muted);text-align:center}.res-empty-state h3{margin:12px 0 6px;color:var(--text-primary);font-family:var(--font-display);font-size:1.1rem}.res-empty-state p{max-width:360px;margin:0;font-size:.85rem}.res-empty-state__action{display:inline-flex;align-items:center;gap:.35rem;margin-top:12px;padding:9px 14px;border:0;border-radius:8px;background:var(--color-primary);color:var(--text-on-primary);font-family:var(--font-display);font-size:.8rem;font-weight:600;text-decoration:none;cursor:pointer}.res-empty-state__action .material-symbols-rounded{font-size:1rem}.res-empty-state--error .res-empty-state__icon,.res-empty-state--error h3{color:var(--color-danger)}.res-empty-state__scene{position:relative;display:grid;width:6.5rem;height:5rem;place-items:center;border:1px solid var(--color-primary);border-radius:1.35rem;background:radial-gradient(circle at 70% 28%,var(--color-primary),transparent 34%),var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.res-empty-state__scene{border:1px solid color-mix(in srgb,var(--color-primary) 22%,var(--border-subtle))}}@supports (color: color-mix(in lab,red,red)){.res-empty-state__scene{background:radial-gradient(circle at 70% 28%,color-mix(in srgb,var(--color-primary) 18%,transparent),transparent 34%),color-mix(in srgb,var(--color-primary) 5%,var(--bg-surface))}}.res-empty-state__icon{position:relative;z-index:1;color:var(--color-primary);font-size:2.25rem}.res-empty-state__scene i{position:absolute;bottom:.72rem;width:.38rem;height:.38rem;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 .24rem var(--color-primary)}@supports (color: color-mix(in lab,red,red)){.res-empty-state__scene i{box-shadow:0 0 0 .24rem color-mix(in srgb,var(--color-primary) 11%,transparent)}}.res-empty-state__scene i:first-of-type{left:1.15rem;opacity:.4}.res-empty-state__scene i:last-of-type{right:1.15rem;opacity:.7}.res-progress--celebrating{animation:resProgressCelebrate .76s var(--ease-standard, ease-out)}.res-step--just-completed .res-step__marker,.res-step--just-completed .res-step__card{animation:resStepValidate .76s var(--ease-standard, ease-out)}@media(prefers-reduced-motion:reduce){.res-progress--celebrating,.res-step--just-completed .res-step__marker,.res-step--just-completed .res-step__card{animation:none}}@keyframes resStepValidate{0%{box-shadow:0 0 color-mix(in srgb,var(--color-success) 0%,transparent)}45%{box-shadow:0 0 0 .65rem color-mix(in srgb,var(--color-success) 18%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--color-success) 0%,transparent)}}@keyframes resProgressCelebrate{0%,to{transform:scale(1)}45%{transform:scale(1.025)}}@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-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: 0px;}@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-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;}@property --tw-ease{syntax: "*"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-border-style: solid;--tw-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-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;--tw-ease: initial}}}:root{color-scheme:light;--brand-50: #ecfeff;--brand-100: #cffafe;--brand-200: #a5f3fc;--brand-300: #67e8f9;--brand-400: #22d3ee;--brand-500: #06b6d4;--brand-600: #0891b2;--brand-700: #0e7490;--brand-800: #155e75;--brand-900: #164e63;--neutral-0: #ffffff;--neutral-50: #f8fafc;--neutral-100: #f1f5f9;--neutral-200: #e2e8f0;--neutral-300: #cbd5e1;--neutral-400: #94a3b8;--neutral-500: #64748b;--neutral-600: #475569;--neutral-700: #334155;--neutral-800: #1e293b;--neutral-900: #0f172a;--neutral-950: #080f1f;--success-50: #f0fdf4;--success-100: #dcfce7;--success-600: #16a34a;--success-800: #166534;--error-50: #fef2f2;--error-100: #fee2e2;--error-600: #dc2626;--error-800: #991b1b;--warning-50: #fffbeb;--warning-100: #fef3c7;--warning-600: #d97706;--warning-800: #92400e;--surface-page: var(--neutral-50);--surface-primary: var(--neutral-0);--surface-secondary: var(--neutral-100);--surface-elevated: var(--neutral-0);--surface-inverse: var(--neutral-900);--surface-immersive: var(--neutral-950);--surface-immersive-raised: rgb(255 255 255 / 6%);--surface-overlay: rgb(15 23 42 / 56%);--text-primary: var(--neutral-900);--text-secondary: var(--neutral-700);--text-muted: var(--neutral-500);--text-disabled: var(--neutral-400);--text-inverse: var(--neutral-50);--text-on-action: var(--neutral-0);--text-on-immersive: var(--neutral-50);--text-on-immersive-secondary: var(--neutral-300);--text-on-immersive-muted: var(--neutral-400);--border-subtle: var(--neutral-100);--border-default: var(--neutral-200);--border-strong: var(--neutral-300);--action-primary: var(--brand-700);--action-primary-hover: var(--brand-800);--action-primary-active: var(--brand-900);--action-primary-subtle: var(--brand-50);--action-primary-border: var(--brand-200);--action-danger: var(--error-600);--action-danger-hover: var(--error-800);--feedback-info-bg: var(--brand-50);--feedback-info-border: var(--brand-200);--feedback-info-text: var(--brand-800);--feedback-success-bg: var(--success-50);--feedback-success-border: var(--success-100);--feedback-success-text: var(--success-800);--feedback-warning-bg: var(--warning-50);--feedback-warning-border: var(--warning-100);--feedback-warning-text: var(--warning-800);--feedback-error-bg: var(--error-50);--feedback-error-border: var(--error-100);--feedback-error-text: var(--error-800);--metric-info: var(--brand-300);--metric-info-strong: var(--brand-700);--metric-progress: #a78bfa;--metric-progress-strong: #6d28d9;--metric-success: #34d399;--metric-success-strong: #047857;--metric-closed: #fb7185;--metric-closed-strong: #be123c;--focus-ring: 0 0 0 3px rgb(8 145 178 / 28%);--shadow-popover: 0 12px 32px rgb(15 23 42 / 12%);--shadow-modal: 0 24px 64px rgb(15 23 42 / 18%);--font-ui: "Fira Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-code: "Fira Code", "Cascadia Code", Consolas, monospace;--font-display: var(--font-ui);--font-body: var(--font-ui);--font-mono: var(--font-code);--text-xs: .75rem;--text-sm: .8125rem;--text-md: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .625rem;--radius-xl: .875rem;--radius-full: 999px;--duration-fast: .12s;--duration-normal: .16s;--duration-panel: .2s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--syntax-keyword: #1e3a8a;--syntax-string: #b45309;--syntax-default: #334155;--syntax-comment: #64748b;--bg-page: var(--surface-page);--bg-surface: var(--surface-primary);--bg-surface-alt: var(--surface-secondary);--bg-muted: var(--surface-secondary);--bg: var(--surface-page);--bg2: var(--surface-secondary);--surf: var(--surface-primary);--surf2: var(--surface-secondary);--tx: var(--text-primary);--tx2: var(--text-secondary);--tx3: var(--text-muted);--bdr: var(--border-default);--bdr2: var(--border-strong);--text-label: var(--text-muted);--text-on-primary: var(--text-on-action);--color-primary: var(--action-primary);--color-primary-hover: var(--action-primary-hover);--color-deep-charcoal: var(--text-primary);--color-background-light: var(--surface-page);--color-error: var(--error-600);--color-success: var(--success-600);--color-accent-gold: #d4af37;--color-primary-05: color-mix(in srgb, var(--color-primary) 5%, transparent);--color-primary-10: color-mix(in srgb, var(--color-primary) 10%, transparent);--color-primary-15: color-mix(in srgb, var(--color-primary) 15%, transparent);--color-primary-20: color-mix(in srgb, var(--color-primary) 20%, transparent);--color-primary-30: color-mix(in srgb, var(--color-primary) 30%, transparent);--bg-surface-hover: var(--surface-secondary);--border-hover: var(--border-strong);--color-danger: var(--danger-text);--color-info: var(--bl);--color-amber: var(--amber);--color-warning: var(--amber);--text-tertiary: var(--text-disabled);--color-primary-dark: var(--action-primary-active);--bg-code: var(--surface-secondary);--theme-color: var(--color-primary);--theme-surface: var(--surface-secondary);--theme-text: var(--text-primary);--persona-color: var(--text-secondary);--delay: 0s;--x: 0px;--teal: var(--brand-700);--teal-l: var(--brand-600);--teal-d: var(--brand-800);--teal-06: rgb(8 145 178 / 6%);--teal-12: rgb(8 145 178 / 12%);--teal-20: rgb(8 145 178 / 20%);--bl: var(--brand-700);--bl-10: rgb(14 116 144 / 10%);--bl-20: rgb(14 116 144 / 20%);--pu: var(--brand-800);--pu-10: rgb(21 94 117 / 10%);--amber: var(--warning-600);--or: var(--warning-600);--or-10: rgb(217 119 6 / 10%);--or-20: rgb(217 119 6 / 20%);--or-bdr: var(--warning-100);--amber-06: rgb(217 119 6 / 6%);--amber-12: rgb(217 119 6 / 12%);--amber-20: rgb(217 119 6 / 20%);--re: var(--error-600);--re-10: rgb(220 38 38 / 10%);--re-20: rgb(220 38 38 / 20%);--re-30: rgb(220 38 38 / 30%);--r-input: var(--radius-md);--r-card: var(--radius-lg);--shadow-card: none;--shadow-teal: none;--danger-text: var(--error-600);--danger-border: var(--error-100);--danger-bg: var(--error-50);--danger-bg-hover: var(--error-100);--danger-border-hover: #fca5a5}html.dark{color-scheme:dark;--surface-page: #0b1220;--surface-primary: #111a2b;--surface-secondary: #172235;--surface-elevated: #1b283d;--surface-inverse: var(--neutral-50);--surface-overlay: rgb(2 6 23 / 72%);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-disabled: #64748b;--text-inverse: var(--neutral-900);--text-on-action: var(--neutral-950);--border-subtle: #1e2a3d;--border-default: #2a3950;--border-strong: #3d4e67;--action-primary: var(--brand-500);--action-primary-hover: var(--brand-400);--action-primary-active: var(--brand-300);--action-primary-subtle: rgb(6 182 212 / 12%);--action-primary-border: rgb(34 211 238 / 30%);--feedback-info-bg: rgb(6 182 212 / 10%);--feedback-info-border: rgb(34 211 238 / 25%);--feedback-info-text: var(--brand-200);--feedback-success-bg: rgb(22 163 74 / 12%);--feedback-success-border: rgb(34 197 94 / 28%);--feedback-success-text: #86efac;--feedback-warning-bg: rgb(217 119 6 / 12%);--feedback-warning-border: rgb(245 158 11 / 28%);--feedback-warning-text: #fcd34d;--feedback-error-bg: rgb(220 38 38 / 12%);--feedback-error-border: rgb(248 113 113 / 28%);--feedback-error-text: #fca5a5;--metric-info-strong: var(--brand-300);--metric-progress-strong: #a78bfa;--metric-success-strong: #4ade80;--metric-closed-strong: #fda4af;--focus-ring: 0 0 0 3px rgb(34 211 238 / 35%);--shadow-popover: 0 16px 40px rgb(0 0 0 / 32%);--shadow-modal: 0 24px 72px rgb(0 0 0 / 48%);--danger-text: #fca5a5;--danger-border: rgb(248 113 113 / 28%);--danger-bg: rgb(220 38 38 / 12%);--danger-bg-hover: rgb(220 38 38 / 20%);--danger-border-hover: rgb(248 113 113 / 45%);--syntax-keyword: #93c5fd;--syntax-string: #fcd34d;--syntax-default: #cbd5e1;--syntax-comment: #94a3b8;--teal: var(--brand-400);--teal-l: var(--brand-300);--teal-d: var(--brand-500);--teal-06: rgb(34 211 238 / 8%);--teal-12: rgb(34 211 238 / 14%);--teal-20: rgb(34 211 238 / 22%);--bl: var(--brand-400);--bl-10: rgb(34 211 238 / 10%);--bl-20: rgb(34 211 238 / 20%);--pu: #a78bfa;--pu-10: rgb(167 139 250 / 12%);--amber: #fbbf24;--amber-06: rgb(251 191 36 / 8%);--amber-12: rgb(251 191 36 / 14%);--amber-20: rgb(251 191 36 / 22%);--or: #fbbf24;--or-10: rgb(251 191 36 / 12%);--or-20: rgb(251 191 36 / 22%);--or-bdr: rgb(251 191 36 / 28%);--re: #f87171;--re-10: rgb(248 113 113 / 12%);--re-20: rgb(248 113 113 / 22%);--re-30: rgb(248 113 113 / 30%);--color-error: #f87171;--color-success: #86efac}html{background:var(--surface-page)}body{min-width:20rem;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-md);line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}code,pre,kbd,samp{font-family:var(--font-code)}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--action-primary);outline-offset:2px;box-shadow:var(--focus-ring)}::selection{background:var(--brand-200);color:var(--brand-900)}.codna-brand{display:block;width:auto;max-width:100%;object-fit:contain}.codna-brand--wordmark{height:2rem}.codna-logo-pair{display:inline-flex;align-items:center;width:10rem;height:3rem;flex:0 0 auto}.codna-logo-pair>.codna-brand{width:100%;height:100%}.codna-brand--on-dark,html.dark .codna-brand--on-light{display:none}html.dark .codna-brand--on-dark{display:block}.codna-logo-pair--compact{width:5.75rem;height:2rem}.codna-logo-pair--navbar{width:6.5rem;height:2.25rem}.tn-flag-wrap{position:fixed;top:1rem;right:1rem;z-index:20;overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-sm);line-height:0}.tn-flag-wrap img{display:block}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.auth-studio{--story-bg: #07131f;--story-text: #f4fbfc;--story-muted: #8ba0ae;--story-accent: #22d3ee;display:block}.auth-studio{display:grid;grid-template-columns:minmax(22rem,1fr) minmax(28rem,.95fr);min-height:100svh;overflow:hidden;background:var(--surface-primary);color:var(--text-primary)}.login-story{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-start;min-width:0;padding:clamp(1.5rem,3vw,3.25rem);overflow:hidden;color:var(--story-text);background:var(--story-bg);isolation:isolate}.login-story:before{content:"";position:absolute;inset:0 auto 0 0;width:.3rem;background:var(--story-accent);opacity:.85;pointer-events:none}.story-content{position:relative;z-index:1}.story-logo{display:inline-flex;position:absolute;top:clamp(1.25rem,2.5vw,2.5rem);left:clamp(1.5rem,3vw,3.25rem);z-index:2;width:10rem;height:3rem;object-fit:contain}.story-logo img{width:100%;height:100%;object-fit:contain}.story-logo:focus-visible{outline:none;border-radius:var(--radius-sm);box-shadow:var(--focus-ring)}.story-content{width:min(100%,34rem);margin-top:clamp(4.5rem,10vh,6.5rem)}.story-kicker{display:flex;align-items:center;gap:.75rem;margin:0 0 .75rem;color:var(--story-accent);font:600 .6875rem/1 var(--font-code);letter-spacing:.16em;text-transform:uppercase}.story-kicker span{font-size:1.25rem}.story-content h1{max-width:12ch;margin:0;color:var(--story-text);font-family:var(--font-display);font-size:clamp(3.15rem,4.6vw,5.25rem);font-weight:650;letter-spacing:-.07em;line-height:.88}.story-content h1 span{display:block;color:transparent;-webkit-text-stroke:1px rgb(244 251 252 / 72%)}.story-content h1.story-title{display:grid;gap:.1em;line-height:.8}.story-content h1.story-title .story-title__line{color:var(--story-text);-webkit-text-stroke:0}.story-content h1.story-title .story-title__line--outline{color:transparent;-webkit-text-stroke:1px rgb(244 251 252 / 72%)}.story-content h1.story-title .story-title__line--accent{color:transparent;-webkit-text-stroke:1px var(--story-accent)}.story-intro{max-width:28rem;margin:1.25rem 0 0;color:var(--story-muted);font-size:clamp(.9rem,1.1vw,1rem);line-height:1.7}.story-footnote{display:inline-flex;width:fit-content;margin:1.5rem 0 0;color:#22d3eeb8;font:600 .625rem/1 var(--font-code);letter-spacing:.13em;text-transform:uppercase}.login-access{position:relative;z-index:2;display:flex;flex-direction:column;min-width:0;padding:.75rem clamp(2rem,5vw,6rem);overflow:auto;background:var(--surface-primary)}.access-body{position:relative;z-index:1}.access-body{display:flex;flex:1;width:min(100%,28rem);flex-direction:column;justify-content:center;margin-inline:auto;padding-block:.75rem}.access-heading{margin-bottom:1.25rem}.access-heading h2{margin:0;color:var(--text-primary);font-family:var(--font-display);font-size:clamp(2.5rem,4vw,4.25rem);font-weight:650;letter-spacing:-.055em;line-height:.98}.access-heading>p:last-child{max-width:24rem;margin:.75rem 0 0;color:var(--text-muted);line-height:1.65}.login-form{display:flex;flex-direction:column;gap:.75rem}.login-field{display:flex;flex-direction:column;gap:.375rem}.login-field label,.forgot-link{color:var(--text-secondary);font-size:.75rem;font-weight:650}.login-field__topline{display:flex;align-items:center;justify-content:space-between;gap:1rem}.forgot-link{padding:0;border:0;background:none;color:var(--action-primary);cursor:pointer;text-decoration:none}.forgot-link:hover{color:var(--action-primary-hover);text-decoration:underline}.forgot-link:focus-visible{border-radius:var(--radius-sm);outline:none;box-shadow:var(--focus-ring)}.login-control{position:relative}.login-control>span:first-child{position:absolute;top:50%;left:1rem;z-index:1;color:var(--text-muted);font-size:1.125rem;transform:translateY(-50%);pointer-events:none}.login-control input,.login-control select{width:100%;min-height:3rem;padding:.75rem 3rem;border:1px solid var(--border-default);border-radius:var(--radius-md);outline:none;background:var(--surface-secondary);color:var(--text-primary);font:500 .875rem/1.4 var(--font-body);transition:border-color var(--duration-normal),background var(--duration-normal),box-shadow var(--duration-normal)}.login-control input::placeholder{color:var(--text-disabled)}.login-control input:focus,.login-control select:focus{border-color:var(--action-primary);background:var(--surface-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--action-primary) 16%,transparent)}.login-control input.login-control__input--error,.login-control select.login-control__input--error{border-color:var(--error-600)}.login-control:focus-within>span:first-child{color:var(--action-primary)}.password-toggle{position:absolute;top:50%;right:1rem;display:grid;width:2rem;height:2rem;padding:0;place-items:center;border:0;border-radius:var(--radius-md);background:none;color:var(--text-muted);cursor:pointer;transform:translateY(-50%)}.login-error{margin:0;color:var(--feedback-error-text);font-size:.75rem}.login-field__hint{margin:0;color:var(--text-muted);font-size:.75rem;line-height:1.4}.login-submit{display:inline-flex;width:100%;min-height:3rem;align-items:center;justify-content:center;gap:.75rem;margin-top:.25rem;padding:.75rem 1.15rem;border:1px solid var(--action-primary);border-radius:var(--radius-md);background:var(--action-primary);color:var(--text-on-action);font-family:var(--font-body);cursor:pointer;transition:background var(--duration-normal),transform var(--duration-fast)}.login-submit:hover:not(:disabled){border-color:var(--action-primary-hover);background:var(--action-primary-hover);transform:translateY(-.125rem)}.login-submit:disabled{cursor:wait;opacity:.65}.login-submit__label{display:flex;align-items:center;justify-content:center;gap:.625rem;font-size:.875rem;font-weight:700;letter-spacing:.01em}.login-submit__arrow{font-size:1.125rem;transition:transform var(--duration-normal)}.login-submit:hover .login-submit__arrow{transform:translate(.2rem)}.login-spinner{width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.join-block{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem;padding-top:0}.join-block div{color:var(--text-muted);font-size:.75rem}.auth-switch-button{flex:0 0 auto;font-family:var(--font-body);cursor:pointer}.auth-switch-button .material-symbols-rounded{font-size:1rem}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.auth-studio{grid-template-columns:minmax(0,1.15fr) minmax(27rem,1fr)}}@media(max-width:860px){.auth-studio{display:block;min-height:100svh;overflow:visible}.login-story{min-height:18rem;padding:1.5rem clamp(1.25rem,5vw,3rem) 2rem}.login-story:before{inset:0 auto 0 0}.story-intro,.story-footnote{display:none}.story-logo{top:1rem;left:clamp(1.25rem,5vw,3rem);width:8rem;height:2.5rem}.story-content{margin:auto 0 0}.story-kicker{margin-bottom:.75rem}.story-content h1{max-width:none;font-size:clamp(2.75rem,10vw,4.5rem)}.login-access{min-height:calc(100svh - 18rem);padding:1.5rem clamp(1.25rem,7vw,4rem);overflow:visible}.access-body{width:min(100%,32rem);padding-block:3rem}.access-heading h2{font-size:clamp(2.5rem,9vw,3.5rem)}}@media(min-width:861px){.auth-studio{height:100svh}.login-access{min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.login-access .access-body{width:min(100%,36rem)}.story-content{margin-top:clamp(5.5rem,12vh,7.5rem)}.story-kicker{margin-bottom:1rem}.story-content h1{line-height:.95}.story-intro{margin-top:1.5rem}.story-footnote{margin-top:1.75rem}}@media(min-width:861px)and (max-height:800px){.login-story{padding-block:1.5rem}.story-content{margin-top:clamp(5rem,10vh,6.25rem)}.login-access{padding-block:.5rem}.access-body{padding-block:.375rem}.access-heading{margin-bottom:1rem}}@media(max-width:520px){.login-story{min-height:12rem}.story-content h1{font-size:2.5rem}.story-kicker{font-size:.5625rem}.login-access{min-height:calc(100svh - 12rem);padding-inline:1.25rem}.access-heading{margin-bottom:1.25rem}.access-heading h2{font-size:2.5rem}}
