:root{--fg:#ffcc00;--accent:#ff9900;--red:#ff2a1a;--line:#661100;--paper:#efdcb8;--lcd:#9fe870}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:url("../assets/bg.png") repeat fixed #150000;color:var(--fg);
  font-family:"Courier New",Courier,"PingFang SC","Songti SC","Noto Serif CJK SC",monospace}
a{color:var(--accent);text-decoration:none}
a:hover{color:#ff0000;background:#fff}
@keyframes blink{50%{opacity:0}}
@keyframes crossGlow{0%,100%{opacity:.3;text-shadow:0 0 2px #f00}50%{opacity:1;text-shadow:0 0 14px #f00,0 0 4px #500}}
.blink{animation:blink 1s infinite steps(1);color:#ff1a1a;font-weight:bold}
.cross{animation:crossGlow .9s infinite ease-in-out;color:#cc0000;font-weight:bold;display:inline-block}
.dim{color:#aa5522}
.topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;gap:8px;align-items:center;
  padding:10px max(12px,env(safe-area-inset-left));background:rgba(10,0,0,.94);border-bottom:2px dashed #883300;font-size:13px}
.booth{max-width:640px;margin:24px auto 48px;padding:20px;border:3px solid var(--line);background:rgba(15,2,2,.96);
  box-shadow:10px 10px 0 #440000,-5px -5px 0 rgba(50,10,0,.6)}
.head{text-align:center;margin-bottom:16px}
.book{font-size:13px;color:#aa5522;letter-spacing:3px}
.head h1{font-size:1.9rem;letter-spacing:4px;margin:8px 0 0;text-shadow:2px 2px 0 #550000}
.sub{color:#aa5522;font-size:12px;margin-top:4px}

/* 电话机本体：NTT 绿色公用电话 */
.phone{max-width:380px;margin:0 auto;background:linear-gradient(#2f6b3a,#1d4a27);border:3px solid #0d2a14;border-radius:18px 18px 10px 10px;
  padding:14px 16px 18px;box-shadow:8px 8px 0 #330000,inset 0 2px 0 rgba(255,255,255,.15);user-select:none;-webkit-user-select:none}
.phone-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#d9f0d0;letter-spacing:2px;margin-bottom:8px}
.led{width:12px;height:12px;border-radius:50%;background:#3a0000;border:1px solid #000}
.led.on{background:#ff2a1a;box-shadow:0 0 10px #ff2a1a;animation:blink .5s infinite steps(1)}
.lcd{background:#0b1a08;border:3px inset #0d2a14;border-radius:4px;padding:8px 10px;min-height:76px;color:var(--lcd);
  text-shadow:0 0 6px rgba(159,232,112,.6);font-family:"Courier New",Courier,monospace}
.lcd-status{font-size:12px;opacity:.85;min-height:1.3em;font-family:"Courier New","PingFang SC",monospace}
.lcd-num{font-size:28px;letter-spacing:2px;margin-top:4px;word-break:break-all;line-height:1.2;min-height:1.2em}
.pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.pad button,.ctrl button{font-family:"Courier New",Courier,monospace;-webkit-appearance:none;border-radius:8px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.pad button{height:64px;font-size:28px;font-weight:bold;color:#1a1a1a;background:linear-gradient(#f4efe0,#cfc8b4);border:2px solid #3b3528;
  box-shadow:0 4px 0 #2a261c;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.pad button small{font-size:10px;font-weight:normal;color:#6a5f45;margin-top:3px;letter-spacing:1px}
.pad button:active,.pad button.down{transform:translateY(3px);box-shadow:0 1px 0 #2a261c;background:#ffcc00}
.ctrl{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:10px;margin-top:14px}
.ctrl button{height:56px;font-size:17px;font-weight:bold;border:2px solid #000;box-shadow:0 4px 0 #000}
.ctrl button:active{transform:translateY(3px);box-shadow:0 1px 0 #000}
.ctrl .call{background:#1f8a3a;color:#eaffea}
.ctrl .hang{background:#a31208;color:#ffe2dc}
.ctrl .del{background:#3a2a1a;color:var(--fg);font-size:15px}
.ctrl button:disabled{opacity:.45}

.receiver,.log{margin-top:18px;border:2px dotted #771100;background:rgba(25,3,3,.9);padding:10px 12px;box-shadow:4px 4px 0 #330000}
.rcv-h{display:flex;justify-content:space-between;align-items:center;font-size:13px;border-bottom:1px dashed #772200;padding-bottom:6px;margin-bottom:8px}
.rcv-b{min-height:8em;color:var(--paper);font-size:16px;line-height:1.8;word-break:break-word;overflow-wrap:anywhere;
  font-family:"PingFang SC","Songti SC","Noto Serif CJK SC","Courier New",monospace}
.rcv-b p{margin:0 0 .5em}
.rcv-b .sys{font-family:"Courier New",Courier,monospace;color:#7dff9a;font-size:14px}
.rcv-b .red{color:#ff3333}
.rcv-b .whisper{color:#cc9966;font-style:italic}
.rcv-b .right{text-align:right;color:#cc9966}
.rcv-b a{color:var(--fg);border-bottom:1px dashed var(--fg)}
.caret::after{content:"▌";animation:blink .7s infinite steps(1);color:var(--fg)}
.log ol{list-style:none;padding:0;margin:0;font-size:13px;max-height:240px;overflow:auto}
.log li{display:flex;justify-content:space-between;gap:8px;padding:5px 2px;border-bottom:1px dashed #441100;flex-wrap:wrap}
.log li .n{color:var(--fg);letter-spacing:1px}
.log li .r{color:#cc9966}
.log li .t{color:#aa5522;font-size:12px}
.mini{background:none;border:1px solid #772200;color:var(--accent);font-family:inherit;font-size:12px;padding:2px 8px;cursor:pointer;border-radius:0;-webkit-appearance:none}
.mini:hover{background:var(--fg);color:#000}
.hint{font-size:12px;text-align:center;margin-top:14px}
.home{text-align:center;margin-top:12px;font-size:14px;line-height:2}
@media (max-width:600px){
  .booth{margin:12px 8px 32px;padding:14px 12px;box-shadow:5px 5px 0 #440000}
  .head h1{font-size:1.5rem}
  .pad button{height:60px}
}
@media (prefers-reduced-motion:reduce){.blink,.cross,.led.on{animation:none}}

/* 添加到主屏幕后全屏打开：给刘海、圆角和底部横条留出安全边距 */
.topbar{padding-top:calc(10px + env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right))}
body{padding-bottom:env(safe-area-inset-bottom)}
