
:root,.skin-preview[data-preview="dark"]{
  color-scheme:dark;
  --bg:#111111;--bg2:#161616;--card:#161616;--card2:#232323;--line:#303030;--line2:#626262;
  --txt:#eeeeea;--dim:#adadaa;--dimmer:#8c8c89;--accent:#e3e3de;--accent2:#f4f4ef;
  --e:#c5c5c1;--c:#a6a6a2;--m:#f1f1ec;--bad:#d4d4cf;--ok:#eeeeea;
  --okbg:#303030;--badbg:#202020;--soft:#ffffff05;--soft2:#ffffff12;--accbd:#757572;--hlbg:#2b2b2b;
  --input:#1c1c1c;--control-border:#414141;--on-accent:#111;--accent-hover:#fff;
  --selection:#555;--on-selection:#fff;--gutter:#5f5f5c;--gutter-mobile:#5b5b58;
  --shadow:#0006;--option-hover:#3a3a3a;--scrollbar:#555;--table-rule:#4b4b4b;--pill-border:#676767;
  --chart-text:#9a9a97;--chart-axis:#777774;--chart-tooltip:#202020;
  --trend-1:#eeeeea;--trend-2:#bdbdb9;--trend-3:#999996;--trend-4:#dededa;--trend-5:#b3b3af;
  --rail:184px;--top:0px;--foot:42px;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,"PingFang SC","Microsoft YaHei",monospace;
  --ui-font:var(--mono);--panel-radius:0px;--control-radius:0px;--panel-bg:transparent;--panel-shadow:none;--page-texture:none;
}
:root[data-theme="light"],.skin-preview[data-preview="light"]{
  color-scheme:light;
  --bg:#fafaf8;--bg2:#f0f0ed;--card:#f0f0ed;--card2:#e5e5e1;--line:#d4d4cf;--line2:#999992;
  --txt:#222220;--dim:#595955;--dimmer:#6d6d67;--accent:#30302d;--accent2:#191917;
  --e:#51514c;--c:#6b6b65;--m:#222220;--bad:#454540;--ok:#292926;
  --okbg:#dfdfd9;--badbg:#f0f0ed;--soft:#00000003;--soft2:#00000008;--accbd:#73736d;--hlbg:#e3e3dc;
  --input:#ffffff;--control-border:#aaaaa3;--on-accent:#fafaf8;--accent-hover:#111110;
  --selection:#343431;--on-selection:#ffffff;--gutter:#b0b0a8;--gutter-mobile:#b0b0a8;
  --shadow:#00000014;--option-hover:#d5d5cf;--scrollbar:#a3a39b;--table-rule:#b9b9b1;--pill-border:#999992;
  --chart-text:#666660;--chart-axis:#85857d;--chart-tooltip:#ffffff;
  --trend-1:#252523;--trend-2:#555550;--trend-3:#72726c;--trend-4:#40403b;--trend-5:#63635d;
  --ui-font:var(--mono);--panel-radius:0px;--control-radius:0px;--panel-bg:transparent;--panel-shadow:none;--page-texture:none;
}
:root[data-theme="parchment"],.skin-preview[data-preview="parchment"]{
  color-scheme:light;
  --bg:#eee8de;--bg2:#e5ddd1;--card:#f3eee6;--card2:#e2d7c8;--line:#cfc2b1;--line2:#a69582;
  --txt:#3d352e;--dim:#66594b;--dimmer:#6a5b4b;--accent:#80604b;--accent2:#644a39;
  --e:#876044;--c:#6c7151;--m:#655977;--bad:#855b4b;--ok:#59664d;
  --okbg:#dfe2d3;--badbg:#eaddd2;--soft:#80604b06;--soft2:#80604b0d;--accbd:#80604b;--hlbg:#e4d8c8;
  --input:#f7f2ea;--control-border:#ac9e8d;--on-accent:#fff9f0;--accent-hover:#674a38;
  --selection:#80604b;--on-selection:#fff9f0;--gutter:#a29787;--gutter-mobile:#a29787;
  --shadow:#3d352e12;--option-hover:#e2d7c8;--scrollbar:#b4a48f;--table-rule:#b9a994;--pill-border:#a08e78;
  --chart-text:#736553;--chart-axis:#a69582;--chart-tooltip:#f7f2ea;
  --trend-1:#80604b;--trend-2:#627653;--trend-3:#76668a;--trend-4:#4d7481;--trend-5:#9a625c;
  --ui-font:var(--mono);--panel-radius:12px;--control-radius:6px;--panel-bg:var(--card);--panel-shadow:0 2px 10px #3d352e05;--page-texture:none;
}
:root[data-theme="mist"],.skin-preview[data-preview="mist"]{
  color-scheme:dark;
  --bg:#292830;--bg2:#302f39;--card:#32313c;--card2:#41404d;--line:#4e4b59;--line2:#797483;
  --txt:#e0dce5;--dim:#c0b9ca;--dimmer:#aaa3b6;--accent:#bcb0cf;--accent2:#d4c7e5;
  --e:#bfafcf;--c:#9fbdba;--m:#d4beae;--bad:#d0a6ad;--ok:#aac4b1;
  --okbg:#3d4944;--badbg:#4c3b44;--soft:#c5b7d906;--soft2:#c5b7d912;--accbd:#a599ba;--hlbg:#484150;
  --input:#2c2b34;--control-border:#70697e;--on-accent:#292431;--accent-hover:#d0c2e1;
  --selection:#a599ba;--on-selection:#211d29;--gutter:#797280;--gutter-mobile:#797280;
  --shadow:#11101930;--option-hover:#51495e;--scrollbar:#756a85;--table-rule:#696071;--pill-border:#847a92;
  --chart-text:#b2a9bf;--chart-axis:#85798e;--chart-tooltip:#34303e;
  --trend-1:#bfafcf;--trend-2:#9fbdba;--trend-3:#d4beae;--trend-4:#b0bde1;--trend-5:#ccaebc;
  --ui-font:var(--mono);--panel-radius:10px;--control-radius:5px;--panel-bg:var(--card);--panel-shadow:none;--page-texture:none;
}
:root[data-theme="hud"],.skin-preview[data-preview="hud"]{
  color-scheme:dark;
  --bg:#09151b;--bg2:#0c1c24;--card:#10232b;--card2:#18343c;--line:#27434e;--line2:#426c76;
  --txt:#d9efec;--dim:#a5c5c8;--dimmer:#82a6ae;--accent:#75d8c8;--accent2:#b7f1e5;
  --e:#75d8c8;--c:#e1be77;--m:#89baf0;--bad:#e9a491;--ok:#8ad6b3;
  --okbg:#183c36;--badbg:#3b2b2b;--soft:#75d8c806;--soft2:#75d8c812;--accbd:#75d8c8;--hlbg:#173b42;
  --input:#0b1a22;--control-border:#42707a;--on-accent:#0a2424;--accent-hover:#9de9da;
  --selection:#75d8c8;--on-selection:#092124;--gutter:#43616d;--gutter-mobile:#43616d;
  --shadow:#020c1480;--option-hover:#254b55;--scrollbar:#365f6e;--table-rule:#325562;--pill-border:#508590;
  --chart-text:#91b4be;--chart-axis:#4c7785;--chart-tooltip:#102831;
  --trend-1:#75d8c8;--trend-2:#e1be77;--trend-3:#89baf0;--trend-4:#c2a7e8;--trend-5:#d69f8c;
  --ui-font:var(--mono);--panel-radius:0px;--control-radius:0px;--panel-bg:var(--card);--panel-shadow:inset 2px 0 0 #75d8c866;--page-texture:linear-gradient(#75d8c806 1px,transparent 1px),linear-gradient(90deg,#75d8c806 1px,transparent 1px);
}
:root[data-theme="porcelain"],.skin-preview[data-preview="porcelain"]{
  color-scheme:light;
  --bg:#f4f3ef;--bg2:#eae8e3;--card:#f9f8f5;--card2:#e4e0df;--line:#d5d0cf;--line2:#a59b9f;
  --txt:#302d33;--dim:#625960;--dimmer:#6a5e66;--accent:#725c6a;--accent2:#51414c;
  --e:#725c6a;--c:#4e6863;--m:#5b607b;--bad:#8b505c;--ok:#4f6b5b;
  --okbg:#e1e9e0;--badbg:#eee1e3;--soft:#725c6a04;--soft2:#725c6a0c;--accbd:#88717f;--hlbg:#e8dfe5;
  --input:#fcfbf8;--control-border:#92898d;--on-accent:#fcf8fb;--accent-hover:#584652;
  --selection:#725c6a;--on-selection:#fcf8fb;--gutter:#a8a1a4;--gutter-mobile:#a8a1a4;
  --shadow:#302d330a;--option-hover:#e4dde1;--scrollbar:#a89ba3;--table-rule:#b5aaaf;--pill-border:#9b8a94;
  --chart-text:#6c5f68;--chart-axis:#a2909b;--chart-tooltip:#fcfbf8;
  --trend-1:#725c6a;--trend-2:#4e6863;--trend-3:#5b607b;--trend-4:#886147;--trend-5:#626d43;
  --ui-font:var(--mono);--panel-radius:4px;--control-radius:3px;--panel-bg:var(--card);--panel-shadow:none;--page-texture:none;
}
:root[data-theme="sandstone"],.skin-preview[data-preview="sandstone"]{
  color-scheme:light;
  --bg:#d5d0c6;--bg2:#c8c2b7;--card:#e0dbd2;--card2:#c6beb1;--line:#b1a799;--line2:#8c7e6d;
  --txt:#302d28;--dim:#524b40;--dimmer:#544a3e;--accent:#574935;--accent2:#41382d;
  --e:#574935;--c:#405043;--m:#5b4656;--bad:#784638;--ok:#405a45;
  --okbg:#c6d0bf;--badbg:#decbc1;--soft:#60513e04;--soft2:#60513e0c;--accbd:#7f705c;--hlbg:#cfc2ae;
  --input:#e7e2d9;--control-border:#827562;--on-accent:#f6f1e7;--accent-hover:#493e2e;
  --selection:#60513e;--on-selection:#f6f1e7;--gutter:#948773;--gutter-mobile:#948773;
  --shadow:#302d280c;--option-hover:#c5b9a5;--scrollbar:#9b8d76;--table-rule:#a59680;--pill-border:#8b7c65;
  --chart-text:#5d5141;--chart-axis:#8f806a;--chart-tooltip:#e7e2d9;
  --trend-1:#574935;--trend-2:#405043;--trend-3:#5b4656;--trend-4:#465d69;--trend-5:#7b503e;
  --ui-font:var(--mono);--panel-radius:2px;--control-radius:2px;--panel-bg:var(--card);--panel-shadow:none;--page-texture:none;
}
:root[data-theme="pine"],.skin-preview[data-preview="pine"]{
  color-scheme:dark;
  --bg:#101a17;--bg2:#17221e;--card:#1c2a24;--card2:#293b32;--line:#34483c;--line2:#627866;
  --txt:#e2e5da;--dim:#b8c3b4;--dimmer:#a4b4a1;--accent:#c3c5a5;--accent2:#dedfc4;
  --e:#c3c5a5;--c:#a5c3b3;--m:#b7bdd4;--bad:#d2aba3;--ok:#b1c9ab;
  --okbg:#304535;--badbg:#493730;--soft:#c3c5a504;--soft2:#c3c5a50d;--accbd:#9aa989;--hlbg:#374636;
  --input:#14221b;--control-border:#6a806c;--on-accent:#19251d;--accent-hover:#dedfc4;
  --selection:#c3c5a5;--on-selection:#19251d;--gutter:#637663;--gutter-mobile:#637663;
  --shadow:#060e0933;--option-hover:#3b4c3e;--scrollbar:#5e7862;--table-rule:#526c56;--pill-border:#7b9079;
  --chart-text:#aebca6;--chart-axis:#768c72;--chart-tooltip:#223229;
  --trend-1:#c3c5a5;--trend-2:#a5c3b3;--trend-3:#b7bdd4;--trend-4:#d0b298;--trend-5:#c3aebf;
  --ui-font:var(--mono);--panel-radius:3px;--control-radius:2px;--panel-bg:var(--card);--panel-shadow:none;--page-texture:none;
}
:root[data-theme="frost"],.skin-preview[data-preview="frost"]{
  color-scheme:light;
  --bg:#edf0f3;--bg2:#e3e8ed;--card:#f6f8fa;--card2:#dce4ec;--line:#cbd4dd;--line2:#93a4b5;
  --txt:#253445;--dim:#506276;--dimmer:#566879;--accent:#456481;--accent2:#2c4b68;
  --e:#476d8b;--c:#567b7b;--m:#72688e;--bad:#8b5f6a;--ok:#4b7666;
  --okbg:#dbe7e3;--badbg:#eadee3;--soft:#45648104;--soft2:#4564810b;--accbd:#527594;--hlbg:#dce6ef;
  --input:#fafcfd;--control-border:#9cadbd;--on-accent:#f7fbff;--accent-hover:#2f4e6c;
  --selection:#456481;--on-selection:#f7fbff;--gutter:#9aa8b6;--gutter-mobile:#9aa8b6;
  --shadow:#2534450c;--option-hover:#dce4ec;--scrollbar:#9cadbd;--table-rule:#a4b4c3;--pill-border:#91a4b5;
  --chart-text:#586d82;--chart-axis:#94a7ba;--chart-tooltip:#fafcfd;
  --trend-1:#476d8b;--trend-2:#567b7b;--trend-3:#72688e;--trend-4:#956b64;--trend-5:#5a738c;
  --ui-font:var(--mono);--panel-radius:0px;--control-radius:2px;--panel-bg:var(--card);--panel-shadow:none;--page-texture:none;
}
:root[data-theme="sage"],.skin-preview[data-preview="sage"]{
  color-scheme:light;
  --bg:#dfe6d8;--bg2:#d3ddcc;--card:#e6ebdf;--card2:#ced9c5;--line:#b7c5ac;--line2:#879a7c;
  --txt:#2d3f2e;--dim:#4f644d;--dimmer:#50644b;--accent:#536f50;--accent2:#3c583c;
  --e:#4f704c;--c:#786d42;--m:#4b7371;--bad:#835f4b;--ok:#4b6949;
  --okbg:#ccdcca;--badbg:#e0d6c5;--soft:#536f5005;--soft2:#536f500d;--accbd:#62815b;--hlbg:#cad9bf;
  --input:#edf1e7;--control-border:#8ea383;--on-accent:#f2f6eb;--accent-hover:#3d573b;
  --selection:#536f50;--on-selection:#f2f6eb;--gutter:#8b9e80;--gutter-mobile:#8b9e80;
  --shadow:#2d3f2e0c;--option-hover:#ced9c5;--scrollbar:#92a585;--table-rule:#9aaf8e;--pill-border:#879d7b;
  --chart-text:#567050;--chart-axis:#8ca580;--chart-tooltip:#edf1e7;
  --trend-1:#4f704c;--trend-2:#786d42;--trend-3:#4b7371;--trend-4:#7d6180;--trend-5:#8b6653;
  --ui-font:var(--mono);--panel-radius:8px;--control-radius:4px;--panel-bg:var(--card);--panel-shadow:none;--page-texture:none;
}
:root[data-theme="graphite"],.skin-preview[data-preview="graphite"]{
  color-scheme:dark;
  --bg:#1b2027;--bg2:#20262e;--card:#252d36;--card2:#303b46;--line:#394652;--line2:#627383;
  --txt:#dce2e9;--dim:#b3bfcb;--dimmer:#a0afbd;--accent:#b6c7d7;--accent2:#d1dbe5;
  --e:#b6c7d7;--c:#a8bbb4;--m:#cfcedd;--bad:#c0a5aa;--ok:#afc1b7;
  --okbg:#33433e;--badbg:#44363e;--soft:#b6c7d704;--soft2:#b6c7d70d;--accbd:#92a6b8;--hlbg:#354350;
  --input:#202831;--control-border:#617485;--on-accent:#1b2731;--accent-hover:#d1dbe5;
  --selection:#b6c7d7;--on-selection:#18222c;--gutter:#667583;--gutter-mobile:#667583;
  --shadow:#080d1438;--option-hover:#3b4956;--scrollbar:#617180;--table-rule:#526372;--pill-border:#6c8092;
  --chart-text:#a4b5c5;--chart-axis:#6e8192;--chart-tooltip:#293440;
  --trend-1:#b6c7d7;--trend-2:#a8bbb4;--trend-3:#cfcedd;--trend-4:#c1b5a5;--trend-5:#a4bfd0;
  --ui-font:var(--mono);--panel-radius:0px;--control-radius:2px;--panel-bg:var(--card);--panel-shadow:none;--page-texture:none;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;min-width:0}
html{font-size:14px;scroll-padding-top:64px;scroll-padding-bottom:calc(var(--foot) + 18px)}
body{background:var(--bg);background-image:var(--page-texture);color:var(--txt);font-family:var(--ui-font);line-height:1.65;min-height:100vh;font-variant-numeric:tabular-nums}
::selection{background:var(--selection);color:var(--on-selection)}
button,input,select,textarea{font:inherit;border-radius:var(--control-radius)}
button{cursor:pointer}
button:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible,.tbl-wrap:focus-visible{outline:2px solid var(--txt);outline-offset:3px}
button:disabled,input:disabled{cursor:not-allowed;opacity:.5}
button{touch-action:manipulation}
.ic{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.code-mark{font-family:var(--mono);font-size:14px;letter-spacing:-1px;color:var(--txt)}
.f-rail{position:fixed;top:var(--top);left:0;bottom:var(--foot);width:var(--rail);z-index:50;background:var(--bg2);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:25px 0 14px;overflow-y:auto}
.f-logo{padding:0 20px 19px;font-size:13px;color:var(--txt);letter-spacing:.5px;display:flex;align-items:center;gap:9px}
.f-folder{padding:0 18px 12px;font-size:12px;color:var(--dim)}
.f-rail button{background:none;border:0;border-left:2px solid transparent;color:var(--dim);padding:10px 20px;display:flex;align-items:center;gap:14px;text-align:left;min-height:43px}
.f-rail button i{font-size:11px;color:var(--dimmer);font-style:normal}
.f-rail button span{font-size:13px;font-weight:400}
.f-rail button:hover{background:var(--card2);color:var(--txt)}
.f-rail button.active{border-left-color:var(--txt);background:var(--card2);color:var(--txt)}
.f-rail button.active i{color:var(--txt)}
.f-rail button:focus-visible{outline-offset:-4px}
.f-rail .f-config{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
.f-rail .f-lock{margin-top:auto}
.editor-tabs{margin-top:var(--top);margin-left:var(--rail);position:sticky;top:var(--top);z-index:45;display:flex;align-items:stretch;min-height:43px;background:var(--card);border-bottom:1px solid var(--line);font-size:12px}
.editor-tab{display:flex;align-items:center;gap:20px;background:var(--bg);border-top:1px solid var(--txt);border-right:1px solid var(--line);padding:10px 22px}
.editor-tab .tab-mark{font-size:11px;color:var(--dimmer)}
.editor-label{display:flex;align-items:center;padding:8px 20px;color:var(--dimmer);font-size:11px}
.f-main{position:relative;margin-left:var(--rail);padding:40px 44px 85px 62px;max-width:1640px}
.line-numbers{position:absolute;top:40px;left:18px;bottom:70px;overflow:hidden;pointer-events:none;user-select:none;color:var(--gutter);font-size:11px;line-height:42px;white-space:pre;text-align:right}
.page{display:none;animation:fade .16s ease}
.page.active{display:block}
@keyframes fade{from{opacity:.35}to{opacity:1}}
.pagetitle{font-size:27px;font-weight:500;letter-spacing:-1px;overflow-wrap:anywhere;line-height:36px}
.pagetitle::before{content:"> ";color:var(--dimmer)}
.pagetitle::after{content:"_";color:var(--dimmer)}
.pagesub{color:var(--dim);font-size:12px;line-height:20px;margin-top:8px;max-width:900px}
.pagesub:empty{display:none}
.card{background:var(--panel-bg);border:1px solid var(--line);border-radius:var(--panel-radius);box-shadow:var(--panel-shadow);padding:23px 24px;margin-bottom:20px}
.card h3{font-size:12px;line-height:20px;color:var(--dim);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-weight:400;margin-bottom:20px}
.card h3::before{content:"//";color:var(--dimmer)}
.card h3 .cn{color:var(--dimmer);font-weight:400;font-size:11px}
label{display:block;color:var(--dim);font-size:12px;margin-bottom:7px}
input,select,textarea{width:100%;background:var(--input);border:1px solid var(--control-border);color:var(--txt);padding:9px 11px;font-size:13px;min-height:42px;transition:border-color .15s}
input::placeholder,textarea::placeholder{color:var(--dimmer);opacity:1}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accbd);outline-offset:2px;border-color:var(--accent)}
input[type=number]{font-family:var(--mono)}
input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--accent);flex:none}
input[type=range]{accent-color:var(--accent);padding:0;background:transparent;border:0;min-width:0}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.seg{display:flex;background:var(--input);border:1px solid var(--control-border)}
.seg button{flex:1;min-height:40px;background:none;border:0;color:var(--dimmer);padding:9px 6px;font-size:12px;white-space:nowrap}
.seg button+button{border-left:1px solid var(--line)}
.seg button.on-yes{background:var(--okbg);color:var(--ok)}
.seg button.on-no{background:var(--badbg);color:var(--txt);box-shadow:inset 0 -2px 0 var(--dim)}
.seg button.on-yes::before{content:"● ";font-size:9px}
.seg button.on-no::before{content:"× ";font-size:13px}
.seg button:focus-visible{outline-offset:-4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);padding:10px 24px;font-size:13px;font-weight:500}
.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}
.btn.ghost{background:var(--input);color:var(--dim);border-color:var(--control-border);font-weight:400;padding:9px 16px;font-size:12px}
.btn.ghost:hover{background:var(--card2);border-color:var(--dimmer);color:var(--txt)}
.btn.danger{background:none;border:1px dashed var(--dimmer);color:var(--txt);font-weight:400;padding:9px 16px;font-size:12px}
.btn.danger:hover{background:var(--card2);border-color:var(--txt)}
.squad{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.esc-card{background:var(--panel-bg);border:1px solid var(--line);border-radius:var(--panel-radius);box-shadow:var(--panel-shadow);padding:23px 24px}
.esc-card .ec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-height:32px;margin-bottom:20px}
.ec-title{font-size:12px;color:var(--dim);font-weight:400}
.ec-title::before{content:"// ";color:var(--dimmer)}
.esc-card.off>.grid{opacity:.4}
/* 快速登记：单卡紧凑布局 */
.card.compact{padding:18px 20px}
.card.compact .entry-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.card.compact .entry-head h3,.card.compact .entry-head label{margin:0}
.card.compact label{margin-bottom:4px}
.mini-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:12px}
.mini-row input[type=datetime-local]{max-width:230px}
.fl{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:end;border-top:1px dashed var(--line);padding-top:12px;margin-top:12px}
.fl-tag{font-size:11px;color:var(--dimmer);padding-bottom:11px}
.fl-cells{display:grid;gap:10px}
.fl-cells.c2{grid-template-columns:1fr 1fr}
.fl-cells.c3{grid-template-columns:1.5fr 1.2fr 0.9fr}
#cardB.off{opacity:.4}
[hidden]{display:none!important}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;margin-bottom:24px}
.page-head .pagesub{max-width:700px}
.page-heading{flex:1 1 240px}
.page-aside{font-size:11px;line-height:20px;color:var(--dimmer);white-space:nowrap;padding-top:8px}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}
.section-head h3{margin:0}
.section-head .hint{text-align:right;line-height:20px}
.action-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.shot-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin-bottom:24px;border-block:1px solid var(--line)}
.shot-flow li{display:flex;align-items:center;gap:12px;padding:15px 0;color:var(--dimmer);font-size:12px}
.shot-flow li+li{padding-left:20px;border-left:1px solid var(--line)}
.shot-flow .step-no{font-size:11px;border:1px solid var(--line2);width:25px;height:25px;display:grid;place-items:center;flex:none}
.shot-flow .is-current{color:var(--txt)}
.shot-flow .is-current .step-no{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.shot-flow .is-complete{color:var(--dim)}
.shot-drop{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px dashed var(--line2);padding:24px;cursor:pointer;background:var(--soft)}
.shot-drop:hover,.shot-drop.dragover{border-color:var(--txt);background:var(--card2)}
.shot-drop[aria-disabled=true]{cursor:not-allowed;opacity:.5}
.shot-drop:focus-visible{outline:2px solid var(--txt);outline-offset:3px}
.sd-big{font-size:14px;font-weight:500}
.sd-sub{font-size:11px;color:var(--dim);margin-top:6px}
.sd-key{font-size:11px;color:var(--dim);white-space:nowrap;border:1px solid var(--line);padding:6px 10px}
.shot-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;flex-wrap:wrap}
.shot-toolbar .hint{flex:1}
.shot-toolbar .btn{min-width:148px}
.shot-empty{padding:35px 20px;border:1px dashed var(--line);text-align:center;color:var(--dim);font-size:12px}
.shot-empty small{display:block;margin-top:5px;font-size:11px;color:var(--dimmer)}
.shot-row{border-top:1px solid var(--line);padding:22px 0}
.shot-row:first-child{padding-top:0;border-top:0}
.shot-row:last-child{padding-bottom:0}
.shot-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.shot-number{font-size:11px;color:var(--dimmer)}
.shot-name{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:400}
.shot-head .link{padding:3px 6px;min-height:30px;flex:none}
.shot-badge{display:inline-flex;align-items:center;gap:6px;flex:none;border:1px solid var(--line2);padding:2px 8px;font-size:10px;color:var(--dim);white-space:nowrap}
.shot-badge::before{content:"○"}
.shot-badge.done{background:var(--okbg);color:var(--txt)}
.shot-badge.done::before{content:"✓"}
.shot-badge.fail,.shot-badge.incomplete{border-style:dashed;color:var(--txt)}
.shot-badge.fail::before,.shot-badge.incomplete::before{content:"!"}
.shot-badge.busy::before{content:"◌";animation:shot-spin 1.4s linear infinite}
@keyframes shot-spin{to{transform:rotate(360deg)}}
.shot-body{display:grid;grid-template-columns:168px minmax(0,1fr);gap:24px;align-items:start}
.shot-thumb{margin:0}
.shot-thumb img{display:block;width:100%;height:112px;object-fit:contain;background:var(--card);border:1px solid var(--line)}
.shot-thumb figcaption{font-size:10px;color:var(--dimmer);margin-top:7px;overflow-wrap:anywhere}
.shot-form{display:grid;grid-template-columns:minmax(135px,1.2fr) minmax(205px,1.7fr) minmax(70px,.65fr) minmax(90px,.8fr) minmax(95px,.8fr);gap:12px;align-items:end}
.shot-form label{margin-bottom:6px;font-size:11px}
.shot-form input,.shot-form select{min-height:40px;padding:8px;font-size:12px}
.shot-form [aria-invalid=true]{border-style:dashed;border-color:var(--txt)}
.shot-meta{font-size:11px;color:var(--dimmer);margin-top:12px;overflow-wrap:anywhere}
.shot-players{display:flex;flex-wrap:wrap;gap:8px 20px;border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
.shot-player{font-size:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;overflow-wrap:anywhere}
.shot-player .mapped{color:var(--dim);font-size:11px}
.shot-player .unmapped{color:var(--dimmer);border-bottom:1px dotted var(--line2)}
.shot-miss,.shot-fail{font-size:12px;color:var(--txt);overflow-wrap:anywhere}
.shot-miss{margin-top:12px;padding:8px 10px;border-left:2px solid var(--line2);background:var(--soft2)}
.shot-wait{align-self:center;color:var(--dim);font-size:12px}
.shot-wait .link{display:block;margin-top:12px}
.smap-intro{max-width:780px;margin-bottom:20px}
.smap-head,.smap-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:center}
.smap-head{font-size:11px;color:var(--dimmer);padding:10px 0;border-block:1px solid var(--line)}
.smap-row{border-bottom:1px solid var(--line);padding:14px 0}
.smap-row:last-child{border-bottom:0;padding-bottom:0}
.smap-name b{display:block;font-size:12px;overflow-wrap:anywhere}
.smap-name small{color:var(--dimmer);font-size:11px}
.smap-row select,.smap-row input{font-size:12px;min-height:40px}
.smap-note{font-size:11px;color:var(--dimmer);overflow-wrap:anywhere}
.shot-commitbar{position:sticky;bottom:var(--foot);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;margin-top:24px;background:var(--card);border:1px solid var(--line2);z-index:10}
.shot-commitbar strong{font-size:13px;font-weight:500}
.shot-commitbar .hint{font-size:11px;margin-top:3px}
.shot-commitbar .btn{flex:none;min-width:174px}
@media(max-width:1250px){.shot-form{grid-template-columns:repeat(6,minmax(0,1fr))}.shot-form>div{grid-column:span 2}.shot-form>div:nth-child(-n+2){grid-column:span 3}.shot-body{grid-template-columns:144px minmax(0,1fr);gap:18px}}
@media(max-width:850px){.shot-body{grid-template-columns:1fr}.shot-thumb{display:flex;align-items:center;gap:14px}.shot-thumb img{width:144px;height:90px}.shot-thumb figcaption{margin:0}.smap-head,.smap-row{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px}.smap-head span:last-child{display:none}.smap-note,.smap-new{grid-column:2}.shot-flow li{font-size:11px;gap:8px}.shot-flow li+li{padding-left:12px}.shot-drop{padding:20px}}
@media(max-width:680px){.page-head{gap:12px}.page-aside{display:none}.shot-flow li{align-items:flex-start;flex-direction:column;padding-block:12px}.shot-flow .step-no{width:auto;height:auto;border:0;background:none!important;color:var(--dim)!important}.shot-flow .is-current{box-shadow:inset 0 -2px var(--txt)}.shot-drop{align-items:flex-start;flex-direction:column;gap:12px;padding:18px}.sd-key{border:0;padding:0}.shot-toolbar{gap:12px}.shot-toolbar .hint{flex:1 1 100%}.shot-head{gap:8px}.shot-body{gap:14px}.shot-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shot-form>div,.shot-form>div:nth-child(-n+2){grid-column:auto}.shot-form>div:nth-child(2){grid-column:1/-1;grid-row:2}.shot-players{flex-direction:column;gap:10px}.smap-head{display:none}.smap-row{grid-template-columns:1fr;gap:8px;padding:16px 0}.smap-name{display:flex;align-items:baseline;gap:10px;justify-content:space-between}.smap-name small{flex:none}.smap-note,.smap-new{grid-column:auto}.shot-commitbar{padding:14px;gap:12px;flex-wrap:wrap}.shot-commitbar .btn{width:100%}.section-head{align-items:flex-start;gap:10px}.section-head .hint{font-size:10px}.shot-name{font-size:11px}.shot-head .link{font-size:11px}}
.solo-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--dim);cursor:pointer;user-select:none;min-height:32px}
.alpha-wrap{display:flex;align-items:center;gap:12px}
.alpha-wrap .seg{flex:1}
.alpha-wrap input[type=number]{width:92px;flex:none}
.hint{color:var(--dimmer);font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.result{display:none;background:var(--card);border:1px solid var(--line2);border-left:3px solid var(--accent);padding:21px 24px;margin-top:24px}
.result.show{display:block;animation:fade .2s ease}
.result::before{content:"// output · 登记结果";display:block;font-size:11px;color:var(--dim);margin-bottom:14px}
.result .r-row{display:flex;gap:28px;flex-wrap:wrap;align-items:baseline}
.r-label{font-size:11px;color:var(--dim)}
.r-num{font-size:27px;font-weight:400}
.r-num.cE{color:var(--e)}.r-num.cC{color:var(--c)}
.combo{position:relative}
.combo-list{position:absolute;top:100%;left:0;right:0;background:var(--card2);border:1px solid var(--line2);z-index:40;max-height:200px;overflow:auto;box-shadow:0 8px 22px var(--shadow)}
.combo-list>[role=option]{display:block;width:100%;padding:11px 12px;min-height:42px;cursor:pointer;font-size:13px;color:var(--txt);text-align:left;background:transparent;border:0}
.combo-list>[role=option]:hover,.combo-list>[aria-selected=true]{background:var(--option-hover)}
.combo-list .cn-note{color:var(--dim);font-size:11px;margin-left:8px}
.tbl-wrap{max-width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}
table{width:100%;border-collapse:collapse;font-size:13px}
th{color:var(--dim);background:var(--card);font-weight:400;font-size:11px;text-align:left;padding:12px;white-space:nowrap;border-bottom:1px solid var(--table-rule)}
td{padding:13px 12px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle}
td.num,th.num{text-align:right}
tr:hover td{background:var(--soft2)}
td.col-hl,th.col-hl,tr:hover td.col-hl{background:var(--hlbg)}
b{font-weight:500}
.pill{display:inline-block;padding:1px 7px;font-size:11px;font-weight:400;border:1px solid var(--line2)}
.pill.y{background:var(--okbg);color:var(--ok);border-color:var(--pill-border)}
.pill.n{background:transparent;color:var(--dim);border-style:dashed}
.pill.a{background:var(--input);color:var(--dim);border-color:var(--line)}
.link{background:transparent;border:0;color:var(--txt);cursor:pointer;font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:4px;min-height:36px;padding:6px}
.link:hover{background:var(--card2)}
.link.del{color:var(--dim);text-decoration-style:dotted}
.boardtabs{display:flex;gap:4px;margin-bottom:20px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.boardtabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--dimmer);padding:10px 18px;min-height:43px;font-size:12px}
.boardtabs button:hover{background:var(--card);color:var(--txt)}
.boardtabs button.active{border-bottom-color:var(--txt);color:var(--txt);background:var(--card)}
.boardtabs.small{margin-bottom:18px;border-bottom:0}
.boardtabs.small button{padding:7px 13px;min-height:36px;font-size:11px}
.detail-hero{display:flex;gap:0;flex-wrap:wrap;align-items:stretch;margin:0 0 20px;border:1px solid var(--line)}
.stat-tile{flex:1;min-width:150px;background:var(--card);border-right:1px solid var(--line);padding:22px}
.stat-tile:last-child{border-right:0}
.t-label{font-size:11px;color:var(--dim)}
.t-num{font-size:31px;font-weight:400;margin-top:6px;overflow-wrap:anywhere}
.t-sub{font-size:11px;color:var(--dimmer);margin-top:5px}
canvas.chart,canvas.tchart{width:100%;height:300px;display:block}
canvas.chart{cursor:crosshair;touch-action:pan-y}
.legend{display:flex;gap:10px;font-size:12px;color:var(--dim);margin-top:12px;flex-wrap:wrap}
.legend i{display:inline-block;width:21px;height:0;margin-right:8px;vertical-align:middle;border-top:2px solid}
.legend .lg-e{border-color:var(--e);border-top-style:dashed}
.legend .lg-c{border-color:var(--c);border-top-style:dotted}
.legend .lg-m{border-color:var(--m)}
.legend button{background:none;border:1px solid transparent;color:var(--dim);font:inherit;user-select:none;padding:8px;min-height:36px}
.legend button:hover{border-color:var(--line)}
.legend button.off{opacity:.45;text-decoration:line-through}
.trend-legend{display:flex;gap:12px 18px;flex-wrap:wrap;margin-top:16px;font-size:11px;color:var(--dim)}
.trend-legend svg{width:26px;height:12px;margin-right:7px;vertical-align:middle}
td.sparkcell canvas{height:28px;width:110px;display:block}
.note-input{background:transparent;border:1px dashed transparent;color:var(--dim);font-size:12px;padding:6px;min-width:160px}
.note-input:hover{border-color:var(--line2)}
.name-input{font-weight:500;color:var(--txt);min-width:90px}
.note-input:focus{background:var(--input);border-color:var(--accent);color:var(--txt)}
.rank-first{display:inline-block;border:1px solid var(--line2);color:var(--dim);padding:0 5px;margin-left:9px;font-size:10px;vertical-align:1px}
#gate{min-height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:28px 18px calc(var(--foot) + 28px)}
#gate .g-card{width:100%;max-width:420px;background:var(--bg);border:1px solid var(--control-border)}
.g-window{background:var(--card);border-bottom:1px solid var(--line);padding:10px 17px;display:flex;justify-content:space-between;color:var(--dim);font-size:11px}
.g-content{padding:31px 32px}
#gate .g-logo{font-weight:500;font-size:27px;letter-spacing:-1px;margin-bottom:4px}
#gate .g-logo em{font-style:normal;color:var(--dimmer)}
#gate .g-tag{font-size:11px;color:var(--dimmer);margin:5px 0 27px}
#gate .g-msg{color:var(--dim);font-size:12px;margin-bottom:14px}
#gate .err{color:var(--txt);font-size:12px;margin-top:10px;min-height:22px}
#app{display:flow-root;min-height:100vh}
#gate.hidden,#app.hidden{display:none}
footer{position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--card);border-top:1px solid var(--line);height:var(--foot);padding:0 18px 0 0;color:var(--dimmer);font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:14px;white-space:nowrap}
.footer-left{display:flex;align-items:center;gap:18px}
.footer-right{display:flex;gap:24px}
.theme-toggle{display:flex;align-items:center;justify-content:center;gap:9px;flex:none;height:calc(var(--foot) - 1px);padding:0 18px;background:transparent;color:var(--dim);border:0;border-right:1px solid var(--line);font-size:11px}
.theme-toggle:hover{background:var(--card2);color:var(--txt)}
.theme-toggle:focus-visible{outline-offset:-4px}
.theme-toggle .theme-sun{display:none}
.theme-toggle[aria-checked="true"] .theme-sun{display:block}
.theme-toggle[aria-checked="true"] .theme-moon{display:none}
.formula{font-size:12px;background:var(--input);padding:17px;margin-top:17px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--dim);line-height:1.9;border:1px solid var(--line)}
summary{min-height:36px;padding:7px 0}
.home-comment{font-size:12px;color:var(--dimmer);margin-bottom:13px}
.fh-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:0 0 36px}
.fh-title{font-size:clamp(30px,4vw,45px);font-weight:500;letter-spacing:-2px;color:var(--txt);line-height:1.3}
.fh-title .prompt,.fh-title .cursor{color:var(--dimmer)}
.fh-sub{font-size:12px;color:var(--dim);margin-top:11px}
.fh-clockbox{text-align:right;padding-top:10px;flex:none}
.fh-clock{font-size:18px;color:var(--dim)}
.fh-date{font-size:11px;color:var(--dimmer);margin-top:3px}
.fh-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:46px;align-items:start;margin-bottom:40px}
.fh-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}
.fh-strip .fs{display:grid;grid-template-columns:minmax(95px,1fr) auto 48px;align-items:baseline;gap:16px;padding:11px 0}
.fh-strip .fs .fs-l{font-size:13px;color:var(--dim)}
.fh-strip .fs .fs-l::after{content:":";color:var(--dimmer)}
.fs-val{font-size:24px;font-weight:400;letter-spacing:-.7px;line-height:1.35;overflow-wrap:anywhere;text-align:right}
.fs:first-child .fs-val{font-size:38px;color:var(--txt)}
.fs-unit{font-size:11px;color:var(--dimmer);white-space:nowrap}
.fh-maps{padding-top:17px}
.fh-maps h2{font-size:12px;font-weight:400;color:var(--dim);margin-bottom:24px}
.fh-maps h2::before{content:"// ";color:var(--dimmer)}
.fh-maprow{display:grid;grid-template-columns:75px minmax(0,1fr) 45px;align-items:center;gap:15px;margin:20px 0}
.mr-n{font-size:13px}.mr-bar{height:4px;background:var(--line)}
.mr-bar>div{height:100%;background:var(--accent)}
.mr-c{font-size:11px;color:var(--dim);text-align:right}
.home-terminal{border-top:1px solid var(--line);padding-top:22px}
.home-terminal .hint{margin-bottom:17px}
.fh-action{display:flex;align-items:center;justify-content:space-between;gap:30px;width:280px;max-width:100%;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);padding:12px 19px;min-height:47px;font-size:13px}
.fh-action:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.home-shortcuts{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;margin-top:26px}
.fh-mini{background:transparent;color:var(--dim);border:0;padding:10px 0;text-align:left;font-size:12px;min-height:42px}
.fh-mini small{font-size:11px;color:var(--dimmer);margin-left:10px}
.fh-mini:hover{color:var(--txt);text-decoration:underline;text-underline-offset:4px}
:root[data-theme="hud"] body{background-size:32px 32px}
:root[data-theme="hud"] .pagetitle,:root[data-theme="hud"] .fh-title{color:var(--accent2)}
:root[data-theme="hud"] .card,:root[data-theme="hud"] .esc-card{background-image:linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent));background-size:14px 2px,2px 14px;background-position:top right,top right;background-repeat:no-repeat}
:root[data-theme="hud"] .f-logo,:root[data-theme="hud"] .editor-tab{color:var(--accent)}
.result,.detail-hero,.shot-commitbar,#gate .g-card{border-radius:var(--panel-radius)}
#gate .g-card{overflow:hidden}
.skin-group-title{font-size:11px;font-weight:400;color:var(--dim);margin:24px 0 12px;letter-spacing:.06em}
.skin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.skin-choice{display:flex;flex-direction:column;text-align:left;padding:0;background:var(--bg);border:1px solid var(--line2);border-radius:var(--panel-radius);color:var(--txt);overflow:hidden}
.skin-choice:hover{border-color:var(--accent)}
.skin-choice[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.skin-choice:focus-visible{outline-offset:4px}
.skin-preview{display:grid;grid-template-columns:38px minmax(0,1fr);width:100%;height:142px;background:var(--bg);background-image:var(--page-texture);color:var(--txt);font-family:var(--ui-font);font-size:9px;border-bottom:1px solid var(--line)}
.skin-mini-rail{background:var(--bg2);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px;padding:14px 8px}
.skin-mini-rail i{height:3px;background:var(--line2);width:17px}
.skin-mini-rail i:first-child{background:var(--accent);height:5px;margin-bottom:9px}
.skin-mini-main{padding:13px 15px;display:flex;flex-direction:column;gap:10px}
.skin-mini-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:var(--mono);font-size:9px;letter-spacing:.05em}
.skin-mini-heading i{width:22px;height:5px;background:var(--accent);border-radius:var(--control-radius)}
.skin-mini-panel{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;background:var(--panel-bg);border:1px solid var(--line);border-radius:var(--panel-radius);box-shadow:var(--panel-shadow)}
.skin-mini-panel b{font-family:var(--mono);font-size:19px;font-weight:400;line-height:1.2}
.skin-mini-panel svg{width:70px;height:29px;overflow:visible}
.skin-mini-lines{display:grid;gap:6px;padding-top:2px}
.skin-mini-lines i{height:2px;background:var(--line)}
.skin-mini-lines i:last-child{width:73%}
.skin-preview[data-preview="hud"]{background-size:16px 16px}
.skin-preview[data-preview="hud"] .skin-mini-heading{color:var(--accent)}
.skin-info{display:block;padding:14px 15px 15px;width:100%}
.skin-title{display:flex;justify-content:space-between;align-items:center;gap:8px}
.skin-title strong{font-size:13px;font-weight:500}
.skin-state{font-size:10px;color:var(--dimmer);white-space:nowrap}
.skin-choice[aria-pressed="true"] .skin-state{color:var(--txt);font-weight:500}
@media(max-width:1100px){.skin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.skin-grid{grid-template-columns:1fr}.skin-preview{height:132px}.skin-mini-main{padding:12px 16px}.skin-info{padding:12px 14px}.skin-group-title{margin-top:20px}}
@media(min-width:1500px){.f-main{padding-left:80px;padding-right:70px}.line-numbers{left:30px}}
@media(max-width:1100px){.g3,.g4,.g5{grid-template-columns:repeat(2,minmax(0,1fr))}.g3>div:last-child:nth-child(3){grid-column:1/-1}.squad{grid-template-columns:1fr}.fh-grid{gap:28px}.fs:first-child .fs-val{font-size:31px}.fh-strip .fs{gap:10px}}
@media(max-width:850px){:root{--rail:154px}.f-main{padding-left:46px;padding-right:24px}.line-numbers{left:12px}.fh-grid{grid-template-columns:1fr;gap:25px}.fh-top{padding-bottom:26px}.card,.esc-card{padding:20px}.f-rail button{padding-left:16px}}
@media(max-width:680px){
  :root{--foot:45px}
  html{scroll-padding-top:130px}
  .f-rail{position:relative;top:auto;bottom:auto;margin-top:0;width:100%;flex-direction:row;flex-wrap:wrap;gap:0;padding:5px 8px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}
  .f-logo,.f-folder{display:none}.f-rail button{flex:1 0 22%;justify-content:center;padding:8px 7px;gap:7px;min-height:39px;border-left:0;border-bottom:1px solid transparent}.f-rail button span{font-size:12px}.f-rail button i{font-size:10px}
  .f-rail button.active{border-bottom-color:var(--txt)}.f-rail .f-config{border-top:0;margin-top:0;padding-top:8px}.f-rail .f-lock{margin-top:0}
  .editor-tabs{margin:0;position:static;min-height:41px}.editor-tab{padding:9px 15px}.editor-label{padding:8px 12px}
  .f-main{margin-left:0;padding:26px 16px 77px 33px}.line-numbers{top:26px;left:8px;font-size:10px;color:var(--gutter-mobile);line-height:38px}
  .pagetitle{font-size:23px;line-height:32px}.page-head{margin-bottom:20px}.card,.esc-card{padding:17px 14px}.grid{gap:14px}.g3,.g4,.g5{grid-template-columns:1fr}.g3>div:last-child:nth-child(3){grid-column:auto}
  .g2{grid-template-columns:repeat(2,minmax(0,1fr))}.seg button{font-size:11px;padding:9px 3px}
  .fl{grid-template-columns:1fr;gap:6px}.fl-tag{padding-bottom:0}.fl-cells.c2,.fl-cells.c3{grid-template-columns:1fr 1fr}
  .fh-title{font-size:31px;letter-spacing:-1.6px}.fh-top{flex-wrap:wrap;gap:17px}.fh-clockbox{display:flex;align-items:center;gap:14px;padding:0;text-align:left}.fh-clock{font-size:14px}.fh-date{margin-top:0}.fh-sub{font-size:11px}.home-comment{font-size:11px}
  .fh-grid{gap:22px;margin-bottom:29px}.fh-maps{padding-top:0}.fh-maps h2{font-size:11px;margin-bottom:15px}.fh-strip .fs{grid-template-columns:minmax(86px,1fr) auto 43px;gap:10px}.fh-strip .fs .fs-l{font-size:12px}.fs-val{font-size:22px}.fs:first-child .fs-val{font-size:30px}
  .fh-action{width:100%}.home-shortcuts{gap:8px}.fh-mini{font-size:11px}.fh-mini small{display:none}.fh-maprow{grid-template-columns:65px minmax(0,1fr) 38px;gap:10px}
  .detail-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.stat-tile{min-width:0;border-bottom:1px solid var(--line);padding:17px 13px}.stat-tile:nth-child(even){border-right:0}.t-num{font-size:26px}
  .boardtabs button{padding:9px 12px}.boardtabs.small button{padding:7px 10px}.result{padding:18px 14px}.result .r-row{gap:18px}.r-num{font-size:24px}
  footer{padding:0 12px 0 0;font-size:10px;gap:10px}.footer-left{gap:12px}.footer-right{gap:10px}.theme-toggle{padding:0 12px}.footer-edition,.footer-brand{display:none}.formula{padding:12px;font-size:11px}.g-content{padding:26px 24px}
}
@media(max-width:380px){.g2{grid-template-columns:1fr}.fh-strip .fs{gap:7px}.fh-strip .fs:first-child{grid-template-columns:minmax(0,1fr) 43px}.fs:first-child .fs-l{grid-column:1/-1}.fs:first-child .fs-val{font-size:27px;text-align:left}.fh-title{font-size:28px}.f-rail button{gap:4px}.f-rail button i,.f-rail .f-lock .ic{display:none}.footer-storage{display:none}}
.task-composer{padding:0;overflow:hidden}
.task-composer summary{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:14px 20px;cursor:pointer;font-size:13px;list-style:none}
.task-composer summary::-webkit-details-marker{display:none}
.task-composer summary::after{content:"＋";color:var(--dim)}
.task-composer[open] summary::after{content:"−"}
.task-composer[open] summary{border-bottom:1px solid var(--line)}
.task-composer summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.task-composer form{padding:20px}
.task-form{display:grid;grid-template-columns:minmax(0,1fr) 260px 100px auto;gap:14px;align-items:end}
.task-form .btn{min-height:42px}
.task-deadline-toggle{margin:0 0 8px;gap:8px;width:fit-content}
.task-deadline-field{min-width:0}
.task-deadline-field input[type=datetime-local]{min-width:0;width:100%}
.task-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:28px 0 14px;font-size:12px;color:var(--dim)}
.task-sync{border:0;background:none;color:var(--dim);font-size:11px;padding:5px 0;min-height:32px}
.task-group-title{display:flex;gap:12px;align-items:center;color:var(--dim);font-size:12px;font-weight:400;margin:24px 0 12px}
.task-group-title span{color:var(--dimmer)}
.task-list{list-style:none;border-top:1px solid var(--line)}
.task-row{display:grid;grid-template-columns:32px minmax(120px,230px) minmax(0,1fr) 200px 36px;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:17px 8px;background:var(--bg)}
.task-name{font-size:14px;overflow-wrap:anywhere}
.task-status{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0}
.task-countdown{font-size:12px;color:var(--dim);line-height:20px;text-align:right;font-variant-numeric:tabular-nums}
.task-status .task-count{flex:0 0 44px}
.task-row.is-complete .task-countdown{color:var(--dimmer)}
.task-points{display:flex;flex-wrap:wrap;gap:4px;min-width:0}
.task-point{display:grid;place-items:center;flex-shrink:0;width:34px;height:36px;border:0;background:none;padding:0;color:var(--on-accent)}
.task-point span{width:22px;height:22px;border:1px solid var(--line2);border-radius:50%;display:grid;place-items:center;font-size:13px;line-height:1}
.task-point:hover span{border-color:var(--accent);box-shadow:0 0 0 3px var(--soft2)}
.task-point[aria-pressed="true"] span{background:var(--accent);border-color:var(--accent)}
.task-count{font-size:12px;color:var(--dim);text-align:right;white-space:nowrap}
.task-handle,.task-delete{width:32px;height:36px;display:grid;place-items:center;border:0;background:transparent;color:var(--dimmer)}
.task-handle{touch-action:none;cursor:grab;user-select:none;font-size:20px}
.task-delete:hover{background:var(--badbg);color:var(--txt)}
.task-row.is-complete .task-name{text-decoration:line-through;color:var(--dimmer)}
.task-row.is-complete .task-count{color:var(--dimmer)}
.task-row.is-complete .task-point[aria-pressed="true"] span{background:var(--dimmer);border-color:var(--dimmer)}
.task-row.is-dragging{background:var(--card2);outline:1px solid var(--accent);opacity:.75}
.task-row.is-dragging .task-handle{cursor:grabbing}
.task-empty{padding:36px 20px;text-align:center;border:1px dashed var(--line2);color:var(--dim);font-size:13px}
.task-empty small{display:block;color:var(--dimmer);font-size:11px;margin-top:8px}
.task-error{color:var(--bad);font-size:12px;margin-top:10px}
@media(max-width:1000px){.task-form{grid-template-columns:minmax(0,1fr) 130px}.task-name-field{grid-column:1;grid-row:1}.task-quantity-field{grid-column:2;grid-row:1}.task-deadline-field{grid-column:1;grid-row:2}.task-form .btn{grid-column:2;grid-row:2}}
@media(max-width:850px){.task-row{grid-template-columns:28px minmax(90px,160px) minmax(0,1fr) 174px 32px;gap:8px}.task-status{gap:8px}}
@media(max-width:680px){.task-composer{padding:0}.task-composer form{padding:16px 14px}.task-form{grid-template-columns:minmax(0,1fr) 80px}.task-deadline-field{grid-column:1/-1}.task-form .btn{grid-column:1/-1;grid-row:3}.task-row{grid-template-columns:28px minmax(0,1fr) 32px;padding:14px 0;gap:6px 8px}.task-points{grid-column:2/4;grid-row:2}.task-status{grid-column:2/4;grid-row:3}.task-point{width:38px;height:40px}.task-delete{grid-column:3;grid-row:1}.task-handle{grid-column:1;grid-row:1/4;height:100%;min-height:44px}.task-name{grid-column:2;grid-row:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
