:root{
  --paper:#f3ecdf;--paper-2:#e7dcc8;--ink:#1c1915;--ink-soft:#4a433b;--clay:#8d4632;--amber:#c9864a;--moss:#2c4a3c;
  --line:rgba(28,25,21,.14);--shadow:0 18px 40px rgba(40,28,16,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);
  background:radial-gradient(1200px 500px at 80% -10%,rgba(185,122,62,.18),transparent 50%),linear-gradient(180deg,#f7f1e6 0%,var(--paper) 30%,#efe4d2 100%);
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;font-weight:380;line-height:1.7;-webkit-text-size-adjust:100%}
img,svg{max-width:100%;display:block}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
.wrap{width:min(1120px,calc(100% - 40px));margin:0 auto}
.kicker{letter-spacing:.22em;text-transform:uppercase;font-family:Fraunces,serif;font-size:12px;color:var(--clay)}
h1,h2,h3,h4,.serif{font-family:"Noto Serif TC",serif;font-weight:700;letter-spacing:-.02em}
nav.top{position:sticky;top:0;z-index:1200;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 22px;background:rgba(243,236,223,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;line-height:1.3}
.mark{width:34px;height:34px;flex:none;border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-family:"Noto Serif TC",serif}
.brand small{display:block;color:var(--ink-soft);font-size:11px;letter-spacing:.08em;font-family:Fraunces,serif}
.navlinks{display:flex;gap:18px;font-size:14px}
.navlinks a{text-decoration:none;border-bottom:1px solid transparent}
.navlinks a:hover{border-color:var(--ink)}
.nav-space{flex:none;font-size:14px;text-decoration:none;padding:6px 10px;border-radius:99px;border:1.5px solid var(--line);background:#fffaf0;white-space:nowrap;color:inherit}
.nav-space:hover{border-color:var(--ink);background:#f6ecdb}
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:end;padding:42px 0 20px}
.hero h1{font-size:clamp(38px,5.4vw,68px);line-height:1.12;margin:10px 0 14px}
.hero p.lead{font-size:18px;max-width:38em;color:var(--ink-soft);margin:0 0 6px}
.hero figure{margin:0;position:relative}
.illus{width:100%;border-radius:6px 72px 6px 6px;box-shadow:var(--shadow);overflow:hidden;background:#f7efe0}
.illus svg{width:100%;height:auto}
.stamp{position:absolute;left:-18px;bottom:-34px;background:#f7f1e6;border:1px dashed var(--clay);padding:10px 14px;font-size:13px;width:250px}
.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.btn,.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ink);background:transparent;padding:8px 16px;border-radius:999px;cursor:pointer;text-decoration:none;font-size:15px}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn.clay{background:var(--clay);border-color:var(--clay);color:#fbf4e8}
.btn:hover,.chip:hover,.chip.on{background:var(--ink);color:var(--paper)}
.btn.small{padding:5px 12px;font-size:13px}
.meter{margin-top:26px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;max-width:460px}
.bar{height:8px;background:rgba(28,25,21,.1);border-radius:99px;overflow:hidden}
.bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--clay),var(--amber));transition:width .5s}
.meter-note{font-size:13px;color:var(--ink-soft);margin-top:6px}
section{padding:54px 0}
.sec-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px}
.sec-head h2{font-size:34px;margin:6px 0 0}
.sec-head p{max-width:34em;color:var(--ink-soft);margin:0}
.pumps{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:14px}
.pump{display:flex;flex-direction:column;text-align:left;border:1px solid var(--line);background:rgba(255,252,246,.7);padding:16px 18px;cursor:pointer;min-height:168px;position:relative;text-decoration:none;transition:transform .2s,box-shadow .2s}
.pump:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.pump .pic{width:74px;height:74px;margin-bottom:4px}
.pump:first-child{grid-row:span 2;min-height:350px;color:#f6f0e6;background:linear-gradient(180deg,#3a5a49 0%,var(--moss) 100%)}
.pump:first-child .pic{width:170px;height:170px;margin:6px 0 10px}
.pump:first-child .no,.pump:first-child p{color:#f0e6d4}
.pump .no{font-family:Fraunces,serif;color:var(--clay);font-size:13px}
.pump h3{margin:4px 0 6px;font-size:24px}
.pump p{margin:0;color:var(--ink-soft);font-size:14px}
.pump .go{margin-top:auto;padding-top:10px;font-size:13px;font-family:Fraunces,serif;letter-spacing:.08em}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:stretch}
.card{background:rgba(255,252,246,.75);border:1px solid var(--line);padding:16px}
.trail{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.trail b{font-family:Fraunces,serif;font-size:20px;color:var(--clay)}
.trail .meta{color:var(--ink-soft);font-size:13.5px;line-height:1.55}
.trail a.name{font-weight:700;text-decoration:none;border-bottom:1px dotted var(--ink)}
.trail .acts{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.check{border:1px solid var(--ink);background:transparent;padding:5px 10px;cursor:pointer;border-radius:4px;white-space:nowrap}
.check.done{background:var(--moss);color:#f4efe6;border-color:var(--moss)}
.map{width:100%;height:440px;border:1px solid var(--line);background:#e9e1cf;z-index:1}
.map.big{height:420px}
.map-fallback{display:grid;place-items:center;height:100%;padding:20px;text-align:center;color:var(--ink-soft);font-size:14px}
.trail-art{margin-bottom:14px}
.books{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.book{min-height:210px;padding:16px;color:#f6f0e6;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;border-radius:2px 10px 10px 2px;box-shadow:inset 6px 0 0 rgba(0,0,0,.18)}
.book h3{margin:6px 0;font-size:21px}
.book:nth-child(4n+1){background:#3d2a24}.book:nth-child(4n+2){background:#2c4a3c}.book:nth-child(4n+3){background:#6d442c}.book:nth-child(4n+4){background:#243246}
.book small{opacity:.8}
.book .status{font-size:12px;border:1px solid rgba(255,255,255,.4);border-radius:99px;padding:2px 8px;align-self:flex-start}
.note{margin-top:28px;background:#f7f3ea;border-left:4px solid var(--clay);padding:14px 16px;font-size:14px;color:var(--ink-soft)}
footer{border-top:1px solid var(--line);padding:28px 0 90px;color:var(--ink-soft);font-size:14px}
/* detail view */
#detail{display:none}
body.in-detail #home{display:none}
body.in-detail #detail{display:block}
.detail{padding:28px 0 40px}
.crumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:14px;margin-bottom:16px}
.crumb a{text-decoration:none;border-bottom:1px solid var(--line)}
.d-hero{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line)}
.d-hero .pic{background:#fbf5ea;border:1px solid var(--line);border-radius:6px 40px 6px 6px;padding:12px}
.d-hero h1{font-size:clamp(32px,4.6vw,52px);margin:6px 0 8px;line-height:1.15}
.d-hero p{color:var(--ink-soft);font-size:17px;margin:0}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0}
.tags span{border:1px solid var(--line);padding:2px 10px;font-size:13px;border-radius:99px;background:rgba(255,252,246,.6)}
.d-grid{display:grid;grid-template-columns:1fr 320px;gap:28px;margin-top:26px;align-items:start}
.articles{display:grid;gap:14px}
.article{background:rgba(255,252,246,.82);border:1px solid var(--line);padding:18px 20px}
.article h3{margin:0 0 6px;font-size:21px}
.article .n{font-family:Fraunces,serif;color:var(--clay);font-size:12px;letter-spacing:.15em}
.article p{margin:6px 0;color:var(--ink-soft)}
.article ul,.article ol{margin:6px 0;padding-left:1.3em;color:var(--ink-soft)}
.article li{margin:3px 0}
.recipe{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px}
.recipe h4{margin:0 0 4px;font-size:17px}
aside.side{display:grid;gap:14px;position:sticky;top:76px}
.routine{background:var(--moss);color:#f1ead9;padding:18px 20px}
.routine h3{margin:4px 0 8px;font-size:20px}
.routine .kicker{color:#e6c49a}
.routine ol,.routine ul{padding-left:1.2em;margin:0}
.routine li{margin:5px 0;font-size:14.5px}
.routine label{display:flex;gap:8px;align-items:flex-start;margin:6px 0;font-size:14.5px;cursor:pointer}
.routine input{margin-top:5px;accent-color:var(--amber)}
.safety{background:#fbefe6;border:1px solid rgba(141,70,50,.35);border-left:4px solid var(--clay);padding:14px 16px;font-size:14px;color:#5a2e20}
.safety strong{display:block;margin-bottom:4px}
.pager{display:flex;justify-content:space-between;gap:10px;margin-top:30px;flex-wrap:wrap}
/* trail detail */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}
.fact{background:rgba(255,252,246,.8);border:1px solid var(--line);padding:10px 12px}
.fact small{display:block;color:var(--ink-soft);font-size:12px}
.fact b{font-size:16px}
.approx{display:inline-block;margin-top:8px;font-size:13px;background:#fff6e3;border:1px dashed var(--amber);padding:4px 10px}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--ink-soft);margin-top:8px}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:middle}
/* premium / lock */
.lock-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;background:var(--amber);color:#2a1a0e;border-radius:99px;padding:2px 9px;font-weight:520;vertical-align:middle}
.premium{position:relative;border:1px solid rgba(201,134,74,.55);background:linear-gradient(180deg,#fff8ec,#f6ead6);padding:18px 20px;overflow:hidden}
.premium h3{margin:0 0 6px;font-size:20px}
.premium .teaser{filter:blur(4.5px);user-select:none;pointer-events:none;color:var(--ink-soft);margin:8px 0 0}
.premium .veil{position:absolute;inset:auto 0 0 0;padding:14px 20px;background:linear-gradient(180deg,rgba(246,234,214,0),rgba(246,234,214,.97) 40%);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.premium .veil span{font-size:13px;color:var(--ink-soft)}
.member{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.price-card{background:var(--ink);color:var(--paper);padding:26px;border-radius:4px 40px 4px 4px;position:relative}
.price-card .kicker{color:#e6c49a}
.price{font-family:Fraunces,serif;font-size:46px;margin:8px 0}
.price small{font-size:16px;opacity:.75}
.price-card ul{padding-left:1.2em}
.price-card li{margin:6px 0}
.pay{background:rgba(255,252,246,.85);border:1px solid var(--line);padding:22px}
.pay ol{padding-left:1.3em}
.pay li{margin:8px 0}
.payme{display:inline-block;font-family:Fraunces,serif;font-size:20px;letter-spacing:.04em;background:#fff;border:1.5px dashed var(--clay);padding:6px 14px;margin:6px 0}
.placeholder-tag{font-size:12px;color:var(--clay);border:1px dashed var(--clay);padding:1px 6px;border-radius:4px;margin-left:6px}
.groups{position:relative}
.groups .list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;filter:blur(5px);user-select:none;pointer-events:none}
.groups .lockwall{position:absolute;inset:0;display:grid;place-items:center}
.groups .lockbox{background:rgba(247,241,230,.96);border:1px solid var(--line);box-shadow:var(--shadow);padding:22px 26px;text-align:center;max-width:420px;border-radius:6px 30px 6px 6px}
.groups .lockbox svg{width:64px;height:64px;margin:0 auto 6px}
/* music */
.music{position:fixed;right:16px;bottom:16px;z-index:1500;display:flex;align-items:center;gap:8px;background:rgba(28,25,21,.92);color:var(--paper);border-radius:999px;padding:6px 8px 6px 6px;box-shadow:var(--shadow)}
.music button{border:0;background:var(--amber);color:#21160c;width:40px;height:40px;border-radius:50%;cursor:pointer;display:grid;place-items:center;font-size:16px}
.music button.on{background:#e6c49a}
.music .vol{display:flex;align-items:center;gap:6px;font-size:12px}
.music input[type=range]{width:84px;accent-color:var(--amber)}
.music .lbl{font-size:12px;opacity:.85;padding-right:4px;white-space:nowrap}
.music.min .vol,.music.min .lbl{display:none}
.music .tog{width:28px;height:28px;font-size:12px;background:transparent;color:var(--paper);border:1px solid rgba(255,255,255,.3)}
.toast{position:fixed;left:50%;bottom:80px;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:8px;font-size:14px;z-index:2000;opacity:0;transition:opacity .3s;pointer-events:none;max-width:90vw}
.toast.show{opacity:1}
.leaflet-container{font-family:inherit}
.leaflet-popup-content a{color:var(--clay);font-weight:700}
@media (max-width:860px){
  .navlinks{display:none}
  .hero,.pumps,.split,.books,.d-grid,.member,.d-hero{grid-template-columns:1fr}
  .books{grid-template-columns:1fr 1fr}
  .pump:first-child{grid-row:auto;min-height:220px}
  .pump:first-child .pic{width:110px;height:110px}
  .stamp{position:static;width:auto;margin-top:-6px}
  .sec-head{flex-direction:column;align-items:flex-start}
  .d-hero .pic{max-width:160px}
  aside.side{position:static}
  .facts{grid-template-columns:1fr 1fr}
  .groups .list{grid-template-columns:1fr}
  .map{height:340px}
  .map.big{height:360px}
  section{padding:40px 0}
  .wrap{width:calc(100% - 28px)}
  nav.top{padding:10px 14px}
}
@media (max-width:420px){
  .trail{grid-template-columns:30px 1fr}
  .trail .acts{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start}
  .music .vol input{width:64px}
  .hero p.lead{font-size:16px}
}

.payme-box{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0 4px}
.payme-btn{background:#db0011;border-color:#db0011;color:#fff;font-weight:700;font-size:17px;padding:11px 22px;box-shadow:0 8px 20px rgba(219,0,17,.25)}
.payme-btn:hover{background:#b0000e;border-color:#b0000e;color:#fff}

.trail-art,#shelfArt{height:210px}
#shelfArt{height:180px}
.trail-art svg,#shelfArt svg{width:100%;height:100%}
#trails .map{height:620px}
@media (max-width:860px){.trail-art{height:150px}#shelfArt{height:130px}#trails .map{height:360px}}
@media (max-width:560px){
  .music .lbl{display:none}
  .music{right:10px;bottom:10px}
  .d-hero{grid-template-columns:84px 1fr;gap:14px;align-items:start}
  .d-hero .pic{padding:4px;border-radius:6px 22px 6px 6px}
  .d-hero h1{font-size:30px}
  .d-hero p{font-size:15.5px}
}
.fuel{font-size:14.5px;line-height:1.75;opacity:.92;margin:4px 0 10px;border-left:3px solid var(--amber);padding-left:12px}

/* ===== v2：多圖少字、mobile-first ===== */
.ic{display:inline-block;flex:none;vertical-align:middle}
.hero p.lead{font-size:18px;line-height:1.7}
.hero-perks{display:flex;gap:14px;flex-wrap:wrap;margin:14px 0 0}
.hero-perks span{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;color:var(--ink-soft)}
.hero-perks .ic{background:#fbf5ea;border:1px solid var(--line);border-radius:14px;padding:5px;width:44px;height:44px}
.divider{height:44px;margin:6px 0 -20px;opacity:.9}
.divider svg{width:100%;height:100%}
.sec-ic{display:inline-block;vertical-align:-6px;margin-right:8px}
.sec-head p{font-size:15px}
.mini-disc{font-size:12.5px;color:var(--ink-soft);margin:12px 0 0}
.sub-h{margin:26px 0 10px;font-size:20px}
.hint{font-size:12.5px;color:var(--ink-soft);margin:0 0 -4px}
/* pumps */
.pumps{grid-template-columns:repeat(3,1fr)}
.pump,.pump:first-child{grid-row:auto;min-height:0;color:var(--ink);background:rgba(255,252,246,.78);flex-direction:row;gap:14px;align-items:center;padding:14px;border-radius:4px 22px 4px 4px}
.pump .pic,.pump:first-child .pic{width:84px;height:84px;margin:0;flex:none;background:#f6ecdb;border-radius:18px;padding:4px}
.pump:first-child .no,.pump:first-child p{color:inherit}
.pump .no{font-size:12px}
.pump h3{font-size:20px;margin:0 0 2px}
.pump p{font-size:13.5px}
.pump .lock-badge{margin-top:6px;font-size:11px}
/* trail cards */
#trails .map{height:440px;margin-bottom:16px}
.tcards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tcard{background:rgba(255,252,246,.85);border:1px solid var(--line);border-radius:4px 22px 4px 4px;overflow:hidden;display:flex;flex-direction:column}
.tart{position:relative;display:block;aspect-ratio:16/8;overflow:hidden}
.tart svg{width:100%;height:100%}
.tno{position:absolute;left:10px;top:8px;font-family:Fraunces,serif;background:var(--ink);color:var(--paper);border-radius:99px;padding:0 9px;font-size:13px}
.tlevel{position:absolute;right:10px;top:8px;background:rgba(251,245,234,.92);border-radius:99px;padding:0 9px;font-size:12px}
.tbody{padding:10px 14px 14px;display:flex;flex-direction:column;gap:2px;flex:1}
.tname{font-family:"Noto Serif TC",serif;font-weight:700;font-size:19px;text-decoration:none}
.tbody>small{color:var(--clay);font-size:12px}
.irow{list-style:none;padding:0;margin:6px 0;display:grid;grid-template-columns:1fr 1fr;gap:3px 10px;font-size:12.5px;color:var(--ink-soft)}
.irow li{display:flex;gap:5px;align-items:center;line-height:1.35}
.irow li:first-child{grid-column:1/-1}
.tacts{display:flex;gap:8px;margin-top:auto;padding-top:6px}
.tacts .btn{gap:4px}
/* groups */
.gcard{padding:0;overflow:hidden}
.gcard svg{width:100%;height:90px}
.gcard h3{margin:8px 12px 2px;font-size:16px}
.gcard p{margin:0 12px 12px;font-size:13px;color:var(--ink-soft)}
.groups .lockbox svg{width:64px;height:64px}
/* books */
.books{grid-template-columns:repeat(4,1fr);gap:16px}
.book,.book:nth-child(n){background:none;color:var(--ink);min-height:0;padding:0;box-shadow:none;display:block}
.book .cover{position:relative;aspect-ratio:3/4;border-radius:3px 12px 12px 3px;overflow:hidden;box-shadow:inset 7px 0 0 rgba(0,0,0,.2),0 10px 22px rgba(40,28,16,.16)}
.book .cover svg{width:100%;height:100%}
.book .status{position:absolute;right:8px;top:8px;background:rgba(251,245,234,.92);color:var(--ink);border:0;font-size:11px;border-radius:99px;padding:1px 8px}
.book h3{font-size:16px;margin:8px 0 0}
.book small{font-size:12px;color:var(--ink-soft);opacity:1}
.prem-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
/* premium */
.premium{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:4px 18px 4px 4px}
.premium>div{flex:1;min-width:0}
.premium h3{font-size:16px;margin:0}
.premium .teaser{margin:2px 0 0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.premium .veil{display:none}
/* today */
.today{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;align-items:center}
.today .illus{border-radius:6px 40px 6px 6px;max-height:340px}
.today-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:22px}
#daily{font-size:24px;line-height:1.5;margin:6px 0}
.today-sub{font-size:13px;color:var(--ink-soft);margin:0}
/* member */
.price-card{padding:22px}
.price{margin:0 0 6px}
.fuel{border-left:3px solid var(--amber);padding-left:12px;font-size:14.5px;line-height:1.7;opacity:.92;margin:0 0 14px}
.perks{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.perks .perk,.perks span{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:12px;text-decoration:none;color:inherit}
.perks a.perk:hover{color:var(--clay)}
.perks .ic{background:#fbf5ea;border-radius:14px;padding:5px;width:50px;height:50px}
.perk-blurb{margin:12px 0 0;font-size:13.5px;line-height:1.65;color:var(--ink-soft)}
.perk-blurb a{color:var(--clay);font-weight:700;text-decoration:none;border-bottom:1px solid transparent}
.perk-blurb a:hover{border-color:var(--clay)}
.pay{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.payme-btn{align-self:stretch;justify-content:center}
.steps{display:grid;gap:8px;width:100%}
.step{display:flex;gap:10px;align-items:center;background:#f7efe2;border-radius:12px;padding:6px 12px;font-size:14.5px}
/* accordions */
.articles{gap:10px}
details.acc{background:rgba(255,252,246,.9);border:1px solid var(--line);border-radius:4px 18px 4px 4px}
details.acc summary{list-style:none;display:flex;gap:12px;align-items:center;padding:10px 14px;cursor:pointer}
details.acc summary::-webkit-details-marker{display:none}
details.acc .ic{background:#f6ecdb;border-radius:12px;padding:3px}
.st{flex:1;display:flex;flex-direction:column;line-height:1.4}
.st b{font-family:"Noto Serif TC",serif;font-size:17px}
.st small{color:var(--ink-soft);font-size:13px}
.chev{font-style:normal;font-size:20px;color:var(--clay);transition:transform .2s}
details.acc[open] .chev{transform:rotate(180deg)}
.acc-body{padding:0 16px 12px 70px;color:var(--ink-soft);font-size:14.5px}
.acc-body p{margin:6px 0}
.acc-body ul,.acc-body ol{padding-left:1.2em;margin:6px 0}
/* routine ticks */
.rhead{display:flex;gap:10px;align-items:center;margin-bottom:6px}
.rhead .ic{background:#f1ead9;border-radius:10px;padding:3px}
.routine h3{margin:0;font-size:17px}
.tick{position:relative}
.tick input{position:absolute;opacity:0}
.tick i{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid #e6c49a;margin-top:2px;display:grid;place-items:center}
.tick input:checked+i{background:#e6c49a}
.tick input:checked+i::after{content:"✓";color:var(--moss);font-size:13px;font-weight:700;font-style:normal}
.tick input:checked~span{text-decoration:line-through;opacity:.7}
.tick input:focus-visible+i{outline:2px solid #fff}
.steps-ol{padding-left:1.2em;margin:0}
details.safe{background:#fbefe6;border:1px solid rgba(141,70,50,.3);border-radius:10px;font-size:13.5px;color:#5a2e20}
details.safe summary{display:flex;gap:8px;align-items:center;padding:8px 12px;cursor:pointer;font-weight:520}
details.safe p{margin:0;padding:0 12px 10px}
.tags span{display:inline-flex;align-items:center;gap:4px}
.mini-trails{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}
.mini-trails a{text-decoration:none;font-size:13px;border-radius:10px;overflow:hidden;background:#fbf5ea;border:1px solid var(--line)}
.mini-trails svg{width:100%;height:56px}
.mini-trails span{display:block;padding:3px 8px}
/* trail detail */
.t-hero{position:relative;border-radius:6px 40px 6px 6px;overflow:hidden;height:190px}
.t-hero svg{width:100%;height:100%}
.t-hero-txt{position:absolute;left:0;bottom:0;right:0;padding:14px 18px;background:linear-gradient(180deg,transparent,rgba(28,25,21,.65))}
.t-hero-txt h1{color:#fbf4e8;margin:0;font-size:clamp(30px,5vw,46px)}
.t-hero-txt .kicker{color:#f2d3a8}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.chips span{display:inline-flex;gap:6px;align-items:center;background:rgba(255,252,246,.9);border:1px solid var(--line);border-radius:99px;padding:4px 12px 4px 6px;font-size:14px}
.legend .approx{margin:0;font-size:12.5px}
.linkrow{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.info{display:grid;gap:10px}
.info>div{display:flex;gap:12px;align-items:flex-start;background:rgba(255,252,246,.85);border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.info p{margin:2px 0 0;font-size:14.5px;color:var(--ink-soft)}
.d-hero{grid-template-columns:150px 1fr}
.foot{display:flex;gap:14px;align-items:center}
.foot small{font-size:12px}
@media (max-width:860px){
  .pumps{grid-template-columns:1fr 1fr;gap:10px}
  .pump,.pump:first-child{flex-direction:column;align-items:flex-start;gap:6px;padding:12px}
  .pump .pic,.pump:first-child .pic{width:64px;height:64px}
  .pump h3{font-size:18px}
  .pump p{font-size:12.5px;line-height:1.5}
  .tcards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px;margin:0 -14px;padding-left:14px;padding-right:14px}
  .tcard{flex:0 0 80%;scroll-snap-align:start}
  #trails .map{height:300px}
  .books{grid-template-columns:repeat(4,1fr);gap:10px}
  .book h3{font-size:13px}.book small{display:none}
  .today{grid-template-columns:1fr}
  .today .illus{max-height:220px}
  .perks{grid-template-columns:repeat(3,1fr)}
  .perks .ic{width:42px;height:42px}
  .acc-body{padding-left:16px}
  .mini-trails{grid-template-columns:repeat(3,1fr)}
  .t-hero{height:150px}
  .divider{height:32px}
}
@media (max-width:420px){
  .hero h1{font-size:36px}
  .books{grid-template-columns:repeat(4,1fr)}
  .book .status{font-size:9px;padding:0 5px;right:4px;top:4px}
  .groups .list{grid-template-columns:1fr}
  .chips span{font-size:13px}
}
@media (max-width:860px){
  .today{grid-template-columns:120px 1fr;gap:12px}
  .today .illus{max-height:none;border-radius:6px 24px 6px 6px}
  .today-card{padding:14px}
  #daily{font-size:18px}
}
.t-hero-txt{background:linear-gradient(180deg,rgba(28,25,21,0),rgba(28,25,21,.78) 45%)}
@media (max-width:560px){
  .d-hero{grid-template-columns:84px 1fr;gap:14px}
  .d-hero .pic{padding:4px}
  .tags span{font-size:12px;padding:1px 8px}
  footer{padding-bottom:110px}
}
@media (min-width:861px){.hero{padding-bottom:44px}}

/* ===== v3：手繪插圖 ===== */
.hero-img{position:relative;aspect-ratio:16/9;border-radius:6px 60px 6px 6px}
.hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.hut-sign{position:absolute;left:12%;top:11%;transform:rotate(-3deg);background:linear-gradient(180deg,#f7ead2,#ead6b4);color:var(--clay);font-family:"Noto Serif TC",serif;font-weight:700;font-size:clamp(12px,1.6vw,18px);letter-spacing:.08em;padding:4px 12px;border:2px solid #5a3a26;border-radius:6px;box-shadow:0 4px 10px rgba(40,20,10,.35)}
.hut-sign::before,.hut-sign::after{content:"";position:absolute;top:-12px;width:2px;height:12px;background:#5a3a26}
.hut-sign::before{left:16px}.hut-sign::after{right:16px}
/* pump cards with images */
.pump,.pump:first-child{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden}
.pimg{position:relative;aspect-ratio:16/9;overflow:hidden;background:#efe2cb}
.pimg img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.pump:hover .pimg img{transform:scale(1.04)}
.pno{position:absolute;left:10px;top:8px;font-family:Fraunces,serif;font-size:12px;background:rgba(28,25,21,.82);color:var(--paper);border-radius:99px;padding:1px 9px}
.ptxt{padding:10px 14px 14px}
.pump h3{margin:0 0 2px}
/* pump detail header */
.d-hero{grid-template-columns:minmax(260px,42%) 1fr}
.pic-img{border-radius:6px 36px 6px 6px;overflow:hidden;aspect-ratio:16/9;box-shadow:var(--shadow);background:#efe2cb}
.pic-img img{width:100%;height:100%;object-fit:cover}
/* banners */
.banner{margin:0 0 16px;border-radius:6px 40px 6px 6px;overflow:hidden;aspect-ratio:21/8;box-shadow:var(--shadow);background:#e9dcc6}
.banner img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.groups{min-height:340px;border-radius:6px 30px 6px 6px;overflow:hidden}
.groups-bg{position:absolute;inset:0}
.groups-bg img{width:100%;height:100%;object-fit:cover;filter:blur(4px) saturate(.9);transform:scale(1.06)}
.groups .lockwall{position:relative;inset:auto;min-height:340px;display:grid;place-items:center;padding:24px}
.member-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:4px 28px 4px 4px;margin-bottom:12px;display:block}
@media (max-width:860px){
  .pumps{gap:10px}
  .pump,.pump:first-child{padding:0}
  .ptxt{padding:8px 10px 10px}
  .d-hero{grid-template-columns:1fr;gap:12px}
  .d-hero .pic-img{max-width:none}
  .banner{aspect-ratio:16/8}
  .hero-img{border-radius:6px 36px 6px 6px}
}
@media (max-width:560px){
  .d-hero{grid-template-columns:1fr}
  .hut-sign{left:9%;top:8%;font-size:11px;padding:2px 8px}
}
.stamp{position:static;width:auto;margin:10px 0 0 auto;max-width:360px}
@media (min-width:861px){.hero{align-items:center}}
@media (max-width:860px){
  .hero{padding-top:16px;gap:18px}
  .hero figure{order:-1}
  .stamp{max-width:none;margin-top:8px;font-size:12.5px}
}
.member-img{height:auto}
.mail-addr{font-family:Fraunces,serif;font-size:14px;color:var(--ink-soft);user-select:all;word-break:break-all}
.lock-mail{font-size:13px;margin:12px 0 0;color:var(--ink-soft)}
.lock-mail a{color:var(--clay);font-weight:700}
.pay .mail-owner{align-self:stretch;justify-content:center}

/* ===== 心意牆 ===== */
.wall-rules{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:6px 8px}
.wall-rules li{font-size:13px;background:rgba(255,252,246,.85);border:1px dashed rgba(141,70,50,.4);border-radius:99px;padding:3px 10px}
.wall-wrap{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.cork{border-radius:10px 30px 10px 10px;padding:12px;background:#8a5a32;box-shadow:inset 0 0 0 3px #6e4424,var(--shadow)}
.board{min-height:360px;border-radius:6px 22px 6px 6px;padding:22px 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:22px 16px;align-content:start;
  background-color:#c99b66;
  background-image:radial-gradient(rgba(90,55,25,.35) 1px,transparent 1.6px),radial-gradient(rgba(255,240,210,.35) 1px,transparent 1.8px),radial-gradient(rgba(120,70,30,.25) 2px,transparent 2.6px);
  background-size:7px 7px,11px 11px,23px 23px;background-position:0 0,3px 5px,9px 2px;box-shadow:inset 0 2px 10px rgba(60,30,10,.35)}
.note{position:relative;margin:0;padding:22px 14px 12px;background:var(--bg);color:var(--pen);transform:rotate(var(--rot));
  font-family:"LXGW WenKai TC","Long Cang","Noto Serif TC",cursive;border-radius:2px 2px 14px 3px;min-height:130px;display:flex;flex-direction:column;
  box-shadow:0 10px 14px -8px rgba(40,20,5,.45),0 1px 0 rgba(0,0,0,.05);
  background-image:repeating-linear-gradient(-28deg,rgba(255,255,255,.18) 0 2px,transparent 2px 6px),repeating-linear-gradient(62deg,rgba(0,0,0,.025) 0 1px,transparent 1px 5px);
  transition:transform .2s}
.note:hover{transform:rotate(0) scale(1.03);z-index:2}
.note blockquote{margin:0;font-weight:var(--fw);font-size:var(--fs);line-height:1.45;word-break:break-word;flex:1;white-space:pre-wrap}
.note figcaption{margin-top:8px;font-size:14px;text-align:right;opacity:.85}
.note.tape::before{content:"";position:absolute;top:-10px;left:50%;width:70px;height:22px;transform:translateX(-50%) rotate(-4deg);background:rgba(240,230,200,.7);box-shadow:0 1px 2px rgba(0,0,0,.15);border-left:2px dotted rgba(0,0,0,.06);border-right:2px dotted rgba(0,0,0,.06)}
.note.pin::before{content:"";position:absolute;top:-7px;left:50%;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f19a8a,#b8382a 60%,#7a1f16);box-shadow:0 3px 4px rgba(0,0,0,.35)}
.nbadge{display:inline-block;font-family:"Noto Sans TC",sans-serif;font-size:11px;font-weight:500;border-radius:99px;padding:0 7px;margin:0 4px 6px 0;background:rgba(28,25,21,.08);color:var(--ink);align-self:flex-start}
.nbadge.demo{background:#1c1915;color:#fbf4e8}
.nbadge.mem{background:var(--amber);color:#2a1a0e}
.nbadge.pend{background:#fff;color:var(--clay);border:1px dashed var(--clay)}
.nbadge.prev{background:var(--moss);color:#f1ead9}
.note .nbadge{position:relative;top:-8px}
.wall-empty{grid-column:1/-1;color:#fff7ea;text-align:center;font-size:15px}
.composer{background:#fffaf1;border:1px solid var(--line);border-radius:6px 26px 6px 6px;padding:16px;display:grid;gap:10px;box-shadow:var(--shadow);
  background-image:repeating-linear-gradient(0deg,transparent 0 27px,rgba(44,74,60,.07) 27px 28px)}
.composer h3{margin:0;font-size:19px}
.preview .note{transform:rotate(-1.5deg);min-height:110px;margin:8px 4px 2px}
.fld{display:grid;gap:4px;font-size:13.5px;color:var(--ink-soft)}
.fld small{float:right;font-family:Fraunces,serif}
.fld textarea,.fld input{width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;font-family:"LXGW WenKai TC","Noto Sans TC",sans-serif;font-size:16px;resize:vertical}
.swatches{display:flex;flex-wrap:wrap;gap:6px}
.swatch{position:relative;cursor:pointer}
.swatch input,.thick input{position:absolute;opacity:0}
.swatch span{display:block;width:30px;height:30px;border-radius:50%;border:2px solid rgba(28,25,21,.18);box-shadow:inset 0 0 0 2px #fff}
.swatch input:checked+span{border-color:var(--ink);transform:scale(1.12)}
.swatch input:focus-visible+span{outline:2px solid var(--amber)}
.swatch em{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.thicks{display:flex;gap:6px}
.thick span{display:inline-block;border:1px solid var(--line);border-radius:99px;padding:3px 14px;background:#fff;cursor:pointer;font-family:"LXGW WenKai TC",serif;font-size:16px}
.thick input:checked+span{background:var(--ink);color:var(--paper)}
.agree{display:flex;gap:6px;align-items:flex-start;font-size:13.5px}
.agree input{margin-top:4px;accent-color:var(--moss)}
.composer button[disabled]{opacity:.45;cursor:not-allowed}
.warn{margin:0;font-size:13px;color:#a3301e;background:#fdeee8;border-radius:8px;padding:6px 10px}
/* admin */
.admin h1{font-size:30px;margin:4px 0 10px}
.admin h2{font-size:20px;margin:22px 0 8px}
.insecure{background:#fff3cd;border:1px dashed #b8741a;border-radius:10px;padding:10px 12px;font-size:13.5px}
.admin-login{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-top:16px}
.admin-login label{display:grid;gap:4px;font-size:14px}
.admin-login input{border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:16px}
.arow{display:flex;gap:12px;align-items:flex-start;background:rgba(255,252,246,.9);border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:8px}
.amini{flex:0 0 150px;min-height:80px;background:var(--bg);color:var(--pen);font-family:"LXGW WenKai TC",serif;font-size:15px;padding:8px;border-radius:2px 2px 10px 2px;box-shadow:0 6px 8px -6px rgba(0,0,0,.4);word-break:break-word}
.ameta{flex:1;font-size:14px}
.ameta small{color:var(--ink-soft)}
.abtns{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
@media (max-width:860px){
  .wall-wrap{grid-template-columns:1fr}
  .board{grid-template-columns:repeat(2,1fr);gap:18px 12px;padding:18px 10px;min-height:240px}
  .note{min-height:110px;padding:20px 10px 10px}
  .note blockquote{font-size:calc(var(--fs) - 3px)}
  .amini{flex-basis:110px}
}
figure.note{border-left:0}
.thick{position:relative}.swatch input,.thick input{left:0;top:0;width:1px;height:1px;margin:0}
/* ---- wall: supabase ---- */
.wall-notice{margin:0 0 14px;padding:10px 14px;border-radius:12px;background:#fff6dd;border:1px dashed #d9a441;color:#6b4a12;font-size:.92rem;line-height:1.55}
.ok-msg{margin:6px 0 0;padding:8px 12px;border-radius:10px;background:#e3f1dc;color:#2c4a3c;font-size:.92rem}
.admin-login{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:12px 0}
.admin-login label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;flex:1 1 220px}
.admin-login input{padding:10px 12px;border-radius:10px;border:1px solid #cbbfa9;font:inherit}
/* ---- accounts / check-in / member gating ---- */
.acct-btn{flex:none;font-size:13px;text-decoration:none;padding:7px 12px;border-radius:99px;border:1.5px solid var(--ink);background:#fffaf0;white-space:nowrap;max-width:46vw;overflow:hidden;text-overflow:ellipsis;font-family:"LXGW WenKai TC","Noto Sans TC",sans-serif}
.acct-btn.mem{background:var(--amber);border-color:#7a4a1c;color:#2a1a0e}
nav.top{gap:10px}.navlinks{margin-left:auto}
.stampcard{position:relative;background:#fffdf6;border-radius:18px 6px 20px 8px;padding:20px 20px 16px;box-shadow:var(--shadow);border:2px solid #d8c7a6;
  background-image:repeating-linear-gradient(0deg,transparent 0 27px,rgba(58,100,168,.07) 27px 28px);font-family:"LXGW WenKai TC","Noto Sans TC",sans-serif}
.sc-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.sc-head h3{margin:0;font-size:22px}.sc-head h3 small{font-size:13px;color:var(--clay);margin-left:6px}
.sc-rule{margin:4px 0 0;color:var(--clay);font-weight:700;font-size:16px}
.sc-big{text-align:center;line-height:1;background:#fff3b0;border:2px dashed #c7841f;border-radius:14px;padding:8px 12px;transform:rotate(3deg)}
.sc-big b{display:block;font-size:34px;color:#b8741a}.sc-big small{font-size:12px;color:var(--ink-soft)}
.slots{list-style:none;margin:16px 0 8px;padding:0;display:grid;grid-template-columns:repeat(10,1fr);gap:8px}
.slot{position:relative;aspect-ratio:1;border:2px dashed #cbbfa9;border-radius:50%;display:grid;place-items:center;background:#fffaf0}
.slot .n{font-size:13px;color:#a99b84}
.slot.on{border-color:transparent;background:transparent}.slot.on .n{position:absolute;bottom:-3px;right:-2px;font-size:10px;color:var(--ink-soft);background:#fffdf6;border-radius:6px;padding:0 2px}
.stamp-svg{position:absolute;inset:-6%;width:112%;height:112%}
.slot.today .stamp-svg{animation:stampIn .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes stampIn{from{transform:scale(1.8) rotate(-20deg);opacity:0}}
.sc-stats{margin:6px 0 10px;font-size:15px;color:var(--ink-soft)}
.sc-act{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.crayon-btn{font-family:inherit;font-size:18px;padding:10px 26px;border-radius:14px 6px 16px 8px;box-shadow:3px 3px 0 #c7841f}
.crayon-btn:disabled{opacity:.75;box-shadow:none}
.sc-mem{color:#7a4a1c;font-weight:700}
.sc-note{font-size:14px;color:var(--ink-soft);margin:10px 0 0;background:#fff6dd;padding:8px 12px;border-radius:10px}
@media (max-width:640px){.slots{grid-template-columns:repeat(6,1fr);gap:9px}.stampcard{padding:16px 14px}.sc-rule{font-size:15px}}
.celebrate{position:fixed;inset:0;z-index:3000;background:rgba(28,25,21,.45);display:grid;place-items:center;padding:20px}
.cel-card{position:relative;z-index:2;background:#fffdf6;border-radius:20px;padding:24px 26px;text-align:center;max-width:340px;box-shadow:var(--shadow);font-family:"LXGW WenKai TC",sans-serif;animation:stampIn .6s cubic-bezier(.2,1.6,.4,1)}
.cel-card h3{margin:6px 0;font-size:26px;color:var(--clay)}.cel-big{font-size:52px}
.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.confetti i{position:absolute;top:-20px;width:10px;height:16px;border-radius:3px;animation:fall 2.6s ease-in infinite}
@keyframes fall{to{transform:translate(var(--dx),110vh) rotate(540deg)}}
/* account page */
.account h1{margin:.2em 0}
.lead-s{color:var(--ink-soft);max-width:620px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 4px}
.tabs button{font:inherit;font-size:14px;padding:8px 14px;border-radius:99px;border:1.5px solid var(--line);background:#fffaf0;cursor:pointer}
.tabs button[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.acct-form{display:flex;flex-direction:column;gap:12px;max-width:420px;margin:14px 0;padding:16px;background:#fffdf6;border:1px solid var(--line);border-radius:14px}
.acct-form label{display:flex;flex-direction:column;gap:5px;font-size:14px}
.acct-form input{font:inherit;font-size:16px;padding:11px 12px;border-radius:10px;border:1px solid #cbbfa9;background:#fff}
.acct-form .btn{align-self:flex-start}
.acct-form.row-form{flex-direction:row;max-width:520px;padding:10px}.acct-form.row-form input{flex:1}
.form-msg{margin:0;font-size:14px}
.linkish{background:none;border:0;color:var(--clay);text-decoration:underline;cursor:pointer;font:inherit;font-size:14px;align-self:flex-start;padding:0}
.id-card{position:relative;margin:16px 0;padding:22px 20px;border-radius:20px 8px 22px 10px;background:#fffdf6;border:2.5px solid #9fb59a;box-shadow:var(--shadow);font-family:"LXGW WenKai TC",sans-serif;max-width:560px}
.id-card.mem{border-color:#c7841f;background:linear-gradient(160deg,#fff8e6,#ffeec8)}
.id-badge{display:inline-block;padding:3px 12px;border-radius:99px;background:#2f7d5b;color:#fff;font-size:14px;transform:rotate(-2deg)}
.id-card.mem .id-badge{background:#c7841f}
.id-name{font-size:clamp(24px,6vw,34px);margin:8px 0 4px;word-break:break-all}
.id-sub{margin:4px 0;color:var(--ink-soft);font-size:15px}
.id-prog{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 6px}
.id-prog>div{background:#fffaf0;border:1.5px dashed #cbbfa9;border-radius:12px;padding:10px 12px}
.id-prog b{font-size:26px;color:#b8741a;display:block;line-height:1.1}.id-prog small{font-size:13px;color:var(--ink-soft)}
.id-prog em{display:block;font-style:normal;font-size:12px;color:var(--clay);margin-top:6px;line-height:1.4}
.pbar{display:block;height:8px;border-radius:9px;background:#efe5d2;margin-top:6px;overflow:hidden}.pbar i{display:block;height:100%;background:#c7841f;border-radius:9px}
@media (max-width:520px){.id-prog{grid-template-columns:1fr}}
/* wall gating */
.wall-gate{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#eef4ea;border:1.5px dashed #2f7d5b;border-radius:12px;padding:10px 12px;font-size:14px}
.wall-gate[hidden],.wall-daily[hidden],.wall-as[hidden],#wallNameFld[hidden]{display:none}
.wall-daily{margin:0;background:#eadcf2;border-radius:10px;padding:8px 12px;font-size:14px}
.wall-as{margin:0;font-size:14px;color:var(--moss);font-family:"LXGW WenKai TC",sans-serif}
/* member unlock (front-end only) */
.groups-open{position:relative;z-index:2;background:rgba(255,253,246,.94);margin:18px;padding:16px 18px;border-radius:14px}
.groups-open .gp{display:flex;flex-direction:column;padding:8px 0;border-bottom:1px dashed var(--line)}.groups-open small{color:var(--ink-soft)}
.unlocked-tag{margin:0 0 6px;font-weight:700;color:#2f7d5b}
.is-member .groups .lockwall{display:none}
.is-member .groups-bg img{filter:saturate(.9) brightness(.9)}
.is-member .premium .teaser{filter:none;user-select:auto}
.is-member .premium .btn{display:none}
.is-member .premium::after{content:"🔓 已解鎖";font-size:12px;color:#2f7d5b;font-weight:700;white-space:nowrap}
.is-member .lock-badge{font-size:0;background:#d9ecd0}.is-member .lock-badge::before{content:"🔓 已解鎖";font-size:11px}
.mem-admin{margin-top:28px;padding-top:10px;border-top:2px dashed var(--line)}
.stampcard{overflow:hidden}.celebrate{overflow:hidden}
html,body{overflow-x:clip}
.acct-form[hidden],.form-msg[hidden]{display:none}
.slots{grid-template-columns:repeat(10,minmax(0,1fr))}.slot{min-width:0;overflow:visible}
.stamp-svg{width:auto;height:auto;inset:-6%}
@media (max-width:640px){.slots{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* ===== 內容加深：做法結構、圖解、動作圖鑑、食譜相、精油配方、語錄、相簿 ===== */
ol.steps{display:block;padding-left:1.4em}
ol.steps li{margin:3px 0}
.acc-body h5,.mv-body h5,.b-more h5{margin:12px 0 2px;font-size:13px;letter-spacing:.08em;color:var(--clay);font-family:"Noto Serif TC",serif}
.dose{background:#f6ecdb;border-radius:10px;padding:6px 10px;font-size:14px}
.dose b,.miss1 b{display:inline-block;margin-right:8px;color:var(--moss);font-size:12px;letter-spacing:.1em}
ul.miss{list-style:none;padding-left:0!important}
ul.miss li{position:relative;padding-left:1.4em}
ul.miss li::before{content:"✕";position:absolute;left:0;color:#b0442c;font-weight:700}
.lv{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.lv p{margin:0!important;background:#fffaf0;border:1.5px dashed #cbbfa9;border-radius:12px;padding:8px 10px;font-size:13.5px}
.lv b{display:block;color:var(--moss);font-size:12px;letter-spacing:.1em}
.fine{font-size:12.5px;color:#6a5f52}
.yt-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 4px!important}
.yt{display:inline-flex;gap:8px;align-items:center;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 12px 6px 8px;line-height:1.3;max-width:100%}
.yt:hover{border-color:#c4302b}
.yt small{display:block;color:var(--ink-soft);font-size:11.5px}
.yt-ic{display:grid;place-items:center;width:28px;height:20px;border-radius:6px;background:#c4302b;color:#fff;font-size:11px;flex:none}
.yt-load{border:1px dashed var(--ink-soft);background:transparent;border-radius:999px;padding:4px 12px;font-size:13px;cursor:pointer}
.yt-frame{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;margin:6px 0}
.yt-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-teach{margin:10px 0 8px;padding:10px 12px;background:#fffaf0;border:1px solid var(--line);border-radius:14px}
.yt-teach-h{margin:0 0 8px!important;font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--clay)}
.yt-chips{display:flex;flex-wrap:wrap;gap:8px}
.yt-chip{max-width:100%}
/* 做法圖解 */
figure.howto{margin:4px 0 10px}
figure.howto svg{width:100%;height:auto;max-width:560px}
figure.howto figcaption{font-size:12px;color:#6a5f52;margin-top:2px}
.photo-howto img{width:100%;height:auto;border-radius:14px;border:1px solid var(--line)}
.route-legend{width:100%;border-collapse:collapse;font-size:13px;margin:4px 0 6px}
.route-legend th{text-align:left;font-weight:600;color:var(--clay);font-size:12px;border-bottom:1.5px solid var(--line);padding:4px}
.route-legend td{padding:5px 4px;border-bottom:1px dashed var(--line);vertical-align:top}
.route-legend td:nth-child(3),.route-legend td:nth-child(4){white-space:nowrap}
.route-legend i{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--rc);color:#fff;font-style:normal;font-size:12px;font-weight:700}
.route-note{background:#fbefe6;border-left:4px solid #b0442c;border-radius:6px;padding:6px 10px;font-size:13px}
.route-note b{color:#b0442c;margin-right:6px}
.howto-moves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 10px}
.hm{display:flex;flex-direction:column;gap:2px;align-items:stretch;background:transparent;border:0;padding:0;cursor:pointer;text-align:center;font-size:12.5px;color:var(--clay)}
.mv-svg{width:100%;height:auto}
/* 動作圖鑑 */
.lib-filter{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}
.lib-filter .chip{padding:5px 12px;font-size:13.5px;flex:none}
.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
details.move{background:rgba(255,252,246,.95);border:1px solid var(--line);border-radius:4px 18px 4px 4px;scroll-margin-top:90px}
details.move summary{list-style:none;cursor:pointer;padding:8px 10px;display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center}
details.move summary::-webkit-details-marker{display:none}
details.move summary .mv-svg{grid-column:1/-1}
.mv-t{display:flex;flex-direction:column;line-height:1.35}
.mv-t b{font-family:"Noto Serif TC",serif;font-size:17px}
.mv-t small{color:var(--ink-soft);font-size:12.5px}
details.move[open] .chev{transform:rotate(180deg)}
.mv-body{padding:0 12px 12px;font-size:14px;color:var(--ink-soft)}
.miss1{font-size:13.5px}
/* 食譜成品相 */
.recipe h4 small{display:block;font-weight:400;font-size:12.5px;color:var(--ink-soft)}
.recipe ul.ing{columns:2 220px;column-gap:18px}
figure.dish{margin:6px 0 8px;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#efe4d2;position:relative}
figure.dish img{width:100%;height:100%;object-fit:cover}
figure.dish figcaption{display:none}
figure.dish.noimg{display:grid;place-items:center;background:repeating-linear-gradient(-45deg,#f3e7d3 0 10px,#efe0c8 10px 20px);border:1.5px dashed #cbbfa9;aspect-ratio:64/22}
figure.dish.noimg figcaption{display:block;text-align:center;color:#7a6a58;font-size:13px}
figure.dish.noimg figcaption::before{content:"🍽 成品相片準備中";display:block;font-size:12px;color:var(--clay);margin-bottom:2px}
/* 精油配方 */
.blend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:10px}
.blend{background:rgba(255,252,246,.95);border:1px solid var(--line);border-radius:18px 4px 18px 4px;padding:12px 14px}
.blend header h4{margin:4px 0 0;font-family:"Noto Serif TC",serif;font-size:18px}
.blend header small{color:var(--ink-soft);font-size:12.5px}
.b-ics{display:flex;gap:2px}
.oil-ic{width:22px;height:32px}
.b-mix{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0;font-size:13.5px}
.b-mix>div{background:#f6ecdb;border-radius:12px;padding:6px 8px}
.b-mix b{color:var(--moss);font-size:13px}
.b-sub{display:block;font-size:11px;color:#7a6a58}
.b-mix ul{list-style:none;padding:0;margin:4px 0 0}
.b-mix li{display:flex;align-items:center;gap:5px;line-height:1.5}
.b-mix li i{width:9px;height:9px;border-radius:50%;flex:none;border:1px solid rgba(0,0,0,.3)}
.b-mix li em{margin-left:auto;font-style:normal;font-weight:600;white-space:nowrap}
details.b-more>summary{cursor:pointer;font-size:13.5px;color:var(--clay)}
details.b-more{font-size:13.5px;color:var(--ink-soft)}
details.oil{border-top:1px dashed var(--line);padding:4px 0}
details.oil summary{list-style:none;display:flex;gap:8px;align-items:center;cursor:pointer}
details.oil summary::-webkit-details-marker{display:none}
details.oil summary span{display:flex;flex-direction:column;line-height:1.3}
details.oil summary small{font-size:11.5px;color:#7a6a58}
details.oil dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:4px 0 6px;font-size:13px}
details.oil dt{color:var(--moss);font-weight:600}
details.oil dd{margin:0}
.oil-safe ul{margin:6px 0 4px;padding-left:1.2em;font-size:13.5px}
/* 名人語錄 */
.q-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}
.q-tabs .chip{flex:none;padding:6px 12px;font-size:14px}
.q-tabs .chip .ic{width:18px;height:18px}
.q-wrap{position:relative;display:flex;align-items:center;gap:6px}
.q-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px;flex:1;scrollbar-width:thin}
.q-card{flex:0 0 min(84%,360px);scroll-snap-align:start;background:#fffaf0;border:1px solid var(--line);border-radius:4px 22px 4px 22px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 8px 20px rgba(40,28,16,.06)}
.q-who{display:flex;gap:10px;align-items:center}
.q-who b{font-family:"Noto Serif TC",serif;font-size:16px}
.q-pic{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none;border:2px solid #e2d4ba;background:#f1dfbf}
.q-badge{display:block;border:0;background:none}
.q-badge svg{width:52px;height:52px}
.q-credit{display:block;font-size:10.5px;color:#7a6a58;line-height:1.35}
.q-credit a{color:inherit}
.q-card blockquote{margin:4px 0 0;font-family:"Noto Serif TC",serif;font-size:18px;line-height:1.6;color:var(--ink)}
.q-card blockquote.en{font-family:Fraunces,Georgia,serif;font-size:16px;font-style:italic}
.q-zh{margin:0;font-size:14px;color:var(--ink-soft)}
.q-tag{display:inline-block;font-size:10.5px;border:1px solid var(--clay);color:var(--clay);border-radius:4px;padding:0 4px;margin-right:6px;vertical-align:1px}
.q-card cite{font-style:normal;font-size:12.5px;color:var(--moss);margin-top:auto;border-top:1px dashed var(--line);padding-top:6px}
.q-nav{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--ink);background:#fffaf0;cursor:pointer;font-size:20px;line-height:1}
.cred-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.cred-list li{display:flex;gap:10px;font-size:13px;background:#fffaf0;border:1px solid var(--line);border-radius:12px;padding:10px}
.cred-pic{width:72px;height:72px;border-radius:10px;object-fit:cover;flex:none}
.cred-text{font-size:14px}
/* 會員打攝分享 */
.ng-notice{font-size:13px;background:#f6ecdb;border-radius:10px;padding:8px 10px}
.ng-gate{background:#fffaf0;border:1.5px dashed #cbbfa9;border-radius:12px;padding:10px 12px;font-size:14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ng-up,.ng-mine{background:#fffaf0;border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin:8px 0}
.ng-up>summary,.ng-mine>summary{cursor:pointer;font-weight:600}
.ng-rules{background:#fbefe6;border-left:4px solid var(--clay);border-radius:6px;padding:6px 10px;font-size:13px}
.ng-rules p{margin:4px 0}
.ng-prev img{max-height:200px;width:auto;border-radius:10px}
.ng-prev small{display:block;font-size:12px;color:var(--moss)}
.ng-mine ul{list-style:none;padding:0;margin:6px 0;font-size:13.5px}
.ng-mine li{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:4px 0;border-bottom:1px dashed var(--line)}
.ng-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:10px}
.ng-card{margin:0;background:#fffaf0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ng-img,.ga-img{position:relative;aspect-ratio:4/3;background:#e7dcc8;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.ng-img img,.ga-img img{width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;user-select:none;pointer-events:none}
.ng-shield{position:absolute;inset:0}
.ng-wm{position:absolute;right:8px;bottom:8px;font-size:12px;color:#fff;background:rgba(28,25,21,.45);padding:2px 8px;border-radius:999px;text-shadow:0 1px 2px rgba(0,0,0,.4);pointer-events:none}
.ng-ph{display:grid;place-items:center;height:100%;color:#7a6a58;font-size:13px}
.ng-card figcaption{padding:8px 10px;display:grid;grid-template-columns:1fr auto;gap:0 8px;align-items:center}
.ng-cap{margin:0;font-size:14.5px;grid-column:1}
.ng-meta{margin:0;font-size:12px;color:var(--ink-soft);grid-column:1}
.ng-heart{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;align-items:center;background:none;border:1px solid var(--line);border-radius:12px;padding:2px 10px;cursor:pointer;color:#b0442c;line-height:1.2}
.ng-heart span{font-size:20px}
.ng-heart b{font-size:12px;color:var(--ink)}
.ng-heart.on{background:#fbe3dc;border-color:#e2a493}
.ng-heart:disabled{opacity:.55;cursor:default}
.ga-row .ga-img{width:120px;flex:none;border-radius:8px;overflow:hidden}
@media (max-width:560px){
  .lv,.b-mix{grid-template-columns:1fr}
  .lib-grid,.blend-grid,.ng-grid{grid-template-columns:1fr}
  .q-wrap .q-nav{display:none}
  .q-card{flex-basis:86%}
  .q-card blockquote{font-size:16.5px}
  .route-legend{font-size:12.5px}
  .ga-row .ga-img{width:96px}
}
.articles>*,details.acc,.acc-body,.lib-grid>*,.blend-grid>*,.ng-grid>*,.howto-moves>*,.sachet-step-grid>*{min-width:0}
@media (max-width:560px){
  .lib-grid{gap:8px}
  details.move summary{grid-template-columns:46% 1fr auto;gap:8px}
  details.move summary .mv-svg{grid-column:1}
  details.move[open] summary{grid-template-columns:1fr auto}
  details.move[open] summary .mv-svg{grid-column:1/-1}
  .mv-t b{font-size:15.5px}
  .mv-t small{font-size:11.5px}
}
.q-track{align-items:flex-start}
.q-card cite{margin-top:4px}
.ng-up .agree{margin:8px 0}
/* 心意代傳 */
.hc-wrap{margin-top:18px}
details.hc{background:rgba(255,252,246,.95);border:1px solid var(--line);border-radius:18px 4px 18px 4px}
details.hc>summary{list-style:none;display:flex;gap:12px;align-items:center;padding:12px 16px;cursor:pointer}
details.hc>summary::-webkit-details-marker{display:none}
details.hc>summary>span:nth-child(2){flex:1;display:flex;flex-direction:column;line-height:1.35}
details.hc>summary b{font-family:"Noto Serif TC",serif;font-size:18px}
details.hc>summary small{color:var(--ink-soft);font-size:12.5px}
details.hc[open] .chev{transform:rotate(180deg)}
.hc-ic{font-size:26px}
.hc-body{padding:0 16px 14px}
.hc-lead{font-family:"Noto Serif TC",serif;font-size:17px;color:var(--clay);margin:0 0 6px}
.hc-rules{margin:0 0 10px;padding-left:1.2em;font-size:13.5px;color:var(--ink-soft)}
.hc-quota{background:#f6ecdb;border-radius:10px;padding:6px 10px;font-size:14px;margin:0 0 8px}
.hc-designs{border:0;padding:0;margin:0 0 8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hc-designs legend{font-size:14px;margin-bottom:4px;padding:0}
.hc-d{position:relative;display:flex;flex-direction:column;gap:2px;cursor:pointer;font-size:12.5px;text-align:center}
.hc-d input{position:absolute;opacity:0;pointer-events:none}
.hc-d img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;border:3px solid transparent}
.hc-d input:checked+img{border-color:var(--clay);box-shadow:0 0 0 2px #fbf4e8 inset}
.hc-d input:focus-visible+img{outline:2px solid var(--moss)}
.hc-form .agree{margin:6px 0}
.hc-prev{margin:10px 0}
figure.hcard{margin:0;background:#fffaf0;border:1px solid #e2d4ba;border-radius:18px;overflow:hidden;box-shadow:0 10px 26px rgba(40,28,16,.1)}
figure.hcard img{width:100%;aspect-ratio:16/9;object-fit:cover}
figure.hcard figcaption{padding:14px 18px 16px}
.hc-to{margin:0 0 4px;font-size:15px}
.hc-msg{margin:0;font-family:"Noto Serif TC",serif;font-size:17px;line-height:1.8;color:var(--ink);overflow-wrap:anywhere}
.hc-from{margin:8px 0 0;text-align:right;font-size:15px}
figure.hcard.sm{max-width:420px}
figure.hcard.sm .hc-msg{font-size:15px}
figure.hcard.lg{max-width:640px;margin:10px auto}
figure.hcard.lg .hc-msg{font-size:19px}
.card-page .hc-note{max-width:640px;margin:10px auto}
.card-page p:last-child{text-align:center}
.hc-row .hc-thumb{width:120px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;flex:none}
.hc-amsg{margin:4px 0;white-space:pre-wrap;color:var(--ink);font-size:14px;overflow-wrap:anywhere}
.warn-t{color:#b0442c}
@media (max-width:560px){ .hc-row .hc-thumb{width:84px} .hc-designs{gap:6px} }
.arow .ameta{min-width:0;flex:1}

/* ===== 全身刮痧／按摩：示範圖＋SVG 疊加 ===== */
figure.body-howto.photo-body{margin:4px 0 10px}
.body-duo{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.body-panel{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#fbf4e6}
.body-panel>img{width:100%;height:auto;display:block}
.body-panel>svg.body-ov{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.body-tag{position:absolute;left:6px;top:6px;z-index:1;background:rgba(251,244,230,.92);border:1px solid var(--line);border-radius:8px;padding:2px 8px;font-size:12px;color:var(--ink);font-weight:600}
.body-press{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:12px;color:var(--ink);margin:6px 0 2px;padding:6px 8px;background:#fbf4e6;border:1px solid var(--line);border-radius:10px}
.body-press .bp{display:inline-flex;align-items:center;gap:6px}
.body-press .bp>i:not(.body-avoid-swatch){display:inline-block;width:28px;border-radius:2px}
.body-avoid-swatch{display:inline-block;width:18px;height:14px;border-radius:3px;background:repeating-linear-gradient(45deg,#f6d5cf,#f6d5cf 2px,#c0392b 2px,#c0392b 3.5px);border:1px dashed #c0392b;vertical-align:middle}
.sachet-step-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
figure.body-howto svg{max-width:440px;display:block;margin:0 auto}
figure.body-howto.photo-body svg{max-width:none}
/* ===== 芳香植物圖鑑 ＋ 頌缽種類 ===== */
.aroma{margin-top:18px}
.aroma .sub-h{display:flex;align-items:center;gap:8px}
.ar-filter{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 10px}
.ar-grid{display:grid;grid-template-columns:1fr;gap:8px}
.ar-grid>*{min-width:0}
@media(min-width:760px){.ar-grid{grid-template-columns:1fr 1fr;align-items:start}}
details.ar{background:rgba(255,252,246,.92);border:1px solid var(--line);border-radius:14px;overflow:hidden}
details.ar>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer}
details.ar>summary::-webkit-details-marker{display:none}
details.ar .ar-ic{flex:none}
.ar-t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.ar-t b{font-size:15.5px}
.ar-t small{font-size:12.5px;color:#6a5f52;overflow-wrap:anywhere}
details.ar .chev{font-style:normal;transition:transform .2s;color:var(--clay)}
details.ar[open] .chev{transform:rotate(180deg)}
.ar-body{padding:0 12px 12px;font-size:14px;line-height:1.65}
.ar-body p{margin:6px 0}
.ar-body h5{margin:10px 0 4px;font-size:14px;color:var(--clay)}
.ar-pic{margin:0 0 6px}
.ar-pic img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block;background:#eee5d6}
.ar-pic figcaption{font-size:11.5px;color:#6a5f52;margin-top:3px;overflow-wrap:anywhere}
.ar-noimg{display:grid;place-items:center;aspect-ratio:4/3;max-height:180px;width:100%;background:#f5ecdc;border:1px dashed var(--line);border-radius:10px;margin-bottom:6px}
.ar-id{margin:0;padding-left:20px}
.ar-id li{margin:2px 0}
.ar-note{background:#eef3ea;border-radius:8px;padding:6px 10px;font-size:13.5px}
.ar-dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:8px 0;font-size:13.5px}
.ar-dl dt{color:var(--clay);font-weight:600;white-space:nowrap}
.ar-dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
.ar-k{display:inline-block;font-size:12px;color:#fff;background:var(--clay);border-radius:99px;padding:0 8px;margin-right:6px}
.ar-warn .ar-k{background:#b0442c}
.ar-eco .ar-k{background:var(--moss,#2c4a3c)}
.tag-fact,.tag-lore{display:inline-block;font-size:11.5px;border-radius:99px;padding:0 7px;margin-right:6px;font-weight:600;vertical-align:1px}
.tag-fact{background:#dfeedd;color:#2c4a3c;border:1px solid #9cbf98}
.tag-lore{background:#f8e6d2;color:#8d4632;border:1px solid #d9a77c}
ul.miss.tagged li{list-style:none}
.cred-list img.cred-pic{object-fit:cover}
ul.miss.tagged li{padding-left:0}
ul.miss.tagged li::before{content:none}
/* ===== 宮廷與民間藥膳 ===== */
.tcm-alert{background:#fff1e0;border:2px solid #c9864a;border-radius:12px;padding:10px 12px;font-size:14.5px;line-height:1.6}
.tcm-alert b{display:block;color:#8d4632;font-size:16px;margin-bottom:2px}
.tcm-warn{background:#fbe9e7;border-left:4px solid #b0442c;border-radius:6px;padding:6px 10px;font-size:13.5px}
.tcm-warn b{color:#b0442c;margin-right:6px}
.tcm-grid{grid-template-columns:1fr!important}
.tcm-r .recipe{border-top:0;margin-top:0;padding-top:0}
figure.tcm-steps svg{max-width:640px}
.sachet-step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:2px 0 4px}
.sachet-step{position:relative;background:#fbf4e6;border:1px solid #e2d4ba;border-radius:12px;overflow:hidden;text-align:center;min-width:0}
.sachet-step img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
.sachet-n{position:absolute;top:6px;left:6px;width:22px;height:22px;border-radius:50%;background:#c9864a;color:#1c1915;font-size:12px;font-weight:700;display:grid;place-items:center;border:1.2px solid #1c1915;line-height:1;z-index:1}
.sachet-cap{display:block;padding:6px 4px 8px;font-size:12.5px;color:var(--clay);line-height:1.3}
.sachet-cred{display:block;padding:0 6px 8px;font-size:10.5px;color:#6a5f52;line-height:1.35;overflow-wrap:anywhere}
.sachet-cred a{color:#6a5f52;text-decoration:underline}
.bowl-steps .sachet-step img{aspect-ratio:1/1;object-fit:cover}
figure.sachet-steps{margin:4px 0 10px}
figure.sachet-steps>figcaption{font-size:12px;color:#6a5f52;margin-top:2px}
details.herbs{margin-top:8px;border:1px dashed var(--line);border-radius:10px;padding:4px 10px;background:#fffdf8}
details.herbs summary{cursor:pointer;font-size:13.5px;color:var(--clay);font-weight:600}
.herb-list{list-style:none;margin:6px 0;padding:0;display:grid;gap:6px}
.herb-list li{display:grid;gap:1px;font-size:13.5px;border-bottom:1px dotted var(--line);padding-bottom:5px}
.herb-list span{color:#4b4238}
.herb-list small{color:#6a5f52;font-size:12.5px}
/* ===== 會員鎖定做法 ===== */
.rg-items{list-style:none;padding:0;margin:4px 0 8px;display:flex;flex-wrap:wrap;gap:6px}
.rg-items li{background:#f5ecdc;border:1px solid var(--line);border-radius:99px;padding:2px 10px;font-size:13.5px}
.rg-sub{font-weight:400;color:#6a5f52;font-size:12px;margin-left:4px}
.rg-caution{background:#fbe9e7;border-left:4px solid #b0442c;border-radius:6px;padding:7px 10px;font-size:13.5px;line-height:1.6}
.rg-caution b{color:#b0442c;margin-right:6px}
.rg-lock{position:relative;margin:10px 0 4px;border:1.5px dashed #c9a26a;border-radius:12px;padding:10px;background:#fffaf0;overflow:hidden}
.rg-lock[data-state="open"]{border-style:solid;border-color:#9cbf98;background:#f7fbf4}
.rg-tease{filter:blur(4px);opacity:.55;user-select:none;pointer-events:none;font-size:13px;line-height:1.7}
.rg-tease p{margin:2px 0}
.rg-cta{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8px;background:linear-gradient(rgba(255,250,240,.55),rgba(255,250,240,.92))}
.rg-lock[data-state="loading"] .rg-cta,.rg-lock[data-state="error"] .rg-cta{background:rgba(255,250,240,.94)}
.rg-cta p{margin:3px 0;font-size:14px}
.rg-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.rg-nm{font-size:12.5px!important;color:#6a5f52}
.rg-ok{font-size:12.5px;color:#2c4a3c;font-weight:600;margin:0 0 4px}
.rg-cat{margin:16px 0 2px;font-size:17px;color:var(--clay)}
.rg-xref{font-size:13.5px;margin:2px 4px}
.recipe.rg .rg-lock{min-height:150px}
figure.dish.diy.noimg figcaption::before{content:"📷 成品相片準備中"}
.pl-old{border-bottom:1px dashed var(--line);padding:4px 0}
.pl-old h5{margin:6px 0 2px}
table.drops td:nth-child(2){white-space:normal}
/* ===== Pump 02 傳統靜坐法門 ===== */
.sit-fig svg{width:100%;max-width:420px;height:auto;display:block;margin:0 auto}
.sit-faq dt{font-weight:700;margin-top:8px;font-size:14px}
.sit-faq dd{margin:2px 0 0;font-size:13.5px;line-height:1.6}
ol.sit-7 li,ul.sit-mod li{margin-bottom:5px;line-height:1.6}
ul.sit-mod{padding-left:18px}
ul.sit-ch{list-style:none;padding:0;margin:6px 0}
ul.sit-ch li{display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-bottom:1px dashed var(--line)}
ul.sit-ch li>i{flex:none;width:16px;height:16px;border-radius:50%;margin-top:3px;box-shadow:0 0 0 3px rgba(0,0,0,.05)}
ul.sit-ch li>div{min-width:0;overflow-wrap:anywhere}
ul.sit-ch .sa{font-style:italic;color:#6a5f52;font-size:13px}
ul.sit-ch small{font-size:12.5px;color:#5a5047;line-height:1.55}
.sit-moon-wrap{margin:14px 0 8px}
.sit-moon-wrap .rg-cat{display:flex;align-items:center;gap:6px}
.sit-trad .ar-grid+.ar-grid{margin-top:8px}

/* 心流 Flow */
.flow-fig{margin:14px 0;background:var(--paper);border:2px dashed var(--line);border-radius:18px;padding:10px}
.flow-fig svg{width:100%;max-width:360px;height:auto;display:block;margin:auto}
.flow-fig figcaption{font-size:.8rem;color:var(--ink-soft);text-align:center}
.flow-q{margin:10px 0;padding:10px 14px;border-left:4px solid var(--clay);background:var(--paper-2);border-radius:10px;font-style:italic}
.flow-q cite{display:block;font-size:.78rem;font-style:normal;color:var(--ink-soft);margin-top:4px}
.flow-chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.flow-chips span{background:var(--moss);color:var(--paper);padding:6px 12px;border-radius:999px;font-size:.9rem}
.flow-chips.soft span{background:var(--paper-2);color:var(--ink)}
.flow-do{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.flow-do li{background:var(--paper);border:1.5px solid var(--line);border-radius:14px;padding:8px 10px}
.flow-note{font-size:.78rem;color:var(--ink-soft)}

/* 書架：免費經典 + 自家電子小冊 */
.lock-badge.free{background:var(--moss);color:var(--paper)}
.classics{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-bottom:18px}
.classic{display:flex;gap:12px;align-items:flex-start;background:#fbf5ea;border:1px solid var(--line);border-radius:4px 16px 16px 4px;padding:10px}
.classic .cover{position:relative;flex:0 0 78px;aspect-ratio:3/4;border-radius:2px 8px 8px 2px;overflow:hidden;box-shadow:inset 5px 0 0 rgba(0,0,0,.2)}
.classic .cover svg{width:100%;height:100%;display:block}
.classic .cv-t{position:absolute;left:0;right:0;bottom:6px;text-align:center;color:#fff;font-weight:700;font-size:12px;text-shadow:0 1px 2px #0008}
.cl-m{min-width:0}.cl-m h3{margin:0;font-size:18px}.cl-m small{color:var(--ink-soft);font-size:12px}.cl-m p{margin:4px 0;font-size:14px}
.cl-links{display:flex;flex-wrap:wrap;gap:6px}
.eb-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-bottom:12px}
.ebook{background:#fbf5ea;border:1px solid rgba(201,134,74,.55);border-radius:4px 16px 16px 4px;padding:12px}
.eb-pv{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.eb-pv img{width:100%;height:auto;display:block;border-radius:4px;box-shadow:0 6px 14px rgba(40,28,16,.15)}
.ebook h3{margin:10px 0 2px}.ebook small{color:var(--ink-soft)}.ebook p{margin:6px 0}
.eb-dl{display:none}body.is-member .eb-dl{display:inline-flex}body.is-member .eb-lock{display:none}

/* 水晶種類 + 脈輪對照 */
.cr-box{margin:12px 0;border:1.5px dashed var(--line);border-radius:14px;background:#fbf5ea;padding:0 12px}
.cr-box>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:10px 0;flex-wrap:wrap}
.cr-box>summary::-webkit-details-marker{display:none}
.cr-box>summary small{color:var(--ink-soft);font-size:12px;flex:1;min-width:150px}
.cr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;padding-bottom:10px}
.cr-card{background:var(--paper);border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.cr-card[open]{grid-column:1/-1}
.cr-card>summary{list-style:none;cursor:pointer;display:flex;flex-direction:column}
.cr-card>summary::-webkit-details-marker{display:none}
.cr-card[open]>summary{flex-direction:row;align-items:center;gap:10px}
.cr-img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.cr-card[open] .cr-img{width:96px;flex:0 0 96px}
.cr-card summary span{padding:6px 8px}.cr-card summary small{display:block;color:var(--ink-soft);font-size:11px}
.cr-facts{list-style:none;margin:0;padding:4px 10px;font-size:14px}.cr-facts li{margin:4px 0}
.cr-ref{font-size:12px;color:var(--ink-soft);padding:0 10px 8px;margin:0}
.cr-ch{list-style:none;padding:0;margin:8px 0}
.cr-ch li{display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-bottom:1px dotted var(--line)}
.cr-ch li>i{flex:0 0 22px;height:22px;border-radius:50%;margin-top:2px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.15)}
.cr-ch small{color:var(--ink-soft)}
.cr-ch-st{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.cr-ch-st span{display:inline-flex;align-items:center;gap:4px;background:var(--paper);border-radius:99px;padding:2px 8px 2px 2px;font-size:13px}
.cr-dot{width:26px;height:26px;border-radius:50%;object-fit:cover}
.cr-ch-st .cr-x{padding:2px 8px;border:1px dashed var(--line)}
.acc-body .cr-card>summary{display:block;padding:0}
.acc-body .cr-card[open]>summary{display:flex}
.acc-body .cr-card .cr-img{width:100%;height:auto;aspect-ratio:1/1;max-width:none;border-radius:0;margin:0}
.acc-body .cr-card[open] .cr-img{width:96px}
.acc-body .cr-card summary span{display:block}
/* 手繪山徑插畫 */
.trail-img{width:100%;height:100%;object-fit:cover;display:block}
.mini-trails .trail-img{height:56px}
/* 打卡實景 */
.tp{margin:14px 0}
.tp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.tp figure{margin:0;background:#fbf5ea;border:1px solid var(--line);border-radius:4px 16px 4px 4px;overflow:hidden}
.tp img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.tp figcaption{padding:8px 10px}.tp figcaption b{display:block}.tp figcaption small{color:var(--ink-soft);font-size:12px;word-break:break-word}

/* 留影牆 */
.mw-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.mw-chips .chip{display:inline-flex;align-items:center;gap:4px;border:1.5px solid var(--line);background:#fbf5ea;border-radius:99px;padding:5px 12px;cursor:pointer;font:inherit;font-size:14px;color:var(--ink)}
.mw-chips .chip.on{background:var(--moss);color:var(--paper);border-color:var(--moss)}
.mw-grid{column-width:240px;column-gap:12px;margin-top:10px}
.mw-card{break-inside:avoid;margin:0 0 12px;background:#fffaf0;border:1px solid var(--line);border-radius:4px 16px 16px 16px;overflow:hidden;display:inline-block;width:100%}
.mw-img{aspect-ratio:auto;min-height:120px}
.mw-img img{height:auto}
.mw-card figcaption{padding:8px 10px}
.mw-tag{display:inline-flex;align-items:center;gap:3px;font-size:12px;background:var(--paper-2);border-radius:99px;padding:1px 8px}
.mw-cap{margin:6px 0 2px;font-size:15px}.mw-place,.mw-by{margin:0;font-size:12px;color:var(--ink-soft)}
.mw-act{display:flex;gap:8px;align-items:center;margin-top:6px}
.mw-act .ng-heart{flex-direction:row;gap:4px;padding:2px 10px}
.mw-cl{list-style:none;padding:0;margin:8px 0;font-size:13.5px}.mw-cl li{padding:3px 0;border-bottom:1px dotted var(--line);word-break:break-word}
.mw-x{border:0;background:none;color:var(--clay);cursor:pointer}
.mw-cf{display:flex;gap:6px;align-items:center}.mw-cf input{flex:1;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:10px;font:inherit}
.mw-n{font-size:11px;color:var(--ink-soft)}
.mw-empty{column-span:all;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;text-align:center;background:#fbf5ea;border:1.5px dashed var(--line);border-radius:16px;padding:16px}
.mw-empty div{display:flex;flex-direction:column;align-items:center;gap:4px}
.mw-empty p{grid-column:1/-1;margin:4px 0 0;color:var(--ink-soft);font-size:14px}
/* 動作圖鑑：半寫實起／終示範圖 */
details.move summary .mv-img,details.move[open] summary .mv-img{grid-column:1/-1;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:4px 14px 4px 4px;background:var(--paper-2)}
@media (max-width:760px){details.move summary{grid-template-columns:1fr auto}}
.hm-img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:4px 12px 4px 4px;background:var(--paper-2)}
.thangka-fig svg{width:100%;height:auto;display:block;border-radius:6px}
.sit-fig.thangka-fig svg{max-width:none}
.am{margin:14px 0;background:#fbf5ea;border:1.5px dashed var(--line);border-radius:14px;padding:4px 12px 10px}
.am-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:4px 14px}
.am h4{margin:8px 0 4px;font-size:.95rem}.am ul{list-style:none;margin:0;padding:0}
.am li{padding:3px 0;font-size:.88rem;line-height:1.4;border-bottom:1px dotted var(--line)}
.am li small{color:#6b6157}.am-w{display:inline-block;min-width:2.6em;font-size:.72rem;background:var(--moss);color:var(--paper);border-radius:8px;padding:0 5px;margin-right:5px}
.am-rt{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.am-rt i{font-style:normal;font-size:.75rem;background:#8d4632;color:#fff;border-radius:6px;padding:0 5px}
.am-n{color:#6b6157}.am-disc{font-size:.75rem;color:#6b6157;margin:8px 0 0}
.am-pin span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:2px solid #fff;font-size:13px;box-shadow:0 1px 3px #0006}
.nw{white-space:nowrap}
@media (max-width:480px){.nm .nw{display:inline-block}}
.drops{display:inline-block;width:1.15em;height:.62em;margin-left:.12em;vertical-align:.05em;overflow:visible}
.drops path{fill:url(#dg)}
.drops .d2{transform:translateY(1px)}
@media (prefers-reduced-motion:no-preference){
.drops path{animation:drip 3.6s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 0}
.drops .d2{animation-delay:.5s}.drops .d3{animation-delay:1s}
@keyframes drip{0%,70%,100%{transform:translateY(0);opacity:1}82%{transform:translateY(2px) scaleY(1.08);opacity:.85}}}

/* ===== 個人空間 · 小窩 (#/space) ===== */
.space-page .space-h1{margin:8px 0 6px;font-family:"Fraunces","Noto Serif TC",serif;font-weight:620;font-size:clamp(1.6rem,4vw,2.1rem);line-height:1.25}
.space-page .space-lead{margin:0 0 10px;max-width:36em}
.space-tabs{margin-top:8px}
.space-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 18px}
.space-kpi{background:#fffdf6;border:1.5px solid var(--line);border-radius:14px;padding:12px 10px;text-align:center;box-shadow:var(--shadow)}
.space-kpi b{display:block;font-size:1.45rem;font-family:"Fraunces","Noto Serif TC",serif;color:var(--clay)}
.space-kpi small{color:#6b6157;font-size:.8rem}
.space-sub{margin:18px 0 8px;font-size:1.05rem}
.space-stats,.space-list{list-style:none;margin:0;padding:0}
.space-stats li,.space-list li{background:rgba(255,252,246,.92);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px}
.space-stats li{display:flex;justify-content:space-between;gap:10px;align-items:center}
.space-stats li b,.space-list li b{font-size:.98rem}
.space-stats li small,.space-list li small{display:block;color:#6b6157;margin-top:2px;line-height:1.45}
.space-streak{flex:none;font-size:.82rem;background:#eef3ea;border:1px solid #9cbf98;color:#2c4a3c;border-radius:99px;padding:3px 10px;white-space:nowrap}
.space-two{display:grid;grid-template-columns:1fr;gap:8px}
@media(min-width:720px){.space-two{grid-template-columns:1fr 1fr;align-items:start}}
.space-empty{margin:8px 0 14px;padding:16px 14px;border-radius:14px;border:1.5px dashed var(--line);background:#fbf5ea;text-align:center}
.space-empty b{font-size:1rem}
.space-empty .mini-disc{margin:6px 0 0}
.space-form{max-width:520px}
.space-form textarea,.space-form select{font:inherit;font-size:16px;padding:11px 12px;border-radius:10px;border:1px solid #cbbfa9;background:#fff;width:100%;box-sizing:border-box;resize:vertical}
.space-form select{cursor:pointer}
.space-count{margin:-4px 0 0}
.space-row{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}
.space-row .abtns{flex:none;display:flex;flex-direction:column;gap:4px}
.space-body{margin:6px 0 0;white-space:pre-wrap;line-height:1.65;overflow-wrap:anywhere;font-size:.95rem}
@media(max-width:560px){
  .space-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .space-kpi{padding:10px 6px}
  .space-kpi b{font-size:1.2rem}
  .space-row{flex-direction:column}
  .space-row .abtns{flex-direction:row;flex-wrap:wrap}
}

/* 小窩：三步揀選 */
.space-steps{display:flex;flex-direction:column;gap:12px;margin:10px 0 16px}
.space-step{background:#fffdf6;border:1.5px solid var(--line);border-radius:14px;padding:12px}
.space-step.dim{opacity:.72}
.space-step-h{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.space-step-h b{font-size:.98rem}
.space-step-h small{color:#6b6157;font-size:.8rem}
.space-n{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--clay);color:#fff;font-size:12px;font-weight:700;flex:none}
.space-chips{display:flex;flex-wrap:wrap;gap:6px}
.space-chip{font:inherit;font-size:13.5px;padding:7px 12px;border-radius:99px;border:1.5px solid #cbbfa9;background:#fffaf0;cursor:pointer;color:var(--ink);line-height:1.3}
.space-chip:hover{border-color:var(--clay)}
.space-chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.space-prefill{margin:0 0 8px;font-size:.9rem}
.space-prefill.muted{color:#6b6157}
.space-check{flex-direction:row!important;align-items:center;gap:8px!important;font-size:14px}
.space-check input{width:auto;accent-color:var(--clay)}
@media(max-width:560px){
  .space-chip{font-size:13px;padding:6px 10px}
  .space-step{padding:10px}
}
/* 油點 travel */
.tv-card .tart img{width:100%;height:100%;object-fit:cover}
.tv-sub{margin:2px 0 0;font-size:13px;color:var(--ink-soft)}
.tv-flag{font-size:26px;line-height:1;flex:none}
.tv-k{font-size:15px;color:var(--clay);font-family:Fraunces,serif}
.tv-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.tv-tabs a{padding:3px 12px;border:1px solid var(--line);border-radius:99px;text-decoration:none;font-size:14px}
.tv-tabs a.on{background:var(--ink);color:var(--paper)}
.tv-hint,.tv-small{font-size:12.5px;color:var(--ink-soft)}
.tv-pics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:4px 0 6px}
.tv-pic{margin:0}.tv-pic img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;display:block;background:#eee5d6}
.tv-pic figcaption{font-size:12.5px;margin-top:3px;overflow-wrap:anywhere}.tv-pic figcaption span{font-size:11px;color:#6a5f52}
.tv-map{display:inline-block;font-size:12.5px;margin:2px 6px 2px 0;text-decoration:none;border-bottom:1px dashed var(--clay)}
.tv-tour{background:#f5ecdc;border-radius:8px;padding:6px 10px;font-size:13.5px}
.tv-ul{margin:4px 0;padding-left:20px}.tv-ul li{margin:2px 0}
.tv-calc{background:#eef3ea;border-radius:8px;padding:8px 10px;font-size:13.5px;margin:6px 0}
.tv-say-list{list-style:none;padding:0;margin:4px 0;display:grid;gap:4px}
.tv-say-list li{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;background:#fffaf1;border:1px solid var(--line);border-radius:10px;padding:4px 8px}
.tv-say-list span{display:flex;flex-direction:column;min-width:0}.tv-say-list small{color:#6a5f52;font-size:12px}.tv-say-list em{font-style:normal;font-size:13px;color:var(--clay)}
.tv-say{border:0;background:var(--clay);color:#fff;border-radius:99px;width:34px;height:34px;font-size:16px;cursor:pointer}.tv-say.on{background:#2f7d5b}
.tv-voc-wrap{overflow-x:auto}.tv-voc{border-collapse:collapse;font-size:13px;min-width:100%}
.tv-voc th,.tv-voc td{border-bottom:1px solid var(--line);padding:4px 6px;text-align:left;white-space:nowrap}.tv-voc tr.cat th{background:#f5ecdc}
.tv-cul{background:#fff6e6;border-left:3px solid var(--clay);padding:6px 10px;border-radius:6px;font-family:"LXGW WenKai TC",serif}
details.tv-guide{border:1px solid var(--line);border-radius:10px;margin:5px 0;background:#fffcf6}
details.tv-guide>summary{cursor:pointer;padding:6px 10px;font-size:14px}details.tv-guide>summary small{color:#6a5f52}
details.tv-guide>div{padding:0 10px 8px;font-family:"LXGW WenKai TC",serif}
.tv-spots{list-style:none;padding:0;margin:4px 0;display:grid;gap:6px}
.tv-spots li{display:grid;grid-template-columns:96px 1fr;gap:8px;align-items:start;font-size:13.5px}
.tv-spots img,.tv-noimg{width:96px;height:64px;object-fit:cover;border-radius:8px;display:grid;place-items:center;background:#f5ecdc;font-size:22px}
.tv-cr{font-size:10.5px;color:#6a5f52;overflow-wrap:anywhere}
.tv-noimg{display:flex;align-items:center;justify-content:center;width:72px;height:54px;flex:none;border-radius:8px;background:rgba(0,0,0,.05);font-size:22px}
.tv-big{border:2px solid #f2b84b;border-radius:12px;background:linear-gradient(180deg,#fff8e8,transparent 60%)}
.tv-badge{display:inline-block;padding:1px 8px;border-radius:99px;background:#f2b84b;color:#3a2a00;font-size:.8em;font-weight:700}
.tv-yt{display:inline-block;margin:2px 0}
