*{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;height:100%;overflow:hidden;background:#000;
  font-family:"Source Han Serif CN","Noto Serif SC","SimSun",serif}

/* 封面 */
#splash{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;background:radial-gradient(ellipse,#1a0800,#000);z-index:50}
#splash-cover{
  width:min(88vw,1100px);max-height:68vh;object-fit:contain;
  border:2px solid #8B6914;border-radius:6px;
  box-shadow:0 0 80px #c8960070;margin-bottom:20px}
#splash h1{font-size:clamp(1.8em,4.5vw,3em);color:#e8c87a;letter-spacing:.4em;
  text-shadow:0 0 30px #c89600;margin-bottom:8px}
#splash p{color:#a08060;font-size:.9em;letter-spacing:.12em;margin-bottom:26px;
  max-width:600px;text-align:center;line-height:1.8}
#start-btn{background:transparent;border:1px solid #8B6914;color:#e8c87a;
  padding:12px 44px;font-size:1.1em;font-family:inherit;letter-spacing:.25em;
  cursor:pointer;border-radius:4px;transition:all .3s}
#start-btn:hover{background:#8B6914;color:#000}

/* 游戏主界面 */
#game{position:fixed;inset:0;display:flex;flex-direction:column}
.hidden{display:none!important}

/* 场景背景 */
#scene-bg{position:absolute;inset:0;background:#1a0e00 center/cover no-repeat;
  transition:background-image .8s ease}
#scene-vignette{position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.3) 0%,rgba(0,0,0,0) 30%,
  rgba(0,0,0,.4) 60%,rgba(0,0,0,.88) 100%)}

/* 顶部状态栏 */
#topbar{position:relative;z-index:10;display:flex;justify-content:space-between;
  align-items:center;padding:10px 20px;
  background:linear-gradient(to bottom,rgba(0,0,0,.7),transparent)}
#loc-name{color:#e8c87a;font-size:clamp(.85em,1.8vw,1.1em);letter-spacing:.2em;
  text-shadow:0 0 12px #c89600;flex-shrink:0;margin-right:16px}
#stats{display:flex;gap:clamp(4px,1vw,12px);flex-wrap:wrap}
.stat{font-size:clamp(.65em,1.2vw,.85em);padding:3px 8px;border-radius:10px;
  border:1px solid;letter-spacing:.04em;white-space:nowrap}
.stat.war   {color:#ff8060;border-color:#ff806040;background:rgba(255,80,0,.15)}
.stat.mil   {color:#f0c040;border-color:#f0c04040;background:rgba(200,160,0,.15)}
.stat.pop   {color:#80d080;border-color:#80d08040;background:rgba(0,180,0,.15)}
.stat.royal {color:#e8c87a;border-color:#e8c87a40;background:rgba(200,150,0,.15)}
.stat.scheme{color:#c080ff;border-color:#c080ff40;background:rgba(150,0,255,.12)}
.stat b{margin-left:3px}

/* 音频开关按钮 */
#audio-toggle{
  position:fixed;top:12px;left:14px;z-index:100;
  display:flex;align-items:center;gap:6px;
  background:rgba(6,4,0,.72);border:1px solid #5a3a10;
  border-radius:6px;padding:5px 10px;cursor:pointer;
  color:#c8a87a;font-size:.82em;letter-spacing:.08em;
  font-family:inherit;transition:all .25s;backdrop-filter:blur(6px);
  user-select:none}
#audio-toggle:hover{background:rgba(90,58,16,.7);border-color:#8B6914;color:#e8c87a}
#audio-toggle .icon{font-size:1.1em;line-height:1}
#audio-toggle.muted{color:#5a4a30;border-color:#3a2a08}

/* 人物立绘 */
#portrait-area{position:absolute;left:3vw;bottom:230px;z-index:10;text-align:center;
  transition:opacity .4s}
#portrait{height:clamp(180px,36vh,320px);width:auto;
  filter:drop-shadow(0 4px 28px rgba(0,0,0,.95));display:block}
#char-name{color:#e8c87a;font-size:clamp(.75em,1.4vw,.9em);margin-top:5px;
  text-shadow:0 0 8px #000;letter-spacing:.1em}

/* 底部区域 */
#bottom{position:absolute;bottom:0;left:0;right:0;z-index:10;padding:0 3vw 10px}
#dialogue{background:rgba(6,4,0,.88);border:1px solid #5a3a10;
  border-radius:8px 8px 0 0;backdrop-filter:blur(10px);
  padding:14px 18px 10px;min-height:85px;border-bottom:none;
  cursor:pointer;position:relative}
#dialogue-text{color:#d4b896;font-size:clamp(13px,1.7vw,15px);line-height:2;
  white-space:pre-wrap;min-height:55px}
#skip-hint{position:absolute;right:12px;bottom:6px;
  color:#6a4a20;font-size:.7em;display:none}

/* 选项按钮 */
#actions{display:flex;flex-wrap:wrap;gap:7px;
  background:rgba(6,4,0,.88);border:1px solid #5a3a10;
  border-radius:0 0 8px 8px;border-top:1px solid #3a2008;padding:8px 10px}
.action-btn{display:flex;align-items:center;gap:7px;
  background:rgba(35,18,0,.85);border:1px solid #4a3008;border-radius:5px;
  color:#c8a87a;padding:8px 14px;cursor:pointer;font-family:inherit;
  font-size:clamp(11px,1.5vw,13px);letter-spacing:.05em;
  transition:all .2s;flex:1;min-width:130px;max-width:260px}
.action-btn:hover{background:#5a3a10;border-color:#8B6914;color:#e8c87a;
  transform:translateY(-1px)}
.action-icon{font-size:1.15em;flex-shrink:0}
.action-label{text-align:left;line-height:1.4}
