/* tsoip terminal: base look. Modules may add their own tones as .t-<name>. */
:root{--mono:ui-monospace,"Cascadia Mono","Segoe UI Mono","DejaVu Sans Mono","Liberation Mono",Menlo,Consolas,monospace;
 --g:#00ff00;--g2:#33ff33;--dim:#0a8a0a;--echo:#1c9c1c;--line:#005f00;--amb:#ff9900}
html,body{height:100%;margin:0;background:#000}
body{overflow:hidden;color:var(--g2);font:16px/1.5 var(--mono);-webkit-text-size-adjust:100%}
::selection{background:var(--g);color:#000}
#term{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;cursor:text;
 padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 40vh max(18px,env(safe-area-inset-left));
 scrollbar-width:none}
#term::-webkit-scrollbar{display:none}
#out p{margin:0 0 .3em;white-space:pre-wrap;overflow-wrap:anywhere}
.t-dim{color:var(--dim)} .t-echo{color:var(--echo)} .t-amber{color:var(--amb)} .t-white{color:#fff} .t-pale{color:#aaffaa}
#line{display:flex;align-items:center;gap:.55em;margin:0}
.nib{flex:none;width:.7em;height:1.1em;color:var(--g)}
#in{flex:1;min-width:0;background:transparent;border:0;outline:0;margin:0;padding:0;color:var(--g2);caret-color:var(--g);font:inherit;
 -webkit-appearance:none;appearance:none;border-radius:0}
#windows{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.win{position:absolute;pointer-events:auto;background:#000;border:1px solid var(--dim);box-shadow:0 0 0 3px #000,0 0 0 4px #003a00;max-width:calc(100vw - 16px)}
.win-bar{display:flex;align-items:center;justify-content:space-between;gap:1em;padding:1px 4px 1px 8px;background:#003a00;color:var(--g);
 font-size:12px;letter-spacing:.12em;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.win-x{display:flex;background:none;border:0;color:var(--g);padding:5px;cursor:pointer}
.win-x:focus-visible{outline:1px solid var(--amb)}
.win-svg{display:block;max-width:calc(100vw - 18px);height:auto}
.crt-toggle.corner{position:fixed;right:8px;bottom:8px;top:auto;font-size:11px;padding:1px 6px;opacity:.45;border-color:#0a3a0a;color:var(--dim);background:#000;z-index:5}
.crt-toggle.corner::after{content:""}
html.crt-fx[data-crt-level="1"] .crt-toggle.corner::after{content:" ·"}
html.crt-fx .crt-toggle.corner::after,html.crt-fx[data-crt-level="2"] .crt-toggle.corner::after{content:" ··"}
html.crt-fx[data-crt-level="3"] .crt-toggle.corner::after{content:" ···"}
@media (max-width:480px){body{font-size:16px}#term{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}
