@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}:root{--bg: #0b0f13;--surface: #11161b;--surface-raised: #171d24;--hairline: #212932;--text: #e9eef3;--text-dim: #97a3ae;--text-faint: #626d78;--temper-cold: #8a939b;--temper-secure: #7fa8c9;--temper-watch: #e8c170;--temper-armed: #c77b3c;--temper-burn: #ff6b1a;--accent: var(--temper-secure);--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--body-font: "Space Grotesk Variable", "Space Grotesk", "Helvetica Neue", Arial, sans-serif;--step--1: .82rem;--step-0: 1rem;--step-1: 1.25rem;--step-2: 1.6rem;--step-3: clamp(2.2rem, 8vw, 3.4rem);--display: clamp(3.2rem, 17vw, 7rem)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--body-font);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{height:100%;display:flex;flex-direction:column}.micro-label{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:11px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}button,.btn{background:var(--surface-raised);border:1px solid var(--hairline);color:var(--text);padding:8px 14px;cursor:pointer;transition:opacity .12s ease,transform .12s ease}button:hover{border-color:var(--text-faint)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--temper-secure);outline-offset:2px}button.danger{border-color:var(--temper-burn);color:var(--temper-burn);background:transparent}input[type=text],input[type=password]{background:var(--surface);border:1px solid var(--hairline);color:var(--text);padding:10px 12px;width:100%}a{color:var(--temper-secure)}.landing{position:relative;width:100%;max-width:480px;margin:0 auto;padding:24px;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;flex-shrink:0;gap:18px}.ambient-field{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.landing>*:not(.ambient-field){position:relative;z-index:1}.landing-foot{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0;padding-top:16px;border-top:1px solid var(--hairline);text-align:center}.source-link{display:inline-flex;align-items:center;gap:8px;color:var(--text-dim);text-decoration:none;font-size:var(--step--1)}.source-link:hover{color:var(--text)}.source-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.masthead{text-align:center;margin:0}.eyebrow{display:block;margin:0 0 26px;color:var(--text-faint)}.tagline{margin:14px 0 0;font-size:var(--step-0);line-height:1.4;color:var(--text-dim)}.landing h1{font-size:var(--display);font-weight:500;letter-spacing:-.045em;line-height:.92;margin:0}.classes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.class-card{position:relative;display:flex;flex-direction:column;gap:2px;padding:13px 14px;border:1px solid var(--hairline);border-radius:2px;background:color-mix(in srgb,var(--surface) 72%,transparent);backdrop-filter:blur(6px);cursor:pointer;transition:border-color .12s ease,background .12s ease}.class-card:hover{border-color:var(--text-faint)}.class-card.is-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.class-card input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;margin:0}.class-card:focus-within{outline:2px solid var(--accent);outline-offset:2px}.class-name{font-weight:500;font-size:var(--step-0)}.class-note{font-size:var(--step--1);color:var(--text-dim)}.class-detail{margin:-6px 0 0;font-size:var(--step--1);line-height:1.5;color:var(--text-dim);min-height:2.9em}.panel{background:color-mix(in srgb,var(--surface) 72%,transparent);border:1px solid var(--hairline);border-radius:2px;padding:16px;margin:0;backdrop-filter:blur(6px)}input,select,textarea,button{max-width:100%;box-sizing:border-box;font-family:inherit}select{appearance:none;-webkit-appearance:none;background-color:var(--surface-raised);color:var(--text);border:1px solid var(--hairline);border-radius:2px;padding:10px 34px 10px 12px;font-size:var(--step--1);line-height:1.3;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--text-dim) 50%),linear-gradient(135deg,var(--text-dim) 50%,transparent 50%);background-position:right 15px center,right 10px center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}select:hover{border-color:var(--text-faint)}button.primary{display:block;width:100%;margin-top:12px;padding:12px 16px;font-size:var(--step-0);font-weight:500;color:var(--text);background:var(--surface-raised);border:1px solid var(--text-faint);border-radius:2px}button.primary:hover:not(:disabled){border-color:var(--text-dim);background:color-mix(in srgb,var(--text) 7%,var(--surface-raised))}button.primary:disabled{opacity:.55;cursor:default}select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}select option{background:var(--surface-raised);color:var(--text)}.field select,.field input[type=text],.field input[type=password]{width:100%}.hint .mono,.micro-label.mono,.error-text .mono{overflow-wrap:anywhere}.row>*,.field>*,.panel>*{min-width:0}.panel h2{font-size:13px;margin:0 0 12px}.field{margin-bottom:12px}.field label{display:block;margin-bottom:6px}.hint{font-size:12px;color:var(--text-dim);line-height:1.55}.error-text{color:var(--temper-burn);font-size:12px}.row{display:flex;gap:8px;align-items:center}.room-shell{flex:1;min-height:0;display:flex;flex-direction:column}.statusbar{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--hairline);background:var(--surface);flex-wrap:wrap}.statusbar .sep:before{content:"·";color:var(--text-faint)}button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.toggle-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-left:8px;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 22%,transparent)}.mode-tabs{display:inline-flex}.mode-tabs .mode-tab{padding:8px 12px}.mode-tabs .mode-tab+.mode-tab{margin-left:-1px}.mode-tabs .mode-tab[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 16%,var(--surface-raised));border-color:var(--accent);color:var(--accent);position:relative;z-index:1}.statusbar-actions,.tool-menu,.tool-menu-items{display:contents}.tool-menu-toggle{display:none}.accent-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.panes{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr}.panes.editor-only,.panes.preview-only{grid-template-columns:1fr}.panes.editor-only .pane-preview,.panes.preview-only .pane-editor{display:none}.pane-editor{border-right:1px solid var(--hairline);min-width:0;min-height:0;display:flex;flex-direction:column}.pane-editor>.row{flex:0 0 auto}.panes.editor-only .pane-editor{border-right:none}.pane-preview{overflow-y:auto;padding:24px clamp(20px,5vw,64px);min-width:0}.preview-body{max-width:720px;margin:0 auto;font-size:16px;line-height:1.7;word-wrap:break-word}.preview-body img{max-width:100%;height:auto}.preview-body pre{background:var(--surface);border:1px solid var(--hairline);padding:12px;overflow-x:auto;tab-size:2;white-space:pre-wrap;word-break:break-word}.preview-body code{font-family:var(--mono);font-size:.92em}.preview-body p>code,.preview-body li>code{background:var(--surface-raised);padding:2px 5px}.preview-body blockquote{border-left:2px solid var(--hairline);margin-left:0;padding-left:16px;color:var(--text-dim)}.preview-body table{border-collapse:collapse}.preview-body th,.preview-body td{border:1px solid var(--hairline);padding:6px 10px}.preview-body .katex-display,.preview-body math[display=block]{overflow-x:auto;max-width:100%}.external-chip{display:inline-block;border:1px dashed var(--text-faint);color:var(--text-dim);font-family:var(--mono);font-size:11px;letter-spacing:.08em;padding:4px 8px}.banner{padding:10px 14px;border-bottom:1px solid var(--hairline);background:color-mix(in srgb,var(--accent) 10%,var(--surface));display:flex;gap:12px;align-items:center;flex-wrap:wrap}.export-choice{margin-top:14px;display:flex;flex-direction:column;gap:6px}.export-choice .hint{margin:0}.modal-backdrop{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--surface);border:1px solid var(--hairline);padding:24px;max-width:480px;width:calc(100% - 32px)}.quorum-dial{font-family:var(--mono);font-size:14px;letter-spacing:.3em;color:var(--accent)}.toast-region{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{background:var(--surface-raised);border:1px solid var(--hairline);padding:10px 16px;font-size:13px}.tombstone{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:24px}.tombstone .mark{font-size:34px;color:var(--text-faint)}.tombstone h1{font-weight:400;letter-spacing:.02em;margin:0}.tombstone .meta{color:var(--text-dim)}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.statusbar,.banner,.toast-region{display:none!important}.panes{display:block}.pane-editor{display:none}.pane-preview{overflow:visible;padding:0}body{background:#fff;color:#000}}body.paged-mode>#root{display:none!important}#runa-paged-host{background:#fff}@media print{body.paged-mode>#runa-paged-host{position:static;visibility:visible}}@page{size:A4;margin:1.5cm 1.6cm 2cm}@page :first{@bottom-center{content:none}}pre,code,kbd,samp{tab-size:2;white-space:pre-wrap;word-break:break-word}pre{break-inside:avoid}table,blockquote,figure,.katex-display,math[display=block]{break-inside:avoid}h1,h2,h3,h4{break-after:avoid}p,li{orphans:3;widows:3}.checkbox-row input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;accent-color:var(--accent);cursor:pointer;margin-right:4px}.checkbox-row{align-items:flex-start;gap:10px;cursor:pointer}.checkbox-row .hint{margin:0}@media(max-width:560px){.checkbox-row input[type=checkbox]{width:24px;height:24px;flex:0 0 24px}}@media(max-width:1000px){.panes{grid-template-columns:1fr;grid-template-rows:1fr}.panes:not(.editor-only):not(.preview-only) .pane-preview{display:none}.pane-editor{border-right:none}.pane-preview{padding:16px 18px}.tool-menu{display:inline-block;position:relative}.tool-menu-toggle{display:inline-flex;align-items:center}.tool-menu-items{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:60;flex-direction:column;align-items:stretch;gap:6px;padding:8px;min-width:168px;background:var(--surface-raised);border:1px solid var(--hairline);box-shadow:0 8px 24px #00000073}.tool-menu.is-open .tool-menu-items{display:flex}.mode-tabs{width:100%}.mode-tabs .mode-tab{flex:1;text-align:center}.statusbar-spacer{display:none}.statusbar-actions{display:flex;align-items:center;gap:8px;width:100%}.banner{padding:6px 12px;gap:8px;font-size:12px;line-height:1.35}.banner button{padding:2px 8px;font-size:12px}}@media(max-width:820px){.statusbar{flex-wrap:wrap;row-gap:6px;padding:6px 10px;height:auto}.statusbar .sep{display:none}.banner{flex-wrap:wrap;row-gap:8px;padding:8px 12px}}@media(max-width:560px){.landing{padding:20px 16px;gap:14px}.classes{grid-template-columns:1fr;gap:8px}.class-card{flex-direction:row;align-items:baseline;gap:8px}.class-detail{min-height:3.6em}input,select,button,textarea{font-size:16px}.panel{padding:16px}.row{flex-wrap:wrap}.landing .tag{letter-spacing:.06em;word-spacing:-.1em}.modal{width:calc(100vw - 24px);max-width:none;padding:16px}.modal .row{flex-direction:column-reverse;align-items:stretch;gap:8px}.modal .row button{width:100%}.pane-editor .row{overflow-x:auto;flex-wrap:nowrap}}@supports (height: 100dvh){.app-shell,body>#root{min-height:100dvh}}.join .field{margin-bottom:8px}.join .row{gap:8px}.join .row input{flex:1}.join-hint{margin:0;font-size:var(--step--1);line-height:1.5;color:var(--text-dim);min-height:3em}
