/* ============================================================
   深色控制台主题（参考三国沙盘的左栏 + 顶部资源 + 事件流 + 命令输入）
   叠加在 style.css 之后，只改外观与游戏主界面骨架。
   ============================================================ */
:root{
  --ink:#0b0c0a;
  --ink-2:#14150f;
  --ink-3:#1b1c15;
  --paper:#d8ccb2;
  --paper-2:#c9bda2;
  --paper-3:#b7aa8e;
  --text:#d8ccb2;
  --muted:#8d8269;
  --faint:#6b6350;
  --red:#b24a36;
  --red-2:#c96750;
  --gold:#c9a45c;
  --gold-2:#e3cf9f;
  --jade:#6f8f7c;
  --line:rgba(216,204,178,.14);
  --shadow:0 16px 44px rgba(0,0,0,.5);
}
html,body{background:#070806}
body{color:var(--text)}
#app{
  max-width:none;
  width:100%;
  background:
    radial-gradient(1200px 720px at 72% -10%, rgba(64,52,28,.16), transparent 55%),
    radial-gradient(900px 600px at 10% 100%, rgba(37,50,40,.10), transparent 60%),
    #0b0c0a;
  box-shadow:none;
  color:var(--text);
}
@media(min-width:760px){#app{border:0}}

#screen-cover .cover-inner{max-width:520px;margin:0 auto;width:100%}
#screen-create .create-scroll{max-width:760px;margin:0 auto;width:100%}
#screen-create .sub-header{max-width:760px;margin:0 auto;width:100%}

/* ---------------- 主骨架 ---------------- */
.game-screen{background:#0b0c0a}
.game-shell{display:flex;height:100%;width:100%;overflow:hidden}
.side-rail{
  width:198px;flex:0 0 198px;height:100%;background:#0c0d09;
  border-right:1px solid #25251c;display:flex;flex-direction:column;z-index:80;
}
.rail-brand{display:flex;align-items:center;gap:10px;padding:18px 16px 14px;border-bottom:1px solid #1e1f17}
.rail-seal{
  width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;
  border:1px solid #8f3a2b;background:#190f0c;color:var(--gold-2);
  font-size:18px;box-shadow:inset 0 0 0 2px rgba(201,164,92,.12);
}
.rail-brand-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.rail-brand-text b{font-size:14px;letter-spacing:.14em;color:#eadfc6;font-weight:600}
.rail-brand-text span{font-family:var(--sans);font-size:8px;letter-spacing:.22em;color:#6b6350}
.side-nav{flex:1;overflow-y:auto;padding:6px 0;scrollbar-width:thin}
.nav-group{
  font-family:var(--sans);font-size:8px;letter-spacing:.28em;color:#57513f;
  padding:14px 18px 5px;
}
.side-nav button{
  width:100%;text-align:left;padding:8px 18px;display:flex;flex-direction:column;gap:2px;
  border-left:2px solid transparent;background:transparent;
}
.side-nav button i{font-style:normal;font-size:13px;letter-spacing:.14em;color:#b9ad94}
.side-nav button span{font-family:var(--sans);font-size:8.5px;letter-spacing:.04em;color:#5f5948}
.side-nav button:hover{background:#13140e}
.side-nav button:hover i{color:#d8ccb2}
.side-nav button.on{
  background:linear-gradient(90deg,rgba(201,164,92,.10),rgba(201,164,92,.02));
  border-left-color:var(--gold);
}
.side-nav button.on i{color:#e7d3a4}
.side-nav button.on span{color:#8d8269}
.rail-foot{
  padding:11px 18px;border-top:1px solid #1e1f17;
  font-family:var(--sans);font-size:8px;color:#57513f;letter-spacing:.06em;
}
.rail-toggle{display:none;width:34px;height:34px;place-items:center;font-size:18px;color:#b9ad94;border:1px solid #2c2b21;background:#11120d}
.rail-backdrop{display:none}

.game-main{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;overflow:hidden}

/* ---------------- 顶栏 ---------------- */
.game-header{
  height:56px;flex:0 0 auto;display:flex;align-items:center;gap:12px;
  padding:0 18px;background:#0d0e0a;border-bottom:1px solid #25251c;
}
.game-header:after{display:none}
.top-date{display:flex;flex-direction:column;gap:1px;min-width:96px}
#date-year{font-size:13px;letter-spacing:.10em;color:#e0d3b8;font-weight:600}
#date-season{font-family:var(--sans);font-size:8px;letter-spacing:.34em;color:#6b6350}
.top-res{display:flex;align-items:center;gap:13px;margin-left:auto}
.res{display:flex;align-items:baseline;gap:3px;font-family:var(--sans);font-size:8px;color:#615b4b}
.res em{font-style:normal}
.res b{font-size:12px;color:#d8ccb2;font-weight:600;letter-spacing:.03em}
.ap-dots{display:flex;gap:2px}
.ap-dots i{width:11px;height:3px;background:#2a2a20;display:block}
.ap-dots i.on{background:var(--gold)}
.top-actions{display:flex;gap:4px;margin-left:6px}
.top-btn{
  padding:4px 7px;border:1px solid #2d2c22;background:#12130d;
  font-family:var(--sans);font-size:9px;color:#8d8269;letter-spacing:.04em;
}
.top-btn:hover{border-color:#5b4a2a;color:#d8ccb2}
#ai-badge{color:#d9a441;border-color:#4b3a1d;background:#1b160c}
#ai-badge.ok{color:#8fb39e;border-color:#2f4a3c;background:#101a14}

/* ---------------- 角色条 ---------------- */
.hero-strip{
  min-height:50px;flex:0 0 auto;padding:6px 18px;background:#0d0e0a;
  border-bottom:1px solid #202118;gap:10px;
}
.hero-seal{
  width:34px;height:34px;background:#190f0c;border:1px solid #8f3a2b;color:#e3cf9f;
  box-shadow:inset 0 0 0 2px rgba(201,164,92,.10);font-size:16px;
}
.hero-name b{font-size:12px;color:#e3cf9f}
.hero-name em{font-size:8px;color:#b24a36;border-color:rgba(178,74,54,.5)}
.realm-tag{color:#c9a45c;border-color:rgba(201,164,92,.35)}
.hero-sect{font-size:9px;color:#6b6350}
.hero-bars .track{background:#24241b}
.hero-bars .track i{background:#6f8f7c}
.hero-bars.hp .track i{background:#b24a36}

/* ---------------- 内容与事件流 ---------------- */
.game-content{
  flex:1;overflow-y:auto;padding:16px 26px 10px;width:100%;max-width:1040px;margin:0 auto;
  display:flex;flex-direction:column;scrollbar-width:thin;
}
.game-content::-webkit-scrollbar{width:5px}
.game-content::-webkit-scrollbar-thumb{background:#2c2b21}
.feed-top{
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;
  padding:0 0 10px;border-bottom:1px solid #292920;
}
.feed-place b{display:block;font-size:15px;letter-spacing:.12em;color:#e3cf9f}
.feed-place span{display:block;margin-top:3px;font-family:var(--sans);font-size:8.5px;letter-spacing:.10em;color:#6b6350}
.feed-tools{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.feed-tools button{
  font-family:var(--sans);font-size:9px;letter-spacing:.08em;color:#8d8269;
  border:1px solid #2d2c22;background:#12130d;padding:4px 7px;
}
.feed-tools button:hover{border-color:#6b5427;color:#d8ccb2}

.system-tip{
  margin:12px 0 4px;padding:11px 14px;
  border-left:3px solid var(--gold);
  background:linear-gradient(90deg,rgba(201,164,92,.10),rgba(201,164,92,.02));
}
.system-tip b{
  display:block;font-family:var(--sans);font-size:9px;letter-spacing:.20em;
  color:#d9a441;margin-bottom:4px;
}
.system-tip p{margin:0;font-size:12.5px;line-height:1.85;color:#cdbf9f}

.feed{flex:1 0 auto;padding-bottom:4px}
.feed-item{padding:12px 0 12px;border-bottom:1px solid #22231b}
.feed-meta{
  display:flex;align-items:center;gap:6px;font-family:var(--sans);
  font-size:8px;letter-spacing:.06em;color:#615b4b;
}
.feed-meta em{
  font-style:normal;color:#b08a45;border:1px solid #4a3c22;
  padding:0 4px;font-size:8px;letter-spacing:.05em;
}
.feed-text{font-size:14px;line-height:1.95;letter-spacing:.02em;color:#cfc2a7;margin-top:5px;text-align:justify}
.feed-item.latest .feed-text{color:#e6d8bb}
.feed-item .effect-line{margin-top:7px}
.feed-empty{color:#6b6350;font-size:12px;line-height:2;padding:24px 0;text-align:center}

/* ---------------- 底部行动 / 命令 ---------------- */
.action-dock{
  position:sticky;bottom:0;z-index:26;margin-top:auto;padding:7px 0 4px;
  background:linear-gradient(180deg,rgba(11,12,10,0),#0b0c0a 24%);
  border-top:1px solid #2a2a20;
}
.dock-label{
  display:flex;justify-content:space-between;align-items:baseline;
  font-family:var(--sans);font-size:8.5px;letter-spacing:.10em;color:#6b6350;margin-bottom:5px;
}
.dock-label span{color:#8d8269}
.quick-actions{display:flex;gap:5px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
.quick-actions::-webkit-scrollbar{display:none}
.quick-btn{
  flex:0 0 auto;display:flex;align-items:center;gap:5px;
  padding:6px 9px;border:1px solid #2d2c22;background:#12130d;color:#b9ad94;
  font-size:10.5px;letter-spacing:.06em;
}
.quick-btn .g{font-size:13px;color:#c9a45c;line-height:1}
.quick-btn:hover{border-color:#6b5427;background:#191a11;color:#e3cf9f}
.quick-btn[disabled]{opacity:.32;cursor:not-allowed}
.end-turn-btn{
  width:100%;margin:1px 0 7px;padding:8px 12px;display:flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid #6b5427;background:linear-gradient(90deg,#1d180d,#14130c);
  color:#e3cf9f;font-size:11px;letter-spacing:.12em;
}
.end-turn-btn span{color:#c9a45c;font-family:var(--sans);font-size:12px}
.end-turn-btn:hover{background:linear-gradient(90deg,#2a2110,#19160d);border-color:#c9a45c}
.feed-end{padding:22px 0;text-align:center;border-top:1px solid #2a2a20}
.feed-end p{font-size:12px;color:#8d8269;margin:0 0 10px}
.feed-end .btn-solid{width:100%}
.cmd-box{display:flex;gap:6px;margin-top:1px}
.cmd-box input{
  flex:1;min-width:0;height:38px;background:#10110c;border:1px solid #333226;
  color:#d8ccb2;font-size:12px;padding:0 10px;
}
.cmd-box input::placeholder{color:#5c5646}
.cmd-box input:focus{border-color:#6b5427;background:#12130d}
.cmd-box button{flex:0 0 64px;background:#8f3a2b;border:1px solid #8f3a2b;color:#f1e4c8;font-size:11px;letter-spacing:.12em}
.cmd-box button:hover{background:#a84432}
.cmd-hints{display:none;gap:4px;flex-wrap:wrap;margin-top:5px}
.cmd-hints button{font-size:8.5px;color:#615b4b;border:1px dashed #2d2c22;padding:2px 5px}
.cmd-hints button:hover{color:#c9a45c;border-color:#4b3a1d}

/* ---------------- 旧组件在深色下的统一 ---------------- */
.section{background:#11120d;border-color:#2a2a20}
.section-head{background:#151610;border-color:#26261d}
.section-head h3{color:#8d8269}
.section-head span{color:#5c5646}
.section-body{color:#cfc2a7}
.list-row{border-color:#22231b}
.list-row:hover,.list-row.clickable:hover{background:#171810}
.list-main b{color:#d8ccb2}
.list-main span{color:#8d8269}
.list-side{color:#6b6350}
.tag{border-color:#353327;color:#8d8269}
.tag.red{color:#c96750;border-color:rgba(178,74,54,.4)}
.tag.jade{color:#8fb39e;border-color:rgba(111,143,124,.4)}
.tag.gold{color:#c9a45c;border-color:rgba(201,164,92,.4)}
.stat-row label{color:#8d8269;width:52px}
.stat-row .track{background:#24241b}
.stat-row .num{color:#8d8269}
.skill-chip{background:#151610;border-color:#2e2d22;color:#d8ccb2}
.skill-chip b{color:#d8ccb2}
.skill-chip span{color:#6b6350}
.skill-chip.t5{background:#1b130f;border-color:#5a2c22}
.hero-card{background:#11120d;border-color:#2a2a20}
.hero-card:hover{background:#171810}
.hero-card b{color:#d8ccb2}
.hero-card span{color:#8d8269}
.filter-row button{background:#11120d;border-color:#2d2c22;color:#8d8269}
.filter-row button.on{background:#c9a45c;border-color:#c9a45c;color:#17140d}
.sect-banner{background:#11120d;border-color:#2a2a20}
.sect-banner h3{color:#e3cf9f}
.sect-banner .motto{color:#8d8269}

/* 弹层 */
.modal-backdrop{background:rgba(4,5,4,.78);backdrop-filter:blur(3px)}
.modal-card{
  background:#11120d;border-top:1px solid var(--gold);color:#d8ccb2;
  box-shadow:0 -20px 60px rgba(0,0,0,.65);
}
.modal-head{background:#0d0e0a;border-bottom:1px solid #292920}
.modal-head h3{color:#e3cf9f}
.modal-close{color:#8d8269}
.modal-body{color:#cfc2a7}
.modal-foot{background:#0d0e0a;border-top:1px solid #292920}
.btn-ghost{background:#14150f;border-color:#323126;color:#b9ad94}
.btn-ghost:hover{background:#1a1b12}
.btn-solid{background:var(--gold);border-color:var(--gold);color:#17140d}
.btn-solid:hover{background:#d8b876}
.btn-danger{background:#8f3a2b;color:#f1e4c8}

@media(min-width:900px){
  .modal-backdrop{align-items:center;padding:28px}
  .modal-card{max-width:920px;border:1px solid #2a2a20;border-top:2px solid var(--gold);max-height:88%}
  .modal-card.wide{max-height:88%}
  .modal-body{padding:18px 22px}
  .event-scene{max-width:860px}
}

/* 事件 */
.event-kicker{color:#c9a45c}
.event-scene{color:#cfc2a7}
.choice-btn{background:#14150f;border-color:#2e2d22;color:#d8ccb2}
.choice-btn:hover{border-color:#6b5427;background:#191a11}
.choice-btn b{color:#e3cf9f}
.choice-btn span{color:#8d8269}
.choice-btn em{color:#c9a45c}
.result-box p{color:#d8ccb2}
.effect-pill{background:#151610;border-color:#323126;color:#8d8269}
.effect-pill.up{color:#8fb39e;border-color:rgba(111,143,124,.4)}
.effect-pill.down{color:#c96750;border-color:rgba(178,74,54,.4)}

/* 地图 / 悬赏 / 茶馆 / 行商 / 日报 */
.map-card,.bounty-card,.tea-row,.shop-row,.rank-list,.achv-card,.chronicle{
  background:#11120d;border-color:#2a2a20;
}
.map-card:hover,.bounty-card:hover{background:#171810}
.map-card.on{background:#1b130f;border-color:#8f3a2b}
.map-card.on:after{color:#c96750}
.map-name{color:#e3cf9f}
.map-name span,.map-card p,.map-npcs{color:#8d8269}
.map-card em{color:#8fb39e}
.rank-row{border-color:#22231b}
.rank-row.me{background:rgba(201,164,92,.08)}
.rank-main b{color:#d8ccb2}
.rank-main span,.rank-no{color:#6b6350}
.rank-score{color:#c9a45c}
.shop-head{color:#8d8269}
.shop-head b{color:#c9a45c}
.shop-main b{color:#d8ccb2}
.shop-main span{color:#8d8269}
.shop-buy{background:#1b130f;border-color:#5a2c22;color:#c96750}
.bounty-head b{color:#e3cf9f}
.bounty-head span,.bounty-card p{color:#8d8269}
.bounty-foot>span{color:#c9a45c}
.tea-row{border-color:#2a2a20}
.tea-main b{color:#d8ccb2}
.tea-main b span,.tea-main p{color:#8d8269}
.tea-rumor{background:rgba(201,164,92,.06);border-left-color:var(--gold)}
.tea-rumor b{color:#c9a45c}
.tea-rumor span{color:#b9ad94}
.achv-card{opacity:.42}
.achv-card.on{opacity:1;background:#17150d;border-color:#5b4a2a}
.achv-card b{color:#d8ccb2}
.achv-card span{color:#8d8269}
.chronicle{border-left-color:#5b4a2a}
.chronicle-year{color:#c9a45c}
.chronicle-item span{color:#b9ad94}

/* 表单 / 创角 */
.sub-header{background:#0c0d09;border-bottom:1px solid #25251c}
.sub-header h2{color:#d8ccb2}
.create-scroll{background:#0b0c0a}
.field>label{color:#8d8269}
.field>label em{color:#5c5646}
.name-row input{background:#10110c;border-color:#333226;color:#e3cf9f}
.name-row input:focus{background:#12130d;border-color:#6b5427}
.mini-btn{background:#14150f;border-color:#323126;color:#8d8269}
.mini-btn:hover{border-color:#6b5427;color:#d8ccb2}
.seg{background:#10110c;border-color:#333226}
.seg button{color:#8d8269;border-color:#2a2a20}
.seg button.on{background:var(--gold);color:#17140d}
.pick-card{background:#11120d;border-color:#2a2a20}
.pick-card:hover{background:#171810;border-color:#6b5427}
.pick-card.on{background:#1b130f;border-color:#8f3a2b}
.pick-card b{color:#d8ccb2}
.pick-card span{color:#8d8269}
.pick-card small{color:#c9a45c}
.mode-card{background:#11120d;border-color:#2a2a20}
.mode-card.on{background:#14170f;border-color:#6f8f7c}
.mode-card b{color:#d8ccb2}
.mode-card span{color:#8d8269}
.primary-btn{background:var(--gold);color:#17140d;border-color:var(--gold)}
.primary-btn:hover{background:#d8b876}
.fine{color:#5c5646}

/* 人物 / 档案 */
.profile-bio{color:#b9ad94}
.profile-quote{color:#b9ad94;border-left-color:var(--gold)}
.profile-meta h3{color:#e3cf9f}
.profile-meta .sub{color:#8d8269}
.fav-bar .track{background:#24241b}
.fav-bar span{color:#8d8269}
.form-row label{color:#8d8269}
.form-row input,.form-row select,.form-row textarea{background:#0f100b;border-color:#333226;color:#d8ccb2}
.form-row input:focus,.form-row select:focus{border-color:#6b5427}
.form-hint{color:#5c5646}
.switch-row{border-color:#22231b}
.switch-row b{color:#d8ccb2}
.switch-row span{color:#6b6350}
.switch{background:#24241b;border-color:#333226}
.switch.on{background:#6f8f7c;border-color:#6f8f7c}
.ai-status{color:#6b6350}
.drawer-item{border-color:#22231b}
.drawer-item small{color:#5c5646}
.drawer-item:hover{color:#c9a45c}
.ending-text{color:#b9ad94}
.ending-stats div{border-color:#2a2a20;color:#8d8269}
.ending-stats b{color:#e3cf9f}
.ending-title{color:#e3cf9f}
.ending-sub{color:#8d8269}
.toast{background:#151610;color:#d8ccb2;border-color:#4b3a1d}

/* 战斗弹层保留深色，只统一细节 */
.duel-card{background:#0d0e0a}
.duel-card .modal-head{background:#0b0c09}
.duel-log{background:#090a07;border-color:#2a2a20;color:#b9ad94}
.stance-btn{background:#12130d;border-color:#2e2d22;color:#d8ccb2}
.stance-btn span{color:#6b6350}
.stance-btn:hover{background:#1a1a11;border-color:#6b5427}

/* 空态 */
.empty{color:#5c5646}

/* ---------------- 响应式 ---------------- */
@media(max-width:860px){
  .side-rail{
    position:fixed;left:0;top:0;bottom:0;width:236px;flex-basis:236px;
    transform:translateX(-102%);transition:transform .24s ease;box-shadow:18px 0 40px rgba(0,0,0,.5);
  }
  .side-rail.open{transform:none}
  .rail-backdrop{
    display:block;position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.62);
    opacity:0;pointer-events:none;transition:opacity .2s ease;
  }
  .rail-backdrop.show{opacity:1;pointer-events:auto}
  .rail-toggle{display:grid}
  .game-header{height:52px;padding:0 10px;gap:8px}
  .top-date{min-width:0}
  #date-year{font-size:12px}
  .top-res{gap:9px}
  .top-res .res:nth-child(2){display:none}
  .top-actions .top-btn[data-act="help"]{display:none}
  .top-actions .top-btn[data-act="tab-more"]{display:none}
  .top-btn{padding:4px 6px;font-size:8.5px}
  .hero-strip{padding:6px 12px}
  .game-content{padding:12px 13px 8px}
  .feed-text{font-size:13.5px;line-height:1.9}
  .feed-tools button:nth-child(n+4){display:none}
  .quick-btn{font-size:10px;padding:6px 8px}
  .cmd-hints{display:none}
  .action-dock{padding-bottom:calc(6px + env(safe-area-inset-bottom))}
}
@media(max-width:420px){
  .top-actions .top-btn[data-act="sound"]{display:none}
  .res b{font-size:11px}
  .hero-bars{width:62px}
}
