/*! 世界历史沙盘 · © 2026 保留所有权利 All rights reserved.
 * 本文件为专有软件，未经书面许可不得复制、分发、修改或用于衍生作品。
 * 内容（疆域/朝代/事件/导览/词条）同受著作权保护。
 * build 20261101-55d755
 */
html[data-skin="tan"]{
--bg:#130a05; --panel:#2a170f; --panel2:#1e1109; --ink:#f3ead6; --muted:#c4b28e;
--line:#4a3218; --border:#6e4b1c; --accent:#f0cf7a; --split:#3a2414;
--sk-gilt:#f0cf7a; --sk-seal:#a8352c; --sk-seal-ink:#fbe7c0;
--sk-grain:repeating-linear-gradient(90deg, rgba(0,0,0,.09) 0 1px, transparent 1px 7px);
--sk-frame:var(--sk-grain), linear-gradient(180deg,#2f1a10 0%,#1f120a 100%);
--sk-beam:var(--sk-grain), linear-gradient(180deg,#4a2c18,#2e1a0e);
--sk-card:#31200f; --sk-card-border:#4a3218;
--sk-input:linear-gradient(180deg,#140a05,#1e110a);
--sk-brass:linear-gradient(180deg, rgba(255,255,255,.45) 0, rgba(255,255,255,0) 45%), linear-gradient(180deg,#f1d58c 0%,#d6ae55 48%,#a97d2a 100%);
--sk-brass-ink:#3a2610; --sk-brass-border:#6e5018;
--sk-on:linear-gradient(180deg,#b23a2f 0%,#8e2a22 55%,#6e1c16 100%); --sk-on-ink:#ffe9b0; --sk-on-border:#4a0f0b;
}
html[data-skin="navy"]{
--bg:#0a1223; --panel:#131e38; --panel2:#0f182e; --ink:#eef2fb; --muted:#9aa8c7;
--line:#243252; --border:#3d4f7c; --accent:#f3c650; --split:#2c3558;
--sk-gilt:#f7d774; --sk-seal:#f3c650; --sk-seal-ink:#241a02;
--sk-grain:none;
--sk-frame:linear-gradient(180deg,#101a31,#0b1224);
--sk-beam:linear-gradient(180deg,#152040,#0f182e);
--sk-card:#17243f; --sk-card-border:#27365a;
--sk-input:#0e1729;
--sk-brass:linear-gradient(180deg,#1b2846,#141f38); --sk-brass-ink:#eef2fb; --sk-brass-border:rgba(243,198,80,.32);
--sk-on:linear-gradient(180deg,#f8dc84,#e6b23a); --sk-on-ink:#231a04; --sk-on-border:#c8981f;
}
html[data-skin="paper"]{
--bg:#efe8da; --panel:#f8f3e9; --panel2:#efe7d8; --ink:#2a2521; --muted:#7d7266;
--line:#e0d5c2; --border:#cdbfa5; --accent:#8b5a2b; --split:#e6dccb;
--ocean:#ccdcf2; --land:#b9c8e2; --river:#3f7fc2; --river-lbl:#1d5a9c; --river-halo:#fff;
--sk-gilt:#6f4318; --sk-seal:#b3261e; --sk-seal-ink:#fff6e6;
--sk-grain:none;
--sk-frame:linear-gradient(180deg,#f7f1e6,#efe7d8);
--sk-beam:linear-gradient(180deg,#f6efe2,#ece3d1);
--sk-card:#fffdf8; --sk-card-border:#e2d6c1;
--sk-input:#fffdf8;
--sk-brass:linear-gradient(180deg,#fbf6ec,#efe5d2); --sk-brass-ink:#4a3418; --sk-brass-border:#cdbfa5;
--sk-on:linear-gradient(180deg,#9a6636,#7a4e26); --sk-on-ink:#fff6e6; --sk-on-border:#5e3a18;
--on-accent:#fff6e6;
}
html[data-skin="obsidian"]{
--bg:#06090f; --panel:#0f141f; --panel2:#0a0e17; --ink:#f4f6fa; --muted:#98a2b8;
--line:#1c2333; --border:rgba(242,193,78,.42); --accent:#f2c14e; --split:#1a2030;
--sk-gilt:#f7cf5c; --sk-seal:#f2c14e; --sk-seal-ink:#1a1204;
--sk-grain:none;
--sk-frame:linear-gradient(180deg,#0b1018,#070a10);
--sk-beam:linear-gradient(180deg,#0f1521,#0a0e17);
--sk-card:#121827; --sk-card-border:#1c2333;
--sk-input:#090d15;
--sk-brass:transparent; --sk-brass-ink:#f2c14e; --sk-brass-border:rgba(242,193,78,.55);
--sk-on:linear-gradient(180deg,#f7d270,#dfa832); --sk-on-ink:#1a1204; --sk-on-border:#f2c14e;
}
html[data-skin] body{ background:var(--bg); color:var(--ink) }
html[data-skin] #controls{ background:var(--panel) }
html[data-skin] #brand b{ color:var(--sk-gilt) }
html[data-skin="tan"] #side{ border-radius:14px; background:var(--sk-frame);
box-shadow: inset 0 0 0 1px #6e4b1c, inset 0 0 0 2px #1a0d07, 0 10px 30px rgba(0,0,0,.5) }
html[data-skin="tan"] #searchbox{ background:var(--sk-input); border:1px solid #5a3c18; color:var(--ink); box-shadow:inset 0 2px 5px rgba(0,0,0,.6) }
html[data-skin="tan"] #searchres{ background:var(--sk-frame); border:1px solid var(--border) }
html[data-skin="tan"] .sl-head{ background:transparent; border-bottom:1px solid rgba(230,197,114,.22) }
html[data-skin="tan"] .sl-grp h4{ color:#e6c572; border-left:3px solid #b88a34; padding-left:6px }
html[data-skin="tan"] .sl-row{ background:var(--sk-card); border:1px solid var(--sk-card-border) }
html[data-skin="tan"] .sl-row:hover{ border-color:#b88a34 }
html[data-skin="tan"] .sl-king{ color:var(--accent) }
html[data-skin="tan"] #brandline #acctchip{ color:#3a2610; background:var(--sk-brass); border:1px solid #6e5018 }
html[data-skin="tan"] #brandline #acctchip *{ color:inherit; border-color:#6e5018 }
html[data-skin="tan"] #brandline #acctchip .lvb{ background:rgba(0,0,0,.18); color:#3a2610 }
html[data-skin="tan"] #brandline #acctchip.is-pro .lvb{ background:#a8352c; color:#fbe7c0; border-color:#4a0f0b }
html[data-skin="tan"] #controls{ background:var(--sk-frame); border:1px solid #6e4b1c; box-shadow:inset 0 1px 0 rgba(255,220,170,.12) }
html[data-skin="tan"] #playBtn{ color:#3a2610; background:radial-gradient(circle at 35% 25%,#fff3c4,#e6c572 40%,#a97d2a 100%); border:1px solid #6e5018 }
html[data-skin="tan"] #resetBtn{ color:#f3e2b6; background:rgba(0,0,0,.28); border:1px solid #8a6420 }
html[data-skin="tan"] .speed button{ color:#3a2610; background:var(--sk-brass); border:1px solid #6e5018 }
html[data-skin="tan"] .speed button.on{ color:#ffe9b0; background:var(--sk-on); border-color:#4a0f0b }
html[data-skin="tan"] #map-wrap{ box-shadow: 0 0 0 1px #8a6420, 0 0 0 4px #24140b, 0 0 0 5px #6e4b1c, 0 12px 34px rgba(0,0,0,.55) }
html[data-skin="tan"] #yearbadge .yr{ background:linear-gradient(180deg,#fff3c4 0%,#f0cf7a 45%,#b88a34 100%); -webkit-background-clip:text; background-clip:text; color:transparent;
text-shadow:none; filter:drop-shadow(0 2px 0 rgba(0,0,0,.65)) }
html[data-skin="tan"] #yearbadge .yr small{ color:#c9a55a; -webkit-text-fill-color:#c9a55a }
html[data-skin="tan"] #event{ background:radial-gradient(120% 90% at 20% 0%,#fbf1d6 0%,#efe0b8 55%,#e2cc98 100%); color:#3a2410; border:1px solid #b88a34;
box-shadow:0 0 0 3px rgba(42,23,15,.85), 0 0 0 4px #6e4b1c, 0 14px 30px rgba(0,0,0,.55) }
html[data-skin="tan"] #event *{ color:#3a2410 } html[data-skin="tan"] #event .eh{ color:#8e2a22 }
html[data-skin="tan"] #event::after{ content:"史"; position:absolute; right:10px; top:10px; width:22px; height:22px; border-radius:4px; background:#a8352c; color:#fbe7c0;
font:900 13px/22px serif; text-align:center; box-shadow:inset 0 0 0 1.5px rgba(251,231,192,.55); transform:rotate(-4deg) }
html[data-skin="tan"] .mbox, html[data-skin="tan"] #panel-root .panel, html[data-skin="tan"] .fc-box, html[data-skin="tan"] #toast{ background:var(--sk-frame); border-color:#6e4b1c }
html[data-skin="tan"] #mbody h2, html[data-skin="tan"] .fc-h-txt h2, html[data-skin="tan"] .fc-head h2{ color:var(--sk-gilt) }
html[data-skin="tan"] .fc-head{ background:var(--sk-beam) }
html[data-skin="tan"] .fc-port{ box-shadow:0 0 0 2px #b88a34, 0 0 0 5px #24140b, 0 0 0 6px #6e4b1c }
html[data-skin="tan"] .mbox .chips span, html[data-skin="tan"] .fc-tag{ color:#3a2610; background:var(--sk-brass); border:1px solid #6e5018 }
html[data-skin="tan"] .evrow, html[data-skin="tan"] .wiki-r, html[data-skin="tan"] .tour-card, html[data-skin="tan"] .fl-item, html[data-skin="tan"] .acct-card,
html[data-skin="tan"] .look-opt, html[data-skin="tan"] .plan, html[data-skin="tan"] .legal-about, html[data-skin="tan"] .legal-hero{ background:var(--sk-card); border-color:var(--sk-card-border) }
html[data-skin="tan"] .btn, html[data-skin="tan"] .la-btn{ color:#3a2610; background:var(--sk-brass); border:1px solid #6e5018; font-weight:800 }
html[data-skin="tan"] .btn.ghost, html[data-skin="tan"] .la-btn.ghost{ color:#f3e2b6; background:rgba(0,0,0,.28); border-color:#8a6420 }
html[data-skin="tan"] .btn.primary{ color:#ffe9b0; background:var(--sk-on); border:1px solid #4a0f0b }
html[data-skin="tan"] .chip, html[data-skin="tan"] .segwrap button, html[data-skin="tan"] .fl-era{ color:#3a2610; background:var(--sk-brass); border-color:#6e5018 }
html[data-skin="tan"] .chip.on, html[data-skin="tan"] .segwrap button.on, html[data-skin="tan"] .fl-era.on{ color:#ffe9b0; background:var(--sk-on); border-color:#4a0f0b }
html[data-skin="tan"] .pro-tag, html[data-skin="tan"] .acct-badge{ background:#a8352c; color:#fbe7c0 }
html[data-skin="tan"] input[type="text"], html[data-skin="tan"] input[type="search"], html[data-skin="tan"] .tour-search input, html[data-skin="tan"] .fl-kw{ background:var(--sk-input); border-color:#5a3c18; color:var(--ink) }
html[data-skin="tan"] body.m2{ --s0:#130a05; --s1:#23130b; --s2:#321d10; --s3:#4a2c16; --hair:rgba(230,197,114,.16); --gold:#f0cf7a; --gold-dim:#b88a34; --txt:#f3ead6; --txt2:#d9c9a6; --txt3:#a8946e }
html[data-skin="tan"] body.m2 #m2-top{ background:var(--sk-beam); border-bottom:1px solid #6e4b1c }
html[data-skin="tan"] body.m2 #m2-sheet, html[data-skin="tan"] body.m2 .m2-sheet2, html[data-skin="tan"] body.m2 .m2-screen{ background:var(--sk-frame) }
html[data-skin="tan"] body.m2 #m2-time{ background:var(--sk-grain), linear-gradient(180deg,#2a170f,#1c0f08); border-top:1px solid #6e4b1c }
html[data-skin="tan"] body.m2 #m2-nav{ background:linear-gradient(180deg,#1c0f08,#120904); border-top:1px solid #4a3218 }
html[data-skin="tan"] body.m2 #m2-nav button.on::before{ content:""; position:absolute; top:0; left:30%; right:30%; height:3px; border-radius:0 0 3px 3px; background:#a8352c }
html[data-skin="tan"] body.m2 #m2-nav button{ position:relative }
html[data-skin="tan"] body.m2 .m2-screen > header, html[data-skin="tan"] body.m2 .m2-sheet2 > header{ background:var(--sk-beam) }
html[data-skin="tan"] body.m2 .sh-card, html[data-skin="tan"] body.m2 .st-card, html[data-skin="tan"] body.m2 .st-hero, html[data-skin="tan"] body.m2 .sr-item{ background:var(--sk-card); border:1px solid var(--sk-card-border) }
html[data-skin="tan"] body.m2 .sh-sec, html[data-skin="tan"] body.m2 .st-h, html[data-skin="tan"] body.m2 .sr-sec{ color:#e6c572; border-left:3px solid #b88a34; padding-left:7px }
html[data-skin="tan"] body.m2 .sh-peek .n, html[data-skin="tan"] body.m2 .st-badge.pro{ background:#a8352c; color:#fbe7c0 }
html[data-skin="tan"] body.m2 .st-badge.free{ background:var(--sk-brass); color:#2a170f }
html[data-skin="tan"] body.m2 #m2-grip i{ width:44px; height:5px; background:linear-gradient(180deg,#fff0c0,#e2b95a 45%,#8a6420) }
html[data-skin]:not([data-skin="tan"]) body #featurebar{
background:var(--sk-frame); box-shadow: inset 0 0 0 1px var(--border), 0 6px 18px rgba(0,0,0,.25) }
html[data-skin]:not([data-skin="tan"]) body #featurebar::before{ display:none }
html[data-skin]:not([data-skin="tan"]) body #featurebar .primary-tool{
background:var(--sk-card); border:1px solid var(--sk-card-border); box-shadow:none }
html[data-skin]:not([data-skin="tan"]) body #featurebar .primary-tool::after{ display:none }
html[data-skin]:not([data-skin="tan"]) body #featurebar .primary-tool .fi{ color:var(--accent); filter:none }
html[data-skin]:not([data-skin="tan"]) body #featurebar .primary-tool .fl{ color:var(--ink); text-shadow:none }
html[data-skin]:not([data-skin="tan"]) body #featurebar .primary-tool:hover{ background:var(--panel2); border-color:var(--accent); box-shadow:none; transform:none }
html[data-skin]:not([data-skin="tan"]) body #featurebar .primary-tool .tool-badge{
background:var(--sk-seal); color:var(--sk-seal-ink); transform:none; border-radius:8px; box-shadow:none; font-family:inherit }
html[data-skin]:not([data-skin="tan"]) body #featurebar .primary-tool .pro-dot{ background:var(--accent); box-shadow:none }
html[data-skin]:not([data-skin="tan"]) body #segbar{ background:var(--sk-beam); border:1px solid var(--border); box-shadow:none }
html[data-skin]:not([data-skin="tan"]) body #segbar .seghead, html[data-skin]:not([data-skin="tan"]) body #segbar .seghead .ic,
html[data-skin]:not([data-skin="tan"]) body #segbar .segfold{ color:var(--sk-gilt); text-shadow:none }
html[data-skin]:not([data-skin="tan"]) body #segbar::after{ background:var(--accent); box-shadow:none; opacity:.7 }
html[data-skin]:not([data-skin="tan"]) body #focusbar{ background:var(--sk-frame); box-shadow:0 0 0 1px var(--border), 0 6px 16px rgba(0,0,0,.25) }
html[data-skin]:not([data-skin="tan"]) body #focusbar button:not(.fb-home){
color:var(--sk-brass-ink); background:var(--sk-brass); border-color:var(--sk-brass-border); text-shadow:none; box-shadow:none }
html[data-skin]:not([data-skin="tan"]) body #focusbar button.on{
color:var(--sk-on-ink); background:var(--sk-on); border-color:var(--sk-on-border); text-shadow:none; box-shadow:none }
html[data-skin]:not([data-skin="tan"]) #dock-root, html[data-skin]:not([data-skin="tan"]) #tourplayer{
--ink:var(--ink); --muted:var(--muted); --line:var(--line); --panel:var(--panel); --panel2:var(--panel2); --bg:var(--bg); --accent:var(--accent);
background:var(--sk-frame); border-color:var(--border); box-shadow:0 18px 60px rgba(0,0,0,.35) }
html[data-skin]:not([data-skin="tan"]) #dock-root .dock-head, html[data-skin]:not([data-skin="tan"]) #tourplayer .tp-top{ background:var(--sk-beam); border-bottom:1px solid var(--line) }
html[data-skin]:not([data-skin="tan"]) #dock-root .dock-head::after, html[data-skin]:not([data-skin="tan"]) #tourplayer .tp-top::after{ display:none }
html[data-skin]:not([data-skin="tan"]) #dock-root .dock-title, html[data-skin]:not([data-skin="tan"]) #tourplayer .tp-top{ color:var(--sk-gilt); text-shadow:none }
html[data-skin]:not([data-skin="tan"]) #dock-root .dock-close, html[data-skin]:not([data-skin="tan"]) #tourplayer .tp-top #tp-close{ color:var(--ink); background:var(--panel2); border:1px solid var(--border) }
html[data-skin]:not([data-skin="tan"]) #dock-root .dock-tabs button{
color:var(--sk-brass-ink); background:var(--sk-brass); border-color:var(--sk-brass-border); text-shadow:none; box-shadow:none }
html[data-skin]:not([data-skin="tan"]) #dock-root .dock-tabs button .ic{ color:inherit }
html[data-skin]:not([data-skin="tan"]) #dock-root .dock-tabs button.on{ color:var(--sk-on-ink); background:var(--sk-on); border-color:var(--sk-on-border) }
html[data-skin]:not([data-skin="tan"]) #dock-root .dock-tabs button.on .ic{ color:inherit }
html[data-skin]:not([data-skin="tan"]) #dock-root .fg-kw, html[data-skin]:not([data-skin="tan"]) #dock-root .war-search input,
html[data-skin]:not([data-skin="tan"]) #dock-root input[type="search"], html[data-skin]:not([data-skin="tan"]) #dock-root input[type="text"]{
background:var(--sk-input); border:1px solid var(--border); color:var(--ink); box-shadow:none }
html[data-skin]:not([data-skin="tan"]) #dock-root ::placeholder{ color:var(--muted) }
html[data-skin]:not([data-skin="tan"]) #dock-root .fg-chip, html[data-skin]:not([data-skin="tan"]) #dock-root .wchip, html[data-skin]:not([data-skin="tan"]) #dock-root .cmp-jump .mini{
color:var(--sk-brass-ink); background:var(--sk-brass); border-color:var(--sk-brass-border); text-shadow:none }
html[data-skin]:not([data-skin="tan"]) #dock-root .fg-chip.on, html[data-skin]:not([data-skin="tan"]) #dock-root .wchip.on{
color:var(--sk-on-ink); background:var(--sk-on); border-color:var(--sk-on-border); box-shadow:none }
html[data-skin]:not([data-skin="tan"]) #dock-root .fg-era h3, html[data-skin]:not([data-skin="tan"]) #dock-root .wd-body h4, html[data-skin]:not([data-skin="tan"]) #dock-root .cmp-group h3{ color:var(--sk-gilt); border-left-color:var(--accent); text-shadow:none }
html[data-skin]:not([data-skin="tan"]) #dock-root .fg-item, html[data-skin]:not([data-skin="tan"]) #dock-root .warcard, html[data-skin]:not([data-skin="tan"]) #dock-root .cmp-card,
html[data-skin]:not([data-skin="tan"]) #dock-root .wd-side, html[data-skin]:not([data-skin="tan"]) #dock-root .wd-result, html[data-skin]:not([data-skin="tan"]) #dock-root .wd-phase,
html[data-skin]:not([data-skin="tan"]) #dock-root .wd-terr, html[data-skin]:not([data-skin="tan"]) #dock-root .wd-group{ background:var(--sk-card); border-color:var(--sk-card-border); box-shadow:none }
html[data-skin]:not([data-skin="tan"]) #dock-root .fg-item:hover, html[data-skin]:not([data-skin="tan"]) #dock-root .warcard:hover, html[data-skin]:not([data-skin="tan"]) #dock-root .cmp-card:hover,
html[data-skin]:not([data-skin="tan"]) #dock-root .wd-phase:hover, html[data-skin]:not([data-skin="tan"]) #dock-root .wd-phase.on{ border-color:var(--accent); background:var(--panel2) }
html[data-skin]:not([data-skin="tan"]) #dock-root .fg-nm, html[data-skin]:not([data-skin="tan"]) #dock-root .wc-name, html[data-skin]:not([data-skin="tan"]) #dock-root .wd-p{ color:var(--ink) }
html[data-skin]:not([data-skin="tan"]) #dock-root .fg-life, html[data-skin]:not([data-skin="tan"]) #dock-root .wc-year, html[data-skin]:not([data-skin="tan"]) #dock-root .cmp-yrbox #cmp-yr{ color:var(--accent) }
html[data-skin]:not([data-skin="tan"]) #dock-root .btn, html[data-skin]:not([data-skin="tan"]) #tourplayer .tp-ctrl .btn{ color:var(--sk-brass-ink); background:var(--sk-brass); border-color:var(--sk-brass-border); text-shadow:none }
html[data-skin]:not([data-skin="tan"]) #dock-root .btn.ghost{ color:var(--ink); background:transparent; border-color:var(--border) }
html[data-skin]:not([data-skin="tan"]) #dock-root .btn.primary, html[data-skin]:not([data-skin="tan"]) #tourplayer .tp-ctrl .btn.primary{ color:var(--sk-on-ink); background:var(--sk-on); border-color:var(--sk-on-border) }
html[data-skin]:not([data-skin="tan"]) #dock-root #cmp-slider::-webkit-slider-runnable-track{ background:var(--panel2); box-shadow:none }
html[data-skin]:not([data-skin="tan"]) #dock-root #cmp-slider::-webkit-slider-thumb{ background:var(--accent); border-color:var(--border) }
html[data-skin]:not([data-skin="tan"]) #tourplayer #tp-dots i.on{ background:var(--accent) }
html[data-skin]:not([data-skin="tan"]) #tourplayer #tp-text{ color:var(--ink) }
html[data-skin]:not([data-skin="tan"]) #panel-root .panel > header{ background:var(--sk-beam) !important; border-bottom:1px solid var(--line) !important }
html[data-skin]:not([data-skin="tan"]) #panel-root .panel > header::after{ display:none }
html[data-skin]:not([data-skin="tan"]) #panel-root .panel > header h2{ color:var(--sk-gilt) !important; text-shadow:none }
html[data-skin]:not([data-skin="tan"]) #panel-root .panel > header .panel-close{ color:var(--ink); background:var(--panel2); border:1px solid var(--border) }
html[data-skin]:not([data-skin="tan"]) body.tl-ruler #rul{ background:var(--sk-frame); box-shadow:inset 0 0 0 1px var(--border) }
html[data-skin]:not([data-skin="tan"]) body.tl-ruler #rul .rul-edge{ background:var(--accent) }
html[data-skin]:not([data-skin="tan"]) body.tl-ruler #track .ticks span{ color:var(--ink); text-shadow:none }
html[data-skin]:not([data-skin="tan"]) body.tl-ruler #rul-dyn{ background:rgba(0,0,0,.12); box-shadow:none }
html[data-skin]:not([data-skin="tan"]) body.tl-ruler #track .fill{ background:var(--accent) }
html[data-skin]:not([data-skin="tan"]) body.tl-ruler #track .zero{ background:var(--sk-seal) }
html[data-skin]:not([data-skin="tan"]) #tp-fig, html[data-skin]:not([data-skin="tan"]) .wd-fig{ box-shadow:0 0 0 1px var(--border), 0 6px 16px rgba(0,0,0,.35) }
html[data-skin]:not([data-skin="tan"]) #imgzoom img{ box-shadow:0 0 0 1px var(--border), 0 20px 60px rgba(0,0,0,.7) }
html[data-skin="navy"] body.m2{ --s0:#0a1223; --s1:#111a30; --s2:#182240; --s3:#22304e; --hair:rgba(243,198,80,.14); --gold:#f3c650; --gold-dim:#c8981f; --txt:#eef2fb; --txt2:#c9d3ea; --txt3:#8d9bbd }
html[data-skin="paper"] body.m2{ --s0:#efe8da; --s1:#f8f3e9; --s2:#fffdf8; --s3:#ece2cf; --hair:rgba(90,70,40,.14); --gold:#8b5a2b; --gold-dim:#a67b4a; --txt:#2a2521; --txt2:#4a423a; --txt3:#7d7266 }
html[data-skin="obsidian"] body.m2{ --s0:#06090f; --s1:#0d121c; --s2:#121827; --s3:#1a2236; --hair:rgba(242,193,78,.16); --gold:#f2c14e; --gold-dim:#b8902e; --txt:#f4f6fa; --txt2:#c6cddc; --txt3:#8e98ad }
html[data-skin]:not([data-skin="tan"]) body.m2 :is(#m2-more,#m2-sh) .m2-grid{ background:var(--sk-frame); box-shadow:inset 0 0 0 1px var(--border) }
html[data-skin]:not([data-skin="tan"]) body.m2 :is(#m2-more,#m2-sh) .m2-grid button{ background:var(--sk-card); border:1px solid var(--sk-card-border); color:var(--ink); box-shadow:none; text-shadow:none; letter-spacing:.04em }
html[data-skin]:not([data-skin="tan"]) body.m2 :is(#m2-more,#m2-sh) .m2-grid button::after{ display:none }
html[data-skin]:not([data-skin="tan"]) body.m2 :is(#m2-more,#m2-sh) .m2-grid button .ic{ color:var(--accent); filter:none }
html[data-skin]:not([data-skin="tan"]) body.m2 :is(#m2-more,#m2-sh) .m2-grid button .m2-prodot{ background:var(--accent); box-shadow:none }
html[data-skin]:not([data-skin="tan"]) body.m2 #m2-focus button{ color:var(--sk-brass-ink); text-shadow:none }
html[data-skin]:not([data-skin="tan"]) body.m2 #m2-focus button::after{ background:var(--sk-brass); border-color:var(--sk-brass-border); box-shadow:0 1px 3px rgba(0,0,0,.3) }
html[data-skin]:not([data-skin="tan"]) body.m2 #m2-focus button.on{ color:var(--sk-on-ink); text-shadow:none }
html[data-skin]:not([data-skin="tan"]) body.m2 #m2-focus button.on::after{ background:var(--sk-on); border-color:var(--sk-on-border); box-shadow:none }
html[data-skin]:not([data-skin="tan"]) body.m2 #dock-root .dock-pull i{ background:var(--accent); box-shadow:none }
html[data-skin]:not([data-skin="tan"]) body.m2 #m2-play{ background:var(--sk-on); color:var(--sk-on-ink); box-shadow:0 3px 12px rgba(0,0,0,.35) }
html[data-skin]:not([data-skin="tan"]) body.tl-ruler-m .rulm{ background:var(--sk-frame); box-shadow:inset 0 0 0 1px var(--border) }
html[data-skin]:not([data-skin="tan"]) body.tl-ruler-m .rulm .rul-edge{ background:var(--accent) }
html[data-skin]:not([data-skin="tan"]) body.tl-ruler-m .rulm .rul-g{ opacity:.5 }
html[data-skin]:not([data-skin="tan"]) body.tl-ruler-m .rulm-cur{ background:var(--accent); box-shadow:0 0 0 1px rgba(0,0,0,.4) }
html[data-skin]:not([data-skin="tan"]) body.tl-ruler-m #m2-scrub.dragging .rulm-cur{ box-shadow:0 0 0 1px rgba(0,0,0,.4), 0 0 12px var(--accent) }
html[data-skin]:not([data-skin="tan"]) body.m2 #m2-sheet, html[data-skin]:not([data-skin="tan"]) body.m2 .m2-sheet2, html[data-skin]:not([data-skin="tan"]) body.m2 .m2-screen{ background:var(--s1) }
html[data-skin="obsidian"] body #featurebar .primary-tool{ background:transparent; border-color:rgba(242,193,78,.3) }
html[data-skin="obsidian"] body #featurebar .primary-tool:hover{ background:rgba(242,193,78,.08); border-color:var(--accent) }
html[data-skin="obsidian"] .sl-row, html[data-skin="obsidian"] #dock-root .fg-item, html[data-skin="obsidian"] #dock-root .warcard{ background:transparent; border-color:transparent; border-bottom-color:var(--line); border-radius:0 }
html[data-skin="obsidian"] #playBtn, html[data-skin="obsidian"] body.m2 #m2-play{ background:transparent; color:var(--accent); border:1px solid var(--accent); box-shadow:inset 0 0 0 1px var(--accent), 0 0 18px rgba(242,193,78,.35) }
html[data-skin="obsidian"] #map-wrap::after{ content:""; position:absolute; inset:0; pointer-events:none; z-index:1; background:radial-gradient(120% 90% at 50% 50%,transparent 55%,rgba(0,0,0,.5) 100%) }
html[data-skin="navy"] #dock-root, html[data-skin="navy"] #tourplayer, html[data-skin="navy"] .mbox, html[data-skin="navy"] #panel-root .panel{ backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px) }
html[data-skin="paper"] h1, html[data-skin="paper"] h2, html[data-skin="paper"] h3, html[data-skin="paper"] #yearbadge .yr, html[data-skin="paper"] #m2-y{ font-family:"Noto Serif CJK SC","Songti SC","STSong","Noto Serif SC",serif }
html[data-skin="paper"] #yearbadge .yr{ color:var(--ink); text-shadow:none }
html[data-skin="paper"] #yearbadge{ background:rgba(250,245,235,.9); padding:10px 14px 10px 12px; border-radius:12px; border:1px solid var(--border) }
html[data-skin="paper"] #map-wrap{ background:radial-gradient(130% 120% at 50% -10%,#dbe6f7 0%,#eef2fa 100%) }
html[data-skin="paper"] .sl-row, html[data-skin="paper"] .evrow, html[data-skin="paper"] .wiki-r, html[data-skin="paper"] .tour-card, html[data-skin="paper"] .fl-item{ box-shadow:0 1px 2px rgba(80,60,30,.08) }
html[data-skin="paper"] :is(#acctchip.is-admin .lvb,#brand b,#brandline #acctchip.is-admin .fi,#panel-root .panel > header .panel-close,#tp-text,#wars .wlabel,.chips span,.cmdk-t,.cmp-ev b,.cmp-pol,.evrow .evt,.fb-home,.fc-lead,.fc-p,.fc-right h3,.fg-era h3,.fmc-n,.gate-warn,.kbox h3,.kevents .gh2,.kw-c em,.kw-c span,.legal-about .la-sub,.legal-credits a,.ls-name,.mbox .mdesc,.mgrp .gh,.pw-feats li,.q-exp p,.rcard .power,.rcard .power .frag.multi,.rcard .ruler,.rcard .ruler b,.sl-king,.sl-king.multi,.sl-pol,.sr .st,.st h4,.st-name,.st-oh,.st-p,.st-tag,.tour-cat h3,.wd-p,.wd-sig,.wiki-body p,.wiki-intro,.wiki-lead,.sh-note){ color:var(--ink) }
html[data-skin="paper"] :is(.sl-king,.cmp-ev b,.fc-lead,.mgrp .gh,.kevents .gh2,.rcard .ruler b,.st-oh){ color:var(--accent) }
html[data-skin="paper"] .legal-about .la-btn.ghost{ color:var(--ink); border-color:var(--border) }
html[data-skin="paper"] #event{ background:#fbf6ea; color:var(--ink); border:1px solid var(--border) }
html[data-skin="paper"] #event *{ color:var(--ink) } html[data-skin="paper"] #event .eh{ color:#8e2a22 }
html[data-skin="paper"] .node .pow, html[data-skin="paper"] .frag .sn{ fill:#10203f; stroke:#fff }
html[data-skin="paper"] .node .reg{ fill:#34436b } html[data-skin="paper"] .node .king{ fill:#8f5a00 }
html[data-skin="paper"] #toast{ background:#fffdf8; color:var(--ink); border:1px solid var(--border) }
html[data-skin="paper"] .btn.primary, html[data-skin="paper"] .segwrap button.on, html[data-skin="paper"] .chip.on, html[data-skin="paper"] .fl-era.on{ color:#fff6e6 }
html[data-skin="paper"] .mbox, html[data-skin="paper"] #panel-root .panel, html[data-skin="paper"] .fc-box{ box-shadow:0 20px 50px rgba(80,60,30,.25) }
html[data-skin="paper"] body.m2 .m2-scrim.on{ background:rgba(60,45,20,.3) }
.skin-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px }
.skin-opt{ display:flex; flex-direction:column; gap:5px; padding:7px; border-radius:10px; border:1px solid var(--line); background:var(--panel); color:var(--ink);
cursor:pointer; font-family:inherit; text-align:left; min-height:44px }
.skin-opt.on{ border-color:var(--accent); box-shadow:0 0 0 2px var(--sk-seal, var(--accent)) }
.skin-opt b{ font-size:var(--fs-body); font-weight:700 } .skin-opt span{ font-size:var(--fs-xs); color:var(--muted); line-height:1.4 }
.skin-pv{ height:44px; border-radius:6px; position:relative; overflow:hidden; border:1px solid rgba(0,0,0,.25) }
.skin-pv i{ position:absolute; left:8px; top:8px; width:34px; height:8px; border-radius:2px }
.skin-pv em{ position:absolute; right:8px; bottom:8px; width:22px; height:22px; border-radius:50% }
.skin-pv[data-s="tan"]{ background:repeating-linear-gradient(90deg, rgba(0,0,0,.09) 0 1px, transparent 1px 7px), linear-gradient(180deg,#3a2214,#22130a) }
.skin-pv[data-s="tan"] i{ background:linear-gradient(180deg,#f1d58c,#a97d2a) } .skin-pv[data-s="tan"] em{ background:#a8352c }
.skin-pv[data-s="navy"]{ background:linear-gradient(180deg,#152040,#0a1223) }
.skin-pv[data-s="navy"] i{ background:#3d4f7c } .skin-pv[data-s="navy"] em{ background:linear-gradient(180deg,#f8dc84,#e6b23a) }
.skin-pv[data-s="paper"]{ background:linear-gradient(180deg,#f8f3e9,#e9dfcc) }
.skin-pv[data-s="paper"] i{ background:#cdbfa5 } .skin-pv[data-s="paper"] em{ background:#8b5a2b }
.skin-pv[data-s="obsidian"]{ background:linear-gradient(180deg,#0f1521,#06090f) }
.skin-pv[data-s="obsidian"] i{ background:transparent; border:1px solid #f2c14e } .skin-pv[data-s="obsidian"] em{ background:#f2c14e }
html[data-skin]:not([data-skin="tan"]) .fc-box{ background:var(--panel) }
html[data-skin="paper"] .fc-head{ background:var(--sk-beam) }
html[data-skin="paper"] :is(.fg-item:hover,.fl-item:hover,.fc-chron li:hover,.st-ev li:hover,.st-chip:hover,.ghead:hover){ background:var(--panel2) }
html[data-skin="paper"] .free-tag{ background:var(--sk-brass); color:var(--sk-brass-ink) }
html[data-skin="paper"] .fc-port{ background:#e9dfcc }
html[data-skin="paper"] body.m2 :is(#m2-onb h2,#m2-year .y,.m2-screen > header h1,.m2-sheet2 > header h2,.pro-head h2,.st-hero .ttl){ color:var(--txt) }
html[data-skin="paper"] body.m2 .st-hero .meta{ background:linear-gradient(180deg,transparent,rgba(250,245,235,.95)) }
html[data-skin="paper"] body.m2 #m2-onb{ background:rgba(60,45,20,.5) }
html[data-skin="paper"] body.m2 #m2-onb .box{ background:var(--s1); color:var(--txt) }
html[data-skin="navy"] body.m2 #m2-top{ background:linear-gradient(180deg,rgba(10,18,35,.94) 62%,rgba(10,18,35,0)) }
html[data-skin="paper"] body.m2 #m2-top{ background:linear-gradient(180deg,rgba(239,232,218,.96) 62%,rgba(239,232,218,0)) }
html[data-skin="obsidian"] body.m2 #m2-top{ background:linear-gradient(180deg,rgba(6,9,15,.94) 62%,rgba(6,9,15,0)) }
html[data-skin="paper"] body.m2 #m2-year .y{ color:var(--txt) }
html[data-skin="paper"] body.tl-ruler-m .rulm{ background:rgba(255,252,245,.55); border-color:rgba(90,70,40,.25); box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 2px 8px rgba(80,60,30,.15) }
html[data-skin="paper"] body.tl-ruler-m .rulm .rul-edge{ background:rgba(90,70,40,.3) }
html[data-skin="paper"] body.tl-ruler-m .rulm .rul-g path{ stroke:rgba(60,40,10,.55) }
html[data-skin="paper"] body.tl-ruler-m .rulm .rul-dyn{ background:rgba(0,0,0,.06) }
html[data-skin="paper"] body.tl-ruler-m .rulm .rl.up{ color:#3a2610; text-shadow:none }
html[data-skin="paper"] body.tl-ruler-m .rulm .rl.up::after{ background:#3a2610 }
html[data-skin]:not([data-skin="tan"]) body.tl-ruler-m .rulm{ background:rgba(8,12,22,.42); box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 2px 8px rgba(0,0,0,.35) }
html[data-skin="paper"] body.tl-ruler-m .rulm{ background:rgba(255,252,245,.55) }
html[data-skin]:not([data-skin="tan"]) body.tl-ruler-m .rulm .rul-edge{ background:rgba(255,255,255,.35) }
html[data-skin="paper"] body.tl-ruler-m .rulm .rul-edge{ background:rgba(90,70,40,.3) }
html[data-skin]:not([data-skin="tan"]) body.tl-ruler-m .rulm-cur{ background:linear-gradient(90deg, rgba(255,255,255,.35) 0, rgba(255,255,255,.6) 36%, #c8261c 36%, #c8261c 64%, rgba(255,255,255,.6) 64%, rgba(255,255,255,.35) 100%) }
html[data-skin="paper"] .q-opt.right{ background:#e3f3e7; border-color:#3ea36a; color:#14532d }
html[data-skin="paper"] .q-opt.wrong{ background:#fbe6e6; border-color:#a3434a; color:#7a1d22 }
html[data-skin="paper"] .q-exp.ok{ background:#e3f3e7; color:#14532d }
html[data-skin="paper"] .q-exp.no{ background:#fbe6e6; color:#7a1d22 }
html[data-skin="paper"] .q-exp p{ color:var(--ink) }
html[data-skin="paper"] .cmdk-i.sel, html[data-skin="paper"] .cmdk-i:hover{ background:#e9dfc9 }
html[data-skin="paper"] .cmdk-i{ border-bottom-color:var(--line) }
html[data-skin="paper"] .cmdk-box input{ color:var(--ink) } html[data-skin="paper"] .cmdk-box input::placeholder{ color:var(--muted) }
html[data-skin="paper"] .plan.sel{ background:#f3e6cf; box-shadow:0 0 0 3px rgba(139,90,43,.18) }
html[data-skin="paper"] .plan.sel .pp, html[data-skin="paper"] .plan.sel b{ color:var(--accent) }
html[data-skin="paper"] .plan.sel::after{ color:#fff }
html[data-skin="paper"] .wd-sig{ background:#f3e6cf; color:#4a3418; border:1px solid var(--border) }
html[data-skin="paper"] .mbox .mdesc b, html[data-skin="paper"] .mbox .mdesc b[style]{ color:var(--accent) !important }
html[data-skin="paper"] .st-badge.free{ background:#e9dfc9; color:#4a3418 }
html[data-skin="paper"] .wc-vs span, html[data-skin="paper"] .wd-sname{ filter:brightness(.55) saturate(1.8) }
html[data-skin="paper"] body:not(.m2) #focusbar{ box-shadow:0 0 0 1px var(--border) }
html[data-skin="paper"] body:not(.m2) #morepop #featurebar{ box-shadow:inset 0 0 0 1px var(--border) }