/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}@font-face{font-family:Aileron;src:url(/fonts/Aileron-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Aileron;src:url(/fonts/Aileron-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Aileron;src:url(/fonts/Aileron-600.woff2) format("woff2");font-weight:500 600;font-style:normal;font-display:swap}@font-face{font-family:Aileron;src:url(/fonts/Aileron-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Aileron;src:url(/fonts/Aileron-900.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{color-scheme:dark;--paper: #000000;--paper-2: #050b0f;--paper-3: #081217;--paper-4: #0b1820;--paper-5: #0f212b;--line: #112732;--line-2: #173344;--line-3: #2c6482;--ink-faint: #4f4f4f;--ink-ghost: #7a7a7a;--ink-dim: #9a9a9a;--ink-mute: #b5b5b5;--ink: #ededed;--ink-max: #ffffff;--signal: #1b3d50;--signal-lift: #4291be;--signal-hot: #2a5e7c;--signal-fill: #31708f;--signal-fill-hot: #36799a;--signal-ink: var(--signal-lift);--signal-ink-hot: #71accd;--signal-edge: #2e6d91;--signal-glow: rgb(66 145 190 / .2);--signal-glow-hot: rgb(66 145 190 / .34);--on-signal: #ffffff;--sans: "Aileron", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--mono: "Space Mono", ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--wdth-display: 100;--fs-display: clamp(38px, 5.2vw, 68px);--fs-h1: 22px;--fs-h2: 17px;--fs-lede: 16px;--fs-body: 14px;--fs-small: 12.5px;--fs-label: 10.5px;--lh-display: .96;--lh-tight: 1.2;--lh-body: 1.6;--tr-display: -.035em;--tr-label: .18em;--tr-wide: .08em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 72px;--r-0: 0px;--r-1: 2px;--r-2: 4px;--r-3: 999px;--ease: cubic-bezier(.2, .7, .2, 1);--fast: .11s;--med: .2s;--slow: .42s;--measure: 1240px;--gutter: clamp(20px, 5vw, 64px);--bar-h: 56px;--rail-left: 340px;--rail-right: 320px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-synthesis-weight:none}[hidden]{display:none!important}::selection{background:var(--ink-max);color:var(--paper)}:focus-visible{outline:1px solid var(--ink-max);outline-offset:2px}.home{animation:screen-in var(--med) var(--ease) both}@keyframes screen-in{0%{opacity:0}to{opacity:1}}.scroll,.rail,body{scrollbar-width:thin;scrollbar-color:var(--line-3) transparent}.scroll::-webkit-scrollbar,.rail::-webkit-scrollbar{width:9px;height:9px}.scroll::-webkit-scrollbar-track,.rail::-webkit-scrollbar-track{background:transparent}.scroll::-webkit-scrollbar-thumb,.rail::-webkit-scrollbar-thumb{background:var(--line-2);border:3px solid transparent;background-clip:content-box;border-radius:var(--r-3)}.scroll:hover::-webkit-scrollbar-thumb,.rail:hover::-webkit-scrollbar-thumb{background:var(--line-3);background-clip:content-box}.label{display:block;margin:0;font-family:var(--mono);font-size:var(--fs-label);font-weight:400;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-dim)}.display{margin:0;font-size:var(--fs-display);font-weight:700;line-height:var(--lh-display);letter-spacing:var(--tr-display);color:var(--ink-max);text-wrap:balance}.lede{margin:0;font-size:var(--fs-lede);line-height:1.55;color:var(--ink-mute);max-width:62ch}.note{font-size:var(--fs-small);line-height:1.5;color:var(--ink-dim)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}a{color:inherit;text-decoration:none}code{font-family:var(--mono);font-size:.92em;color:var(--ink-max);background:var(--paper-4);border:1px solid var(--line);border-radius:var(--r-1);padding:.5px 5px}.machine,code,kbd,samp,pre{unicode-bidi:isolate}.prose{color:var(--ink)}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose p{margin:0 0 var(--sp-3)}.prose strong{color:var(--ink-max);font-weight:600}.prose em{font-style:italic;color:var(--ink-max)}.prose pre{margin:var(--sp-3) 0;padding:var(--sp-3) var(--sp-4);background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-2);overflow-x:auto;font-size:var(--fs-small);line-height:1.5}.prose pre code{background:none;border:0;padding:0;color:var(--ink)}.prose blockquote{margin:var(--sp-3) 0;padding-block:var(--sp-1);padding-inline:var(--sp-4) 0;border-inline-start:1px solid var(--line-3);color:var(--ink-mute)}.prose blockquote p{margin:0 0 var(--sp-2)}.prose blockquote>:last-child{margin-bottom:0}.prose ul,.prose ol{margin:0 0 var(--sp-3);padding-inline-start:var(--sp-5)}.prose li{margin-bottom:var(--sp-1)}.prose h1,.prose h2,.prose h3{margin:var(--sp-4) 0 var(--sp-2);font-size:var(--fs-body);font-weight:600;color:var(--ink-max);letter-spacing:0}.prose a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-3)}.prose a:hover{text-decoration-color:var(--ink-max)}.brand{display:inline-flex;align-items:center;gap:var(--sp-3);color:var(--ink-max)}.brand-mark{width:22px;height:22px;flex:none;color:var(--ink-max);overflow:visible}.brand-mark .tile{fill:var(--paper-4)}.brand-sm .brand-mark{width:20px;height:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font:inherit;font-size:var(--fs-small);font-weight:500;line-height:1;padding:9px 15px;border:1px solid var(--line-2);border-radius:var(--r-2);background:transparent;color:var(--ink);cursor:pointer;white-space:nowrap;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.btn:hover{border-color:var(--ink-mute);color:var(--ink-max)}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.4;cursor:default;transform:none}.btn:disabled:hover{border-color:var(--line-2);color:var(--ink)}.btn-solid{background:var(--ink-max);border-color:var(--ink-max);color:var(--paper);font-weight:600}.btn-solid:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn-quiet{border-color:var(--line);color:var(--ink-mute)}.btn-quiet:hover{border-color:var(--line-3);color:var(--ink-max)}.btn-lg{font-size:var(--fs-body);padding:13px 24px}.btn-wide{display:flex;width:100%;margin-top:var(--sp-3)}.tag{display:inline-flex;align-items:center;font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.04em;line-height:1;padding:5px 9px;border:1px solid var(--line);border-radius:var(--r-2);color:var(--ink-mute);white-space:nowrap}.tag-on{color:var(--ink-max);border-color:var(--line-3)}.tag-alert{color:var(--ink-max);border-color:var(--ink-max)}.tag-off{color:var(--ink-dim);border-style:dashed}.tag-live{gap:7px}.tag-pip{flex:none;width:5px;height:5px;border-radius:var(--r-3);background:var(--ink-max)}.meter{height:2px;background:var(--line);overflow:hidden}.meter>div{height:100%;background:var(--ink-max);transition:width var(--slow) var(--ease)}.stars{display:inline-flex;gap:3px;font-size:12px;line-height:1;color:var(--ink-faint)}.stars .on{color:var(--ink-max)}.mute{position:fixed;inset-inline-end:70px;bottom:22px;z-index:55;width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:var(--r-2);background:var(--paper-2);color:var(--ink-dim);cursor:pointer;opacity:.5;transition:opacity var(--fast) var(--ease),color var(--fast) var(--ease),border-color var(--fast) var(--ease),translate var(--med) var(--ease)}.mute:hover,.mute:focus-visible{opacity:1;color:var(--ink-max);border-color:var(--line-3)}.theme{position:fixed;inset-inline-end:161px;bottom:22px;z-index:55;width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:var(--r-2);background:var(--paper-2);color:var(--ink-dim);cursor:pointer;opacity:.5;transition:opacity var(--fast) var(--ease),color var(--fast) var(--ease),border-color var(--fast) var(--ease),translate var(--med) var(--ease)}.theme:hover,.theme:focus-visible{opacity:1;color:var(--ink-max);border-color:var(--line-3)}@media(max-width:560px){.theme{inset-inline-end:153px}}:root{--corner-out: 1;--corner-tuck: 210px;--fold-slot: 197px}.fold{position:fixed;inset-inline-end:0;bottom:22px;translate:calc(var(--corner-out) * var(--fold-slot) * -1) 0;z-index:56;width:20px;height:30px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-start-start-radius:var(--r-2);border-end-start-radius:var(--r-2);border-start-end-radius:0;border-end-end-radius:0;background:var(--paper-2);color:var(--ink-dim);cursor:pointer;opacity:.4;transition:opacity var(--fast) var(--ease),color var(--fast) var(--ease),border-color var(--fast) var(--ease),translate var(--med) var(--ease)}.fold:hover,.fold:focus-visible{opacity:1;color:var(--ink-max);border-color:var(--line-3)}[data-corner=folded] .fold{translate:0 0;opacity:.55}.fold svg{transform:scaleX(var(--corner-out));transition:transform var(--med) var(--ease)}[data-corner=folded] .fold svg{transform:scaleX(calc(var(--corner-out) * -1))}.fold-dot{position:absolute;top:-3px;inset-inline-start:-3px;width:7px;height:7px;border-radius:var(--r-3);background:var(--ink-max);box-shadow:0 0 0 2px var(--paper-2)}[data-corner=folded] .fold.has-signal{opacity:1;color:var(--ink-max)}[data-corner=folded] .chat-toggle,[data-corner=folded] .mute,[data-corner=folded] .lang,[data-corner=folded] .theme{translate:calc(var(--corner-out) * var(--corner-tuck)) 0;opacity:0;visibility:hidden;transition:translate var(--med) var(--ease),opacity var(--med) var(--ease),visibility 0s linear var(--med)}[data-corner=folded] .chat-toggle:after{animation:none}@media(prefers-reduced-motion:reduce){[data-corner=folded] .chat-toggle,[data-corner=folded] .mute,[data-corner=folded] .lang,[data-corner=folded] .theme{transition-delay:0ms}}@media(max-width:560px){:root{--fold-slot: 187px}}.boot-error{max-width:60ch;margin:0 auto;padding:clamp(48px,12vh,140px) var(--gutter)}.boot-error .rail-title,.boot-error .lede{margin-bottom:var(--sp-3)}.boot-wait{min-height:100vh}.toast{position:fixed;left:50%;bottom:var(--sp-5);transform:translate(-50%);z-index:60;max-width:min(560px,calc(100vw - 32px));padding:11px 16px;font-size:var(--fs-small);background:var(--paper-3);border:1px solid var(--line-2);border-radius:var(--r-2);color:var(--ink);box-shadow:0 12px 40px #000c;animation:toast-in .18s var(--ease)}.toast.error{border-color:var(--ink-max);color:var(--ink-max)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.boot{min-height:100vh;display:grid;place-items:center;padding:var(--sp-6) var(--gutter);background:var(--paper)}.boot-inner{width:100%;max-width:56ch}.boot-brand{display:flex;align-items:center;gap:var(--sp-3);margin:0 0 var(--sp-6);color:var(--ink)}.boot-brand .brand-mark{width:40px;height:40px}.boot .rail-title{margin:0 0 var(--sp-3)}.boot .lede{margin:0 0 var(--sp-5);color:var(--ink-mute)}.boot-bar{height:3px;background:var(--paper-5);border-radius:var(--r-3);overflow:hidden}.boot-bar-fill{width:0;height:100%;background:var(--signal-ink);border-radius:inherit;transition:width var(--med) var(--ease)}.boot-bar-fill.is-waiting{width:28%;animation:boot-sweep 1.4s var(--ease) infinite}@keyframes boot-sweep{0%{transform:translate(-100%)}to{transform:translate(360%)}}.boot-line{display:flex;justify-content:space-between;gap:var(--sp-4);margin:var(--sp-3) 0 var(--sp-6);font-size:var(--fs-small);color:var(--ink)}.boot-bytes{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-wide);color:var(--ink-dim);white-space:nowrap;font-variant-numeric:tabular-nums}.boot-steps{list-style:none;margin:0 0 var(--sp-6);padding:0;display:grid;gap:var(--sp-2)}.boot-step{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-small);color:var(--ink-ghost)}.boot-step-mark{width:9px;height:9px;flex:none;border:1px solid var(--line-3);border-radius:var(--r-1)}.boot-step.is-done{color:var(--ink-mute)}.boot-step.is-done .boot-step-mark{background:var(--ink-mute);border-color:var(--ink-mute)}.boot-step.is-now{color:var(--ink-max)}.boot-step.is-now .boot-step-mark{background:var(--signal-fill);border-color:var(--signal-edge)}.boot-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:0 0 var(--sp-5)}.boot-detail{font-family:var(--mono);font-size:var(--fs-label);color:var(--ink-ghost);word-break:break-word}.boot-note{margin:0;color:var(--ink-dim)}.home{min-height:100%;display:flex;flex-direction:column}.home>*{--pad: max(var(--gutter), calc((100% - var(--measure)) / 2));padding-inline:var(--pad)}.bar{position:sticky;top:0;z-index:20;height:var(--bar-h);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bar-end{display:flex;align-items:center;gap:var(--sp-3)}.intro{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:center;gap:clamp(var(--sp-6),5vw,var(--sp-8));padding-top:clamp(48px,8vh,96px);padding-bottom:var(--sp-7)}.intro .label{margin-bottom:var(--sp-4)}.intro .display{margin-bottom:var(--sp-5)}.intro .lede{margin-bottom:var(--sp-6);max-width:54ch}.intro-cta{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin:0}.term-win{border:1px solid var(--line);border-radius:8px;background:var(--paper);overflow:hidden;box-shadow:0 30px 70px -40px #000}.term-win-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:10px var(--sp-4);border-bottom:1px solid var(--line);background:var(--paper-3);font-family:var(--mono);font-size:11px;letter-spacing:.03em;white-space:nowrap;overflow:hidden}.term-win-name{color:var(--ink);overflow:hidden;text-overflow:ellipsis}.term-win-meta{flex:none;color:var(--ink-dim)}.term-win-body{padding:var(--sp-4) var(--sp-4) var(--sp-5);font-family:var(--mono);font-size:var(--fs-small);line-height:1.85;white-space:pre;overflow-x:auto}.term-step+.term-step{margin-top:10px}.term-line,.term-out{margin:0;color:var(--ink)}.term-out{color:var(--ink-mute)}.term-prompt{color:var(--ink-dim)}.term-line .typed{vertical-align:bottom}.term-line .caret-live{display:inline-block;width:.55em;height:1.1em;margin-left:2px;vertical-align:text-bottom;background:var(--ink-max)}.intro.is-arriving .intro-copy>*,.intro.is-arriving>.term-win{animation:intro-rise var(--med) var(--step) calc(var(--i, 0) * 60ms) both}.intro.is-arriving .intro-copy>:nth-child(2){--i: 1}.intro.is-arriving .intro-copy>:nth-child(3),.intro.is-arriving>.term-win{--i: 2}.intro.is-arriving .intro-copy>:nth-child(4){--i: 3}@keyframes intro-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.intro.is-arriving .intro-copy>*,.intro.is-arriving>.term-win{animation-delay:0ms!important}}.standing{display:grid;grid-template-columns:minmax(210px,auto) minmax(140px,1fr) auto;align-items:center;gap:clamp(var(--sp-5),5vw,var(--sp-8));padding-block:var(--sp-5);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.standing-rank .label{margin-bottom:var(--sp-2)}.rank{display:block;font-size:var(--fs-h1);font-weight:600;line-height:1.1;letter-spacing:-.015em;color:var(--ink-max)}.standing-rank .note{display:block;margin-top:2px}.standing-meter{display:flex;flex-direction:column;gap:var(--sp-2)}.standing-meter .note{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}.figures{display:flex;gap:clamp(var(--sp-5),4vw,var(--sp-7));margin:0}.figure dt{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-dim)}.figure dd{margin:5px 0 0;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:21px;line-height:1;letter-spacing:-.02em;color:var(--ink-mute)}.figure dd em{font-style:normal;color:var(--ink-max)}.ledger{flex:1;padding-top:var(--sp-7);padding-bottom:var(--sp-8)}.ledger-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-6)}.ledger-title{margin:0;font-size:var(--fs-h1);font-weight:600;letter-spacing:-.02em;color:var(--ink-max)}.world+.world{margin-top:var(--sp-6)}.world.is-folded+.world{margin-top:var(--sp-4)}.world-head{display:flex;align-items:center;gap:var(--sp-4)}.world-idx{width:18px;flex:none;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--fs-small);letter-spacing:var(--tr-wide);color:var(--ink-ghost)}.world-name{margin:0;font-size:var(--fs-h2);font-weight:600;letter-spacing:-.01em;line-height:1.2;color:var(--ink-max);white-space:nowrap}.world-toggle{display:inline-flex;align-items:center;gap:var(--sp-2);padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer;white-space:nowrap}.world-toggle:hover{color:var(--ink-mute)}.world-toggle:focus-visible{outline-offset:3px}.world-chev{flex:none;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-inline-start:5px solid var(--ink-dim);transform:rotate(90deg);transition:transform var(--fast) var(--ease),border-inline-start-color var(--fast) var(--ease)}.world.is-folded .world-chev{transform:rotate(0)}.world-toggle:hover .world-chev{border-inline-start-color:var(--ink-max)}.world-rule{flex:1;height:1px;min-width:var(--sp-4);background:var(--line)}.world-count{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--fs-small);color:var(--ink-dim);white-space:nowrap}.world-stars{color:var(--ink-mute)}.world-meter{flex:none;width:56px}.world-meter .meter{height:3px;border-radius:var(--r-3);background:var(--line)}.world-meter .meter>div{border-radius:var(--r-3)}.world-tag{margin:var(--sp-2) 0 0;padding-inline-start:calc(18px + var(--sp-4));font-size:var(--fs-small);color:var(--ink-dim);max-width:70ch}.levels{position:relative;list-style:none;margin:var(--sp-4) 0 0;padding:0}.levels:before{content:"";position:absolute;inset-inline-start:21px;top:22px;bottom:22px;width:1px;background:var(--line-2)}.lvl{position:relative}.lvl-link{position:relative;display:grid;grid-template-columns:42px 40px minmax(0,1fr) 132px 60px 54px 76px;align-items:center;gap:var(--sp-3);height:44px;padding-inline-end:var(--sp-3);border-radius:var(--r-2);transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.lvl-node{justify-self:center;width:11px;height:11px;border-radius:var(--r-3);border:1px solid var(--line-3);background:var(--paper-2);box-shadow:0 0 0 5px var(--paper-2);transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}.lvl-num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--fs-small);letter-spacing:.02em;color:var(--ink-ghost);transition:color var(--fast) var(--ease)}.lvl-name{font-size:var(--fs-body);font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--fast) var(--ease)}.lvl-concept,.lvl-time,.lvl-xp{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--fs-label);letter-spacing:.03em;color:var(--ink-ghost);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lvl-time,.lvl-xp{text-align:end}.lvl-stars{justify-self:center}.lvl-debrief{position:absolute;top:50%;inset-inline-end:var(--sp-3);transform:translateY(-50%);padding:3px var(--sp-2);border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--paper-3);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-wide);text-transform:uppercase;color:var(--ink-dim);text-decoration:none;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--fast) var(--ease),color var(--fast) var(--ease),border-color var(--fast) var(--ease)}.lvl:hover>.lvl-debrief,.lvl-debrief:focus-visible{opacity:1;pointer-events:auto}.lvl-debrief:hover,.lvl-debrief:focus-visible{color:var(--ink-max);border-color:var(--line-3)}.lvl.is-cleared:hover .lvl-xp{opacity:0;transition:opacity var(--fast) var(--ease)}@media(hover:none){.lvl-debrief{opacity:1;pointer-events:auto}.lvl.is-cleared .lvl-xp{opacity:0}}.lvl.is-cleared .lvl-node{background:var(--ink-max);border-color:var(--ink-max)}.lvl.is-cleared .lvl-name{color:var(--ink-mute)}.lvl.is-unverified .lvl-stars .on{color:transparent;-webkit-text-stroke:1px var(--ink-max)}.lvl-unverified{margin-inline-start:var(--sp-2);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-wide);color:var(--ink-dim);vertical-align:1px}.lvl.is-current .lvl-node{background:var(--ink-max);border-color:var(--ink-max);box-shadow:0 0 0 3px var(--paper-2),0 0 0 4px var(--ink-max)}.lvl.is-current .lvl-link{background:var(--paper-3)}.lvl.is-current .lvl-name{color:var(--ink-max);font-weight:600}.lvl.is-current .lvl-num{color:var(--ink-mute)}.lvl.is-current .lvl-link:before{content:"";position:absolute;inset-inline-start:0;top:7px;bottom:7px;width:2px;background:var(--ink-max)}.lvl.is-open .lvl-node{border-color:var(--ink-mute)}.lvl.is-locked .lvl-node{border-style:dashed;border-color:var(--line-3)}.lvl.is-locked .lvl-link{cursor:default}.lvl.is-locked .lvl-name,.lvl.is-locked .lvl-num,.lvl.is-locked .lvl-concept,.lvl.is-locked .lvl-time,.lvl.is-locked .lvl-xp{color:var(--ink-ghost)}.lvl.is-locked .lvl-stars{opacity:.35}.lvl.is-paywalled .lvl-node{border-style:solid;border-color:var(--line-3)}.lvl-paid{margin-inline-start:var(--sp-2);padding:1px var(--sp-1);border:1px solid var(--ink-ghost);border-radius:3px;font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-wide);color:var(--ink-dim);vertical-align:1px;white-space:nowrap}.lvl-skipped{margin-inline-start:var(--sp-2);padding:1px var(--sp-1);border:1px dashed var(--ink-faint);border-radius:3px;font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-wide);color:var(--ink-faint);vertical-align:1px;white-space:nowrap}.lvl.is-checkpoint{margin-top:var(--sp-3);padding-top:var(--sp-3)}.lvl.is-checkpoint:before{content:"";position:absolute;inset-inline-start:42px;inset-inline-end:0;top:0;height:1px;background:var(--line)}.lvl.is-checkpoint .lvl-node{border-width:2px}.world-waiting{margin-inline-start:var(--sp-2);font-family:var(--sans);font-size:9px;vertical-align:1px;color:var(--ink-dim)}.lvl-mark{font-family:var(--sans);font-size:9px;line-height:1;text-align:center}.lvl:not(.is-locked) .lvl-link:hover{background:var(--paper-4)}.lvl:not(.is-locked) .lvl-link:hover .lvl-name{color:var(--ink-max)}.lvl:not(.is-locked) .lvl-link:hover .lvl-num{color:var(--ink-mute)}.lvl:not(.is-locked) .lvl-link:hover .lvl-node{border-color:var(--ink-max);box-shadow:0 0 0 5px var(--paper-4)}.lvl.is-current .lvl-link:hover .lvl-node{box-shadow:0 0 0 3px var(--paper-4),0 0 0 4px var(--ink-max)}.lvl-link:focus-visible{outline-offset:-1px}.lvl.is-locked .lvl-link:hover{background:transparent}.foot{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;padding-block:var(--sp-5);border-top:1px solid var(--line);font-size:var(--fs-small);color:var(--ink-dim)}.foot-legal{flex-basis:100%;display:flex;gap:var(--sp-4);flex-wrap:wrap}.foot-legal a{color:var(--ink-dim);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-3)}.foot-legal a:hover,.foot-legal a:focus-visible{color:var(--ink-mute);text-decoration-color:currentColor}@media(max-width:1120px){.lvl-link{grid-template-columns:42px 40px minmax(0,1fr) 60px 54px 76px}.lvl-concept{display:none}.lvl.is-current .lvl-link:after{display:none}}@media(max-width:860px){.standing{grid-template-columns:1fr;gap:var(--sp-4)}.lvl-link{grid-template-columns:42px 40px minmax(0,1fr) 54px 76px}.lvl-time{display:none}}@media(max-width:620px){.bar-end .btn{display:none}.lvl-link{grid-template-columns:42px 36px minmax(0,1fr) 54px;gap:var(--sp-2)}.lvl-xp{display:none}.world-tag{padding-inline-start:0}}@media(max-width:460px){.term-win{display:none}}.account{position:relative;display:flex;align-items:center}.account-btn{display:inline-flex;align-items:center;gap:var(--sp-2);height:32px;padding-block:0;padding-inline:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-size:var(--fs-label);cursor:pointer}.account-btn:hover,.account-btn:focus-visible,.account-btn[aria-expanded=true]{border-color:var(--line-3);color:var(--ink-max)}.account-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover;flex:none;background:var(--line)}.account-initials{display:inline-grid;place-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.02em;color:var(--ink-max)}.account-name{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-pop{position:absolute;top:calc(100% + var(--sp-2));inset-inline-end:0;z-index:30;display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);width:min(20rem,calc(100vw - 2 * var(--gutter)));padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 12px 32px -16px #00000059}.account-full{color:var(--ink-max)}.course{padding-block:clamp(var(--sp-6),6vh,72px)}.world-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--sp-4)}.world-card{display:flex;flex-direction:column;gap:var(--sp-3);padding:clamp(var(--sp-4),2vw,var(--sp-5));border:1px solid var(--line);background:var(--paper-3)}.world-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.world-card__idx{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);color:var(--signal-ink)}.world-card__chip{padding:2px 7px;border:1px solid var(--line-2);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-mute)}.world-card__name{margin:0;font-size:var(--fs-h2);font-weight:600;line-height:1.2;letter-spacing:-.015em;color:var(--ink-max)}.world-card__tag{margin:0;font-size:13px;line-height:var(--lh-body);color:var(--ink-mute)}.world-card__levels{flex:1 1 auto;display:grid;align-content:start;gap:5px;margin:var(--sp-2) 0 0;padding:0 0 0 var(--sp-3);border-inline-start:1px solid var(--line);list-style:none;font-family:var(--mono);font-size:11.5px;line-height:1.5;color:var(--ink-dim)}.world-card__foot{display:flex;justify-content:space-between;gap:var(--sp-3);margin:0;padding-top:var(--sp-3);border-top:1px solid var(--line);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);color:var(--ink-mute)}.resume{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3) var(--sp-4);margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);background:var(--paper-3)}.resume p{margin:0;font-size:var(--fs-small);color:var(--ink)}.upnext{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-4) var(--sp-6);margin-top:clamp(var(--sp-5),5vh,56px);padding:clamp(var(--sp-4),2.5vw,var(--sp-6));border:1px solid var(--line);border-inline-start:2px solid var(--signal-edge);background:var(--paper-3)}.upnext-where{flex:1 1 24ch}.upnext-where .label{margin-bottom:var(--sp-2)}.upnext-title{margin:0;font-size:clamp(22px,3vw,30px);font-weight:700;line-height:1.12;letter-spacing:-.02em;color:var(--ink-max);text-wrap:balance}.upnext-place{margin:var(--sp-2) 0 0;font-family:var(--mono);font-size:var(--fs-small);color:var(--ink-dim)}.upnext-done{margin:0;max-width:44ch;font-size:var(--fs-lede);line-height:var(--lh-body);color:var(--ink)}.upnext-go{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);margin:0}.pedigree,.proof,.afterward{padding-block:clamp(var(--sp-7),8vh,var(--sp-8));border-top:1px solid var(--line)}.band-head{max-width:72ch}.band-head .label{margin-bottom:var(--sp-4)}.h-band{margin:0 0 var(--sp-4);font-size:clamp(26px,3.4vw,40px);font-weight:700;line-height:1.06;letter-spacing:-.028em;color:var(--ink-max);font-variation-settings:"wdth" var(--wdth-display);text-wrap:balance}.window{margin-top:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-2);background:var(--paper-3);overflow:hidden}.window-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);height:30px;padding-inline:var(--sp-4);border-bottom:1px solid var(--line);background:var(--paper-4);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-wide);white-space:nowrap;overflow:hidden}.window-name{color:var(--ink-mute);text-overflow:ellipsis;overflow:hidden}.window-meta{color:var(--ink-ghost);font-variant-numeric:tabular-nums;flex:none}.window-view{--fade: 56px;direction:ltr;padding-block:clamp(var(--sp-4),3vw,var(--sp-6));-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--fade),#000 calc(100% - var(--fade)),transparent);mask-image:linear-gradient(90deg,transparent,#000 var(--fade),#000 calc(100% - var(--fade)),transparent)}.window-view:focus-visible{outline-offset:-2px}.lane{display:flex;width:max-content;animation:lane-run var(--dur, 30s) linear infinite;will-change:transform}.lane.is-reverse{animation-name:lane-run-reverse}.lane+.lane{margin-top:var(--sp-4)}.lane-run{display:flex;align-items:center;margin:0;padding:0;list-style:none}.lane-item{display:flex;align-items:center;padding-inline:clamp(var(--sp-4),2.4vw,var(--sp-6));font-size:clamp(22px,3vw,34px);font-weight:700;line-height:1.15;letter-spacing:-.02em;text-transform:uppercase;color:var(--ink-max);font-variation-settings:"wdth" var(--wdth-display);white-space:nowrap}.lane-mark{flex:none;width:1.06em;height:1.06em;margin-inline-end:.4em}.lane-item:before{content:"";flex:none;width:3px;height:3px;margin-inline-end:clamp(var(--sp-4),2.4vw,var(--sp-6));background:var(--line-3)}.is-reverse .lane-item{font-size:clamp(15px,1.9vw,21px);letter-spacing:var(--tr-wide);color:var(--ink-dim);font-family:var(--mono);font-weight:400;font-variation-settings:normal}.is-reverse .lane-item:before{background:var(--line-2)}.is-reverse .lane-mark{width:1.3em;height:1.3em;margin-inline-end:.45em}.window-view:hover .lane,.window-view:focus-within .lane{animation-play-state:paused}@keyframes lane-run{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes lane-run-reverse{0%{transform:translate(-50%)}to{transform:translate(0)}}.pedigree-note{display:block;margin:var(--sp-3) 0 0;color:var(--ink-ghost)}.strip{display:flex;flex-wrap:wrap;gap:var(--sp-5) 0;margin:0;padding-block:var(--sp-5);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.strip .stat{flex:1 1 150px;padding-inline-end:var(--sp-5)}.stat dt{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-dim)}.stat dd{margin:5px 0 0;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:22px;line-height:1;letter-spacing:-.02em;color:var(--ink-max)}.claims{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-6) clamp(var(--sp-6),6vw,var(--sp-8));margin:var(--sp-6) 0 0;padding:0;list-style:none}.claim{padding-top:var(--sp-4);border-top:1px solid var(--line)}.claim-idx{display:block;margin-bottom:var(--sp-3);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--fs-label);letter-spacing:var(--tr-label);color:var(--ink-ghost)}.claim-title{margin:0 0 var(--sp-2);font-size:var(--fs-h2);font-weight:600;line-height:1.25;letter-spacing:-.012em;color:var(--ink-max);text-wrap:balance}.claim-body{margin:0;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink-mute);max-width:56ch}.proof-cta{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin:var(--sp-7) 0 0}.afterward-cta{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin:var(--sp-6) 0 0}.afterward-cta .note{max-width:46ch}@media(max-width:860px){.claims{grid-template-columns:minmax(0,1fr);gap:var(--sp-5)}}@media(prefers-reduced-motion:reduce){.window-view{-webkit-mask-image:none;mask-image:none;padding-inline:clamp(var(--sp-4),3vw,var(--sp-6))}.lane{display:block;width:auto;animation:none!important;will-change:auto}.lane-run[aria-hidden=true]{display:none}.lane-run{flex-wrap:wrap;row-gap:var(--sp-2);column-gap:clamp(var(--sp-4),2.4vw,var(--sp-6))}.lane-item{padding-inline:0}.lane-item:before{display:none}}.backup-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;display:grid;place-items:center;padding:var(--sp-5);overflow-y:auto;background:#000000e0;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.backup{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;max-width:620px;max-height:calc(100vh - var(--sp-7));max-height:calc(100dvh - var(--sp-7));border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--paper-3);overflow:hidden}.backup:focus{outline:none}.backup-head{padding:var(--sp-5) var(--sp-5) var(--sp-4);border-bottom:1px solid var(--line)}.backup-head .label{margin-bottom:var(--sp-2)}.backup-title{margin:0;font-size:var(--fs-h1);font-weight:700;line-height:var(--lh-tight);letter-spacing:-.02em;color:var(--ink-max)}.backup-lede{max-width:62ch;margin:var(--sp-2) 0 0;font-size:var(--fs-small);line-height:1.55;color:var(--ink-mute)}.backup-body{display:grid;gap:var(--sp-5);padding:var(--sp-5);overflow-y:auto}.backup-half{display:grid;gap:var(--sp-2);min-width:0}.backup-half+.backup-half{padding-top:var(--sp-5);border-top:1px solid var(--line)}.backup-field{width:100%;margin:0;padding:9px 11px;border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--paper-2);font-family:var(--mono);font-size:var(--fs-small);line-height:1.55;color:var(--ink-max);resize:vertical;overflow-wrap:anywhere;transition:border-color var(--fast) var(--ease)}.backup-field:hover{border-color:var(--line-3)}.backup-field::placeholder{color:var(--ink-ghost)}.backup-code{color:var(--ink);resize:none}.backup-acts{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-1)}.backup-acts .note{flex:1 1 22ch;min-width:0}.backup-said:empty{display:none}.backup-out{margin:var(--sp-1) 0 0;padding-inline-start:var(--sp-3);border-inline-start:1px solid var(--line-2);font-size:var(--fs-small);line-height:1.55;color:var(--ink-mute)}.backup-out:empty{display:none}.backup-out.is-good{border-inline-start-color:var(--line-3);color:var(--ink)}.backup-out.is-warn{border-inline-start-style:dashed;border-inline-start-color:var(--ink-dim);color:var(--ink)}.backup-out.is-bad{border-inline-start-color:var(--ink-max);color:var(--ink-max)}.backup-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--line)}.standing-local{grid-column:1 / -1;display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-1);padding-top:var(--sp-4);border-top:1px solid var(--line)}.standing-local .btn:first-of-type{margin-inline-start:auto}@media(max-width:620px){.backup-scrim{padding:var(--sp-3)}.backup-head,.backup-body{padding-inline:var(--sp-4)}.backup-foot{padding:var(--sp-3) var(--sp-4)}.standing-local .btn:first-of-type{margin-inline-start:0}}.offer{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(var(--sp-5),5vw,var(--sp-8));align-items:start;padding-block:clamp(var(--sp-7),8vh,var(--sp-8));border-top:1px solid var(--line)}.offer-copy{max-width:66ch}.offer-copy .label{margin-bottom:var(--sp-4)}.offer-title{margin:0 0 var(--sp-4);font-size:clamp(26px,3.4vw,40px);font-weight:700;line-height:1.06;letter-spacing:-.028em;color:var(--ink-max);font-variation-settings:"wdth" var(--wdth-display);text-wrap:balance}.offer-lede{margin:0;font-size:var(--fs-lede);line-height:var(--lh-body);color:var(--ink-mute);text-wrap:pretty}.offer-points{margin:var(--sp-5) 0 0;padding:0;list-style:none;display:grid;gap:var(--sp-3)}.offer-points li{position:relative;padding-inline-start:var(--sp-5);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink-dim)}.offer-points li:before{content:"";position:absolute;inset-inline-start:0;top:.62em;width:12px;height:1px;background:var(--line-3)}.offer-act{display:grid;justify-items:start;gap:var(--sp-3);padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-2);background:var(--paper-3)}.offer-price{margin:0;font-size:clamp(30px,3.6vw,44px);font-weight:700;line-height:1.05;letter-spacing:var(--tr-display);color:var(--signal-ink);font-variation-settings:"wdth" var(--wdth-display);font-variant-numeric:tabular-nums}.offer-act .note{margin:0}.offer-act .btn{margin-top:var(--sp-2)}.offer-note{max-width:34ch}.offer-off{margin:var(--sp-2) 0 0;max-width:34ch;font-size:var(--fs-small);line-height:var(--lh-body);color:var(--ink-dim);padding-inline-start:var(--sp-3);border-inline-start:2px solid var(--line-2)}.backup.invite{max-width:560px}.backup.invite .backup-body{overflow:visible}@media(max-width:900px){.offer{grid-template-columns:minmax(0,1fr)}.offer-act{padding:var(--sp-5) 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none}}.play{display:grid;height:100vh;height:100dvh;overflow:hidden;grid-template-columns:var(--rail-left) minmax(0,1fr);grid-template-rows:var(--bar-h) minmax(0,1fr);grid-template-areas:"hud hud" "start stage";background:var(--paper)}.hud{animation:frame-in var(--med) var(--step) both}.rail-brief{animation:frame-in var(--med) var(--step) 60ms both}.pane-graph,.pane-reflog{animation:frame-in var(--med) var(--step) .12s both}.pane-term{animation:frame-in var(--med) var(--step) .18s both}@keyframes frame-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.hud,.rail-brief,.pane-graph,.pane-reflog,.pane-term{animation-delay:0ms!important}}.hud{grid-area:hud;display:flex;align-items:center;gap:var(--sp-4);min-width:0;padding-inline-end:var(--sp-4);border-bottom:1px solid var(--line)}.hud .brand{align-self:stretch;flex:none;padding:0 var(--sp-4);border-inline-end:1px solid var(--line);color:var(--ink-mute);transition:color var(--fast) var(--ease)}.hud .brand:hover{color:var(--ink-max)}.hud-id{display:flex;align-items:center;gap:var(--sp-3);flex:0 1 auto;min-width:0}.hud-num{flex:none;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:26px;font-weight:500;line-height:1;letter-spacing:-.02em;color:var(--ink-max)}.hud-names{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0}.hud-title{font-size:var(--fs-small);font-weight:600;line-height:1.1;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-world{line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-state{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);flex:1 1 auto;min-width:0;overflow:hidden}.hud-state .tag{display:block;max-width:30ch;padding-top:6px;padding-bottom:6px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}.hud-run{display:flex;align-items:center;gap:var(--sp-3);flex:none}.hud-run .stars{font-size:13px}.hud-run .tag{font-variant-numeric:tabular-nums}.hud-actions{display:flex;align-items:center;gap:var(--sp-2);flex:none;margin-inline-start:auto}.rail{min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--sp-5) var(--sp-5) var(--sp-7)}.rail-brief{grid-area:start;border-inline-end:1px solid var(--line)}.rail-head{display:grid;gap:var(--sp-2);padding-bottom:var(--sp-4);margin-bottom:var(--sp-4);border-bottom:1px solid var(--line)}.rail-title{margin:0;font-size:var(--fs-h2);font-weight:600;line-height:var(--lh-tight);letter-spacing:-.01em;color:var(--ink-max);text-wrap:balance}.rail-head .note{font-variant-numeric:tabular-nums}#mission-meta{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-wide);color:var(--ink-dim)}.rail .prose{font-size:var(--fs-small);line-height:1.6;color:var(--ink-mute);overflow-wrap:anywhere}.block{margin-top:var(--sp-5);padding-top:var(--sp-5);border-top:1px solid var(--line)}.block>.label{margin-bottom:var(--sp-3)}.objectives{list-style:none;margin:0;padding:0}.obj{display:grid;grid-template-columns:14px minmax(0,1fr);gap:var(--sp-3);align-items:start;padding:var(--sp-2) 0}.obj+.obj{border-top:1px solid var(--line)}.obj-mark{position:relative;width:14px;height:14px;margin-top:2px;border:1px solid var(--line-3);border-radius:var(--r-0);background:transparent}.obj.is-pass .obj-mark{border-color:var(--ink-max);background:var(--ink-max)}.obj.is-fail .obj-mark{border-color:var(--ink-max);background:transparent}.obj.is-fail .obj-mark:after{content:"";position:absolute;inset-inline:2px;top:50%;height:2px;margin-top:-1px;background:var(--ink-max)}.obj.is-skip .obj-mark{border-style:dashed;border-color:var(--line-3)}.obj-body{display:grid;gap:var(--sp-1);min-width:0}.obj-title{display:block;font-size:var(--fs-small);line-height:1.45;color:var(--ink)}.obj.is-pass .obj-title{color:var(--ink-dim)}.obj.is-fail .obj-title{color:var(--ink-max)}.obj.is-skip .obj-title{color:var(--ink-dim)}.obj.is-hidden .obj-title:before{content:"†";margin-inline-end:6px;font-family:var(--mono);color:var(--ink-dim)}.obj-msg{display:block;padding-inline-start:var(--sp-2);border-inline-start:1px solid var(--line-2);font-size:11.5px;line-height:1.45;color:var(--ink-dim)}.rules{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}.rules li{position:relative;padding-inline-start:var(--sp-4);font-size:var(--fs-small);line-height:1.5;color:var(--ink-dim)}.rules li:before{content:"";position:absolute;inset-inline-start:2px;top:.62em;width:4px;height:4px;background:var(--ink-ghost)}.rules p{margin:0}.rules strong{font-weight:600;color:var(--ink-mute)}.stage{grid-area:stage;display:grid;min-width:0;min-height:0;grid-template-rows:minmax(160px,1fr) auto clamp(200px,30vh,300px)}.pane{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}.pane+.pane{border-top:1px solid var(--line)}.pane-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line)}.pane-head .note{font-size:11px;color:var(--ink-ghost);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pane-body{min-width:0;min-height:0;overflow:auto}.pane-graph{min-height:160px;grid-template-rows:auto minmax(0,1fr) auto}.pane-graph .pane-body{padding:var(--sp-2) 0 var(--sp-3)}.pane-reflog .pane-body{max-height:150px}.disclose{display:inline-flex;align-items:center;gap:var(--sp-2);margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer}.disclose .label{transition:color var(--fast) var(--ease)}.disclose:hover .label,.disclose:focus-visible .label{color:var(--ink)}.disclose-mark{width:0;height:0;border-left:4px solid var(--ink-dim);border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;transition:transform var(--fast) var(--ease)}.disclose[aria-expanded=true] .disclose-mark{transform:rotate(90deg)}.ticket{margin-bottom:var(--sp-5)}.block .rules{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--line)}.git-graph{display:block;font-family:var(--mono);font-size:12px}.git-graph .row-hit{fill:transparent;transition:fill var(--fast) var(--ease)}.git-graph .node-fill{stroke:var(--paper)}.git-graph .node-ghost{fill:var(--paper-3)}.git-graph .head-ring{stroke:var(--ink-max)}g.commit{cursor:pointer}g.commit:hover .row-hit{fill:var(--paper-3)}g.commit:focus-visible .row-hit,g.commit.selected .row-hit{fill:var(--paper-4)}.git-graph .subject{fill:var(--ink)}g.commit:hover .subject,g.commit.selected .subject{fill:var(--ink-max)}g.unreachable .subject{fill:var(--ink-dim);font-style:italic}.git-graph .hash{fill:var(--ink-dim);font-size:11px;font-variant-numeric:tabular-nums}.git-graph .date{fill:var(--ink-ghost)}.git-graph .ref rect{fill:none;stroke:var(--line-3);stroke-width:1}.git-graph .ref text{fill:var(--ink-mute);font-size:10.5px;letter-spacing:.02em}.git-graph .ref-current rect{fill:var(--ink-max);stroke:var(--ink-max)}.git-graph .ref-current text{fill:var(--paper);font-weight:600}.git-graph .ref-head-detached rect{fill:none;stroke:var(--ink-max);stroke-width:1}.git-graph .ref-head-detached text{fill:var(--ink-max)}.git-graph .ref-remote rect{fill:none;stroke:var(--line-2)}.git-graph .ref-remote text{fill:var(--ink-dim)}.git-graph .ref-tag rect{fill:var(--paper-4);stroke:var(--line-3)}.git-graph .ref-tag text{fill:var(--ink-mute);letter-spacing:var(--tr-wide)}.git-graph .ref-ghost rect{fill:none;stroke:var(--line-3);stroke-dasharray:3 2}.git-graph .ref-ghost text{fill:var(--ink-dim);font-style:italic}.graph-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);height:100%;min-height:0;padding:var(--sp-4);text-align:center;font-size:var(--fs-small);line-height:1.5;color:var(--ink-dim);text-wrap:balance}.graph-empty strong{display:block;font-weight:600;color:var(--ink-mute)}.detail{max-height:34%;padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line);background:var(--paper-2);overflow-y:auto}.detail-row{display:grid;grid-template-columns:62px minmax(0,1fr);gap:var(--sp-3);align-items:baseline;padding:1.5px 0;font-family:var(--mono);font-size:var(--fs-small);font-variant-numeric:tabular-nums;line-height:1.5}.detail-key{color:var(--ink-dim)}.detail-row>:last-child{min-width:0;color:var(--ink);overflow-wrap:anywhere}.detail-row code{padding:0;border:0;background:none;font-size:1em;color:var(--ink-max)}.detail-row em{font-style:normal;color:var(--ink-dim)}.reflog-row{display:grid;grid-template-columns:80px 70px minmax(0,1fr);gap:var(--sp-3);align-items:center;padding:5px var(--sp-4);border-bottom:1px solid var(--line);border-left:2px solid transparent;font-size:var(--fs-small);cursor:pointer;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease)}.reflog-row:hover{background:var(--paper-3)}.reflog-row.selected{background:var(--paper-4);border-left-color:var(--ink-max)}.reflog-row code{padding:0;border:0;background:none;font-size:1em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reflog-row .sel{color:var(--ink-mute)}.reflog-row .hash{color:var(--ink-dim)}.reflog-row .msg{min-width:0;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reflog-row.selected .sel,.reflog-row.selected .hash{color:var(--ink-max)}.reflog-row.selected .msg{color:var(--ink)}.reflog-row.unknown .sel,.reflog-row.unknown .hash{color:var(--ink-ghost)}.reflog-row.unknown .msg{color:var(--ink-ghost);font-style:italic}.pane-term .term{min-width:0;min-height:0;padding:var(--sp-2) var(--sp-1) var(--sp-1) var(--sp-3);overflow:hidden}.term .xterm,.term .terminal{height:100%}.term .xterm-viewport{scrollbar-width:thin;scrollbar-color:var(--line-3) transparent}.verdict{margin:var(--sp-3) 0;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-inline-start:3px solid var(--line-2);border-start-end-radius:var(--r-1);border-end-end-radius:var(--r-1);background:var(--paper-2);font-size:var(--fs-small);line-height:1.5;color:var(--ink-mute)}.verdict strong{font-weight:600;color:var(--ink-max)}.verdict.is-pass{border-inline-start-color:var(--ink-max);color:var(--ink)}.verdict.is-fail{border-inline-start-style:dashed;border-inline-start-color:var(--line-3)}.unverified{margin:var(--sp-3) 0 0;font-family:var(--mono);font-size:11.5px;line-height:1.5;color:var(--ink-dim)}.mentor{margin-bottom:var(--sp-4)}.mentor-said{margin-bottom:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-2);background:var(--paper-4)}.mentor-text{margin:0;font-size:var(--fs-small);line-height:1.6;color:var(--ink-mute)}.mentor-focus{margin:var(--sp-3) 0 0;min-width:0}.mentor-focus code{display:block;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--paper);font-family:var(--mono);font-size:11.5px;line-height:1.5;color:var(--ink-max);white-space:pre-wrap;overflow-wrap:anywhere}.mentor-free{margin:var(--sp-2) 0 0;font-size:var(--fs-small);line-height:1.5;color:var(--ink-dim)}.ladder{position:relative;list-style:none;margin:0;padding-block:0;padding-inline:var(--sp-5) 0;display:grid;gap:var(--sp-4)}.ladder:before{content:"";position:absolute;inset-inline-start:8px;top:8px;bottom:8px;width:1px;background:var(--line-2)}.rung{position:relative;min-width:0}.rung-head{display:flex;align-items:center;gap:var(--sp-2);min-width:0;min-height:17px}.rung-n{position:absolute;inset-inline-start:calc(var(--sp-5) * -1);top:0;display:grid;place-items:center;width:17px;height:17px;border:1px solid var(--line-2);border-radius:var(--r-3);background:var(--paper);font-family:var(--mono);font-size:9.5px;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink-ghost)}.rung.is-open .rung-n{border-color:var(--ink-max);background:var(--ink-max);color:var(--paper)}.rung-name{font-size:var(--fs-small);line-height:1.2;color:var(--ink-ghost);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rung.is-open .rung-name{font-weight:600;color:var(--ink-max)}.rung.is-locked .rung-name{color:var(--ink-dim)}.rung-text{margin-top:var(--sp-2);font-size:var(--fs-small);line-height:1.6;color:var(--ink-mute);overflow-wrap:anywhere}.hint-cost{margin:var(--sp-3) 0 0;font-size:var(--fs-small);line-height:1.6;color:var(--ink-dim)}.nudge{overflow:hidden;margin:0 0 var(--sp-3);border-inline-start:2px solid var(--signal-ink);border-start-end-radius:var(--r-2);border-end-end-radius:var(--r-2);background:var(--paper-4)}.nudge-text{margin:0;padding:var(--sp-3) var(--sp-3) 0;font-size:var(--fs-small);line-height:1.6;color:var(--ink-mute)}.nudge-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:0;padding:var(--sp-3)}.bail{margin:var(--sp-3) 0 0;font-size:var(--fs-small);line-height:1.6;color:var(--ink-dim)}.bail .btn{margin-top:var(--sp-2)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:var(--sp-5);overflow-y:auto;background:#000000db;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:overlay-in var(--med) var(--ease) both}.clear{width:100%;max-width:620px;padding:var(--sp-7) var(--sp-6) var(--sp-6);border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--paper-2);text-align:center;animation:clear-in .26s var(--ease) both}.clear>.label{margin-bottom:var(--sp-3)}.clear-title{margin:0;font-size:clamp(30px,5vw,44px);font-weight:700;line-height:1;letter-spacing:var(--tr-display);text-transform:uppercase;color:var(--ink-max)}.clear-sub{margin:var(--sp-3) 0 0;font-size:var(--fs-lede);line-height:1.4;color:var(--ink-mute);text-wrap:balance}.clear .clear-stars{display:flex;justify-content:center;gap:var(--sp-3);margin:var(--sp-5) 0 var(--sp-4);font-size:38px;line-height:1;color:var(--ink-ghost)}.clear .clear-stars span{animation:star-pop .26s var(--ease) both}.clear .clear-stars span:nth-child(1){animation-delay:.14s}.clear .clear-stars span:nth-child(2){animation-delay:.32s}.clear .clear-stars span:nth-child(3){animation-delay:.5s}.clear .clear-stars .on{color:var(--ink-max)}.clear-xp{margin:0;font-family:var(--mono);font-size:18px;font-variant-numeric:tabular-nums;letter-spacing:var(--tr-wide);line-height:1.2;color:var(--ink-dim)}.clear-xp em{font-style:normal;font-size:26px;color:var(--ink-max)}.clear-xp .unit{margin-inline-start:5px;font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-dim)}.clear-standing{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);margin-top:var(--sp-4)}.clear-standing-rank{display:flex;align-items:baseline;gap:var(--sp-2);margin:0}.clear-standing .rank{font-size:var(--fs-body);line-height:1.2;letter-spacing:-.01em}.clear-standing .meter{width:200px;max-width:100%}.clear .clear-standing .note{margin:0;font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}.clear .note{display:block;margin:var(--sp-3) 0 0;text-wrap:balance}.clear-reflection{max-height:220px;margin-top:var(--sp-5);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-2);background:var(--paper);overflow-y:auto;text-align:start;font-size:var(--fs-small);line-height:1.6;color:var(--ink-mute)}.clear-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--sp-2);margin-top:var(--sp-5)}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes clear-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes star-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media(max-width:1100px){.hud-world{display:none}}@media(max-width:820px){.play{height:auto;min-height:100dvh;overflow:visible;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-template-areas:"hud" "start" "stage"}.hud{position:sticky;top:0;z-index:20;height:var(--bar-h);background:var(--paper)}.rail{max-height:none;overflow:visible;padding:var(--sp-4) var(--sp-4) var(--sp-5)}.rail-brief{border-inline-end:0;border-bottom:1px solid var(--line)}.stage{grid-template-rows:auto;border-bottom:1px solid var(--line)}.pane-graph,.pane-term{height:320px}.hud-actions .btn{padding-inline:var(--sp-3)}}.sandbox-label{color:var(--signal-ink)}.sandbox-tools{margin:0;padding:0;list-style:none}.sandbox-tools li{display:flex;flex-direction:column;gap:2px;padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}.sandbox-tools li:last-child{border-bottom:0}.sandbox-tools code{font-family:var(--mono);font-size:var(--fs-small);color:var(--ink-max)}.sandbox-tools span{font-size:var(--fs-small);line-height:1.45;color:var(--ink-dim)}.stage-pane>.stage-panel{grid-row:2;grid-column:1}.stage-pane>.stage-panel[hidden]{display:none}.stage-pane>.stage-detail{grid-row:3;grid-column:1;min-width:0}.stage-tabs{margin-inline-start:calc(var(--sp-2) * -1)}.stage-tabs .work-tab{padding-block:2px}.robot-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);height:100%;min-height:0;padding:var(--sp-4);text-align:center;font-size:var(--fs-small);line-height:1.5;color:var(--ink-dim);text-wrap:balance}.robot-empty strong{display:block;font-weight:600;color:var(--ink-mute)}.viewport{position:relative;height:100%;min-height:0;overflow:hidden}.viewport-stage{position:absolute;top:0;right:0;bottom:0;left:0}.robot-view{display:block}.rv-bounds{stroke:var(--line-2);stroke-width:1}.rv-bounds.is-inferred{stroke:var(--line);stroke-dasharray:3 4}.rv-walls{stroke:var(--line-3);stroke-width:2;stroke-linecap:square}.rv-obstacle{fill:var(--paper-5);stroke:var(--line-3);stroke-width:1}.rv-start{stroke:var(--ink-faint);stroke-width:1}.rv-goal circle{stroke:var(--ink-dim);stroke-width:1.25;stroke-dasharray:4 3}.rv-goal .rv-goal-pip{fill:var(--ink-faint);stroke:none}.rv-goal.is-reached circle{stroke:var(--ink-max);stroke-width:1.5;stroke-dasharray:none}.rv-goal.is-reached .rv-goal-pip{fill:var(--ink-max)}.rv-trail path{stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.rv-trail-0{stroke:var(--ink-faint);stroke-opacity:.5}.rv-trail-1{stroke:var(--ink-faint)}.rv-trail-2{stroke:var(--ink-ghost)}.rv-trail-3{stroke:var(--ink-dim)}.rv-rays{stroke:var(--line-2);stroke-width:.75}.rv-hits{stroke:var(--ink-ghost);stroke-width:2.2;stroke-linecap:round}.robot-view.is-live .rv-rays{stroke:var(--signal-ink);stroke-opacity:.3}.robot-view.is-live .rv-hits{stroke:var(--signal-ink);stroke-opacity:.85}.rv-body{fill:var(--paper-4);stroke:var(--ink-max);stroke-width:1.5}.rv-heading{stroke:var(--ink-mute);stroke-width:1.5}.rv-nose{fill:var(--ink-mute);stroke:none}.robot-view.is-live .rv-heading{stroke:var(--signal-ink)}.robot-view.is-live .rv-nose{fill:var(--signal-fill)}.rv-robot.is-collided .rv-body{stroke-width:3}.rv-hit-ring{stroke:var(--ink-max);stroke-width:1;stroke-dasharray:2 3}.rv-hit-mark{stroke:var(--ink-max);stroke-width:2;stroke-linecap:square}.viewport-readout{position:absolute;inset-inline-start:var(--sp-3);bottom:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-2);background:var(--paper-3);pointer-events:none}.rv-row{display:flex;align-items:baseline;gap:var(--sp-3);font-family:var(--mono);font-size:11px;font-variant-numeric:tabular-nums;line-height:1.6;color:var(--ink)}.rv-key{flex:none;width:44px}.rv-val{white-space:nowrap}.viewport-readout.is-stale .rv-val{color:var(--ink-dim)}.rv-chips{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-top:var(--sp-1)}.rv-chip{padding:0 5px;border:1px solid var(--line-2);border-radius:var(--r-1);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);line-height:1.6;text-transform:uppercase;color:var(--ink-dim)}.rv-chip.is-live{border-color:var(--line-3);color:var(--ink-max)}.rv-chip.is-collided{border-color:var(--ink-max);background:var(--ink-max);color:var(--paper);font-weight:600}.rv-chip.is-goal{border-color:var(--ink-max);color:var(--ink-max)}.rv-chip.is-stale{border-style:dashed;color:var(--ink-ghost)}.node-graph{display:block;font-family:var(--mono);font-size:11px}.ng-box[role=button]{cursor:pointer}.ng-plate{fill:var(--paper-4);stroke:var(--line-3);stroke-width:1;transition:fill var(--fast) var(--ease),stroke var(--fast) var(--ease)}.ng-service .ng-plate{fill:none;stroke:var(--line-2);stroke-dasharray:3 2}.ng-name{fill:var(--ink)}.ng-kind{fill:var(--ink-ghost);font-size:9.5px;letter-spacing:var(--tr-wide)}.ng-box:hover .ng-plate{stroke:var(--ink-mute)}.ng-box:focus-visible{outline:none}.ng-box:focus-visible .ng-plate,.ng-box.selected .ng-plate{fill:var(--paper-5);stroke:var(--ink-max)}.ng-edge{stroke:var(--line-3);stroke-width:1.25}.ng-edge-service{stroke:var(--line-2);stroke-dasharray:4 3}.ng-edge.is-back{stroke:var(--line-2)}.ng-edge.is-live{stroke:var(--signal-ink);stroke-width:1.5}.ng-tip{fill:var(--line-3);stroke:none}.ng-edge-service.ng-tip,.ng-edge.is-back.ng-tip{fill:var(--line-2)}.ng-edge.is-live.ng-tip{fill:var(--signal-ink)}.ng-label-plate{fill:var(--paper-3);stroke:none}.ng-label text{fill:var(--ink-mute);font-size:10px}.ng-hz{fill:var(--ink-ghost);font-variant-numeric:tabular-nums}.ng-label.is-live text{fill:var(--ink)}.node-graph .ng-drop.is-landing{animation:node-drop var(--med) var(--step) both}.node-graph .ng-edge.is-drawing{stroke-dasharray:var(--len, 64);animation:edge-draw .16s var(--step) .2s both}.node-graph .ng-edge.is-drawing.is-live{animation:edge-draw .16s var(--step) .2s both,ng-live-snap 1ms steps(1,end) .36s both}.node-graph .ng-tip.is-arriving{animation:ng-tip-in 1ms steps(1,end) .36s both}@keyframes ng-live-snap{0%{stroke:var(--line-3)}to{stroke:var(--signal-ink)}}@keyframes ng-tip-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.node-graph .ng-drop.is-landing,.node-graph .ng-edge.is-drawing,.node-graph .ng-edge.is-drawing.is-live,.node-graph .ng-tip.is-arriving{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important}.node-graph .ng-edge.is-drawing{stroke-dasharray:none}}.debrief{min-height:100%;background:var(--paper-2)}.debrief-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);height:var(--bar-h);padding:0 var(--gutter);background:color-mix(in srgb,var(--paper-2) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.debrief-top-nav{display:flex;align-items:center;gap:var(--sp-2)}.debrief-page{max-width:var(--measure);margin:0 auto;padding:var(--sp-7) var(--gutter) var(--sp-8)}.debrief-head{max-width:42rem;margin-bottom:var(--sp-6);padding-bottom:var(--sp-5);border-bottom:1px solid var(--line)}.debrief-eyebrow{display:flex;align-items:center;gap:var(--sp-3);margin:0 0 var(--sp-3);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase}.debrief-level{color:var(--signal-ink)}.debrief-world{color:var(--ink-dim)}a.debrief-world.is-link{color:var(--ink-mute);text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:3px;transition:color var(--fast) var(--ease),text-decoration-color var(--fast) var(--ease)}a.debrief-world.is-link:hover{color:var(--ink-max);text-decoration-color:var(--ink-max)}.debrief-title{margin:0 0 var(--sp-4);font-size:clamp(30px,4.4vw,46px);font-variation-settings:"wdth" var(--wdth-display);font-weight:600;line-height:var(--lh-tight);letter-spacing:var(--tr-display);color:var(--ink-max)}.debrief-meta{display:flex;align-items:center;gap:var(--sp-3);margin:0}.debrief-read{font-family:var(--mono);font-size:var(--fs-small);color:var(--ink-dim)}.debrief-body{display:grid;grid-template-columns:1fr;gap:var(--sp-6)}@media(min-width:1000px){.debrief-body{grid-template-columns:15rem minmax(0,1fr)}}.debrief-main{min-width:0;max-width:42rem}.debrief-toc{display:none}@media(min-width:1000px){.debrief-toc{display:block;position:sticky;top:calc(var(--bar-h) + var(--sp-5));align-self:start;max-height:calc(100vh - var(--bar-h) - var(--sp-7));overflow-y:auto}}.debrief-toc .label{margin-bottom:var(--sp-3)}.debrief-toc ol{margin:0;padding:0;list-style:none;border-inline-start:1px solid var(--line)}.debrief-toc li{margin:0}.debrief-toc a{display:block;padding:var(--sp-2) var(--sp-3);margin-inline-start:-1px;border-inline-start:1px solid transparent;font-size:var(--fs-small);line-height:1.4;color:var(--ink-dim);text-decoration:none;transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease)}.debrief-toc a:hover{color:var(--ink)}.debrief-toc li.is-here>a{color:var(--ink-max);border-inline-start-color:var(--signal-ink)}.debrief-prose{font-size:var(--fs-lede);line-height:1.72;color:var(--ink-mute)}.debrief-prose p{margin:0 0 var(--sp-5)}.debrief-prose h2{margin:var(--sp-8) 0 var(--sp-4);padding-top:var(--sp-5);border-top:1px solid var(--line);font-size:var(--fs-h1);font-weight:600;line-height:var(--lh-tight);letter-spacing:-.01em;color:var(--ink-max);scroll-margin-top:calc(var(--bar-h) + var(--sp-4))}.debrief-prose>h2:first-child{margin-top:0;padding-top:0;border-top:0}.debrief-prose h3{margin:var(--sp-6) 0 var(--sp-3);font-family:var(--mono);font-size:var(--fs-body);font-weight:400;color:var(--signal-ink);scroll-margin-top:calc(var(--bar-h) + var(--sp-4))}.debrief-prose ul,.debrief-prose ol{margin:0 0 var(--sp-5)}.debrief-prose li{margin-bottom:var(--sp-3)}.debrief-prose strong{color:var(--ink)}.debrief-prose pre{margin:var(--sp-5) 0;font-size:var(--fs-small);line-height:1.7}.debrief-prose :not(pre)>code{padding:1px 5px;border:1px solid var(--line);border-radius:var(--r-1);background:var(--paper-3);font-family:var(--mono);font-size:.88em;color:var(--ink)}.debrief-state{margin:0;padding:var(--sp-6) 0;font-family:var(--mono);font-size:var(--fs-small);color:var(--ink-dim)}.debrief-gate{max-width:34rem;padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-2);background:var(--paper-3)}.debrief-gate h2{margin:0 0 var(--sp-3);font-size:var(--fs-h2);font-weight:600;color:var(--ink-max)}.debrief-gate p{margin:0 0 var(--sp-5);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink-mute)}.debrief-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3);max-width:42rem;margin-top:var(--sp-8);padding-top:var(--sp-5);border-top:1px solid var(--line)}@media(min-width:1000px){.debrief-foot{margin-inline-start:calc(15rem + var(--sp-6))}}@media(max-width:700px){.debrief-page{padding-bottom:var(--sp-8)}.debrief-foot{padding-bottom:var(--sp-7)}}.profile{min-height:100%;background:var(--paper-2)}.profile-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);height:var(--bar-h);padding:0 var(--gutter);background:color-mix(in srgb,var(--paper-2) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.profile-top-nav{display:flex;align-items:center;gap:var(--sp-2)}.profile-page{max-width:var(--measure);margin:0 auto;padding:var(--sp-7) var(--gutter) var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-7)}.profile-h2{margin:0 0 var(--sp-4);font-size:var(--fs-h2);font-weight:600;color:var(--ink)}.profile-who{display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(var(--sp-5),4vw,var(--sp-7))}.profile-who-copy{flex:1 1 340px;display:flex;flex-direction:column;gap:var(--sp-3)}.profile-name{margin:0;font-size:var(--fs-h1);font-weight:700;line-height:var(--lh-tight);color:var(--ink-max)}.profile-name-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2) var(--sp-3)}.profile-rename{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);background:var(--paper-3);border:1px solid var(--line);border-radius:var(--r-1)}.profile-rename .note{margin:0}.profile-rename-input{width:100%;max-width:22ch;margin:0;padding:7px 10px;font:inherit;line-height:1.5;color:var(--ink-max);background:var(--paper-2);border:1px solid var(--line-2);border-radius:var(--r-2);transition:border-color var(--fast) var(--ease)}.profile-rename-input:hover{border-color:var(--line-3)}.profile-marks,.profile-who-actions,.profile-rename-actions,.profile-dates,.profile-picture-note{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);margin:0}.profile-tag{color:var(--ink-dim)}.profile-seed{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2) var(--sp-3);margin:0;padding:var(--sp-3);background:var(--paper-3);border:1px solid var(--line);border-radius:var(--r-1)}.profile-seed .machine{font-size:var(--fs-small);color:var(--ink-mute);overflow-wrap:anywhere}.profile-said.is-bad{color:var(--ink-mute)}.profile-empty{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4);margin:0}.op-plate{position:relative;display:inline-flex;padding:var(--sp-4);flex:none;background:var(--paper-3);border-radius:var(--r-1)}.op-plate[data-plate=hairline]{border:1px solid var(--line-2)}.op-plate[data-plate=corners]{background-image:linear-gradient(var(--line-3) 0 0),linear-gradient(var(--line-3) 0 0),linear-gradient(var(--line-3) 0 0),linear-gradient(var(--line-3) 0 0),linear-gradient(var(--line-3) 0 0),linear-gradient(var(--line-3) 0 0),linear-gradient(var(--line-3) 0 0),linear-gradient(var(--line-3) 0 0);background-repeat:no-repeat;background-size:10px 1px,1px 10px,10px 1px,1px 10px,10px 1px,1px 10px,10px 1px,1px 10px;background-position:left top,left top,right top,right top,left bottom,left bottom,right bottom,right bottom}.op-plate[data-plate=dots]{border:1px solid var(--line);background-image:radial-gradient(var(--line-3) 1px,transparent 1px);background-size:6px 6px}.op-plate[data-plate=lines]{border:1px solid var(--line);background-image:repeating-linear-gradient(var(--line) 0 1px,transparent 1px 4px)}.operator{display:block;flex:none;image-rendering:pixelated}.profile-rank{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--sp-5);padding-bottom:var(--sp-5);border-bottom:1px solid var(--line)}.profile-rank-name{display:flex;flex-direction:column;gap:var(--sp-1)}.profile-rank-meter{flex:1 1 280px;display:flex;flex-direction:column;gap:var(--sp-2)}.profile-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-5) var(--sp-4);margin:var(--sp-5) 0 0}.profile-figures .figure dt{min-height:calc(var(--fs-label) * 2 * 1.35)}.profile-figures .figure-note{margin:var(--sp-2) 0 0;max-width:34ch}.profile-table{width:100%;border-collapse:collapse;font-size:var(--fs-small)}.profile-table th,.profile-table td{padding:var(--sp-3) var(--sp-2);text-align:start;border-bottom:1px solid var(--line)}.profile-table thead th{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-dim);font-weight:400}.profile-table tbody th{font-weight:500;color:var(--ink-mute)}.profile-table td{color:var(--ink-dim);font-variant-numeric:tabular-nums}.profile-table tr.is-done tbody th,.profile-table tr.is-done th[scope=row]{color:var(--ink)}.builder{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:clamp(var(--sp-5),3vw,var(--sp-6));align-items:start}@media(max-width:720px){.builder{grid-template-columns:1fr}}.builder-preview{position:sticky;top:calc(var(--bar-h) + var(--sp-4));display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-5);background:var(--paper-3);border:1px solid var(--line);border-radius:var(--r-1)}.builder-sizes{display:flex;align-items:flex-end;gap:var(--sp-4)}.builder-size{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1)}.builder-seed{font-size:var(--fs-label);color:var(--ink-ghost);overflow-wrap:anywhere}.builder-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.builder-rails{min-width:0}.rail-tabs{display:flex;flex-wrap:wrap;gap:var(--sp-1);padding-bottom:var(--sp-3);border-bottom:1px solid var(--line)}.rail-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px solid transparent;border-radius:var(--r-1);padding:6px var(--sp-3);font:inherit;font-size:var(--fs-small);color:var(--ink-dim);cursor:pointer;transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease)}.rail-tab:hover{color:var(--ink)}.rail-tab.is-on{color:var(--ink-max);border-color:var(--line-2);background:var(--paper-4)}.rail-note{margin:var(--sp-3) 0}.part-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:var(--sp-2)}.part{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-2);background:var(--paper-3);border:1px solid var(--line);border-radius:var(--r-1);font:inherit;font-size:var(--fs-label);color:var(--ink-dim);cursor:pointer;transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease),background var(--fast) var(--ease)}.part:hover:not(:disabled){border-color:var(--line-3);color:var(--ink)}.part.is-on{border-color:var(--signal-edge);background:var(--paper-4);color:var(--ink-max)}.part:disabled{cursor:default;opacity:.62;border-style:dashed}.part-name{text-align:center;line-height:1.3}.part-lock{font-family:var(--mono);font-size:var(--fs-label);color:var(--ink-ghost);text-align:center}.part-plate{padding:var(--sp-2)}.chat-op{flex:none;align-self:center;border-radius:var(--r-1)}@media(max-width:620px){.bar-end .btn.to-profile{display:inline-flex}}.account-avatar.operator{width:auto;height:auto;border-radius:var(--r-1);background:none;margin:3px}.account-face{display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1}.profile-team-list{display:flex;flex-direction:column;gap:var(--sp-4);margin:0;padding:0;list-style:none}.profile-team{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);background:var(--paper-3);border:1px solid var(--line);border-radius:var(--r-1)}.profile-team-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-3)}.profile-team-name{font-size:var(--fs-lede);font-weight:600;color:var(--ink-max)}.profile-team-roster{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);margin:0;padding:0;list-style:none}.profile-team-member{display:flex;align-items:center;gap:var(--sp-2);min-width:0;color:var(--ink-mute)}.profile-team-blank{width:16px;height:16px;border:1px dashed var(--line-2)}.profile-team-actions{display:flex;margin:0}.profile-team-waiting{margin-top:var(--sp-4)}.profile-public{display:flex;flex-direction:column;gap:var(--sp-2);padding-top:var(--sp-4);border-top:1px solid var(--line)}.profile-public-url{overflow-wrap:anywhere;color:var(--ink-mute);direction:ltr;text-align:start}.person .profile-page{max-width:720px}.person-badges{display:flex;flex-direction:column;gap:var(--sp-3);margin:var(--sp-5) 0 0;padding:0;list-style:none}.person-badge{display:flex;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-4);background:var(--paper-3);border:1px solid var(--line);border-inline-start:2px solid var(--signal-edge);border-radius:var(--r-1)}.person-badge-mark{flex:none;width:10px;height:10px;margin-top:5px;background:var(--signal-fill);box-shadow:0 0 0 4px var(--signal-glow)}.person-badge-copy{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.person-badge-title{font-size:var(--fs-lede);font-weight:600;color:var(--ink-max);line-height:var(--lh-tight)}.person-summary{margin:0;max-width:62ch;font-size:var(--fs-lede);line-height:var(--lh-body);color:var(--ink)}.person-world-list{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin:0;padding:0;list-style:none}.person-world{display:flex;align-items:flex-start;gap:var(--sp-3);flex:1 1 240px;padding:var(--sp-3) var(--sp-4);background:var(--paper-3);border:1px solid var(--line);border-inline-start:2px solid var(--signal-edge);border-radius:var(--r-1)}.person-world-mark{flex:none;width:12px;height:12px;margin-top:4px;background:var(--signal-fill);box-shadow:0 0 0 4px var(--signal-glow)}.person-world-copy{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.person-world-name{font-size:var(--fs-lede);font-weight:600;color:var(--ink-max);line-height:var(--lh-tight)}.person-world-caveat{margin-top:var(--sp-3)}.person-how{display:flex;flex-direction:column;gap:var(--sp-4);margin:var(--sp-3) 0 0}.person-how-label{margin:var(--sp-6) 0 0}.person-how-item{display:flex;flex-direction:column;gap:var(--sp-1);padding-inline-start:var(--sp-4);border-inline-start:2px solid var(--line-2)}.person-how-term{font-weight:600;color:var(--ink-max);line-height:var(--lh-tight)}.person-how-body{margin-inline-start:0;max-width:68ch}.person-empty{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-5);padding:var(--sp-5);background:var(--paper-3);border:1px dashed var(--line-2);border-radius:var(--r-1)}.person-empty-line{margin:0;color:var(--ink)}.person-missing{display:flex;flex-direction:column;gap:var(--sp-4);align-items:flex-start}.person-pilot{margin-top:var(--sp-5)}.person-cta,.person-cta-band{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4);margin:0;padding-top:var(--sp-5);border-top:1px solid var(--line)}.person-cta{border-top:0;padding-top:0}.person-cta-band .note{flex:1 1 320px}.projects{max-width:1240px;margin-inline:auto;padding-inline:var(--gutter);padding-block:clamp(var(--sp-7),7vh,88px) clamp(var(--sp-7),7vh,80px)}.projects__head{max-width:62ch}.projects__kicker{display:flex;align-items:center;gap:var(--sp-3);margin:0 0 var(--sp-5);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-mute)}.projects__kicker:before{content:"";width:6px;height:6px;background:var(--signal-fill);box-shadow:inset 0 0 0 1px var(--signal-edge)}.projects__title{margin:0 0 var(--sp-5);font-size:clamp(36px,5vw,62px);font-weight:700;line-height:.98;letter-spacing:var(--tr-display);font-variation-settings:"wdth" var(--wdth-display);color:var(--ink-max);text-wrap:balance}.projects__lede{margin:0 0 var(--sp-4);max-width:56ch;font-size:16.5px;line-height:1.55;color:var(--ink)}.projects__client{margin:0;max-width:58ch;font-size:13.5px;line-height:var(--lh-body);color:var(--ink-mute)}.projects__bar{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-top:clamp(var(--sp-7),6vh,72px);padding-bottom:var(--sp-3);border-bottom:1px solid var(--line)}.projects__h2{margin:0;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-mute)}.projects__bar p{margin:0;font-size:var(--fs-small);color:var(--ink-mute)}.board{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));border-inline-start:1px solid var(--line)}.pcard{display:flex;flex-direction:column;gap:var(--sp-4);padding:clamp(var(--sp-5),2.4vw,var(--sp-6));background:var(--paper-3);border-inline-end:1px solid var(--line);border-block-end:1px solid var(--line)}.pcard__ident{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}.pcard__ident .machine,.brief__eyebrow .machine{text-transform:none}.pcard__title{margin:0;font-size:21px;font-weight:600;line-height:1.18;letter-spacing:-.02em;color:var(--ink-max);text-wrap:pretty}.pcard__summary{margin:0;flex:1 1 auto;font-size:13.5px;line-height:var(--lh-body);color:var(--ink)}.pcard__spec{display:grid;gap:var(--sp-2);margin:0;padding-top:var(--sp-4);border-top:1px solid var(--line);font-family:var(--mono);font-size:11.5px}.pcard__spec>div{display:flex;justify-content:space-between;gap:var(--sp-3)}.pcard__spec dt{color:var(--ink-mute)}.pcard__spec dd{margin:0;color:var(--ink)}.pcard__spec .money{font-size:14px;color:var(--ink-max)}.pcard__more{display:block;text-decoration:none;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line-2);border-radius:var(--r-0);background:var(--paper-4);color:var(--ink-max);font:inherit;font-size:13px;font-weight:600;text-align:start;cursor:pointer;transition:border-color var(--fast) var(--ease)}.pcard__more:after{content:" →"}.pcard__more:hover{border-color:var(--signal-edge)}.pstatus{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:7px;padding:4px 9px;border:1px solid var(--line-2);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.pill:before{content:"";width:6px;height:6px;background:var(--ink-max)}.pill--open:before{background:var(--signal-fill);box-shadow:inset 0 0 0 1px var(--signal-edge)}.pill--closed{color:var(--ink-mute)}.pill--closed:before{background:none;border:1px solid var(--line-3)}.pstatus__count{font-family:var(--mono);font-size:11px;color:var(--ink-mute)}.how{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--sp-5) clamp(var(--sp-5),3vw,44px);margin:var(--sp-5) 0 0;padding:0;list-style:none}.how>li{padding-top:var(--sp-3);border-top:1px solid var(--line)}.how__n{display:block;margin-bottom:var(--sp-2);font-family:var(--mono);font-size:11.5px;color:var(--signal-ink)}.how p{margin:0;font-size:13.5px;line-height:1.65;color:var(--ink)}.terms{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(var(--sp-5),3vw,var(--sp-7));margin-top:clamp(var(--sp-7),6vh,72px);padding-top:var(--sp-5);border-top:1px solid var(--line)}.terms h2{margin:0 0 var(--sp-2);font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--ink-max)}.terms__note{margin:0;max-width:34ch;font-size:13px;line-height:var(--lh-body);color:var(--ink-mute)}.terms ul{display:grid;gap:var(--sp-4);margin:0;padding:0;list-style:none;max-width:70ch}.terms li{display:grid;grid-template-columns:22px 1fr;font-size:var(--fs-body);line-height:1.7;color:var(--ink)}.terms li:before{content:"—";font-family:var(--mono);font-size:13px;color:var(--ink-mute)}.brief{max-width:1240px;margin-inline:auto;padding-inline:var(--gutter);padding-block:clamp(var(--sp-5),4vh,40px) clamp(var(--sp-7),7vh,80px)}.brief__crumb{display:inline-block;margin-bottom:var(--sp-5);padding:0;border:0;background:none;font-family:var(--mono);font-size:11.5px;letter-spacing:var(--tr-wide);color:var(--ink-mute);text-decoration:none;cursor:pointer}.brief__crumb:before{content:"← "}.brief__crumb:hover{color:var(--ink-max)}.brief__head{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:clamp(var(--sp-5),3vw,var(--sp-8))}.brief__eyebrow{display:flex;align-items:center;gap:var(--sp-3);margin:0 0 var(--sp-3);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-mute)}.brief__title{margin:0 0 var(--sp-4);font-size:clamp(30px,4vw,48px);font-weight:700;line-height:1.02;letter-spacing:var(--tr-display);font-variation-settings:"wdth" 90;color:var(--ink-max);text-wrap:balance}.brief__summary{margin:0;max-width:56ch;font-size:16.5px;line-height:1.55;color:var(--ink)}.brief__chips{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-5)}.chip{padding:5px 10px;border:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--ink)}.brief__spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(124px,1fr));gap:1px;margin:0;background:var(--line);border:1px solid var(--line)}.brief__spec>div{padding:var(--sp-4) 18px;background:var(--paper-4)}.brief__spec dt{font-family:var(--mono);font-size:10px;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-mute)}.brief__spec dd{margin:6px 0 0;font-family:var(--mono);font-size:13px;line-height:1.3;color:var(--ink)}.brief__spec .money{font-size:22px;line-height:1;color:var(--ink-max)}.brief__spec .foot{font-family:var(--sans);font-size:11.5px;color:var(--ink-mute)}.shot{margin:clamp(var(--sp-5),4vh,44px) 0 0;border:1px solid var(--line);background:var(--paper-3)}.shot__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;padding:11px clamp(var(--sp-4),2vw,var(--sp-5));border-bottom:1px solid var(--line);background:var(--paper-4);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}.shot img{display:block;width:100%;height:auto}.shot--empty .shot__body{height:clamp(200px,26vw,300px);display:grid;place-items:center;padding:var(--sp-5);background:repeating-linear-gradient(135deg,var(--paper-4) 0 9px,var(--paper-3) 9px 18px)}.shot__cap{margin:0;max-width:46ch;text-align:center;font-family:var(--mono);font-size:12px;line-height:1.7;color:var(--ink)}.brief__body{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(var(--sp-6),4vw,var(--sp-8));margin-top:clamp(var(--sp-6),5vh,52px)}.brief__col{display:grid;gap:clamp(var(--sp-5),4vh,44px);align-content:start}.brief__h2{margin:0 0 var(--sp-3);font-family:var(--mono);font-size:var(--fs-label);font-weight:700;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-mute)}.brief__why{margin:0 0 var(--sp-5);max-width:64ch;font-size:15px;line-height:1.75;color:var(--ink)}.brief__why--second{font-size:var(--fs-body);line-height:1.7;color:var(--ink)}.reqs{border-top:1px solid var(--line)}.req{display:grid;grid-template-columns:74px 1fr;gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid var(--paper-5)}.req__id{font-family:var(--mono);font-size:11.5px;color:var(--ink-mute)}.req p{margin:0;font-size:var(--fs-body);line-height:1.7;color:var(--ink)}.done{border:1px solid var(--line-2);background:var(--paper-4);padding:clamp(18px,2vw,var(--sp-6))}.done h2{margin:0 0 var(--sp-1);font-family:var(--mono);font-size:var(--fs-label);font-weight:700;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-max)}.done__note{margin:0 0 var(--sp-4);font-size:12px;color:var(--ink-mute)}.done ul,.out ul{display:grid;margin:0;padding:0;list-style:none}.done ul{gap:var(--sp-3)}.out ul{gap:10px}.done li,.out li{display:grid;grid-template-columns:18px 1fr;font-size:13.5px;line-height:1.65}.done li{color:var(--ink)}.out li{color:var(--ink-mute)}.done li:before,.out li:before{content:"";width:5px;height:5px;margin-top:8px}.done li:before{background:var(--ink)}.out li:before{border:1px solid var(--line-3)}.src{border:1px solid var(--line);background:var(--paper);padding:var(--sp-3) var(--sp-4);font-family:var(--mono);font-size:var(--fs-small);line-height:1.9;color:var(--ink);overflow-x:auto}.src .dim{color:var(--ink-mute)}.time{display:grid;gap:var(--sp-3);margin:0;padding:0;list-style:none;font-size:13.5px;color:var(--ink)}.time>li{display:grid;grid-template-columns:112px 1fr;gap:var(--sp-3)}.time__when{font-family:var(--mono);font-size:11.5px;color:var(--ink-mute)}.entry{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3) var(--sp-5);margin-top:clamp(var(--sp-6),5vh,52px);padding:clamp(18px,2vw,var(--sp-6));border:1px solid var(--line);background:var(--paper-3)}.entry__cta{padding:13px 22px;border:1px solid var(--signal-edge);background:var(--signal-fill);color:var(--on-signal);font:inherit;font-size:var(--fs-body);font-weight:700;cursor:pointer;transition:filter var(--fast) var(--ease)}.entry__cta:hover:not(:disabled){filter:brightness(1.08)}.entry__cta[aria-disabled=true]{border-color:var(--line-3);background:var(--paper-4);color:var(--ink-max);opacity:.45;cursor:not-allowed}.entry__cta:disabled{opacity:.45;cursor:not-allowed}.entry__state{flex:1 1 26ch;margin:0;font-size:13.5px;line-height:var(--lh-body);color:var(--ink)}.entry__hint{flex:1 1 24ch;margin:0;font-size:13px;color:var(--ink-mute)}.entry__in{display:inline-flex;align-items:center;gap:9px;padding:11px var(--sp-4);border:1px solid var(--signal-edge);font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-max)}.entry__in:before{content:"";width:6px;height:6px;background:var(--signal-fill);box-shadow:inset 0 0 0 1px var(--signal-edge)}.entry__quiet{padding:var(--sp-2) 0;border:0;background:none;font:inherit;font-size:var(--fs-small);color:var(--ink-mute);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.entry__quiet:hover:not(:disabled){color:var(--ink)}.entry form{flex:1 1 100%;display:grid;gap:var(--sp-4);max-width:56ch}.entry label{display:grid;gap:7px;font-size:12px;color:var(--ink-mute)}.entry select,.entry textarea{padding:11px var(--sp-3);border:1px solid var(--line-2);background:var(--paper-5);color:var(--ink);font:inherit;font-size:var(--fs-body);line-height:var(--lh-body)}.entry textarea{resize:vertical}.entry select:focus-visible,.entry textarea:focus-visible{outline:2px solid var(--line-3);outline-offset:1px}.entry__count{margin:-6px 0 0;font-size:12px;color:var(--ink-mute)}.entry__count--over{color:var(--ink-max)}.entry__actions{display:flex;align-items:center;gap:var(--sp-5)}.opener{min-height:100%;background:var(--paper-2)}.opener-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);height:var(--bar-h);padding:0 var(--gutter);background:color-mix(in srgb,var(--paper-2) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.opener-top-nav{display:flex;align-items:center;gap:var(--sp-2)}.opener-page{max-width:var(--measure);margin:0 auto;padding:var(--sp-7) var(--gutter) var(--sp-8)}.opener-head{max-width:42rem;margin-bottom:var(--sp-6);padding-bottom:var(--sp-5);border-bottom:1px solid var(--line)}.opener-eyebrow{display:flex;align-items:center;gap:var(--sp-3);margin:0 0 var(--sp-3);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase}.opener-chapter{color:var(--signal-ink)}.opener-world{color:var(--ink-dim)}.opener-title{margin:0 0 var(--sp-4);font-size:clamp(30px,4.4vw,46px);font-variation-settings:"wdth" var(--wdth-display);font-weight:600;line-height:var(--lh-tight);letter-spacing:var(--tr-display);color:var(--ink-max)}.opener-lede{margin:0 0 var(--sp-5);max-width:36rem;font-size:var(--fs-lede);line-height:1.55;color:var(--ink-mute)}.opener-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);margin:0}.opener-read{font-family:var(--mono);font-size:var(--fs-small);color:var(--ink-dim)}.opener-optional{font-size:var(--fs-small);color:var(--ink-dim);font-style:italic}.opener-body{display:grid;grid-template-columns:1fr;gap:var(--sp-6)}@media(min-width:1000px){.opener-body{grid-template-columns:15rem minmax(0,1fr)}}.opener-main{min-width:0;max-width:42rem}.opener-toc{display:none}@media(min-width:1000px){.opener-toc{display:block;position:sticky;top:calc(var(--bar-h) + var(--sp-5));align-self:start;max-height:calc(100vh - var(--bar-h) - var(--sp-7));overflow-y:auto}}.opener-toc .label{margin-bottom:var(--sp-3)}.opener-toc ol{margin:0;padding:0;list-style:none;border-inline-start:1px solid var(--line)}.opener-toc li{margin:0}.opener-toc a{display:block;padding:var(--sp-2) var(--sp-3);margin-inline-start:-1px;border-inline-start:1px solid transparent;font-size:var(--fs-small);line-height:1.4;color:var(--ink-dim);text-decoration:none;transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease)}.opener-toc a:hover{color:var(--ink)}.opener-toc li.is-here>a{color:var(--ink-max);border-inline-start-color:var(--signal-ink)}.opener-prose{font-size:var(--fs-lede);line-height:1.72;color:var(--ink-mute)}.opener-prose p{margin:0 0 var(--sp-5)}.opener-prose h2{margin:var(--sp-8) 0 var(--sp-4);padding-top:var(--sp-5);border-top:1px solid var(--line);font-size:var(--fs-h1);font-weight:600;line-height:var(--lh-tight);letter-spacing:-.01em;color:var(--ink-max);scroll-margin-top:calc(var(--bar-h) + var(--sp-4))}.opener-prose>h2:first-child{margin-top:0;padding-top:0;border-top:0}.opener-prose h3{margin:var(--sp-6) 0 var(--sp-3);font-family:var(--mono);font-size:var(--fs-body);font-weight:400;color:var(--signal-ink);scroll-margin-top:calc(var(--bar-h) + var(--sp-4))}.opener-prose ul,.opener-prose ol{margin:0 0 var(--sp-5)}.opener-prose li{margin-bottom:var(--sp-3)}.opener-prose strong{color:var(--ink)}.opener-prose :not(pre)>code{padding:1px 5px;border:1px solid var(--line);border-radius:var(--r-1);background:var(--paper-3);font-family:var(--mono);font-size:.88em;color:var(--ink)}.opener-foot{max-width:42rem;margin:var(--sp-8) 0 0;padding-top:var(--sp-6);border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-4)}@media(min-width:1000px){.opener-foot{margin-inline-start:calc(15rem + var(--sp-6))}}.opener-foot-note{margin:0;font-size:var(--fs-small);color:var(--ink-dim)}.opener-state{margin:0;padding:var(--sp-6) 0;font-family:var(--mono);font-size:var(--fs-small);color:var(--ink-dim)}.opener-gate{max-width:34rem;padding:var(--sp-6) 0}.opener-gate h2{margin:0 0 var(--sp-3);font-size:var(--fs-h1);font-weight:600;color:var(--ink-max)}.opener-gate p{margin:0 0 var(--sp-5);color:var(--ink-mute)}.world-opener{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);margin:0 0 var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-inline-start:2px solid var(--signal-ink);border-radius:var(--r-1);background:var(--paper-1);text-decoration:none;transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease)}.world-opener:hover{background:var(--paper-3);border-color:var(--line-strong, var(--line));border-inline-start-color:var(--signal-ink)}.world-opener-label{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--signal-ink)}.world-opener-title{font-weight:600;color:var(--ink-max)}.world-opener-lede{flex:1 1 18rem;min-width:0;font-size:var(--fs-small);line-height:1.5;color:var(--ink-dim)}.world-opener-read{font-family:var(--mono);font-size:var(--fs-small);color:var(--ink-dim);white-space:nowrap}.world-opener.is-read{border-inline-start-color:var(--line)}.world-opener.is-read .world-opener-label{color:var(--ink-dim)}.clear-chapter{max-width:34rem;margin:var(--sp-5) auto 0;font-size:var(--fs-small);line-height:1.6;text-wrap:balance;color:var(--ink-dim)}.clear-chapter strong{color:var(--ink)}.clear-chapter+.clear-actions{margin-top:var(--sp-4)}.warmup-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:85;display:grid;place-items:center;padding:var(--sp-5);overflow-y:auto;background:#000000e0;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.warmup{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;max-width:880px;max-height:calc(100vh - var(--sp-7));max-height:calc(100dvh - var(--sp-7));border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--paper-3);overflow:hidden}.warmup:focus{outline:none}.warmup-head{padding:var(--sp-5) var(--sp-6) var(--sp-4);border-bottom:1px solid var(--line)}.warmup-id{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-3)}.warmup-rail{display:flex;gap:5px;list-style:none;margin:0;padding:0}.warmup-rail li{width:26px;height:6px;border:1px solid var(--line-2);border-radius:var(--r-1);background:var(--line-2)}.warmup-rail li.is-done{border-color:var(--signal-edge);background:var(--signal-fill)}.warmup-rail li.is-now{border-color:var(--signal-ink);background:transparent}.warmup-title{margin:0;font-size:var(--fs-h1);font-weight:700;line-height:var(--lh-tight);letter-spacing:-.02em;color:var(--ink-max);text-wrap:balance}.warmup-lede{max-width:68ch;margin:var(--sp-2) 0 0;font-size:var(--fs-small);line-height:1.55;color:var(--ink-mute)}.warmup-step{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.warmup-stage{min-height:min(300px,40dvh);padding:var(--sp-5) var(--sp-6);overflow-y:auto}.warmup-card{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-5) var(--sp-6);align-items:start}.warmup-card.has-aside{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.warmup-read{min-width:0}.warmup-card:not(.has-aside) .warmup-read{max-width:68ch}.warmup-tool{margin:0;font-family:var(--mono);font-size:20px;font-weight:500;line-height:1.25;letter-spacing:-.01em;color:var(--ink-max);overflow-wrap:anywhere}.warmup-says{margin:var(--sp-2) 0 0;font-size:var(--fs-lede);line-height:1.4;color:var(--ink);text-wrap:balance}.warmup-body{margin-top:var(--sp-3);font-size:var(--fs-body);line-height:1.65;color:var(--ink-mute);overflow-wrap:anywhere}.warmup-keys{display:grid;gap:var(--sp-2);margin:var(--sp-4) 0 0;padding-top:var(--sp-3);border-top:1px solid var(--line)}.warmup-keys>div{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:var(--sp-3);align-items:baseline}.warmup-keys dt{justify-self:start;padding:1.5px 6px;border:1px solid var(--line);border-radius:var(--r-1);background:var(--paper-4);font-family:var(--mono);font-size:var(--fs-small);color:var(--ink-max);white-space:nowrap}.warmup-keys dd{margin:0;font-size:var(--fs-small);line-height:1.45;color:var(--ink-mute)}.warmup-aside{display:grid;gap:var(--sp-4);align-content:start;min-width:0}.warmup-figure{min-width:0}.warmup-figure:empty{display:none}.try{display:grid;gap:var(--sp-2);min-width:0}.try-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.try-show{margin:0;padding:0;border:0;background:none;font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-dim);cursor:pointer;transition:color var(--fast) var(--ease)}.try-show:hover,.try-show:focus-visible{color:var(--ink-max)}.try-show:disabled{color:var(--ink-ghost);cursor:default}.try-screen{max-height:240px;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-2);background:var(--paper);font-family:var(--mono);font-size:12.5px;line-height:1.6;color:var(--ink);overflow-y:auto;overflow-x:hidden;transition:border-color var(--fast) var(--ease)}.try-screen:focus-within{border-color:var(--line-3)}.try-line{position:relative;display:block;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.try-prompt{color:var(--ink-dim);-webkit-user-select:none;user-select:none}.try-typed{color:var(--ink-max)}.try-caret{display:inline-block;width:1ch;height:1.05em;vertical-align:-.2em;background:var(--signal-fill)}.try-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;margin:0;padding:0;border:0;background:transparent;font:inherit;color:transparent;caret-color:transparent;outline:none}.try-out{margin:0;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}.try-out.is-silent{color:var(--ink-ghost)}.try-nudge{margin:0;color:var(--ink-dim)}.try-nudge p{margin:0}.try-nudge code{padding:0;border:0;background:none;font-size:1em;color:var(--ink-mute)}.try-note{margin:0;padding-inline-start:var(--sp-3);border-inline-start:1px solid var(--line-2);font-size:var(--fs-small);line-height:1.55;color:var(--ink-mute)}.try-note p{margin:0}.warmup-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--line)}.warmup-nav{display:flex;align-items:center;gap:var(--sp-2)}@media(max-width:900px){.warmup-card.has-aside{grid-template-columns:minmax(0,1fr)}}@media(max-width:620px){.warmup-scrim{padding:var(--sp-3)}.warmup-head,.warmup-stage{padding-inline:var(--sp-4)}.warmup-foot{padding:var(--sp-3) var(--sp-4)}.warmup-tool{font-size:18px}}.fig{display:block;width:100%;height:auto;font-family:var(--mono);font-size:9.5px;letter-spacing:.01em;--fig-step: cubic-bezier(.85, 0, .15, 1)}.fig text{fill:var(--ink-mute)}.fig .lbl-ghost{fill:var(--ink-ghost)}.fig .lbl-dim{fill:var(--ink-dim)}.fig .lbl-ink{fill:var(--ink)}.fig .lbl-max{fill:var(--ink-max)}.fig .lbl-sig{fill:var(--signal-ink)}.fig .glyph{font-size:13px}.fig .box,.fig .box-raised,.fig .box-sig,.fig .well{stroke-width:1}.fig .box{fill:var(--paper-4);stroke:var(--line-2)}.fig .box-raised{fill:var(--paper-5);stroke:var(--line-2)}.fig .well{fill:var(--paper);stroke:var(--line)}.fig .box-sig{fill:var(--paper-4);stroke:var(--signal-ink)}.fig .row-hot{fill:var(--paper-4)}.fig .sig{fill:var(--signal-fill)}.fig .fig-rail{fill:var(--ink-max)}.fig .node{stroke:var(--paper);stroke-width:2}.fig .node-ink{fill:var(--ink-max)}.fig .node-dim{fill:var(--ink-dim)}.fig .node-signal{fill:var(--signal-fill)}.fig .node-ghost{fill:var(--paper-3);stroke:var(--ink-mute);stroke-width:1.5;stroke-dasharray:2 2;stroke-opacity:.7}.fig .edge,.fig .wire,.fig .rule,.fig .mark{fill:none}.fig .edge{stroke:var(--line-3);stroke-width:2}.fig .wire{stroke:var(--line-3);stroke-width:1.5}.fig .rule{stroke:var(--line);stroke-width:1}.fig .edge.bright,.fig .wire.bright{stroke:var(--ink)}.fig .edge.sig,.fig .wire.sig{stroke:var(--signal-ink)}.fig .edge.ghost,.fig .wire.ghost{stroke:var(--ink-faint);stroke-width:1.5;stroke-dasharray:4 3}.fig .head{fill:var(--line-3)}.fig .head.bright{fill:var(--ink)}.fig .head.sig{fill:var(--signal-ink)}.fig .head.ghost{fill:var(--ink-faint)}.fig .mark{stroke:var(--ink-dim);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.fig .mark-fail{stroke:var(--ink-max);stroke-width:1.8}.fig .pill rect{fill:none;stroke:var(--line-3);stroke-width:1}.fig .pill text{fill:var(--ink-mute)}.fig .pill-head rect{fill:var(--ink-max);stroke:var(--ink-max)}.fig .pill-head text{fill:var(--paper);font-weight:700}.fig .pill-ghost rect{stroke:var(--line-3);stroke-dasharray:3 2}.fig .pill-ghost text{fill:var(--ink-dim);font-style:italic}.fig .fx-draw{stroke-dasharray:var(--len, 120);stroke-dashoffset:0}.fig .fx-pop{transform-box:fill-box;transform-origin:50% 50%}.fig .fx-grow{transform-box:fill-box;transform-origin:50% 0}.fig .is-live .fx-in{animation:fig-in var(--t, .26s) var(--ease) var(--d, 0ms) both}.fig .is-live .fx-rise{animation:fig-rise var(--t, .3s) var(--fig-step) var(--d, 0ms) both}.fig .is-live .fx-slide{animation:fig-slide var(--t, .38s) var(--fig-step) var(--d, 0ms) both}.fig .is-live .fx-drop{animation:fig-drop var(--t, .24s) var(--fig-step) var(--d, 0ms) both}.fig .is-live .fx-pop{animation:fig-pop var(--t, .22s) var(--fig-step) var(--d, 0ms) both}.fig .is-live .fx-grow{animation:fig-grow var(--t, .24s) var(--fig-step) var(--d, 0ms) both}.fig .is-live .fx-dim{animation:fig-dim var(--t, .3s) var(--ease) var(--d, 0ms) both}.fig .is-live .fx-draw{animation:fig-draw var(--t, .26s) var(--fig-step) var(--d, 0ms) both}.fig .is-live .fx-flash{animation:fig-flash var(--t, .9s) var(--ease) var(--d, 0ms) both}.fig .is-live .fx-walk{animation:fig-walk var(--t, .56s) steps(var(--n, 3),end) var(--d, 0ms) both}.fig .is-live .fx-hop{animation:fig-hop var(--t, 1.05s) var(--fig-step) var(--d, 0ms) both}@keyframes fig-in{0%{opacity:0}}@keyframes fig-rise{0%{opacity:0;transform:translate(var(--dx, 0px),var(--dy, 6px))}}@keyframes fig-slide{0%{transform:translate(var(--dx, 0px),var(--dy, 0px))}}@keyframes fig-drop{0%{opacity:0;transform:translateY(var(--dy, -16px))}}@keyframes fig-pop{0%{opacity:0;transform:scale(.4)}}@keyframes fig-grow{0%{transform:scaleY(0)}}@keyframes fig-dim{0%{opacity:1}}@keyframes fig-draw{0%{stroke-dashoffset:var(--len, 120)}}@keyframes fig-flash{0%{opacity:0}22%,62%{opacity:1}}@keyframes fig-walk{0%{transform:translateY(var(--dy, -60px))}}@keyframes fig-hop{0%,14%{transform:translate(var(--x0, 0px))}42%,56%{transform:translate(var(--x1, 0px))}88%,to{transform:none}}@media(prefers-reduced-motion:reduce){.fig,.fig *{animation-delay:0ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.play{position:relative;--term-h: clamp(200px, 30vh, 300px)}@media(min-width:821px){.play .stage{position:relative;grid-template-rows:minmax(140px,1fr) auto var(--term-h)}.play .pane-graph{min-height:140px}.play .stage.is-bare{grid-template-rows:auto minmax(0,1fr)}.play .stage.is-bare .pane-graph{min-height:0}}.rsz{position:absolute;z-index:25;margin:0;padding:0;border:0;background:transparent;touch-action:none;-webkit-tap-highlight-color:transparent}.rsz:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;background:var(--ink-max);opacity:0;transition:opacity var(--fast) var(--ease)}.rsz:hover:after,.rsz:focus-visible:after,.rsz.is-dragging:after{opacity:1}.rsz:focus{outline:none}.rsz-x{top:var(--bar-h);bottom:0;width:9px;cursor:col-resize}.rsz-x:after{width:1px}.rsz-y{height:9px;cursor:row-resize}.rsz-y:after{height:1px}.rsz-left{inset-inline-start:var(--rail-left);margin-inline-start:-4px}.rsz-row{inset-inline:0;bottom:var(--term-h);margin-bottom:-4px}@media(max-width:820px){.rsz{display:none}}.work-head{padding-block:0;padding-inline:var(--sp-3) var(--sp-4)}.work-tabs{display:flex;align-items:stretch;gap:var(--sp-1);min-width:0}.work-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-bottom:1px solid transparent;margin-bottom:-1px;padding:9px var(--sp-3) 8px;font-family:var(--mono);font-size:var(--fs-label);font-weight:400;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-dim);cursor:pointer;white-space:nowrap;transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease)}.work-tab:hover{color:var(--ink-mute)}.work-tab.is-on{color:var(--ink-max);border-bottom-color:var(--ink-max)}.work-tab:focus-visible{outline:1px solid var(--line-3);outline-offset:-3px}.work-status{margin-inline-start:auto;min-width:0;font-family:var(--mono)}.work-body{display:grid;grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}.work-panel{display:grid;grid-template-rows:minmax(0,1fr);min-width:0;min-height:0}.work-panel[hidden]{display:none}.editor{display:grid;grid-template-columns:210px minmax(0,1fr);min-width:0;min-height:0}.filetree{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;border-inline-end:1px solid var(--line);background:var(--paper)}.filetree-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2);padding-block:var(--sp-2);padding-inline:var(--sp-3) var(--sp-2);border-bottom:1px solid var(--line)}.filetree-root{font-family:var(--mono);font-size:11px;color:var(--ink-ghost);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.filetree-body{min-width:0;min-height:0;overflow:auto;padding:var(--sp-1) 0 var(--sp-3);scrollbar-width:thin;scrollbar-color:var(--line-3) transparent}.tree{display:block}.tree-row{display:flex;align-items:center;gap:var(--sp-1);padding-top:3px;padding-inline-end:var(--sp-2);padding-bottom:3px;border-inline-start:2px solid transparent;font-family:var(--mono);font-size:12px;line-height:1.45;color:var(--ink-mute);white-space:nowrap;overflow:hidden;cursor:pointer;transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.tree-row:hover{background:var(--paper-2);color:var(--ink)}.tree-row:focus-visible{outline:1px solid var(--line-3);outline-offset:-1px}.tree-row.is-dir{color:var(--ink-dim)}.tree-row.is-dir:hover{color:var(--ink-mute)}.tree-row.is-selected{background:var(--paper-3);border-inline-start-color:var(--ink-max);color:var(--ink-max)}.tree-twisty{flex:none;width:10px;font-size:9px;line-height:1;text-align:center;color:var(--ink-ghost)}.tree-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.tree-dirty{flex:none;width:5px;height:5px;margin-inline-start:auto;border-radius:var(--r-3);background:var(--ink)}.tree-empty{margin:0;padding:var(--sp-3);font-size:11.5px;color:var(--ink-ghost)}.editor-main{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}.editor-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:34px;padding-block:var(--sp-1);padding-inline:var(--sp-3) var(--sp-2);border-bottom:1px solid var(--line)}.editor-file{display:flex;align-items:center;gap:var(--sp-2);min-width:0;font-family:var(--mono);font-size:11.5px;color:var(--ink-mute)}.editor-file-path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-dirty{flex:none;width:5px;height:5px;border-radius:var(--r-3);background:var(--ink-max)}.editor-file-state{flex:none;font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-ghost)}.editor-file-none{color:var(--ink-ghost)}.editor-actions{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.editor-error{min-width:0;max-width:40ch;padding:3px var(--sp-2);border:1px solid var(--line-2);border-inline-start:2px solid var(--ink-mute);border-radius:var(--r-1);border-start-start-radius:0;border-end-start-radius:0;background:var(--paper-2);font-size:11px;line-height:1.4;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-save{padding:5px 11px;font-size:11.5px}.editor-stage{display:grid;grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;background:var(--paper)}.editor-host{min-width:0;min-height:0;overflow:hidden}.editor-host[hidden]{display:none}.editor-host .cm-editor{height:100%}.editor-host .cm-scroller{scrollbar-width:thin;scrollbar-color:var(--line-3) transparent}.editor-blank{display:grid;align-content:center;justify-items:start;gap:var(--sp-2);padding:var(--sp-5) var(--sp-6)}.editor-blank .note{max-width:48ch}.pulls{min-width:0;min-height:0;overflow:auto;background:var(--paper);scrollbar-width:thin;scrollbar-color:var(--line-3) transparent}.pull-empty{margin:0;padding:var(--sp-3) var(--sp-4);font-size:11.5px;color:var(--ink-ghost)}.pull-blank{display:grid;align-content:center;justify-items:start;gap:var(--sp-2);padding:var(--sp-5) var(--sp-6);min-height:100%;box-sizing:border-box}.pull-blank .note{margin:0;max-width:56ch}.pull-list{margin:0;padding:0;list-style:none}.pull-list>li+li{border-top:1px solid var(--line)}.pull{display:grid;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-4)}.pull-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.pull-title{display:flex;align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;min-width:0;margin:0;font-size:13.5px;font-weight:600;line-height:1.35;color:var(--ink-max)}.pull-number{font-family:var(--mono);font-weight:400;color:var(--ink-dim)}.pull-subject{min-width:0}.pull-tags{display:flex;flex:none;align-items:center;gap:var(--sp-1)}.pull-tags .tag{padding:3px 7px}.pull-branches{margin:0}.pull-refs{display:inline-flex;align-items:baseline;gap:var(--sp-2);font-family:var(--mono);font-size:11.5px;color:var(--ink-dim)}.pull-refs code,.pull-check-name,.pull-anchor,.pull-hash,.pull-file-status,.pull-path{padding:0;border:0;background:none;font-size:1em}.pull-refs code{color:var(--ink-mute)}.pull-arrow{color:var(--ink-ghost)}.pull-meta{margin:0;font-size:11.5px}.pull-body{padding:var(--sp-2) var(--sp-3);border-inline-start:2px solid var(--line-2);background:var(--paper-2);font-size:12px;line-height:1.55;color:var(--ink-mute);white-space:pre-wrap;overflow-wrap:anywhere}.pull-block{display:grid;gap:var(--sp-1);margin-top:var(--sp-1)}.pull-block .label{color:var(--ink-ghost)}.pull-list-plain{display:grid;gap:2px;margin:0;padding:0;list-style:none}.pull-check{display:flex;align-items:center;gap:var(--sp-2);min-width:0;font-family:var(--mono);font-size:11.5px;color:var(--ink-mute)}.pull-check-mark{position:relative;flex:none;width:8px;height:8px;border:1px solid var(--line-3);background:transparent}.pull-check.is-pass .pull-check-mark{border-color:var(--ink-max);background:var(--ink-max)}.pull-check.is-fail .pull-check-mark{border-color:var(--ink-max)}.pull-check.is-fail .pull-check-mark:after{content:"";position:absolute;inset-inline:1px;top:50%;height:2px;margin-top:-1px;background:var(--ink-max)}.pull-check.is-pending .pull-check-mark{border-style:dashed}.pull-check-name{flex:none;color:var(--ink)}.pull-check-state{flex:none;color:var(--ink-dim)}.pull-check.is-fail .pull-check-state{color:var(--ink-max)}.pull-check-detail{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-ghost)}.pull-review,.pull-comment{display:grid;gap:3px;padding:var(--sp-2) 0}.pull-review+.pull-review,.pull-comment+.pull-comment{border-top:1px solid var(--line)}.pull-review-head,.pull-comment-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-2);font-size:11.5px}.pull-who{font-family:var(--mono);color:var(--ink)}.pull-review-state{color:var(--ink-dim)}.pull-anchor{font-family:var(--mono);color:var(--ink-mute)}.pull-anchor-none{color:var(--ink-ghost)}.pull-resolved{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-ghost)}.pull-said{font-size:12px;line-height:1.55;color:var(--ink-mute);white-space:pre-wrap;overflow-wrap:anywhere}.pull-comment.is-resolved .pull-said{color:var(--ink-dim)}.pull-commits>li,.pull-files>li{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0;font-family:var(--mono);font-size:11.5px;line-height:1.5}.pull-hash{flex:none;color:var(--ink-dim)}.pull-commit-subject{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.pull-file-status{flex:none;width:4ch;color:var(--ink-dim)}.pull-path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-mute)}@media(max-width:1180px){.editor{grid-template-columns:176px minmax(0,1fr)}}@media(max-width:720px){.editor{grid-template-columns:148px minmax(0,1fr)}.editor-error{max-width:22ch}.pull{padding-inline:var(--sp-3)}.pull-blank{padding:var(--sp-4)}}.chat-toggle{position:fixed;inset-inline-end:14px;bottom:14px;z-index:85;width:46px;height:46px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--r-3);background:var(--paper-3);color:var(--ink-max);cursor:pointer;box-shadow:0 0 0 2px var(--chat-ring, var(--line-3)),0 0 22px 2px var(--chat-glow, transparent),0 10px 28px #0000008c;transition:transform var(--fast) var(--ease),box-shadow var(--med) var(--ease),background var(--fast) var(--ease),opacity var(--med) var(--ease),translate var(--med) var(--ease)}.chat-toggle:hover,.chat-toggle:focus-visible{transform:translateY(-1px);background:var(--paper-4);box-shadow:0 0 0 2px var(--chat-ring-hot, var(--line-3)),0 0 30px 4px var(--chat-glow-hot, transparent),0 12px 32px #0009}.chat-toggle[aria-expanded=true]{--chat-glow: transparent;background:var(--paper-4)}.chat-toggle:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;border:2px solid var(--chat-ring, var(--line-3));opacity:0;pointer-events:none}.chat-toggle.has-unread:after{animation:chat-ping 2.2s var(--ease) infinite}@keyframes chat-ping{0%{transform:scale(1);opacity:.5}70%,to{transform:scale(1.5);opacity:0}}@media(prefers-reduced-motion:reduce){.chat-toggle:after{animation:none}.chat-toggle:hover,.chat-toggle:focus-visible{transform:none}}.chat-unread{position:absolute;top:-2px;inset-inline-end:-2px;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;border-radius:var(--r-3);background:var(--ink-max);color:var(--paper);font-family:var(--mono);font-size:9px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.chat-unread.is-mention{border-radius:var(--r-1)}.chat-toggle.has-mention:after{animation-duration:1.4s}@media(prefers-reduced-motion:reduce){.chat-toggle.has-mention:after{animation:none}}.chat{position:fixed;inset-inline-end:14px;bottom:68px;z-index:84;width:min(var(--chat-w, 360px),calc(100vw - 28px));height:min(var(--chat-h, 520px),calc(100dvh - 88px));display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;background:var(--paper-3);border:1px solid var(--line);border-radius:var(--r-2);box-shadow:0 18px 48px #000c;overflow:hidden;overscroll-behavior:contain}.chat-rsz{position:absolute;z-index:6;touch-action:none;-webkit-tap-highlight-color:transparent}.chat-rsz:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;background:var(--ink-max);opacity:0;transition:opacity var(--fast) var(--ease)}.chat-rsz:hover:after,.chat-rsz:focus-visible:after,.chat-rsz.is-dragging:after{opacity:1}.chat-rsz:focus{outline:none}.chat-rsz-w{inset-inline-start:0;top:16px;bottom:16px;width:7px;cursor:ew-resize}.chat-rsz-w:after{width:1px}.chat-rsz-h{top:0;inset-inline:16px;height:7px;cursor:ns-resize}.chat-rsz-h:after{height:1px}.chat-rsz-c{top:0;inset-inline-start:0;width:16px;height:16px;cursor:nwse-resize}.chat-rsz-c:after{inset-block:4px auto;inset-inline:4px auto;margin:0;width:7px;height:7px;background:none;border-inline-start:1px solid var(--ink-max);border-top:1px solid var(--ink-max);opacity:.3}.chat-rsz-c:hover:after,.chat-rsz-c.is-dragging:after{opacity:1}.chat-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:40px;padding-block:0;padding-inline:var(--sp-4) var(--sp-3);border-bottom:1px solid var(--line);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.chat-head:active{cursor:grabbing}.chat-head button{cursor:pointer}.chat-follows{margin-inline-start:var(--sp-2);padding:1px 5px;border:1px solid var(--line);border-radius:var(--r-1);color:var(--ink-dim);font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase}.chat-head-side{display:flex;align-items:center;gap:var(--sp-2);flex:none}.chat-room-btn .label{color:var(--ink)}.chat-room-btn:hover .label,.chat-room-btn:focus-visible .label{color:var(--ink-max)}.chat-here .label{font-variant-numeric:tabular-nums}.chat-x{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:var(--r-2);background:transparent;color:var(--ink-dim);cursor:pointer;transition:color var(--fast) var(--ease)}.chat-x:hover,.chat-x:focus-visible{color:var(--ink-max)}.chat-pop{position:absolute;top:100%;inset-inline:0;z-index:2;display:grid;gap:var(--sp-3);max-height:50vh;padding:var(--sp-3) var(--sp-4) var(--sp-4);overflow-y:auto;background:var(--paper-4);border-bottom:1px solid var(--line-2);box-shadow:0 12px 32px #000000b3;scrollbar-width:thin;scrollbar-color:var(--line-3) transparent}.chat-room-go{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-3)}.chat-room-go .chat-input{width:100%}.chat-room-row{display:grid;gap:var(--sp-2)}.chat-room-tags{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.chat-room-tag{cursor:pointer;background:transparent;transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease)}.chat-room-tag:hover,.chat-room-tag:focus-visible{color:var(--ink-max);border-color:var(--ink-mute)}.chat-members{list-style:none;margin:0;padding:0;display:grid;gap:3px}.chat-member{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0;font-size:var(--fs-small)}.chat-member.is-you .msg-name{font-weight:600;color:var(--ink-max)}.chat-member-btn{flex:1;display:flex;align-items:baseline;gap:var(--sp-2);min-width:0;width:100%;padding:2px var(--sp-2);margin-inline:calc(var(--sp-2) * -1);border:0;border-inline-start:2px solid transparent;background:transparent;color:inherit;font:inherit;font-size:var(--fs-small);text-align:start;cursor:pointer;transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease)}.chat-member-btn:hover,.chat-member-btn:focus-visible{border-inline-start-color:var(--ink-mute);background:var(--paper-2)}.chat-list{min-height:0;padding:var(--sp-3) var(--sp-4) var(--sp-4);overflow-y:auto;overscroll-behavior:contain}.chat-list:focus-visible{outline-offset:-2px}.chat-earlier{display:flex;width:100%;margin-bottom:var(--sp-3);padding-top:7px;padding-bottom:7px}.chat-empty{margin:var(--sp-4) 0;font-size:var(--fs-small);color:var(--ink-dim);text-align:center}.chat-day{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-4) 0 var(--sp-3);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-ghost)}.chat-day:first-child{margin-top:0}.chat-day:before,.chat-day:after{content:"";flex:1;height:1px;background:var(--line)}.msg{min-width:0;padding:1px 0}.msg+.msg:not(.is-cont){margin-top:var(--sp-3)}.msg-head{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0;margin-bottom:1px;font-size:var(--fs-small);line-height:1.4}.msg-name{flex:0 1 auto;min-width:0;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-who{flex:0 1 auto;display:inline-flex;align-items:baseline;gap:var(--sp-2);min-width:0;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:start;cursor:pointer}.msg-who:hover .msg-name,.msg-who:focus-visible .msg-name{color:var(--ink-max);text-decoration:underline;text-underline-offset:2px}.msg-head .msg-meta{flex-shrink:2}.msg.is-own .msg-name{font-weight:600;color:var(--ink-max)}.msg-tag{flex:none;font-family:var(--mono);font-size:11px;color:var(--ink-dim)}.msg-meta{flex:0 1 auto;min-width:0;font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.04em;color:var(--ink-ghost);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-time{flex:none;margin-inline-start:auto;font-family:var(--mono);font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink-ghost)}.msg-text{font-size:var(--fs-small);line-height:1.5;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.msg.is-pending .msg-text,.msg.is-failed .msg-text{color:var(--ink-dim)}.msg-edited{display:inline;margin-inline-start:var(--sp-1);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-wide);color:var(--ink-ghost);white-space:normal;unicode-bidi:isolate}.msg-failed{display:flex;align-items:baseline;gap:var(--sp-2);margin-top:2px;font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--tr-wide);text-transform:uppercase;color:var(--ink-dim)}.chat-link{margin:0;padding:0;border:0;background:none;font:inherit;color:var(--ink-mute);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-3);cursor:pointer;white-space:nowrap;transition:color var(--fast) var(--ease)}.chat-link:hover,.chat-link:focus-visible{color:var(--ink-max);text-decoration-color:var(--ink-max)}.chat-link:disabled{color:var(--ink-ghost);cursor:default;text-decoration-color:var(--line)}.chat-input{margin:0;padding:7px 10px;font:inherit;font-size:var(--fs-small);line-height:1.5;color:var(--ink-max);background:var(--paper-2);border:1px solid var(--line-2);border-radius:var(--r-2);transition:border-color var(--fast) var(--ease)}.chat-input:hover{border-color:var(--line-3)}.chat-input::placeholder{color:var(--ink-ghost)}.chat-input.num{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.chat-input.num::-webkit-outer-spin-button,.chat-input.num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.chat-compose{position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line)}.chat-compose-top{grid-column:1 / -1;grid-row:1;display:grid;gap:var(--sp-2);min-width:0}.chat-compose textarea{grid-column:3;grid-row:1;width:100%;min-height:34px;max-height:calc(4 * 1.5 * var(--fs-small) + 16px);resize:none;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line-3) transparent}.chat-compose .btn{grid-column:4;grid-row:1;padding-top:9px;padding-bottom:9px}.chat-count{grid-column:1 / -1;grid-row:2;font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--ink-dim);text-align:end}.chat-count.is-over{color:var(--ink-max)}.chat-foot{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);min-height:44px;padding-block:var(--sp-2);padding-inline:var(--sp-4) 96px;font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.04em;color:var(--ink-dim)}.chat-dot{flex:none;width:7px;height:7px;border:1px solid var(--ink-mute);border-radius:var(--r-0);background:transparent}.chat-dot.is-open{border-color:var(--ink-max);background:var(--ink-max)}.chat-dot.is-offline,.chat-dot.is-idle{border-style:dashed;border-color:var(--line-3)}.chat-status{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-status-tag{margin-inline-start:5px;color:var(--ink-ghost)}.chat-foot .chat-link{margin-inline-start:auto;font-size:var(--fs-label);letter-spacing:.04em}.chat-name{grid-row:1 / -1;display:grid;align-content:center;gap:var(--sp-3);padding:var(--sp-6) var(--sp-5)}.chat-name.is-inline{grid-row:auto;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-2) var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line)}.chat-name.is-inline .note{grid-column:1 / -1;grid-row:2}.chat-name.is-inline .chat-name-actions{grid-column:3;grid-row:1;margin-top:0}.chat-name .chat-input{width:100%}.chat-name .note{margin:0}.chat-name-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2)}.chat-waiting{min-height:72px;border-top:1px solid var(--line)}.chat-signin{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--sp-2) var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line)}.chat-signin .label{grid-column:1;grid-row:1}.chat-signin .note{grid-column:1 / -1;grid-row:2;margin:0}.chat-signin-actions{grid-column:2;grid-row:1}.chat-avatar{width:16px;height:16px;border-radius:50%;object-fit:cover;flex:none;align-self:center;background:var(--line)}.msg-verified{display:inline-flex;align-items:center;color:var(--ink-dim);margin-inline-start:2px}.msg-verified svg{display:block}.emoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",Twemoji Mozilla,sans-serif;font-style:normal;line-height:1;-webkit-user-select:none;user-select:none}.chat-face{flex:none;align-self:center;width:16px;font-size:14px;text-align:center}.chat-face-btn{flex:none;display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid transparent;border-radius:var(--r-2);background:transparent;cursor:pointer;transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease)}.chat-face-btn:hover:not(:disabled),.chat-face-btn:focus-visible,.chat-face-btn[aria-expanded=true]{border-color:var(--line-3);background:var(--paper-2)}.chat-face-btn:disabled{cursor:default}.chat-face-btn .chat-face{width:auto;font-size:15px}.chat-pop.is-up{top:auto;bottom:100%;border-top:1px solid var(--line-2);border-bottom:0;box-shadow:0 -12px 32px #000000b3}.face-pick{display:grid;gap:var(--sp-3)}.face-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(30px,1fr));gap:2px}.face{display:grid;place-items:center;aspect-ratio:1;padding:0;border:1px solid transparent;border-radius:var(--r-2);background:transparent;font-size:17px;cursor:pointer;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease)}.face:hover,.face:focus-visible{background:var(--paper-2)}.face.is-on{border-color:var(--ink-dim);background:var(--paper-2)}.face-default{justify-self:start}.emoji-pick{position:absolute;inset-inline:0;bottom:100%;z-index:3;display:grid;grid-template-rows:auto minmax(0,1fr);height:min(280px,52vh);background:var(--paper-4);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line);box-shadow:0 -12px 32px #000000b3}.emoji-head{display:grid;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3) var(--sp-2);border-bottom:1px solid var(--line)}.emoji-search{width:100%}.emoji-jump{display:flex;gap:2px}.emoji-jump-btn{flex:1;display:grid;place-items:center;padding:3px 0;border:0;border-radius:var(--r-2);background:transparent;font-size:14px;opacity:.55;cursor:pointer;transition:opacity var(--fast) var(--ease),background var(--fast) var(--ease)}.emoji-jump-btn:hover,.emoji-jump-btn:focus-visible{opacity:1;background:var(--paper-2)}.emoji-body{overflow-y:auto;padding:0 var(--sp-3) var(--sp-3);scrollbar-width:thin;scrollbar-color:var(--line-3) transparent;overscroll-behavior:contain}.emoji-group-name{position:sticky;top:0;z-index:1;margin:0;padding:var(--sp-3) 0 var(--sp-2);background:var(--paper-4)}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(30px,1fr));gap:1px}.emoji-cell{display:grid;place-items:center;aspect-ratio:1;padding:0;border:0;border-radius:var(--r-2);background:transparent;font-size:17px;cursor:pointer;transition:background var(--fast) var(--ease)}.emoji-cell:hover,.emoji-cell:focus-visible{background:var(--paper-2)}.compose-emoji{grid-column:1;grid-row:1;align-self:end;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:var(--r-2);background:var(--paper-2);font-size:15px;opacity:.6;cursor:pointer;transition:opacity var(--fast) var(--ease),border-color var(--fast) var(--ease)}.compose-emoji:hover,.compose-emoji:focus-visible,.compose-emoji.is-on{opacity:1;border-color:var(--line-3)}.compose-attach{grid-column:2;grid-row:1;align-self:end;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:var(--r-2);background:var(--paper-2);color:var(--ink-mute);opacity:.6;cursor:pointer;transition:opacity var(--fast) var(--ease),border-color var(--fast) var(--ease)}.compose-attach:hover,.compose-attach:focus-visible{opacity:1;border-color:var(--line-3)}.chat-attach{display:flex;align-items:center;gap:var(--sp-2);min-width:0;padding:3px var(--sp-2);border-inline-start:2px solid var(--ink-dim);border-radius:var(--r-1);background:var(--paper-2);color:var(--ink-dim);font-size:var(--fs-label);line-height:1.45}.chat-attach-shot{flex:none;width:34px;height:34px;border-radius:var(--r-1);object-fit:cover;background:var(--paper)}.chat-attach-say{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-attach.is-failed{border-inline-start-style:dashed;color:var(--ink-ghost)}.chat-attach.is-failed .chat-attach-shot{opacity:.45}.chat.is-dropping{outline:2px dashed var(--line-3);outline-offset:-4px}.msg.is-jumbo .msg-text{font-size:26px;line-height:1.25}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.chat-strip{display:flex;align-items:center;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}.chat-strip::-webkit-scrollbar{display:none}.chat-strip>:first-child,.chat-room{min-width:0}.chat-inbox-btn{flex:none}.chat-strip-tab{flex:0 1 auto;display:flex;align-items:center;gap:5px;min-width:0;padding:3px 7px;border:1px solid transparent;border-radius:var(--r-2);background:transparent;color:var(--ink-dim);font-family:var(--mono);font-size:11px;line-height:1.4;white-space:nowrap;overflow:hidden;cursor:pointer;transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease),background var(--fast) var(--ease)}.chat-strip-tab>span:not(.chat-strip-dot){min-width:0;overflow:hidden;text-overflow:ellipsis}.chat-strip-tab:hover,.chat-strip-tab:focus-visible{color:var(--ink-max);border-color:var(--line-2);background:var(--paper-2)}.chat-strip-tab .label{color:var(--ink-dim);transition:color var(--fast) var(--ease)}.chat-strip-tab:hover .label,.chat-strip-tab:focus-visible .label{color:var(--ink-max)}.chat-strip-dot{flex:none;display:grid;place-items:center;min-width:6px;height:6px;padding:0;border-radius:var(--r-3);background:var(--ink-max);color:var(--paper);font-family:var(--mono);font-size:9px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.chat-strip-dot:not(:empty){min-width:14px;height:14px;padding:0 4px}.chat-strip-dot.is-mention{border-radius:var(--r-1)}.chat-occupancy{flex:none;font-family:var(--mono);font-size:var(--fs-label);font-variant-numeric:tabular-nums;color:var(--ink-mute);white-space:nowrap}.chat-room-shortcut{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.chat-room-shortcut .chat-occupancy{max-width:100%;overflow:hidden;text-overflow:ellipsis}.chat-pins{display:grid;gap:var(--sp-2);margin-bottom:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--line)}.chat-list>.chat-pins:first-child{position:sticky;top:0;z-index:1;margin-block-start:calc(var(--sp-3) * -1);margin-inline:calc(var(--sp-4) * -1);padding-inline:var(--sp-4);background:var(--paper-3)}.chat-pins-btn{padding-block:2px}.chat-pins-list{list-style:none;margin:0;padding:0;display:grid;gap:1px;max-height:132px;overflow-y:auto;overscroll-behavior:contain}.chat-pin{min-width:0}.chat-pin-open{display:flex;align-items:baseline;gap:var(--sp-2);width:100%;padding:3px var(--sp-2);border:0;border-inline-start:2px solid var(--line-2);background:transparent;color:var(--ink-dim);font:inherit;font-size:var(--fs-small);line-height:1.4;text-align:start;cursor:pointer;transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease),background var(--fast) var(--ease)}.chat-pin-open:hover,.chat-pin-open:focus-visible{color:var(--ink);border-inline-start-color:var(--ink-mute);background:var(--paper-2)}.chat-pin-open .msg-name{flex:none;max-width:40%}.chat-pin-text{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-search{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2);flex:1 1 auto;min-width:0;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line)}.chat-search-field{flex:1 1 120px;min-width:0;margin:0;padding:5px 9px;font:inherit;font-size:var(--fs-small);line-height:1.5;color:var(--ink-max);background:var(--paper-2);border:1px solid var(--line-2);border-radius:var(--r-2);transition:border-color var(--fast) var(--ease)}.chat-search-field:hover{border-color:var(--line-3)}.chat-search-field::placeholder{color:var(--ink-ghost)}.chat-search-field::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.chat-search-btn{flex:none;display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:var(--r-2);background:transparent;color:var(--ink-dim);cursor:pointer;transition:color var(--fast) var(--ease)}.chat-search-btn:hover,.chat-search-btn:focus-visible{color:var(--ink-max)}.chat-head .chat-search{padding:0;border-bottom:0}.chat-found{min-height:0;display:grid;align-content:start;gap:1px;padding:var(--sp-3) var(--sp-4) var(--sp-4);overflow-y:auto;overscroll-behavior:contain}.chat-found-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.chat-found-head .label{min-width:0}.chat-found-head .chat-link{margin-inline-start:auto;font-size:var(--fs-label)}.chat-found-row{display:grid;gap:1px;width:100%;padding:var(--sp-2);border:0;border-inline-start:2px solid transparent;background:transparent;color:inherit;font:inherit;text-align:start;cursor:pointer;transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease)}.chat-found-row:hover,.chat-found-row:focus-visible{border-inline-start-color:var(--ink-mute);background:var(--paper-2)}.chat-found-row .msg-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;white-space:normal;color:var(--ink-mute)}.chat-reply{min-width:0;margin-bottom:2px}.chat-reply-quote{display:flex;align-items:baseline;gap:var(--sp-2);width:100%;padding:1px var(--sp-2);border:0;border-inline-start:2px solid var(--line-2);background:transparent;color:var(--ink-ghost);font:inherit;font-size:var(--fs-label);line-height:1.45;text-align:start;cursor:pointer;transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease)}.chat-reply-quote:hover,.chat-reply-quote:focus-visible{color:var(--ink-mute);border-inline-start-color:var(--ink-dim)}.chat-reply-text{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-reply-quote .msg-name{flex:none;max-width:45%;font-size:var(--fs-label);color:var(--ink-dim)}.chat-reply-bar{grid-column:1 / -1;grid-row:1;display:flex;align-items:center;gap:var(--sp-2);min-width:0;margin-bottom:var(--sp-2);padding:3px var(--sp-2);border-inline-start:2px solid var(--ink-dim);background:var(--paper-2);border-radius:var(--r-1);color:var(--ink-dim);font-size:var(--fs-label);line-height:1.45}.chat-reply-bar .label{flex:none}.chat-reply-bar.is-edit .chat-x{margin-inline-start:auto}.chat-reply-bar .chat-reply-text{flex:1 1 auto}.chat-reply-bar .chat-x{width:20px;height:20px;flex:none}.chat-compose:has(.chat-compose-top) .compose-emoji,.chat-compose:has(.chat-compose-top) .compose-attach,.chat-compose:has(.chat-compose-top) textarea,.chat-compose:has(.chat-compose-top) .btn{grid-row:2}.chat-compose:has(.chat-compose-top) .chat-count{grid-row:3}.chat-reactions{display:flex;flex-wrap:wrap;align-items:center;gap:3px;margin-top:3px}.chat-reaction{display:inline-flex;align-items:center;gap:4px;min-height:20px;padding:1px 6px;border:1px solid var(--line-2);border-radius:var(--r-3);background:var(--paper-2);color:var(--ink-dim);font-family:var(--mono);font-size:11px;line-height:1.4;font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease),color var(--fast) var(--ease),transform var(--fast) var(--step, var(--ease))}.chat-reaction:hover,.chat-reaction:focus-visible{border-color:var(--line-3);color:var(--ink)}.chat-reaction .emoji{font-size:12px}.chat-reaction-mine,.chat-reaction[aria-pressed=true]{background:var(--paper-5);border-color:var(--chat-live, var(--ink-dim));color:var(--ink-max);font-weight:700}.chat-reaction-mine:hover,.chat-reaction-mine:focus-visible,.chat-reaction[aria-pressed=true]:hover,.chat-reaction[aria-pressed=true]:focus-visible{border-color:var(--chat-live-hot, var(--ink-mute));color:var(--ink-max)}.chat-reaction:active{transform:scale(.94)}.chat-reaction.is-new{animation:chat-react var(--med) var(--step, var(--ease)) 1}@keyframes chat-react{0%{transform:scale(.82)}60%{transform:scale(1.06)}to{transform:scale(1)}}.chat-reaction.is-add{color:var(--ink-ghost);background:transparent;border-style:dashed}.chat-reaction.is-add:hover,.chat-reaction.is-add:focus-visible{color:var(--ink);border-style:solid}.chat-mention{font-weight:600;color:var(--ink-max)}.chat-mention-me{padding:0 3px;border-radius:var(--r-1);background:var(--ink-max);color:var(--paper);font-weight:700}.msg:has(.chat-mention-me){border-inline-start:2px solid var(--ink-mute);padding-inline-start:var(--sp-2);margin-inline-start:calc(var(--sp-2) * -1 - 2px)}.chat-event{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0;margin:var(--sp-2) 0;padding:2px 0;font-size:var(--fs-label);line-height:1.45;color:var(--ink-dim)}.chat-event:before{content:"";flex:none;align-self:center;width:4px;height:4px;background:var(--ink-ghost)}.chat-event .msg-name{flex:none;max-width:45%;font-size:var(--fs-label);color:var(--ink)}.chat-event-line{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-event-stars{flex:none;font-size:10px}.msg-pin{flex:none;display:inline-flex;align-items:center;margin-inline-start:2px;color:var(--ink-dim)}.msg-pin svg{display:block}.chat-tomb{display:flex;align-items:baseline;gap:var(--sp-2);padding:2px var(--sp-2);border-inline-start:2px dashed var(--line-3);color:var(--ink-ghost);font-size:var(--fs-label);line-height:1.45}.chat-blocked{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-2);padding:2px var(--sp-2);border-inline-start:2px solid var(--line);color:var(--ink-ghost);font-size:var(--fs-label);line-height:1.45}.chat-blocked .chat-link{font-size:var(--fs-label)}.chat-menu-holder{position:relative;display:flex;justify-content:flex-end}.msg-menu-btn{display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:var(--r-2);background:transparent;color:var(--ink-ghost);opacity:0;cursor:pointer;transition:opacity var(--fast) var(--ease),color var(--fast) var(--ease)}.msg:hover .msg-menu-btn,.msg-menu-btn:focus-visible,.msg-menu-btn[aria-expanded=true]{opacity:1}.msg-menu-btn:hover,.msg-menu-btn:focus-visible,.msg-menu-btn[aria-expanded=true]{color:var(--ink-max)}@media(hover:none){.msg-menu-btn{opacity:1}}.chat-menu{position:absolute;top:100%;inset-inline-end:0;z-index:4;min-width:132px;width:max-content;max-width:232px;max-height:var(--menu-room, none);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-3) transparent;display:grid;padding:var(--sp-1);background:var(--paper-4);border:1px solid var(--line-2);border-radius:var(--r-2)}.chat-menu.is-up{top:auto;bottom:100%}.chat-menu .emoji-pick{position:static;z-index:auto;width:216px;max-width:100%;height:min(232px,40vh);border:0;box-shadow:none;background:transparent}.chat-menu:has(.emoji-pick){padding:0}.chat-menu-manual{display:grid;gap:var(--sp-2);padding:var(--sp-2)}.chat-menu-manual .chat-input{width:100%;font-family:var(--mono);font-size:var(--fs-label)}.chat-menu-manual .note{margin:0;font-size:var(--fs-label);color:var(--ink-dim)}.chat-menu-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:5px var(--sp-2);border:0;border-radius:var(--r-1);background:transparent;color:var(--ink-mute);font-size:var(--fs-small);line-height:1.4;text-align:start;white-space:nowrap;cursor:pointer;transition:color var(--fast) var(--ease),background var(--fast) var(--ease)}.chat-menu-item:hover,.chat-menu-item:focus-visible{color:var(--ink-max);background:var(--paper-2)}.chat-menu-item.is-on,.chat-menu-item[aria-selected=true]{color:var(--ink-max);background:var(--paper-2)}.chat-menu-item:disabled{color:var(--ink-faint);cursor:default}.chat-menu-item:disabled:hover{background:transparent}.chat-mention-list{top:auto;bottom:100%;inset-inline:0;width:auto;max-width:none;max-height:min(168px,40vh);margin-bottom:var(--sp-2);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-3) transparent}.chat-mention-list .chat-menu-item{cursor:pointer}.chat-menu-item.is-grave{margin-top:var(--sp-1);padding-top:var(--sp-2);border-top:1px solid var(--line);border-radius:0 0 var(--r-1) var(--r-1);color:var(--ink-dim)}.chat-menu-item.is-grave+.chat-menu-item.is-grave{margin-top:0;padding-top:5px;border-top:0}.chat-inbox{display:grid;grid-template-rows:minmax(0,1fr) auto;align-content:start;gap:var(--sp-2);min-height:0;padding:var(--sp-3) var(--sp-4)}.chat-inbox-list{list-style:none;margin:0;padding:0;display:grid;align-content:start;gap:1px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-3) transparent}.chat-inbox-item{min-width:0}.chat-inbox-open{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px var(--sp-2);width:100%;padding:var(--sp-2);border:0;border-inline-start:2px solid var(--ink-mute);background:transparent;color:var(--ink-dim);font:inherit;font-size:var(--fs-small);line-height:1.4;text-align:start;cursor:pointer;transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease),background var(--fast) var(--ease)}.chat-inbox-open:hover,.chat-inbox-open:focus-visible{color:var(--ink);border-inline-start-color:var(--ink-max);background:var(--paper-2)}.chat-inbox-open .label{grid-column:1;grid-row:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-inbox-open .msg-time{grid-column:2;grid-row:1;margin-inline-start:0}.chat-inbox-open .msg-text{grid-column:1 / -1;font-size:var(--fs-label);color:inherit;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.chat-inbox-foot{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);padding-top:var(--sp-2);border-top:1px solid var(--line);font-size:var(--fs-label)}.chat-inbox-foot .note{margin:0;min-width:0;font-size:var(--fs-label)}.chat-inbox-foot .chat-link{margin-inline-start:auto;font-size:var(--fs-label)}.chat-inbox .note{margin:0}.chat-report{display:grid;gap:var(--sp-2) var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line)}.chat-report .chat-input{width:100%;resize:vertical}.chat-report .note{margin:0;font-size:var(--fs-label);color:var(--ink-dim)}.chat-report-quote{display:grid;gap:2px;padding:var(--sp-2);background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-2)}.chat-report-quote .msg-text{font-size:var(--fs-label);color:var(--ink-mute);white-space:pre-wrap;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.chat-report-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--sp-2)}.chat-who{display:grid;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line)}.chat-who-head{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.chat-who-op{flex:none;padding:var(--sp-2)}.chat-who-face{flex:none;display:grid;place-items:center;width:64px;height:64px}.chat-who-id{display:grid;gap:2px;min-width:0}.chat-who-title,.chat-who-marks{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);min-width:0}.chat-who-name{min-width:0;font-size:var(--fs-body);font-weight:500;color:var(--ink-max);overflow-wrap:anywhere}.chat-who-where{display:flex;align-items:center;gap:var(--sp-2);margin:0;font-size:var(--fs-small);color:var(--ink-mute)}.chat-who-dot{flex:none;width:7px;height:7px;border:1px solid var(--ink-mute);border-radius:var(--r-0);background:transparent}.chat-who-dot.is-here{border-color:var(--ink-max);background:var(--ink-max)}.chat-who-line{margin:0;font-size:var(--fs-small);color:var(--ink)}.chat-who-record{display:grid;gap:2px;padding-top:var(--sp-3);margin-top:var(--sp-1);border-top:1px solid var(--line)}.chat-who-record .label{margin-bottom:var(--sp-1)}.chat-who-record .note{margin-top:var(--sp-1)}.chat-who .note{margin:0;font-size:var(--fs-label);color:var(--ink-dim)}.chat-who-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-1)}.chat-who-back{display:flex;justify-content:flex-end;margin-top:var(--sp-1)}.chat-who-page{display:flex;margin:0}.chat-flash{animation:chat-flash var(--slow) var(--step, var(--ease)) 1}@keyframes chat-flash{0%{background:var(--paper-5);box-shadow:inset 2px 0 0 0 var(--ink-max)}60%{background:var(--paper-5);box-shadow:inset 2px 0 0 0 var(--ink-max)}to{background:transparent;box-shadow:inset 2px 0 0 0 transparent}}@media(prefers-reduced-motion:reduce){.chat-flash{animation:none!important;background:var(--paper-5);box-shadow:inset 2px 0 0 0 var(--ink-max)}.chat-reaction.is-new{animation:none!important}.chat-reaction:active{transform:none}}.chat-teams{display:grid;gap:var(--sp-3)}.chat-teams-block{display:grid;gap:var(--sp-2)}.chat-teams .note{margin:0;font-size:var(--fs-label);color:var(--ink-dim)}.chat-teams-btn{flex:none}.chat-invite{display:grid;gap:2px;padding:var(--sp-2);background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-2)}.chat-invite-line,.chat-invite-team{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);min-width:0;margin:0;font-size:var(--fs-small)}.chat-invite-team{color:var(--ink-max);font-weight:500}.chat-invite-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-1)}.chat-team{display:grid;gap:var(--sp-2);padding:var(--sp-2) 0;border-top:1px solid var(--line)}.chat-team:first-of-type{border-top:0;padding-top:0}.chat-team.is-here .chat-team-name{color:var(--ink-max);font-weight:600}.chat-team-open{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0;width:100%;padding:2px var(--sp-2);margin-inline:calc(var(--sp-2) * -1);border:0;border-inline-start:2px solid transparent;background:transparent;color:inherit;font:inherit;text-align:start;cursor:pointer;transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease)}.chat-team-open:hover,.chat-team-open:focus-visible{border-inline-start-color:var(--ink-mute);background:var(--paper-2)}.chat-team-name{min-width:0;font-size:var(--fs-small);color:var(--ink);overflow-wrap:anywhere}.chat-team-roster{list-style:none;margin:0;padding:0;display:grid;gap:3px}.chat-team-member{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0;font-size:var(--fs-small)}.chat-team-actions{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--sp-2)}.chat-teams-new{display:grid;gap:var(--sp-2)}.chat-teams-new .chat-input{width:100%}.chat-who-team{display:grid;gap:var(--sp-2);margin-top:var(--sp-2)}.chat-who-teamlist{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.chat-image{display:block;max-width:100%;margin-top:var(--sp-2);padding:0;border:0;border-radius:var(--r-1);background:transparent;line-height:0;cursor:pointer}.chat-image img{display:block;max-width:100%;max-height:300px;width:auto;height:auto;border-radius:var(--r-1);border:1px solid var(--line);background:var(--paper-2);transition:opacity var(--fast) var(--ease)}.chat-image:hover img,.chat-image:focus-visible img{opacity:.88}.msg.is-pending .chat-image img,.msg.is-failed .chat-image img{opacity:.5}.chat-image-gone{margin:var(--sp-2) 0 0;padding:2px var(--sp-2);border-inline-start:2px dashed var(--line-3);color:var(--ink-ghost);font-size:var(--fs-label);line-height:1.45}.chat-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:86;display:grid;place-items:center;--lb-pad: clamp(var(--sp-3), 5vw, var(--sp-6));padding:var(--lb-pad);background:#000000e6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:chat-lightbox-in var(--med) var(--ease) both}.chat-lightbox-panel{position:relative;display:flex;min-width:0;min-height:0;max-width:100%;max-height:100%;animation:chat-lightbox-rise var(--med) var(--ease) both}.chat-lightbox-panel:focus-visible{outline:1px solid #ffffff;outline-offset:var(--sp-2)}.chat-lightbox-img{display:block;max-width:calc(100vw - 2 * var(--lb-pad));max-height:calc(100dvh - 2 * var(--lb-pad));width:auto;height:auto;border:1px solid rgba(255,255,255,.16);border-radius:var(--r-1);background:#050b0f}.chat-lightbox-x{position:absolute;top:var(--sp-2);inset-inline-end:var(--sp-2);width:28px;height:28px;border-radius:var(--r-2);background:#0000009e;color:#c8c8c8;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.chat-lightbox-x:hover,.chat-lightbox-x:focus-visible{background:#000000d1;color:#fff}.chat-lightbox-x:focus-visible{outline-color:#fff}.chat-lightbox .chat-image-gone{margin:0;padding:var(--sp-5) var(--sp-7);border:0;color:#d0d0d0}@keyframes chat-lightbox-in{0%{opacity:0}}@keyframes chat-lightbox-rise{0%{opacity:0;transform:scale(.97)}}@media(prefers-reduced-motion:reduce){.chat-lightbox,.chat-lightbox-panel{animation:none}.chat-image img{transition:none}}.ce{display:inline-block;width:1.35em;height:1.35em;vertical-align:-.32em;-webkit-user-select:none;user-select:none}.ce-art{display:block;width:100%;height:100%;overflow:visible}.ce-raw{font-family:var(--mono);font-size:.92em;color:var(--ink-dim)}.ce-art .g{stroke:var(--signal-ink)}.ce-art .gf{fill:var(--signal-fill);stroke:var(--signal-edge);stroke-width:.6}.ce-art .ink{fill:currentColor;stroke:none}.ce-art .dim{opacity:.5}.ce-art .punch{stroke:var(--on-signal);stroke-width:1.8}.ce-art .punchf{fill:var(--paper);stroke:none}.ce-art text{fill:currentColor;stroke:none;font-family:var(--mono);font-size:7px;font-weight:700;letter-spacing:0;text-anchor:middle}.ce-lgtm .ce-art text{fill:var(--signal-ink)}.ce-art .ce-blink{animation:caret-blink 1.06s steps(1,end) infinite}.ce-art .ce-fill{transform-origin:4.6px 12px;animation:ce-fill 2.2s var(--ease) infinite}@keyframes ce-fill{0%{transform:scaleX(.28)}70%,to{transform:scaleX(1)}}.ce-art .ce-jump{transform-origin:14.8px 16.6px;animation:ce-jump .64s var(--ease) infinite}@keyframes ce-jump{0%,to{transform:translateY(0) scaleY(1)}35%{transform:translateY(-2.2px) scaleY(1.06)}70%{transform:translateY(0) scaleY(.94)}}.ce-art .ce-pop{animation:ce-pop .64s steps(1,end) infinite}@keyframes ce-pop{0%,49%{opacity:.75}50%,to{opacity:.2}}@media(prefers-reduced-motion:reduce){.ce-art .ce-blink,.ce-art .ce-fill,.ce-art .ce-jump,.ce-art .ce-pop{animation:none}.ce-art .ce-fill{transform:scaleX(1)}}.msg.is-jumbo .msg-text{display:flex;flex-wrap:wrap;align-items:center;gap:2px}.ce-sticker{display:inline-block;width:1.35em;height:1.35em;vertical-align:-.32em;-webkit-user-select:none;user-select:none}.ce-sticker-art{height:auto;aspect-ratio:1}.msg.is-sticker .ce-sticker{display:block;width:min(7em,100%);height:auto;vertical-align:baseline}.emoji-cell .ce{width:1.25em;height:1.25em;vertical-align:middle}.emoji-jump-btn .ce,.emoji-jump-btn .ce-sticker{width:1.3em;height:1.3em;vertical-align:middle}.emoji-grid.is-stickers{grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:2px}.emoji-grid.is-stickers .ce-sticker{width:2.7em;height:2.7em;vertical-align:middle}.display,.rail-title,.clear-title,.hud-num,.rank{font-variation-settings:"wdth" var(--wdth-display)}.display{font-weight:900;letter-spacing:var(--tr-display)}body{background:var(--paper-2)}.pane,.block,.standing,.clear,.toast{background:var(--paper-3)}.block{padding:var(--sp-4);border-top:0;border-radius:var(--r-2)}.pane-term .term,.term .xterm,.term .xterm-viewport{background:var(--paper)}.chat-compose textarea{caret-color:var(--signal-ink)}.term-line .caret-live{background:var(--signal-fill)}.btn-solid{background:var(--signal-fill);border-color:var(--signal-edge);color:var(--on-signal)}.btn-solid:hover{background:var(--signal-fill-hot);border-color:var(--signal-edge);color:var(--on-signal)}.obj.is-pass .obj-mark{background:var(--signal-fill);border-color:var(--signal-edge)}.verdict.is-pass{color:var(--signal-ink)}.git-graph .ref-current rect{fill:var(--signal-fill);stroke:var(--signal-edge)}.git-graph .ref-current text{fill:var(--on-signal)}.lvl.is-current .lvl-node{background:var(--signal-fill);border-color:var(--signal-edge)}.meter>div{background:var(--signal-ink)}.world.is-done .meter>div{background:var(--ink-max)}.tag-live .tag-pip{background:var(--signal-fill)}.chat-toggle{--chat-ring: var(--signal-ink);--chat-glow: var(--signal-glow);--chat-ring-hot: var(--signal-ink-hot);--chat-glow-hot: var(--signal-glow-hot)}:root{--step: cubic-bezier(.85, 0, .15, 1)}.boot .brand-mark .tile{transform-box:fill-box;transform-origin:50% 50%;animation:boot-tile .28s var(--step) both}.boot .brand-mark .glyph{transform-box:fill-box;transform-origin:50% 50%;animation:boot-tile .42s var(--step) .18s both}.boot .boot-status{animation:boot-fade var(--med) var(--ease) .7s both}@keyframes boot-tile{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes boot-fade{0%{opacity:0}to{opacity:1}}.caret-live{animation:caret-blink 1.06s steps(1,end) infinite}@keyframes caret-blink{0%,48%{opacity:1}49%,to{opacity:0}}.typed{display:inline-block;overflow:hidden;white-space:nowrap;animation:typed-in calc(var(--ch, 20) * 42ms) steps(var(--ch, 20),end) both}@keyframes typed-in{0%{width:0}to{width:calc(var(--ch, 20) * 1ch)}}.git-graph .node.is-landing{animation:node-drop var(--med) var(--step) both}.git-graph .edge.is-drawing{stroke-dasharray:var(--len, 64);animation:edge-draw .16s var(--step) .2s both}.git-graph .ref-current,.git-graph .head-ring{transition:transform var(--med) var(--step)}.git-graph.is-landing .ref-current,.git-graph.is-landing .head-ring{transition-delay:.36s}@keyframes node-drop{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes edge-draw{0%{stroke-dashoffset:var(--len, 64)}to{stroke-dashoffset:0}}.obj.is-pass .obj-mark{animation:mark-snap 1ms steps(1,end) calc(var(--i, 0) * .14s) both}.verdict.is-pass,.verdict.is-fail{animation:verdict-wipe var(--slow) var(--step) calc(var(--n, 0) * .14s) both}@keyframes mark-snap{0%{background:transparent;border-color:var(--line-3)}to{background:var(--signal-fill);border-color:var(--signal-edge)}}@keyframes verdict-wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.obj.is-fail .obj-mark,.verdict.is-fail .verdict-detail{animation:none}.meter.is-advancing>div{animation:meter-tick .52s steps(8,end) both}.rank.is-new{animation:rank-cut 1ms steps(1,end) .6s both}@keyframes meter-tick{0%{width:var(--pct-from, 0%)}to{width:var(--pct, 0%)}}@keyframes rank-cut{to{color:var(--signal-ink)}}.term .xterm-rows,.editor,.editor :not(.cm-cursorLayer){animation:none!important}@media(prefers-reduced-motion:reduce){.boot .brand-mark .tile,.boot .brand-mark .glyph,.boot .boot-status,.typed,.caret-live,.git-graph .node.is-landing,.git-graph .edge.is-drawing,.obj.is-pass .obj-mark,.verdict.is-pass,.verdict.is-fail,.meter.is-advancing>div,.rank.is-new{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important}.typed{width:auto!important}.git-graph.is-landing .ref-current,.git-graph.is-landing .head-ring{transition-delay:0ms}}:root[data-theme=light]{color-scheme:light;--paper: #eaeaea;--paper-2: #f2f2f2;--paper-3: #ffffff;--paper-4: #f8f8f8;--paper-5: #e4e4e4;--line: #dcdcdc;--line-2: #cfcfcf;--line-3: #8b8b8b;--ink-faint: #9c9c9c;--ink-ghost: #656565;--ink-dim: #515151;--ink-mute: #3c3c3c;--ink: #252525;--ink-max: #000000;--signal-fill: var(--signal);--signal-fill-hot: var(--signal-hot);--signal-ink: var(--signal);--signal-ink-hot: var(--signal-hot);--signal-edge: var(--signal);--signal-glow: rgb(27 61 80 / .1);--signal-glow-hot: rgb(27 61 80 / .18);--island-edge: var(--line-2)}:root[data-theme=light] .pane-term,:root[data-theme=light] .term-win{color-scheme:dark;--paper: #000000;--paper-2: #050b0f;--paper-3: #081217;--paper-4: #0b1820;--paper-5: #0f212b;--line: #112732;--line-2: #173344;--line-3: #2c6482;--ink-faint: #4f4f4f;--ink-ghost: #7a7a7a;--ink-dim: #9a9a9a;--ink-mute: #b5b5b5;--ink: #ededed;--ink-max: #ffffff;--signal-fill: #31708f;--signal-fill-hot: #36799a;--signal-ink: var(--signal-lift);--signal-ink-hot: #71accd;--signal-edge: #2e6d91}:root[data-theme=light] .term-win,:root[data-theme=light] .pane-term{border-color:var(--island-edge)}:root[data-theme=light] .chat{box-shadow:0 18px 48px #0000001f}:root[data-theme=light] .chat-pop{box-shadow:0 12px 32px #0000001a}:root[data-theme=light] .chat-pop.is-up,:root[data-theme=light] .emoji-pick{box-shadow:0 -12px 32px #00000014}:root[data-theme=light] .toast{box-shadow:0 12px 40px #00000024}:root[data-theme=light] .chat-toggle{box-shadow:0 0 0 2px var(--chat-ring, var(--line-3)),0 0 22px 2px var(--chat-glow, transparent),0 10px 28px #0000001f}:root[data-theme=light] .chat-toggle:hover,:root[data-theme=light] .chat-toggle:focus-visible{box-shadow:0 0 0 2px var(--chat-ring-hot, var(--line-3)),0 0 30px 4px var(--chat-glow-hot, transparent),0 12px 32px #00000024}:root[data-theme=light] .term-win{box-shadow:0 30px 70px -46px #0000008c}
