:root{--ink:#15221d;--muted:#5d6b65;--paper:#f4f1e8;--card:#fffdf8;--line:#d9ddd6;--green:#0f766e;--green-soft:#e5f3ef;--orange:#c45522;--orange-soft:#f9eadf;--blue:#285b7a;--shadow:0 14px 38px rgba(29,46,39,.08);font-family:Inter,"Noto Sans TC","PingFang TC",system-ui,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eef4f0 0,#f4f1e8 28rem);line-height:1.75}a{color:var(--green);text-underline-offset:4px}.container{width:min(1120px,calc(100% - 40px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:10;background:rgba(244,241,232,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}.brand{font-size:1.2rem;font-weight:900;color:var(--ink);text-decoration:none}.brand span{color:var(--orange)}.nav-links{display:flex;gap:22px;flex-wrap:wrap}.nav-links a{color:var(--ink);font-weight:700;text-decoration:none}.hero{padding:76px 0 42px}.eyebrow{color:var(--orange);font-size:.78rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase}.hero h1{font-size:clamp(2.45rem,6vw,5.4rem);line-height:1.03;letter-spacing:-.04em;max-width:950px;margin:.2em 0}.lead{font-size:clamp(1.05rem,2vw,1.35rem);color:var(--muted);max-width:780px}.muted{color:var(--muted)}.notice{border-left:5px solid var(--orange);padding:14px 18px;background:var(--orange-soft);border-radius:0 12px 12px 0}.section{padding:24px 0 56px}.section h2{font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.2}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid>*{min-width:0}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--shadow)}.card h2,.card h3{margin-top:0}.metric{font-size:clamp(2rem,4vw,3.5rem);font-weight:900;line-height:1.05;letter-spacing:-.04em}.metric-label{color:var(--muted);font-weight:700}.tag,.step{display:inline-block;background:var(--green-soft);color:var(--green);font-size:.78rem;font-weight:900;padding:4px 10px;border-radius:999px}.step{background:var(--orange-soft);color:var(--orange);margin-bottom:10px}.chart{width:100%;height:auto;display:block;margin:24px 0 12px}.chart-grid{stroke:#dfe4de;stroke-width:1}.chart-company{fill:none;stroke:var(--green);stroke-width:4}.chart-business{fill:none;stroke:var(--orange);stroke-width:4}.legend{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-weight:700}.legend span:before{content:"";display:inline-block;width:18px;height:4px;margin-right:7px;vertical-align:middle;border-radius:9px;background:var(--green)}.legend .business:before{background:var(--orange)}.table-wrap{max-width:100%;overflow-x:auto;margin-top:20px}table{width:100%;border-collapse:collapse;min-width:660px}.grid.two table{min-width:420px}th,td{text-align:right;padding:12px;border-bottom:1px solid var(--line)}th:first-child,td:first-child{text-align:left}.feature-link{display:block;color:var(--ink);text-decoration:none}.feature-link p{color:var(--muted)}.feature-link strong{color:var(--green)}.breadcrumbs{padding-top:28px;color:var(--muted);font-size:.92rem}.breadcrumbs a{color:var(--muted)}.definition{display:grid;grid-template-columns:180px 1fr;gap:16px;border-bottom:1px solid var(--line);padding:16px 0}.definition dt{font-weight:900}.definition dd{margin:0;color:var(--muted)}.source-list li{margin-bottom:14px}.decision-banner{display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--ink);color:white;border-radius:24px;padding:30px}.decision-banner h2{margin:.3em 0}.decision-banner p{margin:0;color:#d6e2dc}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border:0;border-radius:12px;background:var(--orange);color:white;text-decoration:none;font:inherit;font-weight:900;white-space:nowrap;cursor:pointer}.button.secondary{background:var(--green);font-size:.92rem}.action-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label{display:grid;gap:7px;font-weight:800}.form-grid input,.form-grid select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #aebbb4;border-radius:10px;background:white;color:var(--ink);font:inherit}.form-grid input:focus,.form-grid select:focus{outline:3px solid rgba(15,118,110,.18);border-color:var(--green)}.checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.checklist-grid fieldset{min-width:0;border:1px solid var(--line);border-radius:16px;padding:18px}.checklist-grid legend{font-size:1.15rem;font-weight:900;padding:0 8px}.check{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer}.check:last-child{border-bottom:0}.check input{width:22px;height:22px;flex:0 0 auto;margin-top:4px;accent-color:var(--green)}.check span{display:grid;gap:2px}.check small{color:var(--muted);font-size:.88rem}.result-panel{display:grid;grid-template-columns:minmax(160px,.45fr) minmax(0,1.55fr);gap:24px;background:#eaf1f8;border:1px solid #c6d7e3;border-radius:22px;padding:26px;margin-top:18px}.result-panel h2{margin-top:0}.result-panel ul{padding-left:20px}.calculator-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:20px;align-items:start}.calculator-inputs{display:grid;gap:20px}.sticky-result{position:sticky;top:96px;display:block;margin-top:0}.result-list{margin:18px 0 0}.result-list div{display:grid;gap:4px;border-bottom:1px solid #c6d7e3;padding:12px 0}.result-list dt{color:var(--muted);font-size:.9rem}.result-list dd{margin:0;font-size:1.35rem;font-weight:900}.warning{background:#fff1e8;border-left:4px solid var(--orange);padding:12px}.timeline{display:grid;gap:18px;margin-bottom:24px}.timeline .card{display:grid;grid-template-columns:70px minmax(0,1fr);column-gap:20px}.timeline .card .step{grid-row:1 / span 2;align-self:start;text-align:center}.timeline .card h2,.timeline .card p{grid-column:2}.site-footer{border-top:1px solid var(--line);padding:32px 0 48px;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-links{display:flex;gap:16px;flex-wrap:wrap}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:10px;top:10px;background:white;padding:10px;z-index:20}@media(max-width:800px){.nav{align-items:flex-start;flex-direction:column;padding:14px 0;gap:10px}.nav-links{gap:8px 14px;font-size:.88rem}.grid,.grid.two,.form-grid,.checklist-grid,.calculator-layout,.result-panel{grid-template-columns:1fr}.hero{padding-top:48px}.definition{grid-template-columns:1fr;gap:4px}.container{width:min(100% - 28px,1120px)}.card{padding:20px}.metric{overflow-wrap:anywhere}.decision-banner{align-items:flex-start;flex-direction:column}.sticky-result{position:static}.timeline .card{grid-template-columns:1fr}.timeline .card .step,.timeline .card h2,.timeline .card p{grid-column:1}.timeline .card .step{grid-row:auto;justify-self:start}}

@media print{.site-header,.site-footer,.breadcrumbs,.hero,.section:not(:has(.printable-plan)),.print-button{display:none!important}.printable-plan{box-shadow:none;border:1px solid #999;margin:0}.container{width:100%}body{background:#fff}}

.cash-chart { margin-block: 24px; }
.cash-chart summary { cursor: pointer; font-weight: 800; padding-block: 12px; }
.cash-chart summary:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }
.cash-chart table { min-width: 0; font-size: .95rem; }
.cash-chart td { white-space: nowrap; font-variant-numeric: tabular-nums; }
@media(max-width:800px) {
  .cash-chart .chart text { font-size: 24px; }
  .cash-chart table { font-size: .78rem; }
  .cash-chart th,.cash-chart td { padding: 10px 4px; }
  .cash-chart caption { text-align: left; }
}

.market-trend{margin:0}.market-trend .chart text{font:18px system-ui,sans-serif;fill:var(--muted)}.market-trend .chart-business{stroke-dasharray:10 6}.market-trend .point-company{fill:var(--green)}.market-trend .point-business{fill:var(--orange)}.market-trend summary{cursor:pointer;padding:16px 0;font-weight:800}.market-trend summary:focus-visible,.market-trend .table-wrap:focus-visible{outline:3px solid var(--green);outline-offset:4px}.market-trend figcaption,.chart-next{font-size:.92rem;color:var(--muted)}.market-trend .chart{max-height:440px}.market-trend .table-wrap{margin-top:0}@media(max-width:800px){.market-trend .chart text{font-size:26px}.market-trend .chart{margin-inline:-8px;width:calc(100% + 16px)}}

.market-trend .legend .business:before{height:0;background:none;border-top:4px dashed var(--orange)}

.ranking-panel{min-width:0}.ranking-panel figure{margin:0}.ranking-panel figcaption{font-size:.85rem;color:var(--muted);margin-bottom:16px}.ranking-bars{list-style:none;padding:0;margin:0;display:grid;gap:20px}.ranking-label{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:baseline;gap:8px;margin-bottom:7px;font-size:.94rem}.ranking-position{color:var(--muted);font-variant-numeric:tabular-nums}.ranking-label a{overflow-wrap:anywhere}.ranking-label strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.88rem}.ranking-track{display:block;height:10px;background:#e7ece8;border-radius:3px;overflow:hidden}.ranking-track>span{display:block;height:100%;background:var(--green)}.ranking-panel.business .ranking-track>span{background:var(--orange)}.ranking-missing{font-size:.85rem;color:var(--muted)}.ranking-panel details{margin-top:22px;border-top:1px solid var(--line)}.ranking-panel summary{padding:16px 0;font-weight:800;cursor:pointer}.ranking-panel summary:focus-visible,.ranking-panel .table-wrap:focus-visible{outline:3px solid var(--green);outline-offset:4px}.ranking-panel .table-wrap table{min-width:0;width:100%;font-size:.9rem}.ranking-panel th,.ranking-panel td{padding:10px 5px}.ranking-panel td:last-child{white-space:nowrap}.ranking-panel caption{text-align:left;margin-bottom:8px}.ranking-panel th[scope=row]{font-weight:600}@media(max-width:800px){.ranking-label{font-size:.9rem;grid-template-columns:20px minmax(0,1fr) auto;gap:6px}.ranking-label strong{font-size:.82rem}.ranking-panel{padding:20px 16px}.ranking-bars{gap:18px}}
