/* 博音六種看法。入口頁跟著主題走（沿用 hub 的剪貼簿色票）；六套版型各自是單一視覺世界，顏色寫死在 .A .D .F .G .H .Lw 底下。 */
:root{
  --bg:#e9e4d8; --surface:#ffffff; --ink:#1b1a17; --mute:#6f6b60; --line:#1b1a17;
  --red:#e63946; --blue:#2a5ca8; --yellow:#ffd23f; --on-rb:#ffffff; --on-y:#221d0a;
  --hard:rgba(27,26,23,.18); --grain:rgba(0,0,0,.055); --tape:rgba(255,255,255,.65); --dash:rgba(27,26,23,.22);
  --c1:#7c3aed; --c2:#14b8a6; --c3:#f97316; --c4:#ec4899; --c5:#facc15;
  --strip-bg:#141414; --strip-ink:#ECECE8; --strip-mute:#8E8E8A; --strip-on:#E2231A;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --sans:"Noto Sans TC","PingFang TC","Heiti TC",system-ui,sans-serif;
  --serif:"Noto Serif TC","Songti TC",serif;
  --kai:"LXGW WenKai TC","Kaiti TC","BiauKai",serif;
  --hand:"Iansui","LXGW WenKai TC","Kaiti TC",cursive;
  --cond:"Oswald","Arial Narrow",sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#14130f; --surface:#1f1d18; --ink:#f2ece0; --mute:#a49b88; --line:#f2ece0;
  --red:#ff7166; --blue:#7ea8ff; --yellow:#ffd83f; --on-rb:#1a1008;
  --hard:rgba(242,236,224,.16); --grain:rgba(255,255,255,.05); --tape:rgba(255,255,255,.16); --dash:rgba(242,236,224,.26);
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#14130f; --surface:#1f1d18; --ink:#f2ece0; --mute:#a49b88; --line:#f2ece0;
  --red:#ff7166; --blue:#7ea8ff; --yellow:#ffd83f; --on-rb:#1a1008;
  --hard:rgba(242,236,224,.16); --grain:rgba(255,255,255,.05); --tape:rgba(255,255,255,.16); --dash:rgba(242,236,224,.26);
  color-scheme:dark;
}
*{box-sizing:border-box}
/* JS 用 hidden 屬性收東西；元件自己的 display 會蓋過瀏覽器預設，這行要壓過去（#130） */
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}
#page p,#page ul,#page ol,#page dl,#page dd,#page h1,#page h2,#page h3,#page h4,.strip p{margin:0}
#page ul,#page ol{padding:0;list-style:none}
#page table{border-collapse:collapse}
#page a{color:inherit}
:focus-visible{outline:3px solid #E2231A;outline-offset:2px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
code{font-family:var(--mono);font-size:.88em}

/* ---------------- 頂端窄列 ---------------- */
.strip{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--strip-bg);color:var(--strip-ink);font-size:12.5px;border-bottom:1px solid #000}
.st-in{max-width:1180px;margin:0 auto;padding:6px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;justify-content:space-between}
.strip a{color:inherit;text-decoration:none}
.strip .crumb{display:flex;gap:6px;align-items:baseline;min-width:0;color:var(--strip-mute)}
.strip .crumb a:hover{color:var(--strip-ink)}
.strip .crumb em{font-style:normal;color:var(--strip-ink);font-family:var(--mono)}
.strip .sw{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.strip .lb{color:var(--strip-mute);margin-right:4px}
.strip .sw a{display:inline-flex;gap:5px;align-items:baseline;padding:2px 8px;border:1px solid #3A3A38;border-radius:2px}
.strip .sw a:hover{border-color:var(--strip-ink)}
.strip .sw a.on{background:var(--strip-on);border-color:var(--strip-on);color:#fff}
@media (max-width:760px){.strip .lb{display:none}.strip .sw a{padding:1px 6px;font-size:12px}}

/* ---------------- 入口頁 ---------------- */
.entry{min-height:100vh}
.en-in{max-width:72rem;margin:0 auto;padding:2.4rem 16px 5rem}
.en-hd .crumb{font-size:.8rem;color:var(--mute)}
.en-hd .crumb a{color:inherit}
.en-hd h1{font-family:var(--serif);font-weight:900;font-size:clamp(2.4rem,7vw,3.6rem);letter-spacing:.12em;line-height:1.2;margin:.3rem 0 .6rem}
.en-hd .lead{max-width:44rem;color:var(--mute);font-size:.95rem;margin-top:.5rem}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:1.2rem;margin:2.2rem 0}
.tile{display:flex;flex-direction:column;border:2px solid var(--line);background:var(--surface);text-decoration:none;color:var(--ink);box-shadow:5px 5px 0 var(--hard);transition:transform .15s,box-shadow .15s;min-width:0}
.tile:hover{transform:translateY(-3px);box-shadow:8px 8px 0 var(--hard)}
.tile .sp{height:9.5rem;overflow:hidden;border-bottom:2px solid var(--line)}
.tile .tx{padding:.8rem 1rem 1rem}
.tile .tn{display:flex;align-items:baseline;gap:.5rem;font-weight:900;font-size:1.1rem}
.tile .last{margin-left:auto;font-size:.7rem;font-weight:700;background:var(--ink);color:var(--bg);padding:0 .45rem}
.tile .tf{font-size:.84rem;color:var(--mute);margin-top:.2rem!important}
.latest{border-top:2px solid var(--line);padding-top:1rem;font-size:.9rem}
.latest span{color:var(--mute)}
.latest .six{margin-top:.5rem!important;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;color:var(--mute);font-size:.82rem}
.latest .six a{border:1.5px solid var(--line);padding:.1rem .55rem;color:var(--ink);text-decoration:none;font-weight:700}
.latest .six a:hover{background:var(--yellow);color:var(--on-y)}
/* 磚上的樣張：各自的視覺世界 */
.s-a{background:#0B0B0C;color:#F4F4F2;height:100%;padding:1rem 1.1rem;display:flex;flex-direction:column;justify-content:space-between}
.s-a p{font-weight:900;font-size:1.25rem;line-height:1.45}
.s-a .hl{background:#E2231A;color:#fff;padding:0 4px}
.s-a span{font-family:var(--mono);font-size:.7rem;color:#8D8D90}
.s-d{background:#FFFFFC;height:100%;padding:.8rem 1rem;color:#1F2A24;box-shadow:inset 0 0 0 6px #EAF4EE,inset 0 0 0 7.5px #2E7D5B;font-size:.85rem}
.s-d .t{font-weight:700;color:#1E5C42;margin-bottom:.3rem!important}
.s-d p{display:flex;gap:.5rem;align-items:center;border-bottom:1px dashed #B9D6C6;padding:.2rem 0}
.s-d i{width:15px;height:15px;border:1.5px solid #2E7D5B;font-family:var(--hand);color:#1D3FA0;font-style:normal;line-height:12px;text-align:center;font-size:17px}
.s-f{background:#EAD9B4 radial-gradient(ellipse at 40% 20%,#F4E7C8,#DCC597 80%);height:100%;display:flex;align-items:center;gap:1rem;padding:.4rem 1rem;color:#3B2615;font-family:var(--kai)}
.s-f .fig{height:8.6rem;width:auto}
.s-f p{font-size:.85rem}.s-f b{display:block;font-family:var(--serif);font-size:1.5rem;color:#7A1F12}
.s-g{background:#151515 repeating-linear-gradient(180deg,#1C1C1C 0 1px,#141414 1px 4px);height:100%;color:#F2F2EE;padding:.8rem 1rem;box-shadow:inset 0 0 0 6px #A9ADB1;font-size:.82rem;letter-spacing:.12em}
.s-g .fl{border-bottom:1px solid #444;margin-bottom:.2rem!important;font-weight:700}.s-g .fl b{font-family:var(--cond);margin-right:.5rem}
.s-g p{display:flex;gap:.4rem;align-items:baseline;white-space:nowrap}.s-g span{font-family:var(--cond);color:#D9D9D3;min-width:2rem}.s-g i{flex:1;border-bottom:1px dotted #555}
.s-h{background:#FCE4E4;height:100%;padding:.8rem 1rem;color:#B3262A;font-size:.88rem}
.s-h .t{background:#B3262A;color:#FCE4E4;font-weight:700;padding:0 .4rem;letter-spacing:.1em}
.s-h p{display:grid;grid-template-columns:1fr 2.4rem 2rem;border-bottom:1px solid #E6AEB0}
.s-h span{font-family:var(--mono);text-align:right;font-size:.78rem}.s-h b{font-family:var(--hand);color:#333;font-weight:400;text-align:center;font-size:1.1rem;line-height:1.3}
.s-l{background:#fff;height:100%;font-family:"PMingLiU","MingLiU",var(--serif);color:#000;font-size:.8rem}
.s-l .t{background:#1F3A73 linear-gradient(#2C4F94,#1F3A73);color:#fff;font-family:var(--sans);font-weight:700;padding:.4rem .7rem}
.s-l table{width:calc(100% - 1.4rem);margin:.6rem .7rem}.s-l td{border:1px solid #C9D3E3;padding:.2rem .3rem}.s-l tr:nth-child(odd) td{background:#F3F6FB}.s-l td:first-child{color:#0000CC;text-decoration:underline;white-space:nowrap}

/* ================= A 紅框字 ================= */
body[data-layout="redframe"]{background:#0B0B0C}
.A{background:#0B0B0C;color:#F4F4F2;min-height:100vh}
.a-hd{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--sth,0px));z-index:5;display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px max(16px,calc((100% - 1180px)/2));background:#0B0B0C;border-bottom:1px solid #2A2A2C}
.a-hd .lg{font-weight:900;font-size:22px;letter-spacing:.08em}
.a-q{flex:1 1 200px;max-width:340px}
.a-q input{width:100%;background:#17171A;border:1px solid #333;color:#F4F4F2;font:inherit;font-size:14px;padding:5px 10px}
.a-hd .ct{font-family:var(--mono);font-size:12px;color:#8D8D90;margin-left:auto}
.a-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1px;background:#222;max-width:1180px;margin:0 auto;border-left:1px solid #222;border-right:1px solid #222}
.a-grid .yr{grid-column:1/-1;background:#0B0B0C;font-family:var(--cond);font-size:13px;letter-spacing:.3em;color:#E2231A;padding:18px 16px 6px}
.a-grid .it{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:20px 18px 14px;background:#0B0B0C;min-height:170px;text-decoration:none}
.a-grid .it:hover{background:#17171A}
.A .th{font-weight:900;font-size:19px;line-height:1.5}
.A .hl{background:#E2231A;color:#fff;padding:0 4px;font-weight:900}
.A .yl{color:#FFD319;font-weight:900}
.A .old .th{font-size:22px}
.A .nm{font-family:var(--cond);font-size:26px;letter-spacing:.04em;font-weight:500}
.A .mt{font-size:12px;color:#9A9A9D;display:flex;gap:8px;align-items:baseline}
.A .mt span{font-family:var(--mono);color:#F4F4F2}
.A .mt i{font-style:normal;margin-left:auto;font-family:var(--mono)}
.a-foot{max-width:1180px;margin:0 auto;padding:18px 16px 60px;font-size:12.5px;color:#8D8D90}
.a-ep .hero{padding:56px max(16px,calc((100% - 900px)/2)) 36px;border-bottom:1px solid #2A2A2C}
.a-ep .eyb{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;color:#9A9A9D;margin-bottom:18px}
.a-ep .big{font-weight:900;font-size:clamp(32px,6vw,58px);line-height:1.32}
.a-ep .big .hl{padding:0 8px}
.a-ep .meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14px;color:#DADAD8;margin-top:22px}
.a-ep .meta span{font-family:var(--mono);color:#9A9A9D}
.a-ep .meta span:first-child{color:#F4F4F2}
.a-ep .ytt{font-size:13px;color:#8D8D90;margin-top:6px}
.a-ep .play{display:inline-block;margin-top:18px;background:#E2231A;color:#fff;text-decoration:none;font-weight:700;font-size:14px;padding:7px 14px}
.a-ep .play:hover{background:#FF3B30}
.a-body{max-width:900px;margin:0 auto;padding:30px 16px 20px}
.a-body .h1{font-size:22px;font-weight:900;margin-bottom:10px}
.a-body .lede{font-size:16px;line-height:1.85;color:#DADAD8}
.a-body h4{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:#8D8D90;padding:34px 0 10px;font-weight:500}
.a-body .sm{display:grid;gap:16px}
.a-body .sm li{font-size:15px;line-height:1.8;color:#BDBDBB}
.a-body .sm b{display:block;color:#fff;font-weight:700;font-size:16px;border-left:3px solid #E2231A;padding-left:10px;margin-bottom:2px}
.a-body .tl li{display:grid;grid-template-columns:62px 1fr;gap:2px 14px;padding:11px 0;border-top:1px solid #222;font-size:15px}
.a-body .tl a{font-family:var(--mono);color:#FF5A4F;text-decoration:none}
.a-body .tl span{grid-column:2;color:#A5A5A3;font-size:14px}
.a-body .qs{display:grid;gap:14px}
.a-body .qs li{border-left:3px solid #E2231A;padding-left:14px}
.a-body .qs p{font-size:17px;font-weight:700;line-height:1.6}
.a-body .qs a,.a-body .ex a{font-family:var(--mono);font-size:12px;color:#FF5A4F}
.a-body .nmz{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);font-size:14px}
.a-body .nmz dt,.a-body .nmz dd{padding:8px 0;border-top:1px solid #222}
.a-body .nmz dt{font-weight:700;padding-right:14px}
.a-body .nmz dd{color:#BDBDBB}
.a-body .ex li{font-size:14px;color:#BDBDBB;padding:6px 0 6px 14px;position:relative}
.a-body .ex li::before{content:"";position:absolute;left:0;top:16px;width:6px;height:2px;background:#E2231A}
.a-nav{max-width:900px;margin:0 auto;padding:28px 16px 70px;display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:start;border-top:1px solid #2A2A2C}
.a-nav a{text-decoration:none}
.a-nav .pv,.a-nav .nx{display:flex;flex-direction:column;gap:4px;font-weight:900;font-size:15px;line-height:1.45}
.a-nav .nx{text-align:right}
.a-nav small{font-family:var(--mono);font-size:11px;color:#8D8D90;font-weight:400}
.a-nav a:hover span{color:#FF5A4F}
.a-nav .up{font-size:13px;color:#8D8D90;border:1px solid #333;padding:4px 12px;white-space:nowrap}
@media (max-width:640px){.a-body .nmz{grid-template-columns:1fr}.a-body .nmz dd{border-top:none;padding-top:0}.a-nav{grid-template-columns:1fr 1fr}.a-nav .up{grid-column:1/-1;grid-row:2;justify-self:center}}

/* ================= D 初診單 ================= */
body[data-layout="clinic"]{background:#E9EEE7}
.D{background:#E9EEE7;color:#1F2A24;min-height:100vh;padding:28px 16px 60px}
.D .form{max-width:880px;margin:0 auto;background:#FFFFFC;border:1.5px solid #2E7D5B;padding:0 0 20px;position:relative;box-shadow:0 2px 0 #C9D9CF}
.D .fh{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 12px;padding:14px 20px;border-bottom:1.5px solid #2E7D5B;background:#EAF4EE}
.D .fh b{font-family:var(--serif);font-size:22px;color:#1E5C42;letter-spacing:.1em}
.D .fh span{font-family:var(--mono);font-size:12px;color:#2E7D5B}
.D .q{font-size:15px;font-weight:700;color:#1E5C42;padding:20px 20px 8px}
.D .cks{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:0 18px;padding:0 20px}
.D .cks label{display:flex;align-items:center;gap:10px;font-size:15px;padding:8px 0;border-bottom:1px dashed #B9D6C6;cursor:pointer}
.D .cks input{position:absolute;opacity:0;width:1px;height:1px}
.D .bx{flex:none;width:20px;height:20px;border:1.5px solid #2E7D5B;font-family:var(--hand);font-size:24px;line-height:15px;color:#1D3FA0;text-align:center;background:#fff}
.D .cks input:checked+.bx::after{content:"✓"}
.D .cks input:focus-visible+.bx{outline:3px solid #E2231A;outline-offset:2px}
.D .cks input:checked~.ct{font-weight:700;color:#000}
.D .cks i{font-style:normal;margin-left:auto;font-family:var(--mono);font-size:12px;color:#6E8C7C}
.D .q2{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-right:20px}
.D .clr{font:inherit;font-size:13px;background:none;border:1px solid #2E7D5B;color:#1E5C42;padding:2px 10px;cursor:pointer}
.D .rxw{overflow-x:auto;margin:0 20px}
.D .rx{width:100%;font-size:14px}
.D .rx th{font-weight:500;text-align:left;font-size:12px;color:#2E7D5B;border-bottom:1.5px solid #2E7D5B;padding:6px}
.D .rx td{border-bottom:1px solid #CFE2D7;padding:8px 6px;vertical-align:top}
.D .rx td:first-child,.D .rx td:nth-child(5){font-family:var(--mono);font-size:13px;white-space:nowrap}
.D .rx td:nth-child(2),.D .rx td:nth-child(3){white-space:nowrap}
.D .rx small{display:block;font-size:11.5px;color:#6E8C7C}
.D .rx a{color:#1D3FA0;text-decoration:none}
.D .rx a:hover{text-decoration:underline}
.D .rx .hit{font-family:var(--hand);color:#1D3FA0;font-size:18px;white-space:nowrap;line-height:1}
.D .foot{font-size:12.5px;color:#6E8C7C;padding:18px 20px 0;line-height:1.7}
.D .stamp{position:absolute;right:24px;top:70px;width:84px;height:84px;border:3px solid #C8322B;border-radius:50%;color:#C8322B;font-family:var(--serif);font-weight:900;font-size:15px;line-height:1.3;display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(-12deg);opacity:.8;pointer-events:none}
.D .kv{display:grid;grid-template-columns:72px minmax(0,1fr);padding:10px 20px 0;font-size:15px}
.D .kv dt{color:#2E7D5B;font-size:13px;padding:8px 0;border-bottom:1px solid #CFE2D7}
.D .kv dd{padding:8px 0;border-bottom:1px solid #CFE2D7;min-width:0}
.D .kv dd.w{line-height:1.8;padding-right:100px}
.D .kv a{color:#1D3FA0}
.D .nmz{grid-template-columns:minmax(0,200px) minmax(0,1fr)}
.D .nmz dt{color:#1E5C42;font-weight:700;font-size:14px;padding-right:12px}
.D .rpl{counter-reset:r;padding:0 20px}
.D .rpl li{counter-increment:r;font-size:15px;line-height:1.75;padding:8px 0 8px 30px;position:relative;border-bottom:1px dashed #B9D6C6}
.D .rpl li::before{content:counter(r) ")";position:absolute;left:0;font-family:var(--mono);color:#2E7D5B;font-size:13px;top:10px}
.D .rpl b{display:block;color:#1E5C42}
.D .rx.tl td:first-child a{font-family:var(--mono);color:#1D3FA0}
.D .rx.tl b{display:block;color:#1E5C42}
.D .yz{padding:0 20px}
.D .yz li{font-size:15px;line-height:1.75;padding:6px 0;border-bottom:1px dashed #B9D6C6}
.D .yz a{font-family:var(--mono);font-size:12px;color:#1D3FA0;margin-left:6px}
.D .sib{padding:0 20px;display:grid;gap:10px}
.D .sib li{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:baseline;font-size:14px}
.D .cc{font:inherit;font-weight:700;color:#1E5C42;background:#EAF4EE;border:1px solid #2E7D5B;padding:2px 10px;cursor:pointer;text-align:left}
.D .cc:hover{background:#D4EADD}
.D .sib span{display:flex;flex-wrap:wrap;gap:2px 12px}
.D .sib a{color:#1D3FA0;text-decoration:none;font-size:13.5px}
.D .sib a:hover{text-decoration:underline}
.d-nav{max-width:880px;margin:16px auto 0;display:flex;justify-content:space-between;gap:12px;font-size:14px}
.d-nav a{color:#1E5C42;text-decoration:none;border-bottom:1px solid #2E7D5B}
@media (max-width:640px){.D{padding:16px 10px 40px}.D .stamp{width:62px;height:62px;font-size:11px;top:58px;right:12px}.D .kv dd.w{padding-right:0}.D .rx td:nth-child(2){display:none}.D .rx th:nth-child(2){display:none}.D .nmz,.D .kv{grid-template-columns:64px minmax(0,1fr)}.D .nmz{grid-template-columns:1fr}.D .nmz dd{border-bottom-style:dashed}.D .sib li{grid-template-columns:1fr}}

/* ================= F 人體掛圖 ================= */
body[data-layout="chart"]{background:#DCC597}
.F{background:#EAD9B4 radial-gradient(ellipse at 40% 15%,#F4E7C8,#DCC597 70%);color:#3B2615;font-family:var(--kai);min-height:100vh;padding:28px 16px 60px}
.F .chart{max-width:1100px;margin:0 auto}
.F .ttl{text-align:center;font-family:var(--serif);font-weight:900;font-size:clamp(26px,5vw,38px);letter-spacing:.4em;color:#7A1F12;padding-left:.4em}
.F .sub{text-align:center;font-size:14px;color:#7A5A3A;margin:4px 0 20px}
.F .g3{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px) minmax(0,1fr);gap:20px;align-items:start}
.F .mid{position:sticky;top:60px}
.F .fig{width:100%;height:auto;display:block}
.F .ln{fill:none;stroke:#5A3B24;stroke-width:1.6;stroke-linecap:round}
.F .pt{fill:#B3261E;stroke:#F4E7C8;stroke-width:1.5}
.F .pn{fill:#FFF3D6;font-family:var(--cond);font-size:8px;text-anchor:middle;pointer-events:none}
.F .p{cursor:pointer;transition:opacity .15s}
.F .p:hover .pt,.F .p.hot .pt,.F .p:focus-visible .pt{fill:#E0402F;stroke:#3B2615;stroke-width:2}
.F .p.dim{opacity:.35}
.F .p.on .pt{fill:#E0402F;stroke:#3B2615;stroke-width:2.5}
.F .lb{margin-bottom:16px;border-top:1.5px solid #8C6A44;padding-top:4px;scroll-margin-top:80px}
.F .lb.flash{animation:fl 1.2s}
@keyframes fl{0%,40%{background:rgba(179,38,30,.15)}100%{background:transparent}}
.F .lb p{display:flex;align-items:center;gap:7px;font-size:17px;font-weight:700;color:#7A1F12}
.F .lb p b{width:20px;height:20px;border-radius:50%;background:#B3261E;color:#FFF3D6;font-family:var(--cond);font-size:11px;display:inline-flex;align-items:center;justify-content:center}
.F .lb small{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:#8C6A44;font-weight:400}
.F .lb ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:0 14px}
.F .lb li{display:flex;justify-content:space-between;gap:6px;font-size:15.5px;line-height:1.85;border-bottom:1px dotted rgba(90,59,36,.3)}
.F .lb li a{text-decoration:none}
.F .lb li a:hover{color:#B3261E;text-decoration:underline}
.F .lb li i{font-style:normal;font-family:var(--mono);font-size:11.5px;color:#8C6A44}
.F .leg{font-size:14px;color:#6A4A2A;margin-top:18px;line-height:1.8;border-top:1.5px solid #8C6A44;padding-top:10px;max-width:760px}
.F .page{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr) 200px;gap:24px;align-items:start}
.F .vt{writing-mode:vertical-rl;font-family:var(--serif);font-weight:900;font-size:clamp(34px,5vw,48px);color:#7A1F12;letter-spacing:.2em;border-left:2.5px solid #7A1F12;padding-left:12px;position:sticky;top:60px}
.F .txt{font-size:16px;line-height:1.85}
.F .r{margin:18px 0 6px}
.F .r:first-child{margin-top:0}
.F .r b{color:#7A1F12}
.F .r a{color:#B3261E}
.F .yy{counter-reset:y}
.F .yy li{counter-increment:y;padding:4px 0 4px 2em;position:relative}
.F .yy li::before{content:counter(y,cjk-ideographic) "、";position:absolute;left:0;color:#7A1F12}
.F .yy b{color:#3B2615}
.F .qx{width:100%;font-size:15px}
.F .qx td{padding:6px;border-bottom:1px solid rgba(90,59,36,.25);vertical-align:top}
.F .qx td:first-child{white-space:nowrap}
.F .qx a{font-family:var(--mono);font-size:13px;color:#B3261E}
.F .qx b{display:block}
.F .qx span{color:#5A3B24}
.F .pe{color:#7A1F12}
.F .ay li{margin-bottom:8px;padding-left:1em;text-indent:-1em}
.F .ay a{font-family:var(--mono);font-size:12px;color:#B3261E;margin-left:6px}
.F .sm{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:0 14px;font-size:15px}
.F .sm dt{font-weight:700;color:#7A1F12;padding:4px 0;border-bottom:1px dotted rgba(90,59,36,.3)}
.F .sm dd{padding:4px 0;border-bottom:1px dotted rgba(90,59,36,.3)}
.F .side{position:sticky;top:60px;text-align:center;font-size:14px;color:#7A1F12}
.F .side .fig{width:100%;height:auto}
.f-nav{max-width:1000px;margin:28px auto 0;display:flex;justify-content:space-between;gap:12px;font-size:15px;border-top:1.5px solid #8C6A44;padding-top:12px}
.f-nav a{color:#7A1F12;text-decoration:none}
.f-nav a:hover{text-decoration:underline}
@media (max-width:860px){
  .F .g3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .F .mid{grid-column:1/-1;grid-row:1;position:static;max-width:240px;margin:0 auto}
  .F .page{grid-template-columns:auto minmax(0,1fr)}
  .F .side{display:none}
}
@media (max-width:520px){.F .g3{grid-template-columns:1fr}.F .lb ul{grid-template-columns:1fr 1fr}.F .sm{grid-template-columns:1fr}.F .sm dd{border-bottom:none}.F .vt{font-size:30px;padding-left:8px}.F .page{gap:12px}}

/* ================= G 住戶名牌 ================= */
body[data-layout="directory"]{background:#AEB1B4}
.G{background:#B9BBBD linear-gradient(135deg,#D3D5D7,#9FA2A5);min-height:100vh;padding:28px 16px 60px}
.G .board{max-width:980px;margin:0 auto;background:#151515 repeating-linear-gradient(180deg,#1C1C1C 0 1px,#141414 1px 4px);border:10px solid #A9ADB1;border-top-color:#C9CCCF;border-left-color:#C0C3C6;padding:20px 22px 22px;color:#F2F2EE;box-shadow:0 10px 24px rgba(0,0,0,.35)}
.G .bt{text-align:center;font-weight:700;font-size:20px;letter-spacing:.2em;margin-bottom:12px}
.G .lift{display:flex;justify-content:center;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.G .lift button{width:36px;height:36px;border-radius:50%;border:2px solid #8E9296;background:radial-gradient(circle at 40% 35%,#E6E8EA,#9CA0A4);color:#222;font-family:var(--cond);font-size:15px;cursor:pointer}
.G .lift button:hover{box-shadow:0 0 0 3px rgba(255,190,60,.7);color:#000}
.G .fls{columns:2 380px;column-gap:30px}
.G .fl{break-inside:avoid;margin-bottom:18px;scroll-margin-top:60px}
.G .fl.flash .fn{animation:gl 1.2s}
@keyframes gl{0%,40%{color:#FFC14D}100%{color:inherit}}
.G .fn{display:flex;align-items:baseline;gap:10px;font-weight:700;font-size:16px;letter-spacing:.12em;border-bottom:1px solid #444;padding-bottom:3px;margin-bottom:4px}
.G .fn b{font-family:var(--cond);font-size:20px;letter-spacing:.05em}
.G .fn i{font-style:normal;margin-left:auto;font-size:12px;color:#A9A9A4;font-weight:400}
.G .fl li a{display:flex;align-items:baseline;gap:8px;font-size:15px;letter-spacing:.14em;line-height:1.95;white-space:nowrap;text-decoration:none;min-width:0}
.G .fl li a:hover{color:#FFC14D}
.G .rm{font-family:var(--cond);letter-spacing:.06em;color:#D9D9D3;min-width:34px}
.G .gn{flex:none}
.G .tt{font-size:11.5px;color:#BDBDB7;letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}
.G .dt{flex:1 1 10px;border-bottom:1px dotted #555;min-width:10px}
.G .sb{color:#DCDCD6;flex:none}
.G .bf{font-size:12.5px;color:#A9A9A4;letter-spacing:.06em;border-top:1px solid #444;padding-top:10px;line-height:1.7}
body[data-layout="directory"]:has(.gep){background:#3A2A1E}
.G.gep{background:#3A2A1E linear-gradient(90deg,#2E2016,#4A3626 50%,#2E2016)}
.G .door{max-width:820px;margin:0 auto}
.G .frost{background:linear-gradient(160deg,rgba(235,240,238,.94),rgba(200,210,208,.88));border:12px solid #2A1C12;padding:40px 20px 30px;text-align:center}
.G .num{font-family:var(--cond);font-size:16px;letter-spacing:.24em;color:#6A5530}
.G .frost .gn{font-family:var(--serif);font-weight:900;font-size:clamp(36px,7vw,54px);letter-spacing:.3em;padding-left:.3em;color:#B08A2E;text-shadow:0 1px 0 #6A5016,0 0 1px #E8C870;margin:8px 0 0}
.G .gt{font-family:var(--serif);font-weight:700;font-size:18px;letter-spacing:.2em;color:#9A7A26}
.G .hr{font-size:13px;color:#6A6A60;margin-top:14px;letter-spacing:.08em}
.G .knock{display:inline-block;margin-top:14px;color:#6A5016;font-size:13px;border:1px solid #9A7A26;padding:3px 12px;text-decoration:none}
.G .knock:hover{background:rgba(176,138,46,.15)}
.G .room{background:#F7F4EE;color:#222;margin-top:14px;padding:26px 26px 22px;font-size:15.5px;line-height:1.85}
.G .room .h{font-family:var(--serif);font-weight:900;font-size:24px;line-height:1.4;margin-bottom:8px}
.G .room .ld{color:#444}
.G .room h3{font-family:var(--serif);font-size:15px;color:#8C6A1E;letter-spacing:.2em;margin:26px 0 8px;border-bottom:1px solid #DDD6C8;padding-bottom:4px}
.G .room .sm li{margin-bottom:10px}.G .room .sm b{display:block}
.G .tw{overflow-x:auto}
.G .room table{width:100%;font-size:14.5px}
.G .room td{border-top:1px solid #DDD6C8;padding:7px 6px;vertical-align:top}
.G .room td:first-child a{font-family:var(--mono);color:#8C6A1E}
.G .room td:nth-child(2){font-weight:700;white-space:nowrap}
.G .qs li,.G .ex li{margin-bottom:8px}
.G .qs a{font-family:var(--mono);font-size:12px;color:#8C6A1E;margin-left:6px}
.G .nmz{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:0 14px;font-size:14.5px}
.G .nmz dt{font-weight:700;padding:5px 0;border-top:1px solid #DDD6C8}
.G .nmz dd{padding:5px 0;border-top:1px solid #DDD6C8;color:#444}
.G .mates{margin-top:14px;background:#151515 repeating-linear-gradient(180deg,#1C1C1C 0 1px,#141414 1px 4px);border:8px solid #A9ADB1;color:#F2F2EE;padding:14px 18px}
.G .mh{font-size:14px;letter-spacing:.14em;font-weight:700;border-bottom:1px solid #444;padding-bottom:4px;margin-bottom:6px}
.G .mates ul{columns:2 220px;column-gap:24px}
.G .mates a{display:flex;gap:8px;align-items:baseline;font-size:14px;letter-spacing:.12em;line-height:1.9;text-decoration:none;white-space:nowrap}
.G .mates a:hover{color:#FFC14D}
.G .mates .sb{margin-left:auto;font-size:12.5px}
.g-nav{max-width:820px;margin:20px auto 0;display:flex;justify-content:space-between;gap:12px;font-size:14px;letter-spacing:.1em}
.g-nav a{color:#E8D6A8;text-decoration:none;border-bottom:1px solid #8C6A1E}
@media (max-width:560px){.G{padding:16px 10px 40px}.G .board{padding:14px 12px;border-width:7px}.G .tt{display:none}.G .room{padding:18px 16px}.G .nmz{grid-template-columns:1fr}.G .nmz dd{border-top:none;padding-top:0}.G .frost{border-width:8px}}

/* ================= H 點菜單 ================= */
body[data-layout="menu"]{background:#CFC8BC}
.H{background:#CFC8BC;color:#B3262A;min-height:100vh;padding:28px 16px 120px}
.H .menu{max-width:900px;margin:0 auto;background:#FCE4E4 repeating-linear-gradient(0deg,rgba(255,255,255,.18) 0 1px,transparent 1px 3px);border:1px solid #E6AEB0;padding:18px 20px 22px;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.H .mh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:2.5px solid #B3262A;padding-bottom:6px}
.H .mh b{font-family:var(--serif);font-weight:900;font-size:clamp(26px,5vw,34px);letter-spacing:.2em}
.H .no{font-family:var(--mono);font-size:13px;color:#D1262B;letter-spacing:.06em}
.H .mh2{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;font-size:13px;padding:7px 0;border-bottom:1px solid #B3262A}
.H .cols{columns:3 230px;column-gap:14px;margin-top:14px}
.H .sec{width:100%;break-inside:avoid;margin-bottom:14px;font-size:15px;border:1.5px solid #B3262A}
.H .sec th{background:#B3262A;color:#FCE4E4;font-weight:700;text-align:left;padding:3px 8px;font-size:14px;letter-spacing:.14em}
.H .sec td{border-top:1px solid #E6AEB0;padding:0 7px;line-height:2}
.H .sec td:first-child a{text-decoration:none;color:#5A1416}
.H .sec td:first-child a:hover{text-decoration:underline}
.H .sec td:nth-child(2){font-family:var(--mono);font-size:13px;text-align:right;width:36px;border-left:1px solid #E6AEB0}
.H .sec td.q{width:40px;padding:0;border-left:1.5px solid #B3262A}
.H .sec td.q button{width:100%;height:30px;border:0;background:none;font-family:var(--hand);font-size:24px;color:#333;cursor:pointer;line-height:1}
.H .sec td.q button:hover{background:rgba(179,38,42,.08)}
.H .sec tr.on td:first-child a{color:#000;font-weight:700}
.H .side{margin-top:10px;border:1.5px dashed #B3262A;padding:10px 14px;background:rgba(255,255,255,.35)}
.H .side .st{font-weight:700;font-size:14px;letter-spacing:.12em}
.H .side .sx{font-size:13px;color:#5A1416;margin:4px 0 6px}
.H .side li{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:1.9}
.H .side a{color:#5A1416}
.H .side span{font-family:var(--mono);font-size:12px;white-space:nowrap}
.H .sum{position:fixed;left:0;right:0;bottom:0;z-index:10;background:#FFF6F6;border-top:2.5px solid #B3262A;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;justify-content:center;box-shadow:0 -4px 12px rgba(0,0,0,.12)}
.H .sum p:first-child{display:flex;align-items:baseline;gap:6px;font-size:15px}
.H .sum b{font-family:var(--hand);font-size:32px;color:#333;font-weight:400;line-height:1}
.H .sum small{font-size:13px}
.H .sum .ls{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:13px;max-width:520px}
.H .sum .ls a{color:#5A1416}
.H .sum button{font:inherit;font-size:13px;background:none;border:1px solid #B3262A;color:#B3262A;padding:2px 10px;cursor:pointer}
.H .dish{color:#5A1416}
.H .who{font-size:13.5px;padding:8px 0;color:#B3262A}
.H .who a{color:#B3262A}
.H .h1s{font-size:18px;font-weight:700;color:#3A1A1A;margin:4px 0}
.H .h1{font-size:24px;font-weight:900;color:#3A1A1A;margin:6px 0;line-height:1.4}
.H .lb{display:inline-block;background:#B3262A;color:#FCE4E4;font-size:13px;letter-spacing:.18em;padding:1px 10px;margin:20px 0 8px}
.H .ld{font-size:15.5px;line-height:1.85;color:#3A1A1A}
.H .dish .sm li{font-size:15px;line-height:1.8;color:#3A1A1A;padding:7px 0;border-bottom:1px dashed #E6AEB0}
.H .dish .sm b{color:#B3262A}
.H .tl{font-size:15px;color:#3A1A1A}
.H .tl li{padding:6px 0;border-bottom:1px solid #F0C4C5;display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 10px}
.H .tl a{font-family:var(--mono);color:#B3262A;font-size:13px}
.H .tl span{grid-column:2;color:#5A1416;font-size:14px}
.H .qs li{font-size:15px;line-height:1.8;color:#3A1A1A;padding:5px 0;border-bottom:1px dashed #E6AEB0}
.H .qs a{font-family:var(--mono);font-size:12px;color:#B3262A;margin-left:6px}
.H .nmz{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:0 12px;font-size:14.5px;color:#3A1A1A}
.H .nmz dt{font-weight:700;padding:5px 0;border-bottom:1px solid #F0C4C5}
.H .nmz dd{padding:5px 0;border-bottom:1px solid #F0C4C5}
.H .add{margin-top:22px;width:100%;font:inherit;font-size:16px;font-weight:700;background:#B3262A;color:#FCE4E4;border:0;padding:10px;cursor:pointer}
.H .add[aria-pressed="true"]{background:#FCE4E4;color:#B3262A;box-shadow:inset 0 0 0 2px #B3262A}
.H .dish.plain{background:#FFFDFB;border-color:#D8CFC8}
.H .dish.plain .mh{border-bottom-color:#5A1416}
.H .dish.plain .mh b{font-family:var(--mono);font-size:22px;letter-spacing:.06em;color:#5A1416}
.H .dish.plain .lb{background:none;color:#5A1416;border-bottom:1.5px solid #5A1416;padding:0;letter-spacing:.1em}
.h-nav{max-width:900px;margin:16px auto 0;display:flex;justify-content:space-between;gap:12px;font-size:14px}
.h-nav a{color:#5A1416;text-decoration:none;border-bottom:1px solid #B3262A}
.H:has(.dish){padding-bottom:60px}
@media (max-width:560px){.H{padding:16px 10px 140px}.H .menu{padding:14px 12px}.H .nmz{grid-template-columns:1fr}.H .nmz dt{border-bottom:none;padding-bottom:0}}

/* ================= L 選課系統 ================= */
body[data-layout="courses"]{background:#fff}
.Lw{background:#fff;color:#000;font-family:"PMingLiU","MingLiU",var(--serif);font-size:14px;min-height:100vh;max-width:1180px;margin:0 auto;padding:0 0 60px}
.Lw .bar{background:#1F3A73 linear-gradient(#2C4F94,#1F3A73);color:#fff;font-family:var(--sans);font-weight:700;font-size:16px;padding:10px 16px;letter-spacing:.06em}
.Lw .flt{background:#E8EEF8;border-bottom:1px solid #9FB2D4;padding:10px 16px;font-size:14px;display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}
.Lw .flt select,.Lw .flt input,.Lw .flt button{font-size:14px;font-family:inherit;color:#000;background:#fff;border:1px solid #7F8FB0;padding:2px 6px}
.Lw .flt input{width:12em;max-width:100%}
.Lw .flt button{background:linear-gradient(#FDFDFD,#DCE2EE);cursor:pointer;padding:2px 14px}
.Lw .cnt{font-size:13px;color:#555;padding:8px 16px}
.Lw .tw{overflow-x:auto;margin:0 16px}
.Lw table{width:100%;font-size:14px}
.Lw th{background:#C9D6EE;font-weight:400;border:1px solid #9FB2D4;padding:5px;text-align:left;white-space:nowrap}
.Lw th button{font:inherit;background:none;border:0;padding:0;color:#00008B;text-decoration:underline;cursor:pointer}
.Lw th .ar{font-size:10px;margin-left:3px;text-decoration:none;display:inline-block}
.Lw td{border:1px solid #C9D3E3;padding:5px;vertical-align:top}
.Lw tbody tr:nth-child(odd) td{background:#F3F6FB}
.Lw .lt tbody tr:hover td{background:#FFF8D6}
.Lw td a{color:#0000CC}
.Lw td a:visited{color:#551A8B}
.Lw td small{display:block;font-size:12px;color:#555}
.Lw .nw{white-space:nowrap}
.Lw .ce{text-align:center}
.Lw .none{text-align:center;color:#555;padding:20px}
.Lw .note{font-size:12.5px;color:#555;padding:10px 16px}
.Lw .kv th{width:90px;background:#E8EEF8;vertical-align:top;white-space:nowrap}
.Lw .kv td{line-height:1.8}
.Lw .kv ol{padding-left:22px;list-style:decimal}
.Lw .kv li{margin-bottom:4px}
.Lw .sec{font-family:var(--sans);font-weight:700;font-size:15px;color:#1F3A73;padding:18px 4px 4px;border-bottom:2px solid #1F3A73;margin:0 16px 8px}
.Lw .qs{padding:0 16px}
.Lw .qs li{line-height:1.8;padding:4px 0 4px 1em;text-indent:-1em;border-bottom:1px dotted #C9D3E3}
.Lw .qs a{font-family:var(--mono);font-size:12px;color:#0000CC;margin-left:6px}
.Lw .btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:24px 16px 0}
.Lw .btn{font-family:var(--sans);font-size:14px;color:#000;text-decoration:none;background:linear-gradient(#FDFDFD,#DCE2EE);border:1px solid #7F8FB0;padding:4px 16px;border-radius:2px}
.Lw .btn:hover{background:linear-gradient(#FFFFFF,#C9D6EE)}
@media (max-width:640px){.Lw .c-no,.Lw .c-tm{display:none}.Lw .tw{margin:0 10px}.Lw .sec{margin:0 10px 8px}}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.Lw .lt td:nth-child(3){min-width:10em}

/* 入口頁：全部集數（關掉 JS 也逛得到每一集） */
.allep{margin-top:2.6rem}
.allep h2{font-size:1rem;font-weight:900;margin-bottom:.6rem}
.allep ol{columns:2 26rem;column-gap:2rem}
.allep li{break-inside:avoid}
.allep a{display:grid;grid-template-columns:4.2rem minmax(0,1fr) auto;gap:.6rem;align-items:baseline;padding:.3rem 0;border-bottom:1px dashed var(--dash);text-decoration:none;font-size:.88rem}
.allep a:hover .h{text-decoration:underline}
.allep .n{font-family:var(--mono);font-size:.78rem;color:var(--red)}
.allep .g{color:var(--mute);font-size:.8rem;white-space:nowrap}
.qw{font-size:.86em;opacity:.75;margin-right:.4em}
