/* generated by tools/build_css.py from design/*.dc.html: do not edit */
@font-face{font-family:"Syne Mono";src:url(vendor/SyneMono.woff2) format("woff2");font-display:swap}
/* ---- Main.dc.html ---- */
@keyframes tick-ws{to{transform:translateX(-100%)}}
@keyframes blink-ws{50%{opacity:0}}
@keyframes breathe-ws{50%{opacity:.55;box-shadow:0 0 2px #9ea3c8}}
.scr-ws{
&{margin:0;background:#0e1010;text-shadow:0 -1px 1px #000000f2,-1px -1px 1px #000000a6,0 1px 0 #c9bab052}
svg{filter:drop-shadow(0 -1px 1px #000000f2) drop-shadow(-1px -1px 1px #000000a6) drop-shadow(0 1px 0 #c9bab052)}
::selection{background:#6a4f5c;color:#c9bab0}
a{color:#b7958c}
a:hover{color:#c9bab0}
.lbl{font-size:12px;line-height:16px;letter-spacing:0.08em;text-transform:uppercase}
.cap{font-size:11px;line-height:16px;letter-spacing:0.04em}
.plate{background:#161818 repeating-linear-gradient(0deg,#c9bab003 0 1px,transparent 1px 3px)}
.plate.v{background:#161818 repeating-linear-gradient(90deg,#c9bab003 0 1px,transparent 1px 3px)}
.pocket{position:relative;background:#080909;border-radius:12px;padding:6px;box-shadow:inset 0 4px 10px -3px #000000e6,inset 0 2px 0 #000000,inset 4px 0 8px -5px #000000b3,inset -4px 0 8px -5px #000000b3,inset 0 -1px 0 #412828}
.window{background:#0e1010 linear-gradient(180deg,#c9bab012 0%,#c9bab005 40%,transparent 41%);border:1px solid #412828;border-radius:8px;box-shadow:inset 0 1px 0 #c9bab01f,inset 0 -2px 6px #00000099,0 1px 2px #000000}
.glass{position:absolute;inset:2px;border-radius:10px;pointer-events:none;backdrop-filter:brightness(1.07) contrast(1.05);-webkit-backdrop-filter:brightness(1.07) contrast(1.05);background:radial-gradient(130% 90% at 12% -10%,#c9bab017 0%,#c9bab006 40%,transparent 60%),linear-gradient(116deg,transparent 6%,#c9bab005 14%,#c9bab00c 20%,#c9bab012 26%,#c9bab00c 32%,#c9bab005 38%,transparent 46%),linear-gradient(180deg,transparent 65%,#00000029 100%);border:1px solid #c9bab01a;box-shadow:inset 0 1px 0 #c9bab040,inset 1px 0 0 #c9bab01c,inset -1px 0 0 #00000080,inset 0 -1px 0 #0000009e,inset 0 0 8px #c9bab00a,0 2px 5px #000000b3}
.glass::before{content:"";position:absolute;top:1px;left:10%;right:34%;height:1px;background:linear-gradient(90deg,transparent,#e6d8cd59 35%,#e6d8cd33 70%,transparent)}
.btn,.rb>span{--c:#737078;--f:#3e415833;background:var(--f);border:1.5px solid color-mix(in srgb,var(--c) 70%,transparent);color:#c9bab0;box-shadow:0 3px 0 #000000,0 6px 14px #00000099,inset 0 1px 0 #c9bab00f;transition:background-color .14s ease,border-color .14s ease,transform .08s ease,box-shadow .08s ease}
.btn{font-family:inherit;min-height:44px;padding:0 20px;border-radius:6px;cursor:pointer;font-size:12px;letter-spacing:0.08em;text-transform:uppercase}
.btn:hover,.rb:hover>span{border-color:var(--c);background:color-mix(in srgb,var(--f) 100%,#c9bab0 6%)}
.btn:active,.rb:active>span{transform:translateY(2px);box-shadow:0 1px 0 #000000,inset 0 1px 0 #c9bab00a}
.btn.half{padding:5px 12px;min-height:36px;line-height:16px}
.btn:focus-visible{outline:2px solid #c9bab0;outline-offset:2px}
.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:6px 12px;border-bottom:1px solid #000000;box-shadow:0 1px 0 #412828}
.bar>.l{justify-self:start;display:flex;align-items:center;gap:10px;min-width:0}
.bar>.r{justify-self:end;display:flex;align-items:center;gap:10px;min-width:0}
.bar>.c{justify-self:center}
.bar .pocket{padding:5px}
.bar .window{height:36px;box-sizing:border-box;display:flex;align-items:center}
.ro{display:flex;align-items:center;gap:8px;padding:0 14px;white-space:nowrap;align-self:stretch}
.ro+.ro{border-left:1px solid #412828;box-shadow:inset 1px 0 0 #000000a6}
.ro .v{font-size:14px;line-height:20px;color:#c9bab0}
.cells{display:inline-block;letter-spacing:0 !important;background-image:repeating-linear-gradient(90deg,#c9bab00c 0 calc(1ch - 1px),transparent calc(1ch - 1px) 1ch);background-size:100% 78%;background-position:0 55%;background-repeat:repeat-x;text-shadow:0 0 1px currentColor,0 0 6px color-mix(in srgb,currentColor 38%,transparent)}
.babble>.window{background:transparent;padding:0 14px}
.tk{flex:none;width:40ch;font-size:13px;overflow:hidden;white-space:nowrap;background-image:repeating-linear-gradient(90deg,#c9bab00c 0 calc(1ch - 1px),transparent calc(1ch - 1px) 1ch);background-size:100% 78%;background-position:0 55%;background-repeat:repeat-x;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.tk>span{display:inline-block;padding-left:40ch;font-size:13px;line-height:20px;letter-spacing:0;color:#b7958c;animation:tick-ws 18.4s steps(102) infinite;text-shadow:0 0 1px currentColor,0 0 6px color-mix(in srgb,currentColor 38%,transparent)}
.babble:hover .tk>span{animation-play-state:paused}
.babble-tag{flex:none;align-self:stretch;display:flex;align-items:center;padding:0 12px;border-left:1px solid #412828;box-shadow:inset 1px 0 0 #00000099;color:#937f6d}
.shell{display:grid;grid-template-columns:280px minmax(0,1fr) 320px;flex:1;min-height:0}
.pane{display:flex;flex-direction:column;gap:20px;padding:20px 15px;min-width:0;min-height:0}
.left{box-shadow:inset -1px 0 0 #c9bab00d}
.right{box-shadow:inset 1px 0 0 #c9bab00d}
.ph{display:flex;align-items:center;gap:10px;padding:0 5px}
.ph.ruled::after{content:"";flex:1;order:1;height:1px;background:linear-gradient(90deg,#412828,transparent)}
.ph.ruled>.end{order:2}
.lp{position:relative;flex:1;min-height:0;background:#080909;border-radius:6px;overflow:hidden}
.lp>.sc{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 10px;display:flex;flex-direction:column;gap:6px;scrollbar-width:thin;scrollbar-color:#412828 transparent}
.lp::after{content:"";position:absolute;inset:0;z-index:1;border-radius:6px;pointer-events:none;box-shadow:inset 0 12px 12px -8px #000000f2,inset 0 2px 0 #000000,inset 6px 0 10px -6px #000000b3,inset -6px 0 10px -6px #000000b3,inset 0 -12px 12px -9px #000000e6,inset 0 -1px 0 #412828}
.it{font-family:inherit;display:flex;align-items:center;gap:10px;width:100%;flex:none;min-height:36px;padding:8px 10px;box-sizing:border-box;text-align:left;color:#c9bab0;font-size:13px;line-height:20px;background:#161818;border:0;border-radius:3px;box-shadow:0 1px 0 #000000,0 2px 4px #000000b3,inset 0 1px 0 #c9bab012;cursor:pointer;transition:background-color .12s ease,transform .08s ease,box-shadow .08s ease}
.it:hover{background:#1b1e1e}
button.it:active{transform:translateY(1px);box-shadow:0 0 0 #000000,inset 0 1px 0 #c9bab00a}
.it:focus-visible{outline:2px solid #c9bab0;outline-offset:1px}
.it .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.it .ts{flex:none;font-size:11px;letter-spacing:0.04em;color:#937f6d}
.it svg{flex:none}
.ck{appearance:none;-webkit-appearance:none;margin:0;flex:none;width:16px;height:16px;border-radius:3px;background:#080909;border:1px solid #737078b3;box-shadow:inset 0 2px 3px #000000e6,inset 0 -1px 0 #412828;cursor:pointer;display:grid;place-content:center}
.ck::after{content:"";width:8px;height:4px;border-left:2px solid #b7958c;border-bottom:2px solid #b7958c;transform:translate(0,-1px) rotate(-45deg) scale(0);transition:transform .16s cubic-bezier(.45,.1,.25,1)}
.ck:checked::after{transform:translate(0,-1px) rotate(-45deg) scale(1)}
.ck:focus-visible{outline:2px solid #c9bab0;outline-offset:2px}
.cf{font-family:inherit;flex:none;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:#c9bab0;padding:3px 8px;min-height:24px;border-radius:3px;background:#b7958c26;border:1.5px solid #b7958c;box-shadow:0 2px 0 #000000,0 3px 6px #00000099;cursor:pointer}
.cf:active{transform:translateY(1px);box-shadow:0 1px 0 #000000}
.cf:focus-visible{outline:2px solid #c9bab0;outline-offset:2px}
.cf.danger{background:#e07a6214;border-color:#e07a62b3;color:#e07a62}
.well{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background:radial-gradient(ellipse 70% 60% at 50% 45%,#0b0c0c 0%,#070808 60%,#040505 100%);border-top:1px solid #000000}
.well::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 18px 28px -8px #000000f2,inset 0 2px 0 #000000,inset 16px 0 22px -12px #000000d9,inset -16px 0 22px -12px #000000d9,inset 0 -14px 20px -12px #000000b3,inset 0 -1px 0 #412828,inset 1px 0 0 #2a1c1c,inset -1px 0 0 #2a1c1c}
.well>.floor{position:absolute;inset:0;z-index:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 0%,#0009 22%,#0004 40%,#0004 60%,#0009 78%,#000 100%);mask-image:linear-gradient(90deg,#000 0%,#0009 22%,#0004 40%,#0004 60%,#0009 78%,#000 100%)}
.well>.floor>*{display:block;width:100%;height:100%}
.convo{position:relative;z-index:1;flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column-reverse;scrollbar-width:thin;scrollbar-color:#412828 transparent}
.convo-in{width:100%;max-width:720px;margin:0 auto;padding:40px 30px 30px;box-sizing:border-box;display:flex;flex-direction:column;gap:30px}
.well>form{position:relative;z-index:1}
.msg{display:flex;flex-direction:column;gap:8px}
.who-line{display:flex;align-items:center;gap:8px}
.msg p{margin:0;font-size:15px;line-height:25px;white-space:pre-wrap}
.me{align-self:flex-end;max-width:78%;background:#161818;border-radius:6px;padding:12px 16px;box-shadow:0 1px 0 #000000,0 4px 10px #000000b3,inset 0 1px 0 #c9bab012}
.me.cron{box-shadow:0 1px 0 #000000,0 4px 10px #000000b3,inset 0 1px 0 #c9bab012,inset 0 0 0 1px #3e4158}
.day{display:flex;align-items:center;gap:12px;color:#937f6d}
.day::before,.day::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#412828)}
.day::after{background:linear-gradient(90deg,#412828,transparent)}
.trace{background:#080909;border-radius:6px;padding:4px 0;box-shadow:inset 0 3px 8px -3px #000000e6,inset 0 1px 0 #000000,inset 0 -1px 0 #412828}
.tr{display:grid;grid-template-columns:16px auto 1fr auto;gap:10px;align-items:center;padding:7px 14px;font-size:13px;line-height:20px}
.tr+.tr{border-top:1px solid #1d1414}
.tr .arg{color:#937f6d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cur{display:inline-block;width:1ch;height:18px;margin-left:2px;vertical-align:-3px;background:#b7958c;box-shadow:0 0 6px #b7958c99;animation:blink-ws 1.1s steps(1) infinite}
.composer{border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:8px;border:1px solid #000000;box-shadow:0 10px 24px #000000d9,0 2px 0 #000000,inset 0 1px 0 #c9bab01a,inset 0 -1px 0 #00000080}
.field{font-family:inherit;font-size:15px;line-height:25px;color:#c9bab0;caret-color:#b7958c;background:#080909;border:0;border-radius:4px;padding:10px 14px;resize:none;box-shadow:inset 0 3px 8px -2px #000000e6,inset 0 1px 0 #000000,inset 0 -1px 0 #412828;transition:box-shadow .14s ease}
.field::placeholder{color:#937f6d}
.field:focus-visible{outline:none;box-shadow:inset 0 3px 8px -2px #000000e6,inset 0 1px 0 #000000,inset 0 -1px 0 #412828,0 0 0 2px #c9bab0}
select.field{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#937f6d 50%),linear-gradient(135deg,#937f6d 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.live{animation:breathe-ws 3.6s ease-in-out infinite}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ib{font-family:inherit;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:3px;cursor:pointer}
.ib:hover svg{stroke:#c9bab0}
.ib:focus-visible{outline:2px solid #c9bab0;outline-offset:2px}
.btn:disabled{--c:#412828;--f:#16181833;color:#937f6d;cursor:not-allowed;box-shadow:none;transform:none}
.field:disabled{color:#937f6d;cursor:not-allowed}
.meter{height:8px;margin-top:8px;border-radius:4px;background:#050606;box-shadow:inset 0 1px 2px #000000,0 1px 0 #c9bab00a;overflow:hidden}
.meter>i{display:block;height:100%;border-radius:4px;background:repeating-linear-gradient(90deg,#b19a98 0 6px,transparent 6px 8px);box-shadow:0 0 6px #b19a9855;transition:width .9s cubic-bezier(.45,.1,.25,1)}
@media (max-width:1200px){.bar{grid-template-columns:1fr 1fr}.bar>.c{grid-column:1/-1;grid-row:2}}
@media (max-width:1100px){.shell{grid-template-columns:1fr}.pane .lp{flex:none;height:360px}.well{min-height:680px}}
@media (prefers-reduced-motion:reduce){.tk>span{animation:none;padding-left:0}.cur,.live{animation:none}*{transition:none !important}}
}

/* ---- Startup.dc.html ---- */
@keyframes breathe-start{50%{opacity:.5}}
.scr-start{
&{margin:0;background:#161818;text-shadow:0 -1px 1px #000000f2,-1px -1px 1px #000000a6,0 1px 0 #c9bab052}
svg{filter:drop-shadow(0 -1px 1px #000000f2) drop-shadow(-1px -1px 1px #000000a6) drop-shadow(0 1px 0 #c9bab052)}
::selection{background:#6a4f5c;color:#c9bab0}
.lbl{font-size:12px;line-height:16px;letter-spacing:0.08em;text-transform:uppercase}
.cap{font-size:11px;line-height:16px;letter-spacing:0.04em}
.plate{background:#161818 repeating-linear-gradient(0deg,#c9bab003 0 1px,transparent 1px 3px)}
.pocket{position:relative;background:#080909;border-radius:12px;padding:6px;box-shadow:inset 0 4px 10px -3px #000000e6,inset 0 2px 0 #000000,inset 4px 0 8px -5px #000000b3,inset -4px 0 8px -5px #000000b3,inset 0 -1px 0 #412828}
.window{background:#0e1010 linear-gradient(180deg,#c9bab012 0%,#c9bab005 40%,transparent 41%);border:1px solid #412828;border-radius:8px;box-shadow:inset 0 1px 0 #c9bab01f,inset 0 -2px 6px #00000099,0 1px 2px #000000}
.glass{position:absolute;inset:2px;border-radius:10px;pointer-events:none;background:radial-gradient(130% 90% at 12% -10%,#c9bab017 0%,#c9bab006 40%,transparent 60%),linear-gradient(116deg,transparent 6%,#c9bab005 14%,#c9bab00c 20%,#c9bab012 26%,#c9bab00c 32%,#c9bab005 38%,transparent 46%),linear-gradient(180deg,transparent 65%,#00000029 100%);border:1px solid #c9bab01a;box-shadow:inset 0 1px 0 #c9bab040,inset 1px 0 0 #c9bab01c,inset -1px 0 0 #00000080,inset 0 -1px 0 #0000009e,inset 0 0 8px #c9bab00a,0 2px 5px #000000b3}
.glass::before{content:"";position:absolute;top:1px;left:10%;right:34%;height:1px;background:linear-gradient(90deg,transparent,#e6d8cd59 35%,#e6d8cd33 70%,transparent)}
.cells{display:inline-block;letter-spacing:0 !important;background-image:repeating-linear-gradient(90deg,#c9bab00c 0 calc(1ch - 1px),transparent calc(1ch - 1px) 1ch);background-size:100% 78%;background-position:0 55%;background-repeat:repeat-x;text-shadow:0 0 1px currentColor,0 0 6px color-mix(in srgb,currentColor 38%,transparent)}
.btn{--c:#737078;--f:#3e415833;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px;padding:0 20px;border-radius:6px;cursor:pointer;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;background:var(--f);border:1.5px solid color-mix(in srgb,var(--c) 70%,transparent);color:#c9bab0;box-shadow:0 3px 0 #000000,0 6px 14px #00000099,inset 0 1px 0 #c9bab00f;transition:background-color .14s ease,border-color .14s ease,transform .08s ease,box-shadow .08s ease}
.btn:hover{border-color:var(--c);background:color-mix(in srgb,var(--f) 100%,#c9bab0 6%);color:#c9bab0}
.btn:active{transform:translateY(2px);box-shadow:0 1px 0 #000000,inset 0 1px 0 #c9bab00a}
.btn:disabled{--c:#412828;--f:#16181833;color:#937f6d;cursor:not-allowed;box-shadow:none;transform:none}
.btn.go{--c:#b7958c;--f:#b7958c26}
.btn:focus-visible{outline:2px solid #c9bab0;outline-offset:2px}
.dot{width:7px;height:7px;border-radius:999px;flex:none}
.live{animation:breathe-start 3.6s ease-in-out infinite}
.step{display:grid;grid-template-columns:20px 1fr auto;gap:12px;align-items:start;padding:12px 18px}
.step+.step{border-top:1px solid #1d1414}
.step svg{margin-top:2px}
.meter{height:8px;margin-top:10px;border-radius:4px;background:#050606;box-shadow:inset 0 1px 2px #000000,0 1px 0 #c9bab00a;overflow:hidden}
.meter>i{display:block;height:100%;border-radius:4px;background:repeating-linear-gradient(90deg,#b19a98 0 6px,transparent 6px 8px);box-shadow:0 0 6px #b19a9855;transition:width .2s linear}
.log{margin:10px 0 0;background:#050606;border-radius:4px;padding:10px 12px;font-family:inherit;font-size:12px;line-height:18px;color:#e07a62;white-space:pre-wrap;box-shadow:inset 0 2px 4px #000000e6,inset 0 -1px 0 #412828}
.field{font-family:inherit;font-size:15px;line-height:25px;color:#c9bab0;caret-color:#b7958c;background:#080909;border:0;border-radius:4px;padding:10px 14px;box-shadow:inset 0 3px 8px -2px #000000e6,inset 0 1px 0 #000000,inset 0 -1px 0 #412828}
.field:focus-visible{outline:none;box-shadow:inset 0 3px 8px -2px #000000e6,inset 0 1px 0 #000000,inset 0 -1px 0 #412828,0 0 0 2px #c9bab0}
.rule{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;padding:10px 18px;font-size:14px;line-height:22px}
.rule+.rule{border-top:1px solid #1d1414}
.rule svg{margin-top:3px}
@media (prefers-reduced-motion:reduce){.live{animation:none}*{transition:none !important}}
}

/* ---- Launch.dc.html ---- */
@keyframes scan-launch{0%{transform:scaleX(0);opacity:1}3%{transform:scaleX(1);opacity:1}5%{opacity:.9}6%,100%{transform:scaleX(1);opacity:0}}
@keyframes cut-launch{0%,4%{opacity:0}5%,100%{opacity:1}}
@keyframes flash-launch{0%,27%{filter:none}28%{filter:brightness(2.4)}29%{filter:none}30%{filter:brightness(1.6)}31%,100%{filter:none}}
@keyframes scribe-launch{0%{stroke-dashoffset:1}2.6%,100%{stroke-dashoffset:0}}
@keyframes punch-launch{0%{opacity:0;transform:scale(1.7)}.6%{opacity:1;transform:scale(1.25)}1.2%,100%{opacity:1;transform:scale(1)}}
@keyframes reg-launch{0%,6%{opacity:0}7%,100%{opacity:1}}
@keyframes rule-launch{0%,33%{transform:scaleX(0)}38%,100%{transform:scaleX(1)}}
@keyframes drop-launch{0%,31%{opacity:0}32%{opacity:1}32.6%{opacity:0}33.2%,100%{opacity:1}}
@keyframes house-launch{0%,41%{opacity:0}42%,100%{opacity:1}}
@keyframes arrive-launch{from{opacity:0;transform:translateY(6px)}}
.scr-launch{
&{margin:0;background:#000000}
.stage{position:relative;min-height:100vh;overflow:hidden;background:#000000;font-family:"Syne Mono",ui-monospace,"DejaVu Sans Mono",monospace;color:#c9bab0}
.stage::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:8;background:repeating-linear-gradient(0deg,#0000004d 0 1px,transparent 1px 3px)}
.stage::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:9;box-shadow:inset 0 0 180px 60px #000000}
.rainwrap{position:absolute;inset:0;z-index:1;transition:opacity 1.6s ease}
.rainwrap>*{display:block;width:100%;height:100%}
.splash{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;background:#020202;transition:opacity .8s ease}
.scan{position:absolute;left:0;right:0;top:50%;height:1px;background:#c9bab0;box-shadow:0 0 12px 1px #c9bab099;transform:scaleX(0);opacity:0;animation:scan-launch 7s linear 1 forwards}
.seal{position:relative;display:flex;flex-direction:column;align-items:center;gap:48px;animation:cut-launch 7s steps(1) 1 forwards}
.sig{width:260px;height:260px;overflow:visible;animation:flash-launch 7s steps(1) 1 forwards}
.sig .ink{fill:none;stroke:#c9bab0;stroke-width:14;stroke-linecap:butt;stroke-dasharray:1;stroke-dashoffset:1;animation:scribe-launch 7s linear 1 forwards}
.sig .node{fill:#020202;stroke:#c9bab0;stroke-width:9;transform-box:fill-box;transform-origin:center;opacity:0;animation:punch-launch 7s steps(1) 1 forwards}
.reg{position:absolute;inset:-38px;pointer-events:none}
.reg i{position:absolute;width:18px;height:18px;border-color:#6a4f5c;border-style:solid;border-width:0;opacity:0;animation:reg-launch 7s steps(1) 1 forwards}
.reg i:nth-child(1){left:0;top:0;border-left-width:1px;border-top-width:1px}
.reg i:nth-child(2){right:0;top:0;border-right-width:1px;border-top-width:1px}
.reg i:nth-child(3){left:0;bottom:0;border-left-width:1px;border-bottom-width:1px}
.reg i:nth-child(4){right:0;bottom:0;border-right-width:1px;border-bottom-width:1px}
.name{display:flex;align-items:center;gap:22px}
.name b{display:block;height:1px;width:100px;background:#c9bab0;transform:scaleX(0);animation:rule-launch 7s linear 1 forwards}
.name b:first-child{transform-origin:right}
.name b:last-child{transform-origin:left}
.word{font-size:40px;line-height:48px;letter-spacing:.42em;margin-right:-.42em;color:#c9bab0;opacity:0;animation:drop-launch 7s steps(1) 1 forwards}
.house{font-size:11px;line-height:16px;letter-spacing:.42em;margin-right:-.42em;text-transform:uppercase;color:#737078;opacity:0;animation:house-launch 7s steps(1) 1 forwards}
.hud{position:absolute;left:50%;bottom:72px;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:22px;transition:opacity .8s ease}
.pocket{position:relative;background:#080909;border-radius:12px;padding:6px;box-shadow:inset 0 4px 10px -3px #000000e6,inset 0 2px 0 #000000,inset 4px 0 8px -5px #000000b3,inset -4px 0 8px -5px #000000b3,inset 0 -1px 0 #412828,0 0 0 1px #000000}
.window{background:#0e1010e6 linear-gradient(180deg,#c9bab012 0%,#c9bab005 40%,transparent 41%);border:1px solid #412828;border-radius:8px;box-shadow:inset 0 1px 0 #c9bab01f,inset 0 -2px 6px #00000099,0 1px 2px #000000;display:flex;flex-direction:column;gap:8px;padding:12px 18px;width:460px;box-sizing:border-box}
.glass{position:absolute;inset:2px;border-radius:10px;pointer-events:none;background:radial-gradient(130% 90% at 12% -10%,#c9bab017 0%,#c9bab006 40%,transparent 60%),linear-gradient(116deg,transparent 6%,#c9bab005 14%,#c9bab00c 20%,#c9bab012 26%,#c9bab00c 32%,#c9bab005 38%,transparent 46%),linear-gradient(180deg,transparent 65%,#00000029 100%);border:1px solid #c9bab01a;box-shadow:inset 0 1px 0 #c9bab040,inset 1px 0 0 #c9bab01c,inset -1px 0 0 #00000080,inset 0 -1px 0 #0000009e,0 2px 5px #000000b3}
.glass::before{content:"";position:absolute;top:1px;left:10%;right:34%;height:1px;background:linear-gradient(90deg,transparent,#e6d8cd59 35%,#e6d8cd33 70%,transparent)}
.cells{display:inline-block;letter-spacing:0;background-image:repeating-linear-gradient(90deg,#c9bab00c 0 calc(1ch - 1px),transparent calc(1ch - 1px) 1ch);background-size:100% 78%;background-position:0 55%;background-repeat:repeat-x;text-shadow:0 0 1px currentColor,0 0 6px color-mix(in srgb,currentColor 38%,transparent)}
.row{display:flex;align-items:baseline;gap:12px;font-size:13px;line-height:20px;white-space:nowrap}
.meter{height:8px;border-radius:4px;background:#050606;box-shadow:inset 0 1px 2px #000000,0 1px 0 #c9bab00a;overflow:hidden}
.meter>i{display:block;height:100%;border-radius:4px;background:repeating-linear-gradient(90deg,#b19a98 0 6px,transparent 6px 8px);box-shadow:0 0 6px #b19a9855;transition:width .9s cubic-bezier(.45,.1,.25,1)}
.btn{font-family:inherit;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border-radius:6px;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;color:#c9bab0;background:#b7958c26;border:1.5px solid #b7958c;box-shadow:0 3px 0 #000000,0 6px 14px #00000099,inset 0 1px 0 #c9bab00f;text-shadow:0 -1px 1px #000000f2,0 1px 0 #c9bab052;animation:arrive-launch .6s ease}
.btn:hover{background:#b7958c38;color:#c9bab0}
.btn:active{transform:translateY(2px);box-shadow:0 1px 0 #000000}
.btn:focus-visible,.replay:focus-visible{outline:2px solid #c9bab0;outline-offset:2px}
.replay{position:absolute;right:20px;bottom:20px;z-index:10;font-family:inherit;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#937f6d;background:transparent;border:1px solid #412828;border-radius:4px;padding:8px 12px;min-height:32px;cursor:pointer}
.replay:hover{color:#c9bab0;border-color:#737078}
@media (prefers-reduced-motion:reduce){.scan{display:none}.seal,.sig,.sig .ink,.sig .node,.reg-launch i,.name b,.word,.house{animation:none}.sig .ink{stroke-dashoffset:0}.sig .node,.reg-launch i,.word,.house{opacity:1}.name b{transform:none}}
}

/* ---- Shutdown.dc.html ---- */
@keyframes arrive-shut{from{opacity:0;transform:translateY(10px)}}
@keyframes unscribe-shut{to{stroke-dashoffset:1}}
@keyframes unpunch-shut{50%{transform:scale(1.25)}to{opacity:0;transform:scale(.4)}}
@keyframes out-shut{0%,55%{opacity:1}56%{opacity:0}57%{opacity:1}60%,100%{opacity:0}}
@keyframes ember-shut{0%,62%{opacity:0}70%{opacity:1}100%{opacity:.85}}
@keyframes breathe-shut{50%{opacity:.45}}
.scr-shut{
&{margin:0;background:#000000}
.stage{position:relative;min-height:100vh;overflow:hidden;background:#000000;font-family:"Syne Mono",ui-monospace,"DejaVu Sans Mono",monospace;color:#c9bab0;text-shadow:0 -1px 1px #000000f2,0 1px 0 #c9bab052}
.stage::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:8;background:repeating-linear-gradient(0deg,#0000004d 0 1px,transparent 1px 3px)}
.stage::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:9;box-shadow:inset 0 0 180px 60px #000000}
.rainwrap{position:absolute;inset:0;z-index:1;transition:opacity 1.8s ease}
.rainwrap>*{display:block;width:100%;height:100%}
.center{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:40px;box-sizing:border-box}
.lbl{font-size:12px;line-height:16px;letter-spacing:0.08em;text-transform:uppercase}
.cap{font-size:11px;line-height:16px;letter-spacing:0.04em}
.pocket{position:relative;background:#080909;border-radius:12px;padding:6px;box-shadow:inset 0 4px 10px -3px #000000e6,inset 0 2px 0 #000000,inset 4px 0 8px -5px #000000b3,inset -4px 0 8px -5px #000000b3,inset 0 -1px 0 #412828,0 0 0 1px #000000}
.window{background:#0e1010e6 linear-gradient(180deg,#c9bab012 0%,#c9bab005 40%,transparent 41%);border:1px solid #412828;border-radius:8px;box-shadow:inset 0 1px 0 #c9bab01f,inset 0 -2px 6px #00000099,0 1px 2px #000000}
.glass{position:absolute;inset:2px;border-radius:10px;pointer-events:none;background:radial-gradient(130% 90% at 12% -10%,#c9bab017 0%,#c9bab006 40%,transparent 60%),linear-gradient(116deg,transparent 6%,#c9bab005 14%,#c9bab00c 20%,#c9bab012 26%,#c9bab00c 32%,#c9bab005 38%,transparent 46%),linear-gradient(180deg,transparent 65%,#00000029 100%);border:1px solid #c9bab01a;box-shadow:inset 0 1px 0 #c9bab040,inset 1px 0 0 #c9bab01c,inset -1px 0 0 #00000080,inset 0 -1px 0 #0000009e,0 2px 5px #000000b3}
.glass::before{content:"";position:absolute;top:1px;left:10%;right:34%;height:1px;background:linear-gradient(90deg,transparent,#e6d8cd59 35%,#e6d8cd33 70%,transparent)}
.cells{display:inline-block;letter-spacing:0;background-image:repeating-linear-gradient(90deg,#c9bab00c 0 calc(1ch - 1px),transparent calc(1ch - 1px) 1ch);background-size:100% 78%;background-position:0 55%;background-repeat:repeat-x;text-shadow:0 0 1px currentColor,0 0 6px color-mix(in srgb,currentColor 38%,transparent)}
.btn{--c:#737078;--f:#3e415833;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px;padding:0 20px;border-radius:6px;cursor:pointer;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;background:var(--f);border:1.5px solid color-mix(in srgb,var(--c) 70%,transparent);color:#c9bab0;box-shadow:0 3px 0 #000000,0 6px 14px #00000099,inset 0 1px 0 #c9bab00f;transition:background-color .14s ease,border-color .14s ease,transform .08s ease}
.btn:hover{border-color:var(--c);background:color-mix(in srgb,var(--f) 100%,#c9bab0 6%);color:#c9bab0}
.btn:active{transform:translateY(2px);box-shadow:0 1px 0 #000000}
.btn.go{--c:#b7958c;--f:#b7958c26}
.btn:focus-visible,.replay:focus-visible{outline:2px solid #c9bab0;outline-offset:2px}
.step{display:grid;grid-template-columns:20px 1fr auto;gap:12px;align-items:start;padding:11px 18px}
.step+.step{border-top:1px solid #1d1414}
.step svg{margin-top:2px}
.arrive{animation:arrive-shut .5s cubic-bezier(.2,0,0,1)}
.sig{width:240px;height:240px;overflow:visible}
.sig .ink{fill:none;stroke:#c9bab0;stroke-width:14;stroke-linecap:butt;stroke-dasharray:1;stroke-dashoffset:0;animation:unscribe-shut 1.1s cubic-bezier(.65,0,.35,1) forwards}
.sig .node{fill:#020202;stroke:#c9bab0;stroke-width:9;transform-box:fill-box;transform-origin:center;animation:unpunch-shut .5s steps(2) forwards}
.word{font-size:40px;line-height:48px;letter-spacing:.42em;margin-right:-.42em;color:#c9bab0;animation:out-shut 3.6s steps(1) forwards}
.house{font-size:11px;line-height:16px;letter-spacing:.42em;margin-right:-.42em;text-transform:uppercase;color:#737078;animation:out-shut 3.6s steps(1) forwards;animation-delay:-.3s}
.ember{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:999px;background:#e8a48f;box-shadow:0 0 10px 2px #e07a62aa;opacity:0;animation:ember-shut 3.6s ease forwards}
.rest{animation:arrive-shut 1.2s cubic-bezier(.2,0,0,1)}
.dim{animation:breathe-shut 4s ease-in-out-shut infinite}
.replay{position:absolute;right:20px;bottom:20px;z-index:10;font-family:inherit;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#937f6d;background:transparent;border:1px solid #412828;border-radius:4px;padding:8px 12px;min-height:32px;cursor:pointer}
.replay:hover{color:#c9bab0;border-color:#737078}
@media (prefers-reduced-motion:reduce){.sig .ink,.sig .node,.word,.house,.ember-shut,.arrive-shut,.rest,.dim{animation:none}.sig .ink{stroke-dashoffset:1}.sig .node,.word,.house{opacity:0}.ember{opacity:.85}}
}

/* additions on top of the board CSS (boards.css is generated, verbatim) */
html,body{margin:0;background:#000000}
#app{min-height:100vh}
.scr-ws,.scr-start,.scr-launch,.scr-shut{font-family:"Syne Mono",ui-monospace,"DejaVu Sans Mono",monospace}

/* rain field (RainBg.dc.html) */
.rain{position:relative;width:100%;height:100%;overflow:hidden;font-family:"Syne Mono",ui-monospace,"DejaVu Sans Mono",monospace;font-size:13px;line-height:15px;letter-spacing:0}
.rain pre{position:absolute;left:0;top:0;margin:0;font:inherit;white-space:pre}

/* tree row lit briefly when the model writes it */
.scr-ws .it.flash{animation:flash-row 1.8s ease-out}
@keyframes flash-row{0%{background:#d4b07a2e;box-shadow:0 1px 0 #000000,0 2px 4px #000000b3,inset 0 0 0 1px #d4b07a66}100%{background:#161818}}

/* compaction divider opens the note the model left itself */
.scr-ws button.day{font-family:inherit;width:100%;background:none;border:0;padding:0;cursor:pointer;color:#d4b07a}
.scr-ws button.day:hover{color:#e6c595}
.scr-ws button.day:focus-visible{outline:2px solid #c9bab0;outline-offset:4px}
.scr-ws .foldnote{margin:0;padding:14px 16px;font-family:inherit;font-size:13px;line-height:21px;color:#b7958c;white-space:pre-wrap}
.scr-ws .tr.bad .arg{color:#b7958c}
.scr-ws .revs{display:flex;align-items:center;gap:8px;padding:0 5px}
.scr-ws .cf:disabled{opacity:.4;cursor:default;transform:none}
.scr-ws .lostwhy{font-size:11px;line-height:16px;color:#937f6d;overflow-wrap:anywhere}
.scr-start .field[readonly]{color:#b7958c}
@media (prefers-reduced-motion:reduce){.scr-ws .it.flash{animation:none}}

/* narrow screens: the boards stack the three panes below 1100px; let the page grow instead of squeezing them */
@media (max-width:1100px){
  .scr-ws>div{height:auto !important;min-height:0 !important}
  .scr-ws .shell{flex:none}
}
@media (max-width:760px){
  .scr-ws .bar{grid-template-columns:minmax(0,1fr);gap:8px;padding:8px}
  .scr-ws .bar>.l,.scr-ws .bar>.r{justify-self:stretch;flex-wrap:wrap;gap:8px}
  .scr-ws .bar>.c{grid-column:auto;grid-row:auto;justify-self:stretch;min-width:0}
  .scr-ws .bar>.c .pocket,.scr-ws .bar>.c .window{min-width:0}
  .scr-ws .tk{width:auto;flex:1 1 0;min-width:0}
  .scr-ws .bar .r>.pocket:first-child{flex:1 1 auto;min-width:0}
  .scr-ws .bar .r .window{overflow:hidden}
  .scr-ws .ro{padding:0 8px}
  .scr-ws .pane{padding:16px 10px}
  .scr-ws .convo-in{padding:28px 14px 20px}
  .scr-ws .well>form{padding:0 10px 14px !important}
  .scr-ws .composer.plate{flex-wrap:wrap}
  .scr-ws .convo-in span{max-width:100% !important}
}

/* ---- hardening pass: states the boards didn't draw, in their vocabulary ---- */
.scr-ws .pst-event{display:flex;align-items:center;justify-content:center;gap:10px;color:#937f6d;text-align:center}
.scr-ws .pst-event::before,.scr-ws .pst-event::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#2a1c1c)}
.scr-ws .pst-event::after{background:linear-gradient(90deg,#2a1c1c,transparent)}
.scr-ws .pst-event>span:first-child{max-width:70%;overflow-wrap:anywhere}
.scr-ws .pst-event-ts{flex:none;color:#6a4f5c}
.scr-ws .pst-removed{color:#937f6d !important;font-style:italic}
.scr-ws .pst-mod{margin-left:auto;min-height:22px;padding:2px 8px;opacity:.55}
.scr-ws .pst-mod:hover,.scr-ws .pst-mod:focus-visible{opacity:1}
.scr-ws .pst-err{min-height:16px;margin:8px 4px 0;color:#e07a62}
.scr-ws .pst-err:empty{visibility:hidden}
.scr-ws .pst-linkdown{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 14px;
  background:#d4b07a14;border-bottom:1px solid #d4b07a40;color:#d4b07a;font-size:12px;line-height:16px;letter-spacing:.04em}
.scr-start .pst-reach{min-height:var(--pst-h,100vh);box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:30px;padding:60px 20px;color:#c9bab0}
.scr-start .pst-reach-mark{display:flex;align-items:center;gap:16px;padding:12px 24px 12px 16px}
.scr-start .pst-reach-name{font-size:32px;line-height:40px}
.scr-start .pst-reach-copy{display:flex;flex-direction:column;gap:10px;max-width:440px}
.scr-start .pst-reach-copy p{margin:0;font-size:15px;line-height:25px;color:#b7958c}
.scr-start .pst-reach-why{color:#937f6d !important;font-size:11px !important;line-height:16px !important;overflow-wrap:anywhere}
.scr-start .pst-reach-keys{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:6px}
.scr-start .pst-reach-keys .cap{color:#937f6d}

/* flaptown.com frame: the site header/footer stay the site's; Persistory owns the band between them */
.persistory-page{background:#0e1010}
.persistory-page #app{display:block;min-height:var(--pst-h,100vh);background:#000000}
.persistory-page #app [class^="scr-"]{font-family:"Syne Mono",ui-monospace,"DejaVu Sans Mono",monospace;line-height:normal;letter-spacing:normal}
.persistory-page #app [class^="scr-"] *{box-sizing:content-box}
.persistory-page #app [class^="scr-"] .field,.persistory-page #app [class^="scr-"] .btn,.persistory-page #app [class^="scr-"] .it{box-sizing:border-box}
.pst-noscript{max-width:640px;margin:40px auto;padding:0 16px;color:#b7958c}
