/* Live terminal: preserve character geometry while keeping the flyer wall fluid. */
#terminal{position:relative}
#terminal>.xterm{width:max-content;margin-inline:auto}
#terminal>.terminal-margin-art{position:absolute;top:50%;transform:translateY(-50%);width:16ch;margin:0;font:14px/1.15 monospace;white-space:pre;letter-spacing:0;pointer-events:none;user-select:none;color:#46b4bc;opacity:.9}
#terminal>.terminal-margin-art--left{left:calc(var(--bbs-margin-center,0px) - 8ch)}
#terminal>.terminal-margin-art--right{right:calc(var(--bbs-margin-center,0px) - 8ch);color:#cb79b7}
.bbs-terminal--live .terminal-scroll,#terminal .xterm-viewport{scrollbar-width:none;-ms-overflow-style:none}
.bbs-terminal--live .terminal-scroll::-webkit-scrollbar,#terminal .xterm-viewport::-webkit-scrollbar{display:none;width:0;height:0}
.bbs-terminal--live{background:#000}
.bbs-terminal--live .terminal-scroll{max-width:100%;overflow:auto;overscroll-behavior-x:contain;background:#000;padding:8px}
.bbs-terminal--live #terminal{min-width:680px;min-height:400px;background:#000;letter-spacing:normal}
.bbs-terminal--live #status{margin:8px 9px;color:var(--acid);font:1rem/1.4 var(--terminal-font)}
.bbs-terminal--live #status:empty,.bbs-terminal--live [hidden]{display:none!important}
.bbs-terminal--live button{font:1rem/1.3 var(--terminal-font);border:1px solid var(--acid);color:var(--acid);background:#000;padding:8px 12px;cursor:pointer;margin:8px}
.bbs-terminal--live details{border-top:1px solid #466;padding:12px 9px;font:1rem/1.4 var(--terminal-font)}
.bbs-terminal--live summary{color:var(--cyan);cursor:pointer}
.bbs-terminal--live summary:focus-visible{outline:2px dashed var(--magenta);outline-offset:3px}
.bbs-terminal--live details p{margin:12px 0 0}
@media (min-width:701px) and (max-width:1100px){
 .home-template.option-three .flyer-wall{grid-template-columns:1fr}
 .home-template.option-three .wall-center{grid-column:1;grid-row:1}
 .home-template.option-three .wall-rail--left,.home-template.option-three .wall-rail--right{grid-column:1;grid-row:auto;margin-top:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
}

/* Shared touch controls: keep this block in sync with live-board.css/lab.css. */
.terminal-controls{display:none}
@media (any-pointer:coarse),(max-width:700px){
 .terminal-controls{display:block;position:sticky;bottom:var(--bbs-keyboard-inset,0px);z-index:10;background:#080808;border-top:1px solid #00c5df;padding:6px 0 max(6px,env(safe-area-inset-bottom));touch-action:manipulation}
 .terminal-controls-head{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:5px;margin-bottom:5px}
 .terminal-primary-keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
 .terminal-controls button,.bbs-terminal--live .terminal-controls button,.terminal-controls summary{box-sizing:border-box;width:100%;min-width:0;min-height:44px;margin:0;padding:8px 4px;border:1px solid #497077;border-radius:3px;background:#10191b;color:#eaf5f3;font:16px/1.15 ui-monospace,SFMono-Regular,monospace;text-align:center;cursor:pointer}
 .terminal-primary-keys button:nth-child(-n+4){font-size:22px}
 .terminal-controls button:active{background:#00c5df;color:#000}
 .terminal-controls button:disabled{color:#777;border-color:#333;background:#101010;cursor:default}
 .terminal-controls button:focus-visible,.terminal-controls summary:focus-visible{outline:2px solid #ff4dcc;outline-offset:1px}
 .terminal-controls button[aria-pressed="true"]{border-color:#f2ff00}
 .terminal-controls .terminal-controls-more,.bbs-terminal--live .terminal-controls-more{position:static;margin:0;padding:0;border:0;font:inherit}
 .terminal-controls summary{list-style:none;display:flex;align-items:center;justify-content:center}
 .terminal-controls summary::-webkit-details-marker{display:none}
 .terminal-extra-keys{position:absolute;left:0;right:0;bottom:100%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;max-height:45vh;max-height:45dvh;overflow:auto;background:#080808;padding:8px;border:1px solid #00c5df}
 .terminal-extra-keys button{font-size:14px}
 .terminal-extra-keys button:last-child{grid-column:span 2}
 .terminal-scroll,.bbs-terminal--live .terminal-scroll{max-height:var(--bbs-touch-height,65vh);scroll-margin-top:8px}
}
@media (max-width:700px){
 #terminal,.bbs-terminal--live #terminal{min-width:0;min-height:0}
 .terminal-scroll,.bbs-terminal--live .terminal-scroll{padding:0}
 #terminal>.terminal-margin-art{display:none}
}
.terminal-focus-notice{position:fixed;z-index:1000;left:50%;top:50%;transform:translate(-50%,-50%);overflow:auto;box-sizing:border-box;width:min(440px,calc(100vw - 24px));padding:16px;border:1px solid #00c5df;background:#10191b;color:#eaf5f3;box-shadow:0 8px 32px #000b;font:15px/1.5 ui-monospace,SFMono-Regular,monospace}
.terminal-focus-notice[hidden]{display:none}
.terminal-focus-notice p{margin:0 0 12px}
.terminal-focus-notice button{min-height:44px;margin:0 8px 0 0;padding:8px 12px;border:1px solid #497077;background:#080808;color:#eaf5f3;font:inherit;cursor:pointer}
.terminal-focus-notice button:focus-visible{outline:2px solid #ff4dcc;outline-offset:2px}
