/* 版面：手機優先的知識庫。頂部品牌列＋買賣切換，首頁以大搜尋欄為中心；文章頁電腦版三欄（目錄／正文／分享） */
:root{
  --bg:#FFF9F8; --paper:#FFFFFF; --soft:#FBF1EF;
  --ink:#3F3B45; --muted:#6C6575; --line:#EBDDDB;
  --rose:#B94F55; --rose-soft:#F8E6E5;
  --teal:#2D6B66; --teal-soft:#E2EFED;
  --gold:#9A7128; --gold-soft:#F7EDD9;
  --warn:#8F520C; --warn-soft:#FCEBD2;
  --line-green:#23843F;
  --acc:var(--teal); --acc-soft:var(--teal-soft);
  --f:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
  --r:12px;
  color-scheme:light;
}
body[data-mode="sell"]{--acc:var(--rose);--acc-soft:var(--rose-soft)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f);font-size:16px;line-height:1.75;overflow-wrap:anywhere}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--paper)}
a{color:var(--acc)}
img{max-width:100%;height:auto}
button,input{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}
.gut{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.inner{max-width:1160px;margin:0 auto}

/* 原型提示 */
.proto{background:var(--gold-soft);color:var(--ink);font-size:13.5px;line-height:1.6;padding-block:7px}
.proto b{color:var(--gold)}

/* 頁首 */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
.top .inner{display:flex;align-items:center;gap:12px;min-height:60px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:0}
.brand img{width:46px;height:auto;flex:none}
.brand span{font-weight:700;font-size:18px;white-space:nowrap}
.top .spacer{flex:1}
.switch{display:inline-flex;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:3px;flex:none}
.switch a{text-decoration:none;color:var(--muted);font-weight:700;font-size:14.5px;padding:7px 14px;border-radius:999px;white-space:nowrap;min-height:38px;display:inline-flex;align-items:center}
.switch a[aria-current="true"][data-m="buy"]{background:var(--teal);color:#fff}
.switch a[aria-current="true"][data-m="sell"]{background:var(--rose);color:#fff}
.top-search{display:none}
.btn-line{display:inline-flex;align-items:center;gap:6px;background:var(--line-green);color:#fff;text-decoration:none;font-weight:700;border-radius:999px;padding:8px 16px;white-space:nowrap;min-height:42px}
.icon-btn{border:1px solid var(--line);background:var(--paper);border-radius:10px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;font-weight:700;gap:6px;padding:0 10px}
.only-desk{display:none}
.switch-row{display:flex;justify-content:center;padding-block:10px;background:var(--paper)}

/* 首頁 */
.hero{padding-block:26px 22px;background:linear-gradient(180deg,var(--paper),var(--bg))}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--acc)}
h1{font-size:clamp(25px,6vw,38px);line-height:1.35;margin:4px 0 8px;text-wrap:balance}
.hero p.intro{margin:0 0 16px;color:var(--muted);max-width:40em}
.sbox{display:flex;gap:8px;background:var(--paper);border:2px solid var(--acc);border-radius:14px;padding:6px;max-width:760px;box-shadow:0 6px 20px -12px rgba(63,59,69,.35)}
.sbox input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:17px;padding:10px 8px;min-height:44px}
.sbox button{border:0;background:var(--acc);color:#fff;font-weight:700;border-radius:10px;padding:0 18px;min-height:46px;cursor:pointer;flex:none}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}
.chips .lbl{font-size:13.5px;color:var(--muted)}
.chip{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:5px 13px;font-size:14.5px;cursor:pointer;min-height:36px;color:var(--ink);text-decoration:none}
.chip:hover{border-color:var(--acc);color:var(--acc)}
.sec{padding-block:26px}
.sec h2{font-size:21px;line-height:1.4;margin:0 0 14px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.sec h2 small{font-size:13.5px;color:var(--muted);font-weight:400}
.catgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.catcard{display:flex;flex-direction:column;justify-content:space-between;gap:4px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:12px 13px;text-decoration:none;color:var(--ink);min-height:84px}
.catcard:hover{border-color:var(--acc)}
.catcard b{font-size:15.5px;line-height:1.45}
.catcard span{font-size:12.5px;color:var(--muted)}
.catcard .no{color:var(--acc);font-weight:700;font-size:13px}
.list{display:grid;gap:10px}
.item{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:13px 15px;text-decoration:none;color:var(--ink)}
.item:hover{border-color:var(--acc)}
.item .cat{font-size:12.5px;color:var(--acc);font-weight:700}
.item .t{font-weight:700;font-size:16.5px;line-height:1.5;display:block;margin:2px 0}
.item .s{font-size:14.5px;color:var(--muted);line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.item .d{font-size:12.5px;color:var(--muted);margin-top:4px;display:flex;gap:8px;flex-wrap:wrap}
.badge{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:0 8px;line-height:1.8;white-space:nowrap}
.b-time{background:var(--gold-soft);color:var(--gold)}
.b-pend{background:var(--warn-soft);color:var(--warn)}
.b-both{background:var(--soft);color:var(--ink);border:1px solid var(--line)}
details.faq{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:0 15px;margin-bottom:8px}
details.faq summary{cursor:pointer;font-weight:700;padding:12px 0;list-style:none;display:flex;justify-content:space-between;gap:10px;min-height:44px;align-items:center}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"＋";color:var(--acc);flex:none}
details.faq[open] summary::after{content:"－"}
details.faq .ans{padding:0 0 12px;color:var(--ink)}
details.faq .ans a{font-size:14px}
.about{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;align-items:end;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px 16px 0;overflow:hidden}
.about img{display:block;width:110px;align-self:end}
.about .txt{padding-bottom:16px;min-width:0}
.about h3{margin:0 0 4px;font-size:18px}
.about p{margin:0 0 10px;font-size:14.5px}
.contact{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.disclaimer{font-size:14px;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.disclaimer p{margin:0 0 8px}

/* 分類頁、搜尋頁共用 */
.page{padding-block:20px 30px}
.crumbs{font-size:13.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 6px;margin-bottom:6px}
.crumbs a{color:var(--muted)}
.backlink{border:0;background:none;padding:0;color:var(--acc);font-weight:700;font-size:14.5px;cursor:pointer;min-height:32px}
.subsec{margin-top:22px}
.subsec h3{font-size:16px;margin:0 0 8px;color:var(--acc)}
.empty{font-size:14px;color:var(--muted);background:var(--paper);border:1px dashed var(--line);border-radius:var(--r);padding:10px 14px}
.pending-subs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.pending-subs span{font-size:13px;color:var(--muted);border:1px dashed var(--line);border-radius:999px;padding:2px 10px}
.filters{display:flex;gap:6px;margin:14px 0 6px;flex-wrap:wrap;align-items:center}
.filters button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:5px 14px;cursor:pointer;min-height:38px;font-size:14.5px}
.filters button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.count{font-size:14px;color:var(--muted)}
mark{background:#FCE58F;color:inherit;border-radius:3px;padding:0 1px}
.expand{font-size:13.5px;color:var(--muted);margin:2px 0 10px}

/* 文章頁 */
.art-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
article{min-width:0;max-width:720px}
article h1{font-size:clamp(24px,5.6vw,34px)}
.meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:13.5px;color:var(--muted);align-items:center;margin-bottom:14px}
.warnbox{background:var(--warn-soft);border-radius:var(--r);padding:12px 15px;font-size:14.5px;margin-bottom:16px}
.warnbox b{color:var(--warn)}
.warnbox ul{margin:6px 0 0;padding-left:1.2em}
.tldr{background:var(--acc-soft);border-radius:var(--r);padding:15px 17px;margin-bottom:16px}
.tldr .h{font-weight:700;color:var(--acc);font-size:14px;letter-spacing:.06em;margin-bottom:4px}
.tldr p{margin:0;font-size:17px;line-height:1.85}
details.toc{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:0 15px;margin-bottom:8px}
details.toc summary{cursor:pointer;font-weight:700;padding:11px 0;min-height:44px}
details.toc ol{margin:0 0 12px;padding-left:1.4em}
details.toc a{display:inline-block;padding:4px 0;color:var(--ink);text-decoration:none}
details.toc a:hover{color:var(--acc)}
article section{padding-top:22px;scroll-margin-top:calc(env(safe-area-inset-top,0px) + 76px)}
article h2{font-size:20px;margin:0 0 10px;line-height:1.45}
article p,article li{font-size:17px;line-height:1.85}
article ol,article ul{padding-left:1.3em;margin:0}
article li{margin-bottom:6px}
.pits li::marker{content:"⚠ ";color:var(--warn)}
.steps{counter-reset:s;list-style:none;padding:0!important}
.steps li{counter-increment:s;position:relative;padding-left:40px;min-height:30px}
.steps li::before{content:counter(s);position:absolute;left:0;top:2px;width:28px;height:28px;border-radius:50%;background:var(--acc);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}
.note{font-size:14.5px;color:var(--muted);margin-top:8px}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);margin-top:10px}
table{border-collapse:collapse;width:100%;font-size:15.5px;line-height:1.6}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
thead th{background:var(--soft);white-space:nowrap}
tbody tr:last-child>*{border-bottom:0}
td.num,th.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.calc{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;align-items:end}
.calc label{display:flex;flex-direction:column;font-size:13.5px;color:var(--muted);gap:4px}
.calc input{border:1px solid var(--line);border-radius:10px;padding:8px 10px;width:130px;min-height:44px;font-size:16px;background:var(--paper)}
.rel{display:grid;gap:8px}
.src{font-size:14.5px}
.src dl{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:4px 10px;margin:0}
.src dt{color:var(--muted)}
.src dd{margin:0}
.help{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px;margin-top:26px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.help p{margin:0;font-size:15.5px}
.side{display:none}
.sharebox{display:grid;gap:8px}
.sharebtn{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--paper);border-radius:10px;min-height:44px;padding:0 12px;cursor:pointer;font-weight:700;font-size:14.5px;text-decoration:none;color:var(--ink)}
.future{font-size:12.5px;color:var(--muted);line-height:1.5}

/* 手機底部列 */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--paper);border-top:1px solid var(--line);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
.bar a,.bar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:56px;background:none;border:0;text-decoration:none;color:var(--ink);font-size:12.5px;font-weight:700;cursor:pointer}
.bar .ic{font-size:19px;line-height:1}
.bar .ln{color:var(--line-green)}
main{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}

/* 分類抽屜 */
dialog.drawer{border:0;padding:0;margin:0 0 0 auto;height:100%;max-height:100%;width:min(88vw,380px);background:var(--paper);color:var(--ink)}
dialog.drawer::backdrop{background:rgba(40,36,44,.45)}
.dr-in{padding:calc(env(safe-area-inset-top,0px) + 14px) max(16px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 20px) 18px;display:flex;flex-direction:column;gap:12px}
.dr-head{display:flex;justify-content:space-between;align-items:center}
.dr-in nav a{display:block;padding:11px 4px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:500}

/* 頁尾 */
footer{border-top:1px solid var(--line);background:var(--paper);font-size:13px;color:var(--muted);line-height:1.7;padding-block:20px calc(84px + env(safe-area-inset-bottom,0px))}
footer p{margin:0 0 6px}
footer .credit{font-size:12px;margin-top:10px}
footer a{color:var(--muted)}

.toast{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:#fff;padding:9px 16px;border-radius:999px;font-size:14.5px;z-index:40}

/* 手機：表格轉成直式卡片 */
@media (max-width:600px){
  table.cards thead{display:none}
  table.cards,table.cards tbody,table.cards tr,table.cards td,table.cards th{display:block;width:100%}
  table.cards tr{border-bottom:1px solid var(--line);padding:10px 12px}
  table.cards tbody tr:last-child{border-bottom:0}
  table.cards th[scope=row]{border:0;padding:0 0 4px;font-size:16px;color:var(--acc)}
  table.cards td{border:0;padding:2px 0;display:grid;grid-template-columns:7em minmax(0,1fr);gap:8px;text-align:left;white-space:normal}
  table.cards td::before{content:attr(data-label);color:var(--muted);font-size:13.5px}
  .brand span{font-size:16px}
}
@media (max-width:359px){
  .brand img{width:38px}
  .brand span{font-size:15px}
  .catgrid{grid-template-columns:minmax(0,1fr)}
  .about{grid-template-columns:minmax(0,1fr)}
  .about img{display:none}
  .about{padding-bottom:0}
}
@media (min-width:768px){
  .catgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .switch-row{display:none}
  .only-desk{display:inline-flex}
  .about{grid-template-columns:150px minmax(0,1fr)}
  .about img{width:150px}
}
@media (min-width:1024px){
  .bar{display:none}
  main{padding-bottom:0}
  footer{padding-block:24px}
  .toast{bottom:28px}
  .menu-btn{display:none}
  .catgrid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .top-search{display:flex;flex:1;max-width:340px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
  .top-search input{flex:1;min-width:0;border:0;background:transparent;padding:8px 12px;outline:0}
  .top-search button{border:0;background:none;padding:0 12px;cursor:pointer;color:var(--muted);font-weight:700}
  .art-wrap{grid-template-columns:210px minmax(0,1fr) 190px;gap:32px}
  .art-wrap .toc-col{display:block}
  .side{display:block;position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px);align-self:start}
  .toc-col{position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px);align-self:start}
  .home-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
}
@media (max-width:1023px){ .toc-col{display:none} }
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* 正式站補充 */
.subsec .h3{font-size:16px;margin:0 0 8px;color:var(--acc)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
@media (min-width:1024px){.only-mobile-share,#tocMobile{display:none}}
/* 名詞解釋 */
.terms{display:grid;gap:8px;margin:0}
.terms div{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px}
.terms dt{font-weight:700;color:var(--acc);font-size:16px}
.terms dd{margin:2px 0 0;font-size:16px;line-height:1.75}
/* 預算試算器 */
.calc-h{font-size:18px;margin:22px 0 4px}
.calc-budget{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.calc-budget input{width:100%}
@media (min-width:768px){.calc-budget{grid-template-columns:repeat(4,minmax(0,1fr))}}
.calc-out{margin-top:12px}
.out-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.out-grid div,.out-main{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.out-grid span{font-size:13.5px;color:var(--muted)}
.out-grid b{font-size:22px;font-variant-numeric:tabular-nums}
.out-grid small,.out-main small{font-size:13px;color:var(--muted);line-height:1.6}
.out-main{margin-top:10px;background:var(--acc-soft);border-color:transparent;font-size:16px}
.out-main b{font-size:26px;color:var(--acc);font-variant-numeric:tabular-nums}
/* 沛沛的試算工具 */
.toolcards{display:grid;gap:10px;margin-top:10px}
@media (min-width:768px){.toolcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.toolcard{display:flex;flex-direction:column;gap:4px;background:var(--gold-soft);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;text-decoration:none;color:var(--ink);min-width:0}
.toolcard:hover{border-color:var(--gold)}
.toolcard b{font-size:17px;line-height:1.5}
.toolcard span{font-size:14.5px;color:var(--muted);line-height:1.6}
.toolcard .go{color:var(--gold);font-weight:700;font-size:15px;margin-top:2px}
