/*! 世界历史沙盘 · © 2026 保留所有权利 All rights reserved.
 * 本文件为专有软件，未经书面许可不得复制、分发、修改或用于衍生作品。
 * 内容（疆域/朝代/事件/导览/词条）同受著作权保护。
 * build 20260731-b56ec9
 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;
border:1px solid var(--border);background:var(--panel2);color:var(--ink);
padding:8px 14px;border-radius:9px;font-size:var(--fs-body);font-weight:600;transition:.15s;font-family:inherit}
.btn:hover{border-color:#4a5c8c;background:#22305a}
.btn.primary{background:var(--accent);color:#241a02;border-color:var(--accent)}
.btn.primary:hover{filter:brightness(1.06)}
.btn.ghost{background:transparent}
.btn.big{width:100%;padding:12px;font-size:var(--fs-h2);margin:8px 0}
.btn:disabled{opacity:.45;cursor:default}
.mini{cursor:pointer;border:1px solid var(--line);background:var(--panel2);color:var(--ink);
padding:4px 9px;border-radius:7px;font-size:var(--fs-sm);font-weight:600;font-family:inherit;transition:.15s}
.mini:hover{border-color:#4a5c8c}
.mini.danger{color:#ff9b9b;border-color:#5a2c34}
.muted{color:var(--muted)}
.small{font-size:var(--fs-sm)}
.tag,.free-tag,.pro-tag{display:inline-block;font-size:var(--fs-xs);font-weight:700;padding:1px 7px;border-radius:20px;margin-left:6px;vertical-align:middle}
.tag{background:var(--accent);color:#241a02}
.free-tag{background:#1d3a2a;color:#7fe0a8}
.pro-tag{background:#3a2f14;color:var(--accent)}
.chip{cursor:pointer;border:1px solid var(--line);background:var(--panel2);color:var(--ink);
padding:6px 10px;border-radius:20px;font-size:var(--fs-sm);font-family:inherit}
.chip:hover{border-color:var(--accent)}
.fld{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-body);color:var(--muted);margin:8px 0}
.fld input{background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:9px 11px;font-size:var(--fs-body);font-family:inherit}
.fld input:focus{outline:none;border-color:var(--accent)}
#featurebar{display:flex;flex-wrap:wrap;gap:5px;padding:2px 6px 6px;border-bottom:1px solid var(--line);margin-bottom:2px}
.feat-btn{display:inline-flex;align-items:center;gap:5px;cursor:pointer;border:1px solid var(--line);
background:var(--panel);color:var(--ink);padding:6px 9px;border-radius:8px;font-size:var(--fs-sm);font-weight:600;
position:relative;font-family:inherit;transition:.15s}
.feat-btn:hover{border-color:var(--accent);background:var(--panel2)}
.feat-btn .fi{font-size:var(--fs-body)}
.feat-btn .pro-dot{color:var(--accent);font-size:var(--fs-xs);position:absolute;top:2px;right:3px}
#acctbar{display:flex;justify-content:center;padding:8px 6px 4px;border-bottom:1px solid var(--line);margin-bottom:4px}
.feat-btn.acct{background:var(--panel2);padding:8px 22px}
#tabbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:55;
background:rgba(11,16,32,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);
justify-content:space-around;padding:4px 2px calc(4px + env(safe-area-inset-bottom))}
.tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;
color:var(--muted);font-size:var(--fs-xs);padding:5px 0;font-family:inherit;cursor:pointer}
.tab-btn .ti{font-size:var(--fs-h1)}
.tab-btn:active{color:var(--accent)}
#panel-root{position:fixed;inset:0;z-index:70;pointer-events:none}
#panel-root.open{pointer-events:auto}
.panel-backdrop{position:absolute;inset:0;background:rgba(3,6,15,.55);opacity:0;transition:.25s}
#panel-root.open .panel-backdrop{opacity:1}
.panel{position:absolute;top:0;right:0;bottom:0;width:420px;max-width:92vw;background:var(--bg);
border-left:1px solid var(--line);box-shadow:-16px 0 48px rgba(0,0,0,.5);
transform:translateX(100%);transition:transform .28s cubic-bezier(.3,.8,.3,1);display:flex;flex-direction:column}
.panel.wide{width:640px}
#panel-root.open .panel{transform:none}
.panel header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);flex:0 0 auto}
.panel header h2{margin:0;font-size:var(--fs-h2)}
.panel-close{background:none;border:none;color:var(--muted);font-size:var(--fs-h1);cursor:pointer;padding:2px 6px}
.panel-close:hover{color:var(--ink)}
.panel-body{padding:14px 16px;overflow-y:auto;flex:1 1 auto}
.panel-body::-webkit-scrollbar{width:8px}
.panel-body::-webkit-scrollbar-thumb{background:#2c3a60;border-radius:4px}
#toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);z-index:90;
background:#182240;border:1px solid var(--border);color:var(--ink);padding:10px 18px;border-radius:24px;
font-size:var(--fs-body);font-weight:600;opacity:0;pointer-events:none;transition:.25s;box-shadow:0 8px 30px rgba(0,0,0,.4)}
#toast.show{opacity:1;transform:translate(-50%,0)}
#onb{position:fixed;inset:0;z-index:95}
.onb-mask{position:absolute;inset:0;background:rgba(3,6,15,.55)}
.onb-hole{position:absolute;border:2px solid var(--accent);border-radius:10px;
box-shadow:0 0 0 9999px rgba(3,6,15,.68);transition:.25s;pointer-events:none}
.onb-tip{position:absolute;width:300px;background:var(--panel);border:1px solid var(--border);
border-radius:12px;padding:14px;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.onb-tip .onb-t{font-weight:800;font-size:var(--fs-h2);margin-bottom:5px}
.onb-tip .onb-d{color:var(--muted);font-size:var(--fs-body);line-height:1.5}
.onb-bar{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.onb-idx{color:var(--muted);font-size:var(--fs-sm)}
.onb-btns{display:flex;gap:6px}
.acct-card{text-align:center;padding:10px 0 4px}
.acct-ava{font-size:46px}
.acct-name{font-weight:800;font-size:var(--fs-h1);margin-top:4px}
.acct-sub{color:var(--muted);font-size:var(--fs-body)}
.acct-badge{display:inline-block;margin-top:8px;padding:3px 12px;border-radius:20px;background:var(--panel2);border:1px solid var(--line);font-size:var(--fs-sm)}
.acct-badge.pro{background:#3a2f14;color:var(--accent);border-color:var(--accent)}
.oauth{display:flex;gap:8px;margin-top:8px}
.oauth .btn{flex:1}
.pw-hook{background:#3a2f14;color:var(--accent);border-radius:9px;padding:9px 12px;font-weight:700;margin-bottom:10px}
.pw-feats{list-style:none;padding:0;margin:0 0 14px;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.pw-feats li{font-size:var(--fs-sm);color:#cfe}
.plans{display:flex;gap:8px;margin-bottom:8px}
.plan{flex:1;position:relative;border:1px solid var(--line);border-radius:11px;padding:12px 10px;cursor:pointer;text-align:center;transition:.15s}
.plan:hover{border-color:#4a5c8c}
.plan.best{border-color:var(--accent)}
.plan input{position:absolute;top:8px;left:8px}
.plan-h b{font-size:var(--fs-body)}
.plan-h .tag{position:absolute;top:-9px;right:8px}
.plan-p{margin:6px 0 2px}
.plan-p .pp{font-size:22px;font-weight:800}
.plan-p .pu{font-size:var(--fs-sm);color:var(--muted)}
.pw-alt{display:flex;gap:8px;margin-top:8px}
.pw-alt .btn{flex:1}
.share-card{background:radial-gradient(120% 120% at 50% -10%,#1a2a55 0%,#0b1020 100%);border:1px solid var(--border);
border-radius:14px;padding:22px;text-align:center;margin-bottom:12px}
.share-yr{font-size:40px;font-weight:800}
.share-yr small{font-size:var(--fs-h2);color:var(--muted);margin-left:6px}
.share-era{color:var(--accent);font-weight:600;margin-top:4px}
.share-url{display:flex;gap:6px;margin:10px 0}
.share-url input{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:9px 11px;font-size:var(--fs-sm)}
.share-more{display:flex;gap:8px}.share-more .btn{flex:1}
.bm-list{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.bm{display:flex;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px}
.bm-yr{font-weight:800;color:var(--accent);min-width:56px}
.bm-main{flex:1}
.bm-era{font-size:var(--fs-body);margin-bottom:4px}
.bm-note{width:100%;min-height:34px;resize:vertical;background:var(--panel2);border:1px solid var(--line);border-radius:7px;color:var(--ink);padding:6px 8px;font-size:var(--fs-sm);font-family:inherit}
.bm-act{display:flex;flex-direction:column;gap:4px}
.cmp-head{position:sticky;top:-14px;background:var(--bg);padding:6px 0 10px;z-index:2;border-bottom:1px solid var(--line);margin-bottom:10px}
.cmp-yrbox{font-size:var(--fs-h1);font-weight:800;margin-bottom:6px}
.cmp-yrbox em{color:var(--accent);font-size:var(--fs-body);font-style:normal;font-weight:600;margin-left:6px}
#cmp-slider{width:100%}
.cmp-jump{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.cmp-group{margin-bottom:14px}
.cmp-group h3{font-size:var(--fs-body);color:var(--muted);margin:0 0 7px;border-left:3px solid var(--accent);padding-left:8px}
.cmp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.cmp-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px;cursor:pointer;transition:.15s}
.cmp-card:hover{border-color:var(--accent)}
.cmp-reg{font-weight:800;font-size:var(--fs-body)}
.cmp-pol{font-size:var(--fs-sm);color:#bcd;margin-top:2px}
.cmp-ruler{font-size:var(--fs-sm);color:var(--accent);margin-top:3px}
.cmp-ev{list-style:none;padding:0;margin:6px 0 0;font-size:var(--fs-xs);color:var(--muted)}
.cmp-ev li{margin-top:2px}
.cmp-ev b{color:#cdd}
.tour-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.tour-card{display:flex;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;transition:.15s}
.tour-card:hover{border-color:var(--accent);transform:translateY(-1px)}
.tour-emoji{font-size:30px}
.tour-title{font-weight:800;font-size:var(--fs-h2)}
.tour-desc{font-size:var(--fs-sm);margin:3px 0;line-height:1.5}
#tourplayer{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:65;width:min(680px,94vw);
background:rgba(15,22,44,.97);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:14px;
box-shadow:0 16px 50px rgba(0,0,0,.55);overflow:hidden}
.tp-top{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line);font-weight:700}
.tp-top button{background:none;border:none;color:var(--muted);font-size:var(--fs-h2);cursor:pointer}
.tp-body{padding:12px 16px}
#tp-step{font-size:var(--fs-body);margin-bottom:5px}
#tp-step .tp-yr{color:var(--accent);font-weight:800;margin-right:6px}
#tp-text{font-size:var(--fs-body);color:#cfd6ea;line-height:1.6}
.tp-ctrl{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line)}
.tp-ctrl #tp-dots{flex:1;display:flex;gap:4px;justify-content:center}
#tp-dots i{width:7px;height:7px;border-radius:50%;background:var(--line)}
#tp-dots i.on{background:var(--accent)}
.quiz-stat{display:flex;gap:8px;margin-bottom:12px}
.quiz-stat>div{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center}
.quiz-stat b{display:block;font-size:22px;color:var(--accent)}
.quiz-stat span{font-size:var(--fs-xs);color:var(--muted)}
.q-progress{height:5px;background:var(--panel2);border-radius:3px;overflow:hidden;margin-bottom:12px}
.q-progress i{display:block;height:100%;background:var(--accent);transition:.3s}
.q-q{font-size:var(--fs-h2);font-weight:700;line-height:1.5;margin-bottom:14px}
.q-opts{display:flex;flex-direction:column;gap:8px}
.q-opt{text-align:left;padding:12px 14px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:10px;cursor:pointer;font-size:var(--fs-body);font-family:inherit;transition:.12s}
.q-opt:hover:not(:disabled){border-color:var(--accent)}
.q-opt.right{border-color:#3ea36a;background:#173626}
.q-opt.wrong{border-color:#a3434a;background:#331a1e}
.q-exp{margin:12px 0;padding:12px;border-radius:10px;font-weight:700}
.q-exp.ok{background:#153020}.q-exp.no{background:#301a1e}
.q-exp p{font-weight:400;color:#cdd;font-size:var(--fs-body);margin:6px 0 8px;line-height:1.5}
.quiz-result{text-align:center;padding:16px 0}
.qr-score{font-size:44px;font-weight:800;color:var(--accent)}
.qr-pct{color:var(--muted);margin:4px 0}
.qr-msg{font-size:var(--fs-h2);margin-top:8px}
.wiki-regions{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:8px}
.wiki-r{display:flex;flex-direction:column;gap:2px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;color:var(--ink);font-weight:700;font-family:inherit}
.wiki-r:hover{border-color:var(--accent)}
.wiki-periods{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.wiki-p{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:10px 12px;cursor:pointer;color:var(--ink);font-family:inherit}
.wiki-p:hover{border-color:var(--accent)}
.wiki-yr{color:var(--accent);font-weight:700;font-size:var(--fs-sm);min-width:96px}
.wiki-page h2{margin:10px 0 2px}
.wiki-sub{font-size:var(--fs-sm);margin-bottom:10px}
.wiki-lead{font-size:var(--fs-body);line-height:1.6;color:#cfd6ea}
.wiki-key{background:var(--panel2);border-radius:8px;padding:8px 12px;margin:8px 0}
.wiki-page h3{font-size:var(--fs-body);color:var(--muted);border-left:3px solid var(--accent);padding-left:8px;margin:16px 0 8px}
.wiki-rulers{margin:0;padding-left:18px;font-size:var(--fs-body);line-height:1.7}
.wiki-ev{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.wiki-ev li{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:var(--fs-body);cursor:pointer}
.wiki-ev li:hover{border-color:var(--accent)}
.wiki-ev li b{color:var(--accent);margin-right:6px}
.wiki-ev li span{display:block;color:var(--muted);font-size:var(--fs-xs);margin-top:2px}
.wiki-fade{margin-top:8px;padding:10px;text-align:center;color:var(--muted);font-size:var(--fs-sm);background:linear-gradient(transparent,var(--panel2));border-radius:8px}
.les-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.les{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;flex-wrap:wrap}
.les-act{display:flex;gap:5px;flex-wrap:wrap}
.les-steps{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.les-step{display:flex;gap:6px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 9px}
.les-yr{color:var(--accent);font-weight:700;font-size:var(--fs-sm);min-width:50px}
.les-note{flex:1;background:var(--panel2);border:1px solid var(--line);border-radius:6px;color:var(--ink);padding:5px 8px;font-size:var(--fs-sm);font-family:inherit}
.les-foot{display:flex;gap:8px}.les-foot .btn{flex:1}
#classbar{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:65;width:min(640px,94vw);display:flex;align-items:center;gap:10px;
background:rgba(15,22,44,.97);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:14px;padding:10px 14px;box-shadow:0 16px 50px rgba(0,0,0,.5)}
.cb-mid{flex:1}
#cb-title{font-size:var(--fs-body);font-weight:700}#cb-title b{color:var(--accent)}
#cb-note{font-size:var(--fs-sm);color:var(--muted);margin-top:2px}
#classbar #cb-close{background:none;border:none;color:var(--muted);font-size:var(--fs-h2);cursor:pointer}
.ai-out{height:min(46vh,340px);overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:4px 2px;margin-bottom:8px}
.ai-msg{max-width:88%;padding:9px 12px;border-radius:12px;font-size:var(--fs-body);line-height:1.6}
.ai-msg.you{align-self:flex-end;background:var(--accent);color:#241a02;font-weight:600}
.ai-msg.bot{align-self:flex-start;background:var(--panel);border:1px solid var(--line)}
.ai-msg.loading{color:var(--muted)}
.ai-sug{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.ai-in{display:flex;gap:6px}
.ai-in input{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:9px;color:var(--ink);padding:10px 12px;font-size:var(--fs-body);font-family:inherit}
.ai-in input:focus{outline:none;border-color:var(--accent)}
#sidetoggle{display:none;position:fixed;left:12px;top:12px;z-index:50;width:42px;height:42px;border-radius:11px;
background:rgba(20,27,48,.9);backdrop-filter:blur(6px);border:1px solid var(--border);color:var(--ink);font-size:var(--fs-h1);cursor:pointer}
@media (max-width: 760px){
#app{grid-template-columns:1fr !important;grid-template-rows:1fr auto !important;gap:0 !important;padding:0 !important}
#side{position:fixed;z-index:60;left:0;top:0;bottom:0;width:84%;max-width:340px;
transform:translateX(-100%);transition:transform .28s;background:var(--bg);border-right:1px solid var(--line);
padding:52px 8px 8px;box-shadow:12px 0 40px rgba(0,0,0,.5);overflow-y:auto}
#side.open{transform:none}
#map-wrap{grid-column:1;border-radius:0 !important;border-left:none;border-right:none}
#sidetoggle{display:flex;align-items:center;justify-content:center}
#tabbar{display:flex}
#controls{padding-bottom:calc(58px + env(safe-area-inset-bottom))}
#yearbadge{top:10px;left:60px}
#yearbadge .yr{font-size:34px}
#focusbar{max-width:52%}
.panel{width:100%;max-width:100%;border-left:none;border-top:1px solid var(--line);
top:auto;height:88vh;border-radius:16px 16px 0 0;transform:translateY(100%)}
.panel.wide{width:100%}
#panel-root.open .panel{transform:none}
#tourplayer,#classbar{bottom:76px;width:96vw}
.pw-feats{grid-template-columns:1fr}
.plans{flex-direction:column}
.cmp-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 420px){ .cmp-grid{grid-template-columns:1fr} }
.quiz-modes{margin-bottom:10px}
.qm-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0}
.qm-label{color:var(--muted);font-size:var(--fs-sm);min-width:32px}
.chip.on{background:var(--accent);color:#241a02;border-color:var(--accent)}
.q-tags{display:flex;gap:6px;margin-bottom:8px}
.tag2{font-size:var(--fs-xs);background:var(--panel2);border:1px solid var(--line);border-radius:20px;padding:2px 9px;color:var(--muted)}
.switch-row{display:flex;align-items:center;justify-content:space-between;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin:6px 0;font-size:var(--fs-body)}
.switch-row input{width:40px;height:22px}
.cat-chips{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}
.catchip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:20px;padding:6px 12px;font-size:var(--fs-body);cursor:pointer;font-family:inherit}
.catchip i{width:10px;height:10px;border-radius:50%;background:var(--cc)}
.catchip.on{color:var(--ink);border-color:var(--cc);background:color-mix(in srgb, var(--cc) 16%, transparent)}
.fl-list{margin-top:6px;display:flex;flex-direction:column;gap:4px}
.fl-count{margin:4px 0}
.fl-row{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:var(--fs-body);cursor:pointer}
.fl-row:hover{border-color:var(--accent)}
.fl-row b{color:var(--accent)}
.fl-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.fl-cat{margin-left:auto;font-size:var(--fs-xs);color:var(--muted)}
#evlayer{position:absolute;left:0;right:0;top:-6px;height:12px;pointer-events:none;z-index:3}
#evlayer .evdot{position:absolute;width:8px;height:8px;border-radius:50%;transform:translateX(-50%);
box-shadow:0 0 6px rgba(0,0,0,.6);pointer-events:auto;cursor:pointer;border:1px solid rgba(0,0,0,.4)}
#evlayer .evdot:hover{width:12px;height:12px}
.prog-top{margin-bottom:12px}
.prog-streak{background:linear-gradient(160deg,#3a2f14,#1b2440);border:1px solid var(--border);border-radius:14px;padding:18px;text-align:center}
.ps-num{font-size:34px;font-weight:800;color:var(--accent)}
.prog-bars{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.pbar-l{display:flex;justify-content:space-between;font-size:var(--fs-body);margin-bottom:4px}
.pbar-t{height:8px;background:var(--panel2);border-radius:5px;overflow:hidden}
.pbar-t i{display:block;height:100%;background:var(--accent)}
.prog-h{font-size:var(--fs-body);margin:14px 0 8px}
.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.badge{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 8px;text-align:center;opacity:.42;filter:grayscale(1)}
.badge.got{opacity:1;filter:none;border-color:var(--accent)}
.badge-ic{font-size:28px}
.badge-n{font-size:var(--fs-sm);font-weight:700;margin-top:4px}
.badge-d{margin-top:2px;line-height:1.3}
.sc-preview{width:100%;border-radius:12px;border:1px solid var(--line)}
.sc-act{display:flex;gap:8px;margin:10px 0}
.sc-act .btn{flex:1}
.set-group{margin:10px 0}
.set-label{font-size:var(--fs-body);color:var(--muted);margin-bottom:6px}
.segwrap{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.segwrap button{background:var(--panel);color:var(--ink);border:none;border-right:1px solid var(--line);padding:9px 14px;font-size:var(--fs-body);cursor:pointer;font-family:inherit}
.segwrap button:last-child{border-right:none}
.segwrap button.on{background:var(--accent);color:#241a02}
html[data-fs="s"] .panel-body{font-size:var(--fs-body)}
html[data-fs="l"] .panel-body{font-size:var(--fs-h2)}
html[data-fs="xl"] .panel-body{font-size:var(--fs-h1)}
html[data-fs="l"] .q-q,html[data-fs="xl"] .q-q{font-size:var(--fs-h1)}
html[data-fs="l"] .feat-btn,html[data-fs="xl"] .feat-btn{font-size:var(--fs-body)}
html.high-contrast{--muted:#c4cee6;--line:#5a6a92}
html.high-contrast .btn,html.high-contrast .feat-btn,html.high-contrast .card{border-width:2px}
html[data-theme="light"]{
--muted:#5b678a; --line:#d6ddec; --accent:#b5790a; --ocean:#ccdcf2; --land:#b9c8e2;
--border:#9fb0d0; --split:#e6e0f2;
}
html[data-theme="light"] body{background:var(--bg);color:var(--ink)}
html[data-theme="light"] #map-wrap{background:radial-gradient(130% 120% at 50% -10%,#dbe6f7 0%,#eef2fa 100%)}
html[data-theme="light"] .node .pow,html[data-theme="light"] .frag .sn{fill:#10203f;stroke:#fff}
html[data-theme="light"] .node .king,html[data-theme="light"] .node .reg{stroke:#fff}
html[data-theme="light"] #toast{background:#fff;color:var(--ink)}
html[data-theme="light"] .btn.primary,html[data-theme="light"] .segwrap button.on,html[data-theme="light"] .chip.on{color:#fff}
html[data-theme="light"] .plan.best,html[data-theme="light"] .badge.got{box-shadow:none}
.wiki-intro{font-size:var(--fs-h2);line-height:1.7;color:#dbe3f4;background:var(--panel);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;padding:10px 14px;margin:6px 0 4px}
.wiki-body p{font-size:var(--fs-body);line-height:1.75;color:#cfd6ea;margin:8px 0}
.wiki-body.clip{max-height:120px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.wiki-sig{background:#22305a;border-radius:8px;padding:10px 13px;font-size:var(--fs-body);line-height:1.6;margin:10px 0}
.wiki-figs{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.wiki-figs li{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 11px;font-size:var(--fs-body)}
.wiki-figs li b{color:var(--accent)}
.wiki-p .wiki-badge{margin-left:6px;font-size:var(--fs-xs);color:var(--accent)}
#event{max-width:380px !important;max-height:48vh}
#event .ed{max-height:40vh;overflow-y:auto}
#event .ed b{color:#2a1e02}
#tourpath .tour-route{ animation:routeFlow 1s linear infinite; }
@keyframes routeFlow{ to{ stroke-dashoffset:-18; } }
#tourpath .tour-pulse{ transform-box:fill-box; transform-origin:center; animation:routePulse 1.6s ease-out infinite; }
@keyframes routePulse{ 0%{ r:1; opacity:.9; } 100%{ r:4.5; opacity:0; } }
#modbar{display:flex;gap:6px;padding:8px 6px 6px;margin:0 0 2px}
#modbar .mod{flex:1;padding:9px 8px;border:1px solid var(--line);background:var(--panel);color:var(--muted);
border-radius:9px;font-size:var(--fs-body);font-weight:700;cursor:pointer;font-family:inherit;transition:.15s}
#modbar .mod.on{background:var(--accent);color:#241a02;border-color:var(--accent)}
#modbar .mod:hover:not(.on){border-color:var(--accent);color:var(--ink)}
#warlist{display:none}
body.war-mode #side > h1,
body.war-mode #featurebar,
body.war-mode #iconbar,
body.war-mode #morewrap,
body.war-mode #acctbar,
body.war-mode #segbar,
body.war-mode #slicehost,
body.war-mode #searchwrap,
body.war-mode #regions{display:none !important}
body.war-mode #warlist{display:flex;flex-direction:column;gap:6px;overflow:hidden;flex:1;min-height:0}
#warlist h1{font-size:var(--fs-body);margin:2px 6px}
#warlist h1 span{color:var(--accent)}
.war-search input{width:100%;box-sizing:border-box;background:var(--panel2);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:7px 10px;font-size:var(--fs-sm);font-family:inherit}
.wchips{display:flex;flex-wrap:wrap;gap:4px;padding:0 2px}
.wchip{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:20px;padding:3px 10px;font-size:var(--fs-xs);cursor:pointer;font-family:inherit}
.wchip.on{background:var(--accent);color:#241a02;border-color:var(--accent)}
.war-count{padding:0 6px}
.warcards{overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:2px 4px 8px}
.warcards::-webkit-scrollbar{width:7px}.warcards::-webkit-scrollbar-thumb{background:#2c3a60;border-radius:4px}
.warcard{display:flex;gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 10px;cursor:pointer;transition:.15s}
.warcard:hover{border-color:var(--accent);transform:translateY(-1px)}
.wc-emoji{font-size:22px}
.wc-name{font-weight:800;font-size:var(--fs-body)}
.wc-year{color:var(--accent);font-weight:700;font-size:var(--fs-sm);margin-left:4px}
.wc-vs{font-size:var(--fs-xs);margin:2px 0}
.wc-vs em{color:var(--muted);font-style:normal;font-size:var(--fs-xs);margin:0 2px}
.wc-place{font-size:var(--fs-xs)}
#warlayer .war-pulse{transform-box:fill-box;transform-origin:center;animation:warPulse 1.6s ease-out infinite}
@keyframes warPulse{0%{r:1;opacity:.9}100%{r:5;opacity:0}}
#warlayer .war-arrow-active{animation:warFlow 1s linear infinite}
@keyframes warFlow{to{stroke-dashoffset:-16}}
#wardossier{position:fixed;top:64px;right:12px;bottom:96px;width:380px;max-width:92vw;z-index:40;
background:rgba(13,19,38,.97);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:14px;
box-shadow:0 16px 50px rgba(0,0,0,.55);display:flex;flex-direction:column;transform:translateX(120%);
transition:transform .28s cubic-bezier(.3,.8,.3,1);pointer-events:auto}
#wardossier.open{transform:none}
.wd-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}
.wd-title{font-weight:800;font-size:var(--fs-h2)}
.wd-close{background:none;border:none;color:var(--muted);font-size:var(--fs-h2);cursor:pointer}
.wd-close:hover{color:var(--ink)}
.wd-body{padding:12px 14px;overflow-y:auto}
.wd-body::-webkit-scrollbar{width:8px}.wd-body::-webkit-scrollbar-thumb{background:#2c3a60;border-radius:4px}
.wd-meta{font-size:var(--fs-sm);color:var(--muted);margin-bottom:10px}
.wd-meta .wd-year{color:var(--accent);font-weight:700}
.wd-group{background:var(--panel2);border-radius:20px;padding:1px 8px;margin-left:4px;font-size:var(--fs-xs)}
.wd-sides{display:flex;align-items:stretch;gap:6px;margin-bottom:10px}
.wd-side{flex:1;background:var(--panel);border:1px solid var(--line);border-left-width:3px;border-radius:9px;padding:9px}
.wd-sname{font-weight:800;font-size:var(--fs-body);margin-bottom:4px}
.wd-cmd{font-size:var(--fs-sm);margin-bottom:2px}
.wd-force{font-size:var(--fs-xs);line-height:1.4}
.wd-vs{align-self:center;font-weight:800;color:var(--muted);font-size:var(--fs-sm)}
.wd-result{background:var(--panel);border-radius:9px;padding:10px;margin-bottom:8px}
.wd-victor{font-size:var(--fs-body);margin-bottom:4px}.wd-victor b{color:var(--accent)}
.wd-line{font-size:var(--fs-sm);line-height:1.5;margin-top:3px}
.wd-terr{background:#22305a;border-radius:8px;padding:8px 11px;font-size:var(--fs-sm);line-height:1.5;margin-bottom:8px}
.wd-body h4{font-size:var(--fs-body);margin:12px 0 6px;border-left:3px solid var(--accent);padding-left:8px}
.wd-p{font-size:var(--fs-sm);line-height:1.6;color:#cfd6ea}
.wd-phases{display:flex;flex-direction:column;gap:5px}
.wd-phase{display:flex;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 9px;cursor:pointer;transition:.12s}
.wd-phase:hover{border-color:#4a5c8c}
.wd-phase.on{border-color:var(--accent);background:#1c2540}
.wd-pt{color:var(--accent);font-weight:700;font-size:var(--fs-sm);min-width:48px;flex:0 0 auto}
.wd-pd{font-size:var(--fs-sm);line-height:1.4}
.wd-ctrl{display:flex;gap:8px;margin:10px 0}.wd-ctrl .btn{flex:1}
.wd-sig{background:#3a2f14;color:#ffe0a0;border-radius:8px;padding:9px 12px;font-size:var(--fs-sm);line-height:1.5}
@media(max-width:760px){ #wardossier{top:auto;bottom:70px;right:0;left:0;width:100%;max-width:100%;height:60vh;border-radius:16px 16px 0 0;transform:translateY(120%)} #wardossier.open{transform:none} }
#warlayer .war-horse{filter:drop-shadow(0 .35px .7px rgba(0,0,0,.85))}
#warlayer .war-halo{animation:warHalo 1.9s ease-out infinite}
@keyframes warHalo{0%{r:1.2;opacity:.55}70%{opacity:.12}100%{r:4.8;opacity:0}}
#featurebar{display:flex;gap:6px;margin:2px 2px 0;flex-shrink:0}
#featurebar .primary-tool{flex:1;justify-content:center;padding:9px 10px;
background:linear-gradient(180deg,#22305a,#1a2444);border-color:#39497a;font-size:var(--fs-body)}
#featurebar .primary-tool:hover{background:#2a3a68;border-color:var(--accent)}
#featurebar .primary-tool .fl{font-weight:800}
.tool-badge{background:var(--accent);color:#241a02;font-size:var(--fs-micro);font-weight:800;
border-radius:20px;padding:1px 6px;margin-left:6px;line-height:1.4}
#iconbar{display:flex;gap:6px;margin:6px 2px 0;flex-shrink:0}
#iconbar .icon-tool{flex:1;justify-content:center;padding:8px 0;font-size:var(--fs-h2);
background:var(--panel);border-color:var(--line)}
#iconbar .icon-tool:hover{background:#22305a;border-color:var(--accent)}
#iconbar .icon-tool .fi{font-size:17px;line-height:1}
#morewrap{margin:6px 2px 0;flex-shrink:0}
#morebtn{width:100%;justify-content:center;padding:6px;font-size:var(--fs-sm);
color:var(--muted);background:transparent;border-style:dashed}
#morebtn:hover{color:var(--ink);border-color:#3a4a78}
#moregrid{display:none;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:6px}
#morewrap.open #moregrid{display:grid}
#moregrid .more-tool{flex-direction:column;gap:3px;padding:8px 4px;font-size:var(--fs-xs);
background:var(--panel);border-color:var(--line);text-align:center;line-height:1.2}
#moregrid .more-tool .fi{font-size:16px}
#moregrid .more-tool .fl{font-size:var(--fs-xs);white-space:nowrap}
#acctbar{display:flex;justify-content:center;margin:8px 2px 2px;flex-shrink:0}
#segbar{display:flex;gap:0;margin:10px 2px 6px;flex-shrink:0;
background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:3px}
#segbar button{flex:1;background:transparent;border:none;padding:6px 4px;border-radius:7px;
font-size:var(--fs-sm);font-weight:800;color:var(--muted)}
#segbar button.on{background:var(--accent);color:#241a02}
#segbar button:hover:not(.on){color:var(--ink);background:rgba(255,255,255,.05)}
#slicehost{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px}
#slicehost::-webkit-scrollbar{width:7px}
#slicehost::-webkit-scrollbar-thumb{background:#2c3a60;border-radius:4px}
.sl-head{display:flex;align-items:center;justify-content:space-between;gap:8px;
position:sticky;top:0;background:var(--bg);padding:2px 0 6px;z-index:2}
.sl-yr b{font-size:var(--fs-h2);color:var(--accent);font-weight:800}
.sl-yr em{font-size:var(--fs-xs);color:var(--muted);font-style:normal;margin-left:6px}
.sl-cmp{font-size:var(--fs-xs);padding:4px 8px;white-space:nowrap}
.sl-cmp.on{background:var(--accent);color:#241a02;border-color:var(--accent)}
.sl-cmpbar{display:flex;align-items:center;gap:7px;font-size:var(--fs-xs);color:var(--muted);
background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:5px 8px}
.sl-cmpbar input{flex:1;min-width:0}
.sl-cmpbar b{color:var(--accent);font-size:var(--fs-sm)}
.sl-note{font-size:var(--fs-xs);color:var(--muted);margin:2px 0 0}
.sl-cols{display:flex;gap:8px}
.sl-cols .sl-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}
.sl-colh{font-size:var(--fs-sm);font-weight:800;color:var(--accent);text-align:center;
border-bottom:1px solid var(--line);padding-bottom:3px}
.sl-grp h4{margin:0 0 4px;font-size:var(--fs-xs);color:var(--muted);font-weight:800;
letter-spacing:.5px;border-left:3px solid var(--line);padding-left:6px}
.sl-row{display:flex;align-items:baseline;gap:6px;background:var(--panel);
border:1px solid var(--line);border-radius:7px;padding:5px 8px;cursor:pointer;
margin-bottom:4px;transition:border-color .15s}
.sl-row:hover{border-color:var(--accent)}
.sl-row.changed{border-color:#ff9a6b;background:rgba(255,154,107,.09)}
.sl-reg{font-size:var(--fs-xs);color:var(--muted);font-weight:700;flex:0 0 auto;min-width:38px}
.sl-pol{font-size:var(--fs-sm);color:#fff;font-weight:800;white-space:nowrap;
overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
.sl-king{font-size:var(--fs-xs);color:#ffd980;white-space:nowrap;flex:0 0 auto;
overflow:hidden;text-overflow:ellipsis;max-width:42%}
.ls{display:flex;flex-direction:column;gap:4px;margin-top:8px}
.ls-row{display:grid;grid-template-columns:26px minmax(96px,1.3fr) 1fr 62px 96px;
align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);
border-radius:8px;padding:6px 9px;cursor:pointer;transition:border-color .15s}
.ls-row:hover{border-color:var(--accent)}
.ls-rank{font-size:var(--fs-sm);color:var(--muted);font-weight:800;text-align:right}
.ls-name{font-size:var(--fs-sm);font-weight:800;color:#fff;display:flex;flex-direction:column;line-height:1.25}
.ls-name em{font-size:var(--fs-xs);color:var(--muted);font-style:normal;font-weight:600}
.ls-bar{background:var(--panel2);border-radius:5px;height:9px;overflow:hidden}
.ls-bar i{display:block;height:100%;border-radius:5px;
background:linear-gradient(90deg,#5b7cff,#ffcc5c)}
.ls-yrs{font-size:var(--fs-sm);color:var(--accent);font-weight:800;text-align:right}
.ls-span{font-size:var(--fs-xs);color:var(--muted);text-align:right;white-space:nowrap}
#cmdk{position:fixed;inset:0;z-index:120;display:none}
#cmdk.open{display:block}
.cmdk-mask{position:absolute;inset:0;background:rgba(4,7,14,.62);backdrop-filter:blur(2px)}
.cmdk-box{position:relative;margin:9vh auto 0;width:min(640px,92vw);background:var(--panel);
border:1px solid #3a4a78;border-radius:14px;box-shadow:0 26px 70px rgba(0,0,0,.7);overflow:hidden}
.cmdk-box input{width:100%;box-sizing:border-box;background:transparent;border:none;
border-bottom:1px solid var(--line);color:var(--ink);padding:14px 16px;
font-size:var(--fs-h2);outline:none;font-family:inherit}
.cmdk-box input::placeholder{color:#5b6a92;font-size:var(--fs-body)}
.cmdk-list{max-height:52vh;overflow-y:auto}
.cmdk-list::-webkit-scrollbar{width:8px}
.cmdk-list::-webkit-scrollbar-thumb{background:#2c3a60;border-radius:4px}
.cmdk-i{display:flex;align-items:baseline;gap:10px;padding:9px 16px;cursor:pointer;
border-bottom:1px solid rgba(38,50,79,.4)}
.cmdk-i.sel,.cmdk-i:hover{background:#22305a}
.cmdk-k{font-size:var(--fs-micro);color:#241a02;background:var(--accent);border-radius:5px;
padding:1px 6px;font-weight:800;flex:0 0 auto}
.cmdk-t{font-size:var(--fs-body);font-weight:700;color:#fff;flex:0 0 auto}
.cmdk-s{font-size:var(--fs-xs);color:var(--muted);overflow:hidden;
text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.cmdk-empty{padding:20px 16px;color:var(--muted);font-size:var(--fs-sm);text-align:center}
.cmdk-foot{padding:8px 16px;font-size:var(--fs-xs);color:var(--muted);
border-top:1px solid var(--line);background:var(--panel2)}
.kw{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}
.kw-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}
.kw-c{background:var(--panel2);border:1px solid var(--line);border-radius:7px;
padding:5px 8px;display:flex;flex-direction:column;line-height:1.3}
.kw-c b{font-size:var(--fs-xs);color:var(--muted);font-weight:700}
.kw-c span{font-size:var(--fs-sm);color:#fff;font-weight:800;
white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kw-c em{font-size:var(--fs-xs);color:#ffd980;font-style:normal;
white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mgrid-i{display:flex;flex-direction:column;align-items:center;gap:5px;padding:14px 6px;
background:var(--panel2);border:1px solid var(--line);border-radius:11px;
color:var(--ink);cursor:pointer;font-family:inherit}
.mgrid-i:hover{background:#22305a;border-color:var(--accent)}
.mgrid-i span{font-size:22px;line-height:1}
.mgrid-i em{font-size:var(--fs-xs);font-style:normal;font-weight:700}
@media (max-width:1100px){
#iconbar .icon-tool{padding:6px 0}
.ls-row{grid-template-columns:22px minmax(80px,1.2fr) 1fr 54px}
.ls-span{display:none}
}
@media (max-width:820px){
#segbar,#slicehost{display:none !important}
.sl-cols.dual{flex-direction:column}
.kw-grid{grid-template-columns:1fr}
.cmdk-box{margin-top:5vh}
}
.sl-cols.dual .sl-row{flex-direction:column;align-items:stretch;gap:1px;padding:5px 7px}
.sl-cols.dual .sl-reg{min-width:0;font-size:var(--fs-micro)}
.sl-cols.dual .sl-pol{white-space:normal;line-height:1.25}
.sl-cols.dual .sl-king{max-width:none;font-size:var(--fs-micro)}
.sl-yr{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;min-width:0}
.sl-yr em{margin-left:0}
.tour-search{width:100%;box-sizing:border-box;background:var(--panel2);border:1px solid var(--line);
border-radius:9px;color:var(--ink);padding:9px 12px;font-size:var(--fs-body);
outline:none;font-family:inherit;margin:8px 0 4px}
.tour-search:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(255,204,92,.15)}
.tour-cat{margin:14px 0 4px}
.tour-cat h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:var(--fs-h2);
color:#fff;font-weight:800;border-left:4px solid var(--accent);padding-left:9px}
.tour-cat h3 em{font-style:normal;font-size:var(--fs-xs);color:#241a02;background:var(--accent);
border-radius:20px;padding:1px 8px;font-weight:800}
#legal-line{
display:flex; align-items:center; gap:6px; flex-wrap:wrap;
padding:2px 0 0; color:var(--muted); font-size:var(--fs-xs); opacity:.75;
}
#legal-line button{
background:none; border:none; padding:0; cursor:pointer;
color:var(--muted); font-size:inherit; font-family:inherit;
text-decoration:underline; text-underline-offset:2px;
}
#legal-line button:hover{ color:var(--ink); }
.legal section{ padding:12px 0; border-top:1px solid var(--line); }
.legal section:first-child{ border-top:none; }
.legal h3{ margin:0 0 6px; font-size:var(--fs-body); font-weight:800; }
.legal p{ margin:6px 0; font-size:var(--fs-sm); line-height:1.65; color:var(--ink); }
.legal ol,.legal ul{ margin:6px 0; padding-left:20px; font-size:var(--fs-sm); line-height:1.6; }
.legal li{ margin:3px 0; }
.legal code{
background:var(--panel2); border:1px solid var(--line); border-radius:4px;
padding:0 4px; font-size:.92em;
}
.legal-hero{
background:var(--panel2); border:1px solid var(--line); border-radius:10px;
padding:12px 14px !important; margin-bottom:4px;
}
.legal-warn{
background:rgba(255,180,60,.08); border-left:3px solid #ffb43c;
border-radius:0 8px 8px 0; padding:9px 12px !important;
}
.legal-credits{ max-height:220px; overflow:auto; }
.legal-credits a{ color:#8fb4ff; word-break:break-all; }
.legal-credits em{ color:var(--muted); font-style:normal; }
.ls-note{ margin-top:10px; border-top:1px solid var(--line); padding-top:8px; }
.ls-note summary{ cursor:pointer; }
.ls-note p{ margin:6px 0; line-height:1.6; }
#mobilebrief{ display:none; }
@media (max-width:760px){
#app{ grid-template-rows:auto minmax(0,1fr) auto !important; }
#map-wrap{ grid-row:1 !important; grid-column:1 !important; }
#mobilebrief{ grid-row:2 !important; grid-column:1 !important; }
#controls{ grid-row:3 !important; grid-column:1 !important; }
#map-wrap svg#map{ flex:0 0 auto !important; height:50vw; max-height:42vh; min-height:150px; }
#mobilebrief{
display:block;
min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch;
padding:8px 10px 4px; border-top:1px solid var(--line);
}
#mobilebrief #event{
display:none;
position:static !important; transform:none !important;
right:auto; bottom:auto; max-width:none !important; max-height:none !important;
margin:0 0 8px; border-radius:12px;
}
#mobilebrief #event.show{ display:block; opacity:1; }
#mobilebrief #event .ed{ max-height:none; }
.mb-head{ display:flex; align-items:baseline; gap:8px; padding:2px 2px 6px; }
.mb-head b{ font-size:var(--fs-h1); font-weight:800; }
.mb-head em{ font-style:normal; color:var(--muted); font-size:var(--fs-sm); }
.mb-more{
margin-left:auto; background:none; border:none; padding:2px 0;
color:var(--accent); font-size:var(--fs-sm); font-family:inherit; cursor:pointer;
}
#mb-list .sl-grp{ display:grid; grid-template-columns:1fr 1fr; gap:0 8px; align-items:start; }
#mb-list .sl-grp h4{ grid-column:1 / -1; margin:6px 0 2px; }
#mb-list .sl-row{ padding:5px 6px; min-width:0; }
#mb-list .sl-row span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hint{ display:none; }
#legal-line{ display:flex; padding-top:4px; }
}
.sl-king.figure{ opacity:.66; }
.kportwrap{ display:flex; flex-direction:column; align-items:center; gap:5px; }
.kportnote{
font-size:var(--fs-xs); color:var(--muted); opacity:.85; text-align:center;
max-width:200px; line-height:1.35;
}
#legal-line .cr{opacity:.8}