:root{--fg:#ffcc00;--accent:#ff9900;--red:#ff2a1a;--line:#661100;--paper:#efdcb8}
*{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}}
@keyframes flick{0%,100%{opacity:1}92%{opacity:1}93%{opacity:.4}95%{opacity:1}97%{opacity:.6}}
.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}
.adv{max-width:720px;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:14px}
.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}
.hud{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px;background:#2a0505;border:1px solid #771100;padding:6px 10px;margin-bottom:12px}
.hud b{color:var(--fg)}
.hud.late b#clock{color:#ff2a1a;animation:blink 1s infinite steps(1)}
.art{text-align:center;margin:4px 0 10px}
.art img{max-width:220px;width:60%;border:2px solid #551100;box-shadow:4px 4px 0 #330000;image-rendering:pixelated;animation:flick 4s infinite}
.text{min-height:9em;color:var(--paper);font-size:17px;line-height:1.95;word-break:break-word;overflow-wrap:anywhere;cursor:pointer;
  font-family:"Songti SC","Noto Serif CJK SC","Source Han Serif SC","STSong","PingFang SC","Hiragino Sans GB",serif;
  border:1px dashed #551100;background:rgba(5,1,1,.7);padding:12px 14px}
.text p{margin:0 0 .8em}
.text .sys{font-family:"Courier New",Courier,monospace;color:#7dff9a;font-size:14px;background:#050101;border:1px dashed #006622;padding:6px 8px}
.text .red{color:#ff3333}
.text .whisper{color:#cc9966;font-style:italic}
.text .end{text-align:center;color:var(--fg);font-family:"Courier New",Courier,monospace;letter-spacing:3px;font-size:18px;margin-top:1em}
.text a{color:var(--fg);border-bottom:1px dashed var(--fg)}
.choices{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.choices button{text-align:left;font-family:inherit;font-size:16px;line-height:1.5;color:var(--fg);background:#1a0000;border:1px solid #aa2200;
  padding:12px 14px;cursor:pointer;border-radius:0;-webkit-appearance:none;touch-action:manipulation;min-height:48px}
.choices button::before{content:"> ";color:#cc0000}
.choices button:hover,.choices button:active{background:var(--fg);color:#000}
.choices button.danger{border-color:#ff2a1a}
.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:300px;margin:6px auto 0}
.keypad button{text-align:center;font-size:22px;height:56px;padding:0}
.keypad button::before{content:none}
.kdisp{text-align:center;font-size:26px;letter-spacing:10px;color:#7dff9a;background:#050101;border:1px dashed #006622;padding:6px;max-width:300px;margin:0 auto}
.bag{margin-top:16px;border:2px dotted #771100;background:rgba(25,3,3,.9);padding:10px 12px;font-size:13px;line-height:1.9;box-shadow:4px 4px 0 #330000}
.bag .it{display:inline-block;color:var(--fg);border:1px solid #772200;padding:0 6px;margin:2px 4px 2px 0;font-size:12px}
.bag .nt{display:inline-block;margin:2px 8px 2px 0}
.tools{text-align:right;margin-top:10px}
.mini{background:none;border:1px solid #772200;color:var(--accent);font-family:inherit;font-size:12px;padding:4px 10px;cursor:pointer;border-radius:0;-webkit-appearance:none}
.mini:hover{background:var(--fg);color:#000}
.hint{font-size:12px;text-align:center;margin-top:12px;line-height:1.8}
.home{text-align:center;margin-top:10px;font-size:14px}
@media (max-width:600px){
  .adv{margin:12px 8px 32px;padding:14px 12px;box-shadow:5px 5px 0 #440000}
  .head h1{font-size:1.5rem}
  .text{font-size:16px}
}
@media (prefers-reduced-motion:reduce){.blink,.cross,.art img{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)}
