.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Atkinson Hyperlegible,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;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}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.fixed{position:fixed}.grid{display:grid}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.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)}:root,[data-theme=high_contrast_dark]{--color-surface: #0a1c1e;--color-surface-2: #143033;--color-panel: #11282b;--color-ink: #eef6f3;--color-muted: #c2dbd3;--color-accent: #6fbfab;--color-accent-ink: #06201c;--color-danger: #f0a898;--color-success: #8fd4b0;--color-nav: #071617;--color-border: #3f6d68;--color-glow: color-mix(in srgb, #6fbfab 22%, transparent);--shadow-soft: 0 14px 42px rgba(2, 18, 16, .42);--font-body: "Atkinson Hyperlegible", system-ui, sans-serif;--font-display: "Fraunces", "Atkinson Hyperlegible", Georgia, serif;color-scheme:dark}html[data-room=braille]{--color-surface-2: #102a36;--color-panel: #0f2a32;--color-accent: #5eb4c8;--color-accent-ink: #041820;--color-border: #3d7084;--color-glow: color-mix(in srgb, #5eb4c8 24%, transparent);--color-nav: #07161c}html[data-theme=high_contrast_light][data-room=braille]{--color-surface-2: #d5e8ef;--color-panel: #f3fafc;--color-accent: #0f5f73;--color-accent-ink: #f2fcff;--color-border: #4a7a8a;--color-nav: #d7e7ed;--color-glow: color-mix(in srgb, #0f5f73 14%, transparent)}html[data-room=cursive]{--color-surface: #081614;--color-surface-2: #1a2c22;--color-panel: #12241c;--color-accent: #c4a574;--color-accent-ink: #1a1208;--color-border: #6f5a3a;--color-glow: color-mix(in srgb, #c4a574 20%, transparent);--color-nav: #06110e;--color-muted: #d5c7a8}html[data-theme=high_contrast_light][data-room=cursive]{--color-surface: #ebe4d6;--color-surface-2: #e0d5c2;--color-panel: #f7f3ea;--color-accent: #6b4f24;--color-accent-ink: #fff8ea;--color-border: #8a7048;--color-nav: #e4dccb;--color-muted: #3f3424;--color-glow: color-mix(in srgb, #6b4f24 12%, transparent)}[data-theme=high_contrast_light]{--color-surface: #e7f2ee;--color-surface-2: #d3e8e1;--color-panel: #f6fbf9;--color-ink: #0d2420;--color-muted: #2a4a44;--color-accent: #1f6f5f;--color-accent-ink: #f2fffb;--color-danger: #9f1239;--color-success: #166534;--color-nav: #dceae4;--color-border: #5a7d74;--color-glow: color-mix(in srgb, #1f6f5f 14%, transparent);--shadow-soft: 0 14px 36px rgba(13, 36, 32, .12);--font-body: "Atkinson Hyperlegible", system-ui, sans-serif;--font-display: "Fraunces", "Atkinson Hyperlegible", Georgia, serif;color-scheme:light}[data-theme=yellow_on_black]{--color-surface: #041210;--color-surface-2: #0b1f1c;--color-panel: #081816;--color-ink: #f3e6c0;--color-muted: #dcc999;--color-accent: #e4c978;--color-accent-ink: #141006;--color-danger: #ff8a80;--color-success: #b9f6ca;--color-nav: #020c0a;--color-border: #e4c978;--color-glow: color-mix(in srgb, #e4c978 18%, transparent);--shadow-soft: none;--font-body: "Atkinson Hyperlegible", system-ui, sans-serif;--font-display: "Fraunces", "Atkinson Hyperlegible", Georgia, serif;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{position:relative;isolation:isolate;font-family:var(--font-body);font-size:calc(20px * var(--text-scale, 1));line-height:1.45;background:var(--color-surface);color:var(--color-ink);overflow:hidden}body:before{content:"";position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 70% 50% at 18% 12%,var(--color-glow),transparent 58%),radial-gradient(ellipse 60% 45% at 88% 8%,color-mix(in srgb,var(--color-accent) 12%,transparent),transparent 55%),radial-gradient(circle at 50% 110%,var(--color-surface-2) 0%,transparent 55%),linear-gradient(165deg,var(--color-surface-2) 0%,var(--color-surface) 48%,var(--color-surface) 100%);animation:tide-drift 28s ease-in-out infinite alternate}@keyframes tide-drift{0%{transform:translate3d(-1.5%,-1%,0) scale(1.02)}to{transform:translate3d(1.5%,1.5%,0) scale(1.06)}}@keyframes rise-in{0%{opacity:0;transform:translateY(.65rem)}to{opacity:1;transform:translateY(0)}}@keyframes soft-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-.15rem)}}@keyframes panel-sheen{0%{background-position:0% 50%}to{background-position:100% 50%}}:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px;transition:outline-offset .12s ease}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}html[data-reduce-motion=true] *,html[data-reduce-motion=true] *:before,html[data-reduce-motion=true] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.app-shell{height:100dvh;display:grid;place-items:center;padding:1.5rem;padding-bottom:max(1.5rem,env(safe-area-inset-bottom));overflow:hidden}.frame-shell{height:100dvh;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;overflow:hidden;background:transparent}@media (min-width: 768px){.frame-shell{grid-template-columns:16rem 1fr;grid-template-rows:1fr}}.frame-main{min-height:0;min-width:0;overflow:hidden;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom))}@media (min-width: 768px){.frame-main{padding:1.25rem 1.5rem}}.panel{height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;border:2px solid var(--color-border);border-radius:1.1rem;background:color-mix(in srgb,var(--color-panel) 92%,transparent);box-shadow:var(--shadow-soft);padding:1.25rem;animation:rise-in .42s ease-out both}.nav-rail{display:flex;gap:.35rem;background:var(--color-nav);border-top:2px solid var(--color-border);padding:.5rem;padding-bottom:max(.5rem,env(safe-area-inset-bottom));overflow-x:auto}@media (min-width: 768px){.nav-rail{flex-direction:column;border-top:0;border-right:2px solid var(--color-border);padding:1rem .75rem;overflow:auto}}.nav-brand{display:none;margin:0 .5rem 1rem;font-family:var(--font-display);font-size:1.65rem;font-weight:650;letter-spacing:.01em;color:var(--color-accent)}.nav-brand .brand-mark{color:inherit}@media (min-width: 768px){.nav-brand{display:block}}.nav-link{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:3.5rem;min-width:3.5rem;padding:.65rem .9rem;border-radius:.85rem;border:0;background:transparent;color:var(--color-ink);text-decoration:none;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer;transition:background-color .18s ease,color .18s ease,transform .18s ease}.nav-link:hover{transform:translateY(-1px)}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;min-height:1.6rem;padding:0 .35rem;border-radius:999px;background:var(--color-accent);color:var(--color-accent-ink);font-size:.85rem;font-weight:700;line-height:1}.nav-link.is-active .nav-badge,.nav-link[aria-current=page] .nav-badge{background:var(--color-accent-ink);color:var(--color-accent)}.nav-link[aria-current=page],.nav-link.is-active{background:var(--color-accent);color:var(--color-accent-ink)}.nav-link:hover{background:color-mix(in srgb,var(--color-accent) 22%,transparent)}.main-panel{width:min(100%,40rem);text-align:center;animation:rise-in .42s ease-out both}.brand{margin:0 0 .75rem;font-family:var(--font-display);font-size:clamp(2.5rem,8vw,4rem);font-weight:650;letter-spacing:.01em;color:var(--color-accent);animation:soft-breathe 5.5s ease-in-out infinite}.brand-with-mark{display:flex;justify-content:center}.brand-mark{display:inline-flex;align-items:center;gap:.65rem;color:inherit}.brand-mark-icon{width:2.75rem;height:2.75rem;border-radius:.7rem;flex-shrink:0}.brand-mark-text{font-family:var(--font-display);font-weight:650;line-height:1}.landing-brand .brand-mark-icon{width:3.25rem;height:3.25rem}.nav-brand .brand-mark-icon{width:2rem;height:2rem;border-radius:.45rem}.nav-brand .brand-mark-text{font-size:1.45rem}.status{margin:0 0 1.25rem;font-size:1.35rem;font-weight:700;color:var(--color-ink)}.setup-panel{width:min(100%,36rem);text-align:left}.setup-panel .brand,.setup-panel .status{text-align:center}.setup-form,.settings-form{display:grid;gap:1rem}.field{display:grid;gap:.35rem}.field-label{font-weight:700;font-size:1.05rem}.field-input,.field-select{min-height:3.5rem;padding:.75rem 1rem;border:2px solid var(--color-border);border-radius:.75rem;background:var(--color-panel);color:var(--color-ink);font:inherit}.field-error{margin:0;font-size:1.05rem;font-weight:700;color:var(--color-danger)}.primary-button,.secondary-button{min-height:3.5rem;border-radius:.85rem;font:inherit;font-weight:700;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px);box-shadow:0 8px 22px color-mix(in srgb,var(--color-accent) 28%,transparent)}.primary-button{margin-top:.5rem;border:0;background:var(--color-accent);color:var(--color-accent-ink)}.primary-button:disabled{opacity:.7;cursor:wait}.secondary-button{border:2px solid var(--color-accent);background:transparent;color:var(--color-accent)}.link-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:0 1.25rem}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.banner{margin-top:1rem;padding:1.25rem;border:3px solid var(--color-accent);border-radius:1rem;background:color-mix(in srgb,var(--color-accent) 14%,transparent)}.banner p{margin:.5rem 0 0;font-weight:700}.lede,.auth-links,.meter,.masked-key,.success-text{font-weight:700}.lede{margin:-.5rem 0 1.25rem;text-align:center}.auth-links{margin-top:1.25rem;text-align:center}.auth-links a,.linkish{color:var(--color-accent);font:inherit;font-weight:700}.linkish{background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}.success-text{margin:0;font-size:1.05rem;color:var(--color-success)}.meter{margin:-.35rem 0 0}.masked-key{margin:0;font-size:1.15rem}.page-title{margin:0 0 .75rem;font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.2rem);font-weight:650;letter-spacing:.01em}.page-copy{margin:0 0 1rem;font-weight:700}.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tab-button{min-height:3rem;padding:.5rem 1rem;border:2px solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-ink);font:inherit;font-weight:700;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;cursor:pointer}.tab-button[aria-selected=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.stub-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.stub-card{border:2px solid var(--color-border);border-radius:1rem;padding:1rem;background:color-mix(in srgb,var(--color-panel) 80%,transparent)}.stub-card h2,.stub-card p{margin:0;font-weight:700}.stub-card p{margin-top:.35rem}.landing-shell{position:relative;height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:.75rem;padding:.85rem 1rem;padding-top:max(.85rem,env(safe-area-inset-top));padding-bottom:max(.85rem,env(safe-area-inset-bottom));overflow:hidden}.landing-atmosphere{pointer-events:none;position:absolute;inset:-10% -5% auto -5%;height:55%;background:radial-gradient(ellipse 70% 60% at 50% 0%,color-mix(in srgb,var(--color-accent) 22%,transparent),transparent 70%),radial-gradient(ellipse 40% 35% at 15% 40%,color-mix(in srgb,var(--color-accent) 10%,transparent),transparent 70%),radial-gradient(ellipse 35% 30% at 85% 35%,color-mix(in srgb,var(--color-success) 8%,transparent),transparent 70%);opacity:.95;animation:landing-drift 14s ease-in-out infinite alternate;z-index:0}.landing-shell>*:not(.landing-atmosphere){position:relative;z-index:1}@keyframes landing-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(0,1.5%,0) scale(1.04)}}.landing-hero{text-align:center;display:grid;gap:.55rem;justify-items:center;padding:.35rem .25rem .15rem;animation:rise-in .48s ease-out both}.landing-brand{margin:0;font-size:clamp(2.75rem,9vw,4.1rem);line-height:1.02;color:var(--color-accent);filter:drop-shadow(0 10px 28px color-mix(in srgb,var(--color-accent) 28%,transparent))}.landing-pitch{margin:0;max-width:36rem;font-size:clamp(1.15rem,3.2vw,1.45rem);line-height:1.35}.landing-cta{margin-top:.35rem}.landing-hero .primary-button,.landing-hero .secondary-button{margin-top:0;min-width:9rem}.landing-hero .primary-button{box-shadow:0 10px 28px color-mix(in srgb,var(--color-accent) 30%,transparent)}.landing-install-note{margin:.25rem 0 0;font-weight:700}.landing-controls{display:flex;flex-wrap:wrap;gap:.65rem 1rem;justify-content:center;align-items:end;padding:.55rem .85rem;border:2px solid color-mix(in srgb,var(--color-border) 80%,transparent);border-radius:1.15rem;background:color-mix(in srgb,var(--color-panel) 78%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:rise-in .52s ease-out both;animation-delay:60ms}.landing-controls .field-label{display:grid;gap:.2rem;font-weight:700}.landing-controls .field-select{min-height:3rem;min-width:11rem}.landing-sound-toggle{display:inline-flex!important;align-items:center;gap:.55rem;min-height:3rem;padding:0 .25rem;grid-auto-flow:column}.landing-sound-toggle input{width:1.35rem;height:1.35rem;accent-color:var(--color-accent)}.landing-main{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:.55rem;animation:rise-in .56s ease-out both;animation-delay:.1s}.landing-try-header{text-align:center;display:grid;gap:.2rem;justify-items:center}.landing-try-title{margin:0;font-family:var(--font-display);font-size:clamp(1.2rem,3vw,1.55rem);font-weight:650}.landing-try-copy{margin:0;max-width:40rem;font-weight:700;color:var(--color-muted)}.landing-main-tabs{flex-wrap:wrap;justify-content:center}.landing-panel{min-height:0;overflow:auto;border:2px solid var(--color-border);border-radius:1.25rem;padding:1rem 1.15rem;background:linear-gradient(165deg,color-mix(in srgb,var(--color-accent) 8%,transparent),transparent 42%),color-mix(in srgb,var(--color-panel) 94%,transparent);box-shadow:var(--shadow-soft)}.landing-panel-cursive{background:linear-gradient(165deg,color-mix(in srgb,#c4a574 12%,transparent),transparent 45%),color-mix(in srgb,var(--color-panel) 94%,transparent)}.landing-panel-braille{background:linear-gradient(165deg,color-mix(in srgb,#5eb4c8 12%,transparent),transparent 45%),color-mix(in srgb,var(--color-panel) 94%,transparent)}.trace-stage{display:grid;justify-items:center;padding:.35rem;border-radius:1rem;transition:box-shadow .22s ease,background-color .22s ease}.trace-stage.is-success{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 55%,transparent);background:color-mix(in srgb,var(--color-success) 10%,transparent)}.trace-stage.is-wrong{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 50%,transparent);background:color-mix(in srgb,var(--color-danger) 8%,transparent)}.demo-actions{display:flex;flex-wrap:wrap;gap:.5rem}.lesson-item-nav{display:grid;grid-template-columns:minmax(7rem,1fr) auto minmax(7rem,1fr);gap:.75rem;align-items:center;margin-top:.35rem}.lesson-item-nav-meter{margin:0;text-align:center;font-weight:700;font-size:1.15rem}.lesson-arrow-btn{min-height:3.25rem;min-width:7rem;padding:.55rem .9rem;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border:3px solid var(--color-border);border-radius:.85rem;background:color-mix(in srgb,var(--color-panel) 88%,transparent);color:var(--color-ink);font:inherit;font-size:1.15rem;font-weight:700;cursor:pointer}.lesson-arrow-btn.is-forward{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.lesson-arrow-btn:disabled{opacity:.45;cursor:not-allowed}.lesson-arrow-btn:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.lesson-nav-hint{margin:.15rem 0 0}.progress-lesson-link{display:inline-block;font-weight:700;text-decoration:underline;text-underline-offset:.18em;color:var(--color-ink)}.progress-lesson-link:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.demo-result{animation:rise-in .28s ease-out both}.landing-story{display:grid;gap:.85rem;max-width:48rem;margin:0 auto}.landing-story-lead{margin:0;font-size:1.15rem;font-weight:700;line-height:1.45}.landing-story .page-copy{margin:0;font-weight:700;color:var(--color-ink)}.landing-story-points{margin:0;padding-left:1.35rem;display:grid;gap:.45rem;font-weight:700}.landing-story-link-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:.25rem 0 0}.landing-story-link-row .primary-button,.landing-story-link-row .secondary-button{margin-top:0}.door-chooser{min-height:0;display:grid;gap:.85rem;align-content:start;animation:rise-in .42s ease-out both}.door-chooser-brand{display:flex;justify-content:center;color:var(--color-accent);font-size:1.75rem}.door-chooser-foot{margin:.25rem 0 0;text-align:center;font-weight:700}.door-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));min-height:0}.door-card{display:grid;gap:.75rem;align-content:start;border:3px solid var(--color-border);border-radius:1.15rem;padding:1.15rem 1.2rem;background:color-mix(in srgb,var(--color-panel) 92%,transparent);box-shadow:var(--shadow-soft);transition:transform .18s ease,border-color .18s ease,filter .18s ease,opacity .18s ease}.door-card.is-locked{filter:brightness(.72);opacity:.88}.door-card.is-recommended:not(.is-locked){border-color:var(--color-accent);box-shadow:var(--shadow-soft),0 0 0 3px color-mix(in srgb,var(--color-accent) 35%,transparent);transform:translateY(-2px)}.door-braille{--door-tint: #5eb4c8;border-color:color-mix(in srgb,#5eb4c8 55%,var(--color-border));background:linear-gradient(160deg,color-mix(in srgb,#5eb4c8 16%,transparent),transparent 55%),color-mix(in srgb,var(--color-panel) 94%,transparent)}.door-cursive{--door-tint: #c4a574;border-color:color-mix(in srgb,#c4a574 55%,var(--color-border));background:linear-gradient(160deg,color-mix(in srgb,#c4a574 14%,transparent),transparent 55%),color-mix(in srgb,#12241c 70%,var(--color-panel));filter:brightness(.92)}.door-cursive.is-recommended:not(.is-locked){filter:none}.door-card-title{margin:0;font-family:var(--font-display);font-size:1.55rem;font-weight:650;color:var(--door-tint, var(--color-accent))}.door-card-guide,.door-card-locked{margin:0;font-weight:700}.door-card .primary-button{margin-top:.25rem;justify-self:start}.pack-steps{margin:.5rem 0 0;padding-left:1.35rem;display:grid;gap:.85rem;font-weight:700}.pack-steps code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700}.content-pack-wizard .primary-button{margin-top:.35rem}@media (min-width: 1100px){.landing-shell{padding-inline:clamp(1rem,4vw,3rem)}.landing-panel{padding:1.25rem 1.5rem}.landing-story{max-width:54rem}}.demo-block{display:grid;gap:.75rem}.demo-title{margin:0;font-family:var(--font-display);font-size:1.4rem;font-weight:650}.braille-cell{display:grid;grid-template-columns:repeat(2,4.5rem);gap:.75rem;justify-content:center}.braille-dot{width:4.5rem;height:4.5rem;border-radius:999px;border:3px solid var(--color-accent);background:transparent;color:var(--color-ink);font:inherit;font-weight:700;transition:background-color .14s ease,color .14s ease,transform .14s ease,box-shadow .14s ease;cursor:pointer}.braille-dot:hover{transform:scale(1.04)}.braille-dot.is-on{background:var(--color-accent);color:var(--color-accent-ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 35%,transparent)}.cursive-canvas{width:min(100%,34rem);max-height:min(42dvh,22rem);aspect-ratio:5 / 4;touch-action:none;border:2px solid var(--color-border);border-radius:1rem;cursor:crosshair;justify-self:center;image-rendering:auto;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 18%,transparent);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.perkins-keyboard{display:grid;gap:.55rem;padding:.75rem .85rem;border:2px solid var(--color-border);border-radius:1rem;background:color-mix(in srgb,var(--color-panel) 88%,transparent)}.perkins-keyboard-title{margin:0;font-weight:700;font-size:1.05rem}.perkins-keyboard-rows{display:flex;flex-wrap:wrap;align-items:stretch;gap:.65rem 1rem;justify-content:center}.perkins-hand{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.perkins-gap{width:.75rem;min-height:1px}.perkins-key{min-width:3.5rem;min-height:3.5rem;padding:.35rem .55rem;display:grid;place-content:center;gap:.1rem;text-align:center;border:3px solid var(--color-border);border-radius:.65rem;background:color-mix(in srgb,var(--color-surface-2, var(--color-panel)) 92%,transparent);color:var(--color-ink);font:inherit;font-weight:700;cursor:default;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease,transform .12s ease}button.perkins-key{cursor:pointer}.perkins-key-letter{font-size:1.45rem;line-height:1;font-family:var(--font-display)}.perkins-key-dot{font-size:.85rem;line-height:1.1}.perkins-key.is-target{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 35%,transparent);background:color-mix(in srgb,var(--color-accent) 18%,var(--color-panel))}.perkins-key.is-pressed{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent);transform:translateY(2px)}.perkins-keyboard-hint{margin:0}@media (max-width: 480px){.perkins-key{min-width:3rem;min-height:3rem}.perkins-key-letter{font-size:1.25rem}}.cursive-canvas:hover{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 28%,transparent),0 12px 28px color-mix(in srgb,#000 22%,transparent)}.cursive-canvas:active{cursor:none}@media (prefers-reduced-motion: reduce){.landing-atmosphere{animation:none}.cursive-canvas:hover{transform:none}}html[data-reduce-motion=true] .landing-atmosphere{animation:none}kbd{border:2px solid var(--color-border);border-radius:.4rem;padding:.1rem .4rem;font:inherit;font-weight:700}.touch-braille{display:grid;gap:.75rem}.input-log{margin:1rem 0 0;padding-left:1.25rem;max-height:40dvh;overflow:auto;font-weight:700}.input-log code{font-size:.9em;word-break:break-word}.track-picker{display:grid;gap:.85rem}.track-card{display:grid;gap:.4rem;min-height:6rem;text-align:left;padding:1rem 1.1rem;border:3px solid var(--color-border);border-radius:1rem;background:color-mix(in srgb,var(--color-panel) 90%,transparent);color:var(--color-ink);font:inherit;cursor:pointer}.track-card-title{font-size:1.45rem;font-weight:700}.track-card-copy{font-weight:700}.track-braille.is-selected{border-color:#38bdf8;box-shadow:inset 0 0 0 3px #38bdf8}.track-cursive.is-selected{border-color:#f59e0b;box-shadow:inset 0 0 0 3px #f59e0b}.statusboard{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:.5rem}.status-grid{min-height:0;overflow:auto;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));padding-bottom:.5rem}.status-card{border:2px solid var(--color-border);border-radius:1rem;padding:1rem;background:color-mix(in srgb,var(--color-panel) 88%,transparent);display:grid;gap:.55rem;align-content:start}.status-card h2,.status-card p{margin:0;font-weight:700}.meter-bar{height:1rem;border:2px solid var(--color-border);border-radius:999px;overflow:hidden;background:var(--color-surface-2)}.meter-bar>span{display:block;height:100%;background:var(--color-accent)}.goal-choices{display:flex;flex-wrap:wrap;gap:.5rem}.secondary-button.is-selected{border-color:var(--color-accent);box-shadow:inset 0 0 0 2px var(--color-accent)}.continue-list{display:grid;gap:.5rem}.badge-list{margin:0;padding-left:1.1rem;font-weight:700}.celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:1rem;background:color-mix(in srgb,var(--color-surface) 72%,transparent)}.celebration-card{width:min(100%,28rem);border:3px solid var(--color-accent);border-radius:1.25rem;padding:1.5rem;background:var(--color-panel);display:grid;gap:.75rem;box-shadow:var(--shadow-soft);animation:celebrate-pop .45s ease-out}.celebration-overlay.is-static .celebration-card{animation:none}.celebration-eyebrow,.celebration-title,.celebration-detail{margin:0;font-weight:700}.celebration-title{font-size:clamp(1.6rem,5vw,2.2rem)}@keyframes celebrate-pop{0%{transform:scale(.92);opacity:.4}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.celebration-card{animation:none}}.braille-track,.braille-lesson,.lesson-player{min-height:0;display:grid;gap:.65rem;grid-template-rows:auto}.story-passage{margin:0;padding:.85rem 1rem;border-left:4px solid var(--color-accent);border-radius:0 .75rem .75rem 0;background:color-mix(in srgb,var(--color-panel) 70%,var(--color-accent) 12%);color:var(--color-ink);font-size:1.15rem;line-height:1.45;font-weight:700}.unit-list{min-height:0;overflow:auto;display:grid;gap:.75rem;padding-bottom:.5rem}.unit-card{border:2px solid var(--color-border);border-radius:1rem;padding:1rem;background:color-mix(in srgb,var(--color-panel) 88%,transparent)}.unit-card h2,.unit-card p{margin:0 0 .4rem;font-weight:700}.lesson-list{margin:.5rem 0 0;padding-left:1.1rem;font-weight:700}.lesson-list a{color:var(--color-ink);text-decoration-thickness:2px}.braille-cell-display{justify-self:center;display:grid;gap:.5rem;justify-items:center}.braille-cell-grid{display:grid;grid-template-columns:repeat(2,4.75rem);grid-template-rows:repeat(3,4.75rem);gap:.85rem}.braille-cell-dot{width:4.75rem;height:4.75rem;border-radius:999px;border:3px solid var(--color-accent);display:grid;place-items:center;background:transparent;color:var(--color-ink);font-weight:700}.braille-cell-dot.is-raised{background:var(--color-accent);color:var(--color-accent-ink)}.braille-cell-caption{margin:0}.choice-grid{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}.lesson-result{display:grid;gap:.75rem}.cursive-3d-shell{display:grid;gap:.55rem;justify-items:stretch}.cursive-guide-hint{margin:0;text-align:center}.trace-wrap.is-offpath .cursive-canvas{box-shadow:inset 0 0 0 3px var(--color-accent)}.cursive-canvas-stage{width:100%;max-width:none;max-height:min(52dvh,28rem);min-height:14rem;aspect-ratio:720 / 460;justify-self:stretch}.lesson-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;margin-bottom:.35rem}.lesson-home-mark{font-size:1.35rem;color:var(--color-accent)}.lesson-home-mark .brand-mark-icon{width:2rem;height:2rem}.brand-mark-link{text-decoration:none;color:inherit}.brand-mark-link:hover .brand-mark-text{text-decoration:underline;text-underline-offset:.18em}.brand-mark-link:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px;border-radius:.5rem}@media (max-width: 767px){.nav-brand{display:none}}.game-panel{display:grid;gap:.7rem;min-height:0}.dot-drop-stage{position:relative;height:min(40dvh,280px);border:2px solid var(--color-border);border-radius:1rem;overflow:hidden;background:color-mix(in srgb,var(--color-panel) 90%,#000)}.dot-drop-letter{position:absolute;transform:translate(-50%,-50%);min-width:3rem;min-height:3rem;display:grid;place-items:center;border:3px solid var(--color-accent);border-radius:.75rem;background:var(--color-surface-2);font-size:1.6rem}.match-grid{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr))}.match-card{min-height:6.5rem;border:3px solid var(--color-border);border-radius:1rem;background:var(--color-panel);color:var(--color-ink);font:inherit;cursor:pointer;display:grid;place-items:center}.match-card.is-matched{border-color:var(--color-success)}.match-letter{font-size:2rem}.lantern-game{background:radial-gradient(circle at top,#142033 0%,transparent 55%)}.lantern-row{display:flex;gap:.6rem;flex-wrap:wrap}.lantern{width:2.2rem;height:2.2rem;border-radius:999px;border:3px solid var(--color-border);background:transparent}.lantern.is-lit{background:#fbbf24;border-color:#f59e0b;box-shadow:0 0 16px #f59e0b}.thread-preview{height:.9rem;border:2px solid var(--color-border);border-radius:999px;overflow:hidden;background:var(--color-surface-2)}.thread-preview>span{display:block;height:100%;background:linear-gradient(90deg,var(--color-accent),#fbbf24)}.field-textarea{min-height:8rem;resize:vertical;line-height:1.4}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.inbox-layout{display:grid;gap:1rem;margin-top:1rem;min-height:0}@media (min-width: 900px){.inbox-layout{grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);align-items:start}}.inbox-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;max-height:min(50dvh,28rem);overflow:auto}.inbox-item{width:100%;display:grid;gap:.25rem;text-align:left;min-height:3.5rem;padding:.75rem 1rem;border:2px solid var(--color-border);border-radius:.75rem;background:var(--color-panel);color:var(--color-ink);font:inherit;cursor:pointer}.inbox-item.is-unread{border-color:var(--color-accent);box-shadow:inset 4px 0 0 var(--color-accent)}.inbox-item.is-selected,.inbox-item:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.inbox-item-title{font-size:1.05rem}.inbox-item-meta{font-size:.95rem;font-weight:700}.inbox-detail{border:2px solid var(--color-border);border-radius:1rem;padding:1rem;min-height:12rem}.inbox-body{margin:0;font-weight:700;white-space:pre-wrap;line-height:1.45}.report-form{display:grid;gap:1rem;margin-top:.5rem}.report-categories{margin:0;padding:0;border:0}.report-choice-grid{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.report-context{border:2px solid var(--color-border);border-radius:.75rem;padding:.75rem}.report-context summary{list-style:none;width:-moz-fit-content;width:fit-content}.report-context-pre{margin:.75rem 0 0;padding:.75rem;max-height:16rem;overflow:auto;border-radius:.5rem;background:var(--color-surface-2, #111);color:var(--color-ink);font-size:.9rem;line-height:1.35;white-space:pre-wrap;word-break:break-word}.report-history{margin-top:1.5rem}.plain-list{margin:0;padding-left:1.25rem;font-weight:700}html[data-shell=admin]{--color-surface: #0c1418;--color-surface-2: #152028;--color-panel: #121c24;--color-ink: #eef3f7;--color-muted: #b7c6d1;--color-accent: #7eb6d4;--color-accent-ink: #071018;--color-border: #4a6678;--color-nav: #0a1218;--color-glow: color-mix(in srgb, #7eb6d4 16%, transparent)}.frame-shell-admin{grid-template-columns:1fr;grid-template-rows:1fr auto}@media (min-width: 768px){.frame-shell-admin{grid-template-columns:15.5rem 1fr;grid-template-rows:1fr}}.panel-admin{max-width:none;width:100%;border-radius:.85rem;padding:1.25rem 1.5rem}.nav-rail-admin{background:var(--color-nav)}.nav-admin-tag,.nav-preview-banner{margin:0 .5rem .65rem;font-size:.95rem;font-weight:700;color:var(--color-accent)}.nav-preview-banner{padding:.45rem .65rem;border:2px solid var(--color-accent);border-radius:.65rem;background:color-mix(in srgb,var(--color-accent) 18%,transparent);color:var(--color-ink)}.nav-link-muted{opacity:.85;border:1px dashed var(--color-border)}.admin-home{display:grid;gap:1.1rem;animation:rise-in .4s ease-out both}.admin-home-header{display:grid;gap:.35rem}.admin-status-card,.admin-tool-card{display:grid;gap:.65rem;align-content:start;border:2px solid var(--color-border);border-radius:1rem;padding:1.1rem 1.2rem;background:color-mix(in srgb,var(--color-panel) 94%,transparent)}.admin-status-card{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 25%,transparent)}.admin-tool-card.is-primary{border-color:var(--color-accent)}.admin-card-title{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:650}.admin-tool-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr))}.admin-tool-card .primary-button,.admin-tool-card .secondary-button,.admin-status-card .primary-button,.admin-status-card .secondary-button{margin-top:.15rem;justify-self:start}.admin-home-foot{margin:.25rem 0 0;font-weight:700}.admin-filters{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));margin:1rem 0}.settings-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem}.admin-page{display:grid;gap:1rem;min-height:0;animation:rise-in .38s ease-out both}.admin-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.85rem 1.25rem}.admin-page-header .page-title{margin:0}.admin-page-header .page-copy{margin:.35rem 0 0;max-width:42rem}.admin-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.admin-segment{display:inline-flex;flex-wrap:wrap;gap:.35rem;padding:.3rem;border-radius:.9rem;background:color-mix(in srgb,var(--color-surface-2) 88%,transparent);border:2px solid var(--color-border)}.admin-segment-btn{min-height:3rem;min-width:3rem;padding:.55rem 1rem;border:0;border-radius:.7rem;background:transparent;color:var(--color-ink);font:inherit;font-weight:700;cursor:pointer;transition:background-color .16s ease,color .16s ease}.admin-segment-btn:hover{background:color-mix(in srgb,var(--color-accent) 16%,transparent)}.admin-segment-btn.is-selected,.admin-segment-btn[aria-selected=true]{background:var(--color-accent);color:var(--color-accent-ink)}.admin-segment-btn:focus-visible,.admin-icon-btn:focus-visible,.admin-chip-btn:focus-visible,.admin-key-btn:focus-visible,.admin-pick-main:focus-visible,.monitor-drag:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.admin-disclosure{border:2px solid var(--color-border);border-radius:1rem;background:color-mix(in srgb,var(--color-surface-2) 70%,var(--color-panel));padding:.35rem .85rem .85rem}.admin-disclosure-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .85rem;min-height:3rem;padding:.55rem .25rem;cursor:pointer;list-style:none;font-weight:700}.admin-disclosure-summary::-webkit-details-marker{display:none}.admin-disclosure-summary:before{content:"▸";color:var(--color-accent);font-weight:700}.admin-disclosure[open]>.admin-disclosure-summary:before{content:"▾"}.admin-disclosure-summary span{color:var(--color-muted);font-weight:700}.admin-pack-grid{display:grid;gap:.85rem;margin-top:.35rem;grid-template-columns:1fr}@media (min-width: 900px){.admin-pack-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.admin-pack-step,.admin-reseed{display:grid;gap:.65rem;align-content:start;padding:.9rem 1rem;border-radius:.85rem;border:2px solid var(--color-border);background:var(--color-panel)}.admin-step-num{margin:0;width:2.5rem;height:2.5rem;display:grid;place-items:center;border-radius:.65rem;background:var(--color-accent);color:var(--color-accent-ink);font-weight:700;font-size:1.15rem}.admin-editor-tabs{display:none;gap:.35rem;flex-wrap:wrap;padding:.3rem;border-radius:.9rem;background:color-mix(in srgb,var(--color-surface-2) 88%,transparent);border:2px solid var(--color-border)}@media (max-width: 1099px){.admin-editor-tabs{display:flex}}.admin-content-workspace{display:grid;gap:.85rem;min-height:0;grid-template-columns:1fr}@media (min-width: 1100px){.admin-content-workspace{grid-template-columns:minmax(13rem,16rem) minmax(13rem,16rem) minmax(0,1fr);align-items:stretch;min-height:min(58dvh,36rem)}.admin-editor-tabs{display:none}.admin-col{display:grid!important}}.admin-col{display:none;grid-template-rows:auto minmax(0,1fr);gap:.65rem;min-height:0;padding:.85rem;border:2px solid var(--color-border);border-radius:1rem;background:var(--color-panel)}.admin-col.is-active-pane{display:grid}.admin-col-title{margin:0;font-family:var(--font-display);font-size:1.2rem;font-weight:650}.admin-empty{margin:0;padding:1rem;border-radius:.75rem;background:color-mix(in srgb,var(--color-surface-2) 80%,transparent);font-weight:700}.admin-pick-list,.admin-item-list,.monitor-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;min-height:0;overflow:auto;overscroll-behavior:contain}.admin-pick{display:grid;gap:.4rem;padding:.45rem;border-radius:.85rem;border:2px solid transparent;background:color-mix(in srgb,var(--color-surface-2) 75%,transparent)}.admin-pick.is-selected{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 14%,var(--color-surface-2));box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 22%,transparent)}.admin-pick-main{display:grid;gap:.2rem;width:100%;min-height:3rem;padding:.55rem .65rem;border:0;border-radius:.65rem;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.admin-pick-main span{color:var(--color-muted);font-weight:700;font-size:.95rem}.admin-pick-actions{display:flex;flex-wrap:wrap;gap:.35rem;padding:0 .25rem .25rem}.admin-icon-btn,.admin-chip-btn,.admin-key-btn{min-height:3rem;min-width:3rem;padding:.45rem .75rem;border:2px solid var(--color-border);border-radius:.7rem;background:var(--color-surface-2);color:var(--color-ink);font:inherit;font-weight:700;cursor:pointer}.admin-icon-btn:hover,.admin-chip-btn:hover,.admin-key-btn:hover{border-color:var(--color-accent)}.admin-chip-btn.is-selected{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.admin-editor-form{display:grid;gap:.85rem;min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:.15rem}.admin-editor-row{display:grid;gap:.75rem;grid-template-columns:1fr}@media (min-width: 640px){.admin-editor-row{grid-template-columns:1fr 8rem}}.admin-item-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;border-radius:.7rem;background:color-mix(in srgb,var(--color-surface-2) 80%,transparent);font-weight:700}.admin-key-grid{display:grid;gap:.4rem;grid-template-columns:repeat(auto-fill,minmax(3rem,1fr))}.admin-key-btn{text-transform:lowercase}.monitoring-page{min-height:0}.monitor-host{min-width:0;width:100%}.monitor-stack{display:grid;gap:.85rem;grid-template-columns:1fr}@media (min-width: 560px) and (max-width: 799px){.monitor-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}.monitor-grid{margin-top:.25rem}.monitor-grid .react-grid-item{transition:none}.monitor-grid .react-grid-item>.react-resizable-handle:after{border-color:var(--color-accent)}.monitor-widget{display:grid;grid-template-rows:auto 1fr;gap:.35rem;height:100%;border:2px solid var(--color-border);border-radius:1rem;background:var(--color-panel);padding:.65rem .75rem .85rem;overflow:hidden;box-shadow:0 8px 24px color-mix(in srgb,#000 18%,transparent)}.frame-shell-admin,.frame-shell-admin .frame-main,.frame-shell-admin .panel-admin,.admin-page{width:100%;max-width:100%}.monitor-widget-static{height:auto;min-height:10rem}.monitor-widget-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:.15rem}.monitor-widget h2{margin:0 0 .55rem;font-family:var(--font-display);font-size:1.2rem;font-weight:650}.monitor-stat{margin:0;font-family:var(--font-display);font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.1}.monitor-hint{margin:.35rem 0 0;font-weight:700;color:var(--color-muted)}.monitor-drag{justify-self:start;min-height:3rem;min-width:3rem;padding:.35rem .75rem;border:2px solid var(--color-border);border-radius:.65rem;background:var(--color-surface-2);color:var(--color-muted);font:inherit;font-weight:700;cursor:grab}.monitor-drag:active{cursor:grabbing}.monitor-range{margin-bottom:.65rem}.monitor-list li{display:grid;gap:.15rem;padding:.55rem .65rem;border-radius:.65rem;background:color-mix(in srgb,var(--color-surface-2) 78%,transparent);font-weight:700}.monitor-list li span{color:var(--color-muted);font-size:.95rem}.monitor-list .ok{color:var(--color-success)}.monitor-list .fail{color:var(--color-danger)}.bar-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.bar-row{display:grid;gap:.2rem}.bar-meta{display:flex;justify-content:space-between;gap:.75rem;font-weight:700}.bar-track{height:.95rem;border:2px solid var(--color-border);border-radius:999px;overflow:hidden;background:var(--color-surface-2)}.bar-fill{display:block;height:100%;background:var(--color-accent)}.login-table-wrap{margin-top:1rem;max-height:min(55dvh,28rem);overflow:auto;border:2px solid var(--color-border);border-radius:.75rem}.login-table{width:100%;border-collapse:collapse;font-weight:700}.login-table th,.login-table td{padding:.75rem;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.login-table th{position:sticky;top:0;background:var(--color-panel)}html[data-shell=admin] .nav-link.is-active{background:var(--color-accent);color:var(--color-accent-ink)}html[data-shell=admin] .panel-admin{background:linear-gradient(165deg,color-mix(in srgb,var(--color-accent) 7%,transparent),transparent 42%),color-mix(in srgb,var(--color-panel) 96%,transparent)}@media (prefers-reduced-motion: reduce){.admin-page,.admin-home,.panel{animation:none}.nav-link:hover,.admin-segment-btn:hover{transform:none}}
