/* Relic shell: the status line, the machine's own controls and alert box. */
#rs-strip{position:fixed;top:0;left:0;right:0;height:var(--rk-sh,26px);z-index:2147483300;display:flex;align-items:center;gap:14px;padding:0 10px;background:var(--bg,#120900);color:var(--p,#ffb21e);border-bottom:1px solid color-mix(in srgb,var(--p,#ffb21e) 50%,transparent);font:17px/1 'VT323',ui-monospace,monospace;letter-spacing:1px;text-transform:uppercase;text-shadow:0 0 4px color-mix(in srgb,var(--p,#ffb21e) 45%,transparent);box-sizing:border-box;filter:none!important}
#rs-name{opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#rs-clock{margin-left:auto;opacity:.6;white-space:nowrap}
#rs-keys{white-space:nowrap;display:flex;gap:6px}
#rs-strip button,#rs-menu{font:inherit!important;letter-spacing:inherit;text-transform:inherit;background:transparent!important;color:inherit!important;border:1px solid currentColor!important;padding:1px 9px!important;margin:0;text-decoration:none;line-height:1.1;box-shadow:none!important;border-radius:0!important;white-space:nowrap}
#rs-strip #rs-menu{background:var(--p,#ffb21e)!important;color:var(--bg,#120900)!important;text-shadow:none;border-color:var(--p,#ffb21e)!important}
#rs-strip #rs-play{font:inherit!important;letter-spacing:inherit;text-transform:inherit;color:inherit!important;border:1px solid currentColor;padding:1px 9px;text-decoration:none;line-height:1.1;white-space:nowrap}
@media (pointer:coarse){#rs-play{min-height:30px;display:inline-flex;align-items:center}}
#rs-strip button.on{background:var(--p,#ffb21e)!important;color:var(--bg,#120900)!important;text-shadow:none}
#rs-strip button:hover,#rs-menu:hover{filter:brightness(1.3)}
html.rs-fix body{transform:translateY(var(--rk-sh,26px));height:calc(100% - var(--rk-sh,26px))!important;min-height:0!important}
html.rs-flow{padding-top:var(--rk-sh,26px)}
html.rs-on{--rk-sh:26px}
html.rs-inline #rs-strip{position:relative;flex:0 0 var(--rk-sh,26px)}
@media (max-width:760px){#rs-keys,#rs-clock,#rs-snd{display:none}#rs-name{flex:1}}
.rs-alert{position:fixed;inset:0;z-index:2147483400;display:flex;align-items:center;justify-content:center;background:#0009}
.rs-alert>div{background:var(--bg,#120900);color:var(--p,#ffb21e);border:2px solid currentColor;padding:14px 18px;max-width:min(560px,90vw);font:19px/1.3 'VT323',monospace;box-shadow:0 0 18px color-mix(in srgb,var(--p,#ffb21e) 35%,transparent)}
.rs-alert pre{white-space:pre-wrap;margin:0 0 12px;font:inherit}
.rs-alert button{font:inherit;background:var(--p,#ffb21e);color:var(--bg,#120900);border:0;padding:2px 18px;text-transform:uppercase;letter-spacing:1px}
/* the machine's own controls */
html.rs-skin input[type=checkbox],html.rs-skin input[type=radio]{appearance:none;-webkit-appearance:none;width:16px;height:16px;margin:0 5px 0 0;border:1px solid var(--p,#ffb21e);background:transparent!important;display:inline-grid;place-content:center;vertical-align:-3px;flex:0 0 auto;padding:0}
html.rs-skin input[type=radio]{border-radius:50%!important}
html.rs-skin input[type=checkbox]:checked::before{content:'';width:10px;height:10px;background:linear-gradient(45deg,transparent 40%,var(--p,#ffb21e) 40% 60%,transparent 60%),linear-gradient(-45deg,transparent 40%,var(--p,#ffb21e) 40% 60%,transparent 60%)}
html.rs-skin input[type=radio]:checked::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--p,#ffb21e)}
html.rs-skin input[type=checkbox]:disabled,html.rs-skin input[type=radio]:disabled{opacity:.4}
html.rs-skin select{appearance:none;-webkit-appearance:none;padding-right:22px!important;background-image:linear-gradient(45deg,transparent 50%,var(--p,#ffb21e) 50%),linear-gradient(135deg,var(--p,#ffb21e) 50%,transparent 50%)!important;background-position:calc(100% - 13px) 55%,calc(100% - 8px) 55%!important;background-size:5px 5px!important;background-repeat:no-repeat!important}
html.rs-skin select option{background:var(--bg,#120900);color:var(--p,#ffb21e)}
html.rs-skin input[type=range]{appearance:none;-webkit-appearance:none;height:16px;background:transparent!important;border:0!important}
html.rs-skin input[type=range]::-webkit-slider-runnable-track{height:2px;background:var(--p,#ffb21e)}
html.rs-skin input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:16px;margin-top:-7px;background:var(--p,#ffb21e);border:0}
html.rs-skin input[type=range]::-moz-range-track{height:2px;background:var(--p,#ffb21e)}
html.rs-skin input[type=range]::-moz-range-thumb{width:10px;height:16px;background:var(--p,#ffb21e);border:0;border-radius:0}
html.rs-skin ::-webkit-scrollbar{width:10px;height:10px}html.rs-skin ::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--p,#ffb21e) 55%,transparent)}html.rs-skin ::-webkit-scrollbar-track{background:var(--bg,#120900)}
html.rs-skin{scrollbar-color:color-mix(in srgb,var(--p,#ffb21e) 55%,transparent) var(--bg,#120900)}

/* phase 2: message line, keys, questions, boot screen */
#rs-msg{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
#rs-msg.bad{background:var(--rs-p,#ffb21e);color:var(--rs-bg,#120900);text-shadow:none;padding:0 8px;flex:0 1 auto;margin:0 auto}
#rs-name{flex:0 1 auto}
#rs-strip .rs-k{border-color:transparent!important;padding:1px 4px!important;opacity:.85}
#rs-strip .rs-k b{font-weight:normal;opacity:.6}
#rs-strip .rs-k:hover{border-color:currentColor!important;opacity:1}
#rs-strip #rs-snd,#rs-strip #rs-mon{display:none!important}
[data-rs-key]::before{content:'[' attr(data-rs-key) '] ';opacity:.65}
.rs-ask .rs-bt{display:flex;gap:10px;flex-wrap:wrap;margin:0}
.rs-ask button{min-height:30px}
.rs-ask button+button{background:transparent;color:var(--p,#ffb21e);border:1px solid currentColor}
.rs-in{display:block;width:100%;box-sizing:border-box;margin:0 0 12px;font:inherit;background:transparent;color:inherit;border:1px solid currentColor;padding:3px 6px;outline:none;border-radius:0}
html:not(.rs-up) body{visibility:hidden;animation:rs-up 0s 6s forwards}
@keyframes rs-up{to{visibility:visible}}
#rs-boot{position:fixed;inset:0;z-index:2147483500;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--rs-p,#ffb21e);font:22px/1.5 'VT323',ui-monospace,monospace;letter-spacing:2px;text-align:center;text-shadow:0 0 6px color-mix(in srgb,var(--rs-p,#ffb21e) 50%,transparent)}
#rs-boot p{margin:0}#rs-boot #rs-bb{letter-spacing:0;margin-top:8px}
@media (max-width:760px){#rs-strip .rs-k b{display:none}#rs-keys{display:flex!important}#rs-msg{display:none}#rs-strip{gap:8px}}
@media (pointer:coarse){html.rs-on{--rk-sh:34px}#rs-strip button,#rs-menu{min-height:30px}}
#rs-msg.tip{opacity:.75}
/* Quake-style shared command console */
#rs-console{position:fixed;inset:0 0 auto;z-index:2147483400;display:flex;flex-direction:column;height:min(46vh,500px);min-height:190px;box-sizing:border-box;padding:0;background:rgba(7,5,2,.97);color:var(--p,#ffb21e);border-bottom:2px solid currentColor;box-shadow:0 12px 34px #000c,inset 0 -5px 0 color-mix(in srgb,var(--p,#ffb21e) 12%,transparent);font:22px/1.18 'VT323',ui-monospace,monospace;letter-spacing:.3px;text-transform:none;text-shadow:0 0 4px color-mix(in srgb,var(--p,#ffb21e) 26%,transparent);filter:none!important}
#rs-console[hidden]{display:none}
.rs-term-head{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:38px;padding:5px 14px;border-bottom:1px solid color-mix(in srgb,var(--p,#ffb21e) 42%,transparent);font-size:20px;letter-spacing:1px;text-transform:uppercase;opacity:.9}
#rs-term-output{flex:1;min-height:0;overflow:auto;padding:8px 16px 5px;white-space:pre-wrap;overflow-wrap:anywhere;scrollbar-color:color-mix(in srgb,var(--p,#ffb21e) 55%,transparent) transparent}
.rs-term-line{margin:0 0 3px;white-space:pre-wrap;overflow-wrap:anywhere}
.rs-term-line.command{color:color-mix(in srgb,var(--p,#ffb21e) 75%,white);}
.rs-term-sec{margin-top:6px;padding-bottom:2px;border-bottom:1px solid color-mix(in srgb,var(--p,#ffb21e) 35%,transparent);letter-spacing:1px;text-transform:uppercase}
.rs-term-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,34ch),1fr));gap:3px 22px;margin:4px 0 8px}
.rs-term-cols b{display:block;font-weight:normal;color:color-mix(in srgb,var(--p,#ffb21e) 75%,white)}
.rs-term-cols span{display:block;opacity:.7;font-size:.85em;line-height:1.1}
.rs-term-line.muted{opacity:.68}
.rs-term-line.bad{color:#ff9a69}
.rs-term-prompt{display:flex;align-items:center;gap:10px;min-height:48px;padding:4px 16px;border-top:1px solid color-mix(in srgb,var(--p,#ffb21e) 42%,transparent);font-size:28px;line-height:1}
.rs-term-prompt>span{flex:0 0 auto}
.rs-term-prompt input{flex:1;min-width:0;font:inherit;background:transparent;color:inherit;border:0;outline:none;padding:0;margin:0;border-radius:0;caret-color:currentColor;text-transform:none}
html.rs-term-open #cmdbar{display:none!important}
@media(max-height:520px){#rs-console{height:58vh;min-height:160px}}
@media(max-width:520px){.rs-term-head{font-size:18px;padding-inline:10px}.rs-term-prompt{padding-inline:11px}}

/* phase 3: key bar (phones and touch), cyclers for selects, cell bars for ranges */
#rs-kb{position:fixed;left:0;right:0;bottom:0;z-index:2147483300;display:none;height:var(--rk-kb,0px);padding:0 0 env(safe-area-inset-bottom);box-sizing:border-box;background:var(--bg,#120900);border-top:1px solid var(--p,#ffb21e);font:19px/1 'VT323',ui-monospace,monospace;letter-spacing:1px;text-transform:uppercase;filter:none!important}
#rs-kb button{flex:1 1 0;min-width:0;height:100%;font:inherit;letter-spacing:inherit;text-transform:inherit;background:transparent;color:var(--p,#ffb21e);border:0;border-right:1px solid color-mix(in srgb,var(--p,#ffb21e) 50%,transparent);border-radius:0;padding:0;margin:0;text-shadow:0 0 4px color-mix(in srgb,var(--p,#ffb21e) 45%,transparent);box-shadow:none}
#rs-kb button:last-child{border-right:0}
#rs-kb button:active,#rs-kb button.on{background:var(--p,#ffb21e);color:var(--bg,#120900);text-shadow:none}
#rs-kb button:disabled{opacity:.3}
@media (max-width:760px),(pointer:coarse){html.rs-kb{--rk-kb:calc(56px + env(safe-area-inset-bottom))}html.rs-kb #rs-kb{display:flex}}
html.rs-kb.rs-kbd{--rk-kb:calc(56px + env(safe-area-inset-bottom))}html.rs-kb.rs-kbd #rs-kb{display:flex}
html.rs-fix.rs-kb body{height:calc(100% - var(--rk-sh,26px) - var(--rk-kb,0px))!important}
html.rs-flow.rs-kb{padding-bottom:var(--rk-kb,0px)}
html.rs-inline.rs-kb body{padding-bottom:var(--rk-kb,0px);box-sizing:border-box}
@media (max-width:940px){#rs-strip #rs-keys{display:none!important}}   /* the F-key reminders go first, so System and CMD never fall off a tablet's edge */
@media (max-width:760px){#rs-strip #rs-keys,#rs-strip #rs-cmd,#rs-strip #rs-snd{display:none!important}#rs-strip #rs-name{flex:1 1 auto;text-overflow:clip}}
#rs-boot>div{max-width:92vw}#rs-boot p{white-space:normal;overflow-wrap:anywhere}
@media (max-width:760px){#rs-boot{font-size:18px;letter-spacing:1px}}
/* the index and system page */
.rs-alert.rs-sys{padding-bottom:var(--rk-kb,0px);box-sizing:border-box}.rs-sys>div{display:flex;flex-direction:column;gap:4px;box-sizing:border-box;width:min(560px,90vw);max-height:calc(100vh - var(--rk-kb,0px) - 40px);overflow:auto;text-transform:uppercase;letter-spacing:1px}
.rs-sys>div{width:min(640px,94vw)}
.rs-sys b{font-weight:normal;opacity:.7;margin:8px 0 2px}
.rs-sys button{text-align:left;background:transparent!important;color:var(--p,#ffb21e)!important;border:1px solid transparent!important;padding:6px 8px!important;min-height:40px;white-space:normal}
.rs-sys button.on,.rs-sys button:hover,.rs-sys button:focus{border-color:currentColor!important;outline:none}
.rs-sys button[data-sys="x"]{border-color:currentColor!important;text-align:center;margin-top:8px}
.rs-sys .rs-setting{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 8px;min-height:34px;text-transform:none;letter-spacing:0;font-size:21px}
.rs-sys .rs-setting input[type=checkbox]{width:20px;height:20px;flex:0 0 auto}
.rs-sys .rs-setting input[type=range]{flex:1 1 180px;min-width:160px;height:22px}
.rs-sys .rs-setting output{min-width:42px;text-align:right}
.rs-sys .rs-setting select{margin-left:auto;max-width:58%;font:inherit;font-size:20px;min-height:36px}
.rs-sys button[data-sys=mon]{border:1px solid currentColor!important}
/* touch: the strip is only 26px tall, so give its controls a larger invisible hit area (about 38px) without changing the layout */
@media (pointer:coarse),(max-width:760px){#rs-strip button,#rs-strip #rs-menu{position:relative}#rs-strip button::after,#rs-strip #rs-menu::after{content:"";position:absolute;inset:-8px -4px}}
@media (max-width:640px){#rs-strip #rs-world{display:none}}
#rs-strip #rs-world{opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#rs-strip #rs-net{border:1px solid currentColor;padding:0 6px;white-space:nowrap}

.rs-ask .rs-area{width:min(86vw,760px);min-height:40vh;white-space:pre;tab-size:2;resize:vertical}

/* phones (owner, 2026-10-08: easy on mobile and never in the way): no zoom when a field is pressed (iOS zooms under 16px), no double-tap delay, no grey flash on tap, the slimmer key bar without NEXT (a phone scrolls by itself), and a fade on any row that scrolls sideways so its hidden end is seen */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,a,input,select,label,summary,[role=button]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{font-size:max(16px,1em)!important}
  html.rs-kb,html.rs-kb.rs-kbd{--rk-kb:calc(48px + env(safe-area-inset-bottom))}#rs-kb button[data-k=NEXT]{display:none}}
.rs-more-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.rs-more-l{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px);mask-image:linear-gradient(90deg,transparent,#000 28px)}
.rs-more-l.rs-more-r{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}

/* Contextual help stays legible above app chrome without changing button layout. */
#rs-tooltip{position:fixed;z-index:2147483646;pointer-events:none;max-width:min(340px,calc(100vw - 16px));box-sizing:border-box;padding:8px 12px;border:1px solid var(--rs-p,#ffb21e);background:var(--rs-bg,#100b03);color:var(--rs-p,#ffb21e);font:20px/1.2 VT323,monospace;text-transform:none;white-space:normal;overflow-wrap:anywhere;box-shadow:0 3px 12px #0009}
#rs-tooltip[hidden]{display:none!important}
/* one text size everywhere (owner, 2026-10-11), here too for the apps that load the shell without the kit (the Table Top); the same rule as relic-kit.css */
html body:not(#_):not(#__),html body *:not(svg):not(svg *):not(math *):not(#_):not(#__):not(#desktopHub):not(#desktopHub *),html body *:not(svg *):not(#_):not(#__):not(#desktopHub):not(#desktopHub *)::before,html body *:not(svg *):not(#_):not(#__):not(#desktopHub):not(#desktopHub *)::after{font-size:var(--m-one,calc(20px*var(--rk-txt,1)))!important;font-size-adjust:none!important}
