/* Zen Buddha Master: The Last Block — terminal */
html{background:#050705}
body{margin:0;background:#050705;color:#71ff9b;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
*{box-sizing:border-box}
.lb-wrap{min-height:100vh;min-height:100dvh;padding:clamp(0px,2vw,24px);display:flex}
.lb-crt{position:relative;flex:1;max-width:980px;margin:0 auto;display:flex;flex-direction:column;height:calc(100vh - 4vw);height:calc(100dvh - clamp(0px,4vw,48px));
  border:14px solid #403b32;border-radius:34px;padding:clamp(16px,3.5vw,40px);
  background:radial-gradient(ellipse,#06301a,#000904 75%);box-shadow:inset 0 0 100px #000,0 20px 60px #000;overflow:hidden}
.lb-crt:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:5;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0,rgba(0,0,0,.16) 1px,transparent 1px,transparent 4px)}
.lb-crt.flicker{animation:lbflick .25s steps(2) 2}
.lb-crt.thunk{animation:lbthunk .5s ease-out 1}
@keyframes lbflick{50%{filter:brightness(1.8)}}
@keyframes lbthunk{20%{transform:translateY(3px)}40%{transform:translateY(-2px)}60%{transform:translateY(1px)}}
.lb-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;letter-spacing:.14em;opacity:.7;padding-bottom:10px;border-bottom:1px solid rgba(113,255,155,.25);position:relative;z-index:6}
.lb-out{flex:1;overflow-y:auto;padding:14px 4px 10px;font-size:clamp(14px,1.9vw,17px);line-height:1.6;scrollbar-width:thin;scrollbar-color:rgba(113,255,155,.4) transparent;position:relative;z-index:2}
.lb-out p{margin:0 0 .85em;white-space:pre-wrap;overflow-wrap:anywhere}
.lb-out .prose{color:#b8f5c8;text-shadow:0 0 4px rgba(44,255,106,.25)}
.lb-out .echo{color:#71ff9b;opacity:.6;margin-top:1em}
.lb-out .term{font-size:.92em;color:#71ff9b;text-shadow:0 0 8px #2cff6a;border-left:2px solid rgba(113,255,155,.45);padding:2px 0 2px 14px;white-space:pre;overflow-x:auto;overflow-wrap:normal;letter-spacing:.04em}
.lb-out .voice{color:#e8ffe9;font-style:italic;text-shadow:0 0 6px rgba(255,255,255,.25)}
.lb-out .ring{color:#ffe08a;text-shadow:0 0 8px rgba(255,224,138,.5);letter-spacing:.08em}
.lb-out .sys{font-size:.8em;letter-spacing:.12em;opacity:.6}
.lb-out .card{text-align:center;border:1px solid rgba(113,255,155,.5);padding:18px 10px;letter-spacing:.14em;white-space:pre-wrap;text-shadow:0 0 10px #2cff6a;margin:1.4em 0}
.lb-out .boot{white-space:pre;letter-spacing:.06em;text-shadow:0 0 8px #2cff6a;overflow-x:auto}
.lb-out .dim{opacity:.55}
.lb-in{display:flex;align-items:center;gap:8px;border-top:1px solid rgba(113,255,155,.25);padding-top:10px;position:relative;z-index:6}
.lb-prompt{font-size:18px;text-shadow:0 0 8px #2cff6a}
#cmd{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#71ff9b;font:inherit;font-size:max(16px,1.1em);text-transform:uppercase;caret-color:#71ff9b;text-shadow:0 0 8px #2cff6a;padding:8px 0}
#cmd:disabled{opacity:.4}
.lb-mini{background:transparent;border:1px solid rgba(113,255,155,.45);color:#71ff9b;font:inherit;font-size:11px;letter-spacing:.12em;padding:7px 10px;border-radius:3px;cursor:pointer;touch-action:manipulation}
.lb-mini:hover,.lb-mini:focus-visible{background:#71ff9b;color:#001408;outline:0}
.lb-pad{position:relative;z-index:6;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:flex-start;padding-top:10px}
.lb-pad[hidden]{display:none}
.lb-keys{display:grid;grid-template-columns:repeat(3,52px);gap:6px}
.lb-keys button,.lb-quick button{background:rgba(113,255,155,.06);border:1px solid rgba(113,255,155,.4);color:#71ff9b;font:inherit;font-size:16px;height:38px;border-radius:4px;cursor:pointer;touch-action:manipulation;text-shadow:0 0 6px #2cff6a}
.lb-keys .lb-ent{font-size:10px;letter-spacing:.08em}
.lb-keys button:active,.lb-quick button:active{background:#71ff9b;color:#001408}
.lb-quick{display:flex;flex-direction:column;gap:6px}
.lb-quick button{font-size:11px;letter-spacing:.12em;padding:0 14px}
.lb-padtoggle{position:absolute;right:clamp(16px,3.5vw,40px);bottom:clamp(16px,3.5vw,40px);z-index:7;display:none}
@media(max-width:600px){
  .lb-wrap{padding:0}
  .lb-crt{border-width:8px;border-radius:16px;padding:14px 12px;height:100vh;height:100dvh}
  .lb-out .term,.lb-out .boot{font-size:.78em}
  .lb-keys{grid-template-columns:repeat(3,1fr);flex:1}
  .lb-keys button{height:42px}
}
@media (prefers-reduced-motion:reduce){.lb-crt.flicker,.lb-crt.thunk{animation:none}}
.lb-out .art{white-space:pre;font-size:.82em;line-height:1.18;letter-spacing:0;color:#71ff9b;text-shadow:0 0 8px #2cff6a;overflow-x:auto;overflow-wrap:normal;margin:.2em 0 1em}
@media(max-width:600px){.lb-out .art{font-size:.64em}}
.lb-out .kw{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-shadow:inherit;cursor:pointer;text-decoration:underline dotted rgba(113,255,155,.55);text-underline-offset:3px}
.lb-out .kw:hover,.lb-out .kw:focus-visible{color:#fff;outline:0;text-decoration-style:solid}
.lb-menu{position:absolute;z-index:8;display:flex;flex-direction:column;min-width:170px;background:#021208;border:1px solid #71ff9b;box-shadow:0 0 18px rgba(44,255,106,.35);padding:4px}
.lb-menu[hidden]{display:none}
.lb-menu button{background:transparent;border:0;color:#71ff9b;font:inherit;font-size:13px;letter-spacing:.08em;text-align:left;padding:9px 12px;cursor:pointer}
.lb-menu button:hover,.lb-menu button:focus-visible{background:#71ff9b;color:#001408;outline:0}
/* a blinking cursor shows where to tap when the prompt isn't focused (phones) */
.lb-in:not(:focus-within) .lb-prompt::after{content:" \2588";animation:lbblink 1s step-end infinite;text-shadow:0 0 8px #2cff6a}
@keyframes lbblink{50%{opacity:0}}
.lb-prompt{cursor:text}
.lb-quick button[data-c="HINT"]{font-weight:800;letter-spacing:.16em;border-color:#71ff9b;text-shadow:0 0 8px #2cff6a}
.lb-in .lb-hint{font-weight:800;letter-spacing:.16em;border-color:#71ff9b;text-shadow:0 0 8px #2cff6a;margin-right:2px}
.lb-in .lb-hint[hidden]{display:none}
.lb-quick .lb-hint2{font-weight:800;letter-spacing:.16em;border-color:#71ff9b;background:#71ff9b;color:#001408;text-shadow:none}
.lb-quick .lb-hint2:active{background:#b8ffcb}
.lb-pad{justify-content:space-between}
.lb-quick{margin-left:auto}
