:root{--ink:#0c1724;--ink-soft:#46586b;--ink-mute:#5e6f83;--line:#e3e9ef;--line-strong:#c6d2de;--bg:#fff;--bg-soft:#f5f8fa;--bg-tint:#eef3f7;--bg-raise:#fff;--brand:#14664f;--brand-dark:#0d4b39;--brand-solid:#14664f;--brand-solid-hi:#0d4b39;--brand-tint:#e7f1ee;--accent:#8a6516;--accent-soft:#a2782a;--accent-tint:#fbf3e4;--danger:#c0392b;--danger-bg:#fdecea;--danger-ink:#8a2419;--fx-star:#0c172429;--fx-gold:#8a65164d;--fx-glow-a:#14664f12;--fx-glow-b:#d8b05b29;--radius:10px;--radius-lg:16px;--shadow:0 1px 2px #0c17240d, 0 10px 30px #0c172412;--maxw:1140px;--maxw-prose:44rem;color-scheme:light}.on-photo{--ink:#eef3f8;--ink-soft:#c5d2de;--ink-mute:#9dabba;--line:#ffffff2e;--line-strong:#ffffff57;--accent:#e0c48a;--accent-soft:#eed9ae;--brand:#8fdccd;--brand-dark:#b2ece0;--brand-solid:#2f6a5c;--brand-solid-hi:#3a8271;color:var(--ink)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);letter-spacing:.015em;-webkit-font-smoothing:antialiased;margin:0;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,-apple-system,Segoe UI,sans-serif;font-size:17px;line-height:1.8}img{max-width:100%;height:auto;display:block}a{color:var(--brand);text-underline-offset:3px}a:hover{color:var(--brand-dark)}h1,h2,h3,h4{letter-spacing:.005em;margin:0 0 .6em;font-weight:700;line-height:1.45}h1{letter-spacing:.02em;font-size:clamp(2.15rem,6.2vw,3.7rem);font-weight:800;line-height:1.42}h2{font-size:clamp(1.6rem,4.2vw,2.5rem);font-weight:800;line-height:1.5}h3{font-size:clamp(1.15rem,2.4vw,1.32rem)}p{margin:0 0 1.15em}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:20px}.prose-wrap{max-width:var(--maxw-prose);margin-inline:auto;padding-inline:20px}section{padding-block:clamp(84px,13vw,176px)}.bg-soft{background:var(--bg-soft)}.bg-tint{background:var(--bg-tint)}.eyebrow{letter-spacing:.18em;color:var(--accent);text-transform:uppercase;align-items:center;gap:.9em;margin:0 0 1.1rem;font-size:.78rem;font-weight:700;display:flex}.eyebrow:before{content:"";background:var(--accent);flex:none;width:34px;height:1px}.eyebrow.center-b{justify-content:center}.lede{color:var(--ink-soft);font-size:clamp(1.02rem,2.1vw,1.18rem)}.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.6em;padding:.95em 1.7em;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .18s,background .18s,border-color .18s,color .18s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--brand-solid);color:#fbfdfc}.btn-primary:hover{background:var(--brand-solid-hi);color:#fff}a.btn-primary:after,a.btn-ghost.with-arrow:after{content:"↗";opacity:.8;font-size:.95em}.btn-ghost{border-color:var(--line-strong);color:var(--ink);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.card{background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(22px,3vw,30px);transition:border-color .18s,transform .18s,box-shadow .18s;position:relative}.card:before{content:"";border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.34;height:1px;transition:opacity .25s;position:absolute;top:-1px;left:0;right:0}.card:hover{border-color:var(--line-strong)}.card:hover:before{opacity:.8}.grid{gap:20px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(255px,1fr))}.stat-num{color:var(--accent);font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,4vw,2.1rem);font-weight:800;line-height:1.2}.idx{letter-spacing:.14em;color:var(--accent);font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:700}.fx-wash{background:radial-gradient(1px 1px at 18% 24%, var(--fx-star), transparent), radial-gradient(1px 1px at 72% 18%, var(--fx-star), transparent), radial-gradient(1.5px 1.5px at 44% 62%, var(--fx-gold), transparent), radial-gradient(1px 1px at 88% 54%, var(--fx-star), transparent), radial-gradient(1px 1px at 31% 82%, var(--fx-star), transparent), radial-gradient(1200px 520px at 10% -12%, var(--fx-glow-a), transparent 68%), radial-gradient(900px 460px at 94% 4%, var(--fx-glow-b), transparent 62%)}.prose{font-size:1.05rem}.prose h2{border-top:1px solid var(--line-strong);margin-top:2.4em;padding-top:.5em}.prose h3{color:var(--accent-soft);margin-top:1.8em}.prose ul,.prose ol{margin-bottom:1.2em;padding-left:1.3em}.prose li{margin-bottom:.5em}.prose blockquote{border-left:2px solid var(--accent);background:var(--accent-tint);border-radius:0 var(--radius) var(--radius) 0;color:var(--ink-soft);margin:1.6em 0;padding:.2em 1.2em}.prose table{border-collapse:collapse;width:100%;margin:1.6em 0;font-size:.95rem}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:.6em .8em}.prose th{background:var(--bg-soft);font-weight:700}.prose code{background:var(--bg-soft);border-radius:6px;padding:.15em .4em;font-size:.9em}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.skip-link{background:var(--brand-solid);color:#fff;z-index:100;border-radius:0 0 8px;padding:.7em 1.2em;position:absolute;left:-9999px}.skip-link:focus{top:0;left:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.prose .chunk{margin:0}.prose .chunk>h2:first-child{margin-top:2.4em}.prose .chunk:first-of-type>h2:first-child{margin-top:1.4em}.prose .chunk h3{font-size:1.08rem}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1);transform:translateY(22px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}:root{--tk-header-h:60px}[hidden]{display:none!important}.tk-section{padding-block:28px 56px}.tk-section.tight{padding-block:0 40px}.calc-layout{align-items:start;gap:20px;display:grid}@media (width>=960px){.calc-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:28px}.calc-layout>.calc-results{top:calc(var(--tk-header-h) + 16px);position:sticky}}.calc-results{gap:16px;min-width:0;display:grid}.calc-results>*{min-width:0}.result-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;display:grid}.stack{gap:20px;display:grid}.stack>*{min-width:0}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}@media (width<=620px){.field-row{grid-template-columns:1fr}}.group-label{color:var(--brand);border-bottom:2px solid var(--brand-tint);margin:1.8rem 0 1rem;padding-bottom:.5rem;font-size:.88rem;font-weight:700}.group-label:first-child{margin-top:0}.privacy-note{color:var(--ink-mute);margin:1em 0 0;font-size:.85rem}.field{margin-bottom:1.3rem}.field>label{margin-bottom:.5em;font-size:.93rem;font-weight:600;line-height:1.6;display:block}.inputwrap{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);align-items:center;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.inputwrap:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.inputwrap:has([aria-invalid=true]){border-color:var(--danger)}.inputwrap:has([aria-invalid=true]):focus-within{box-shadow:0 0 0 3px var(--danger-bg)}.inputwrap .unit{color:var(--ink-mute);white-space:nowrap;padding:0 .4em 0 .9em;font-size:.9rem;font-weight:600}.inputwrap .unit.right{padding:0 .9em 0 .2em}.inputwrap input,.inputwrap select{width:100%;min-width:0;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;flex:1;padding:.72em .9em;font-size:1.05rem;font-weight:600;line-height:1.5}.inputwrap .unit+input{padding-left:.2em}.inputwrap input:focus,.inputwrap select:focus{outline:none}.inputwrap select{-webkit-appearance:none;appearance:none;cursor:pointer;padding-right:2.4em}.selectwrap{position:relative}.selectwrap:after{content:"";border-right:2px solid var(--ink-mute);border-bottom:2px solid var(--ink-mute);pointer-events:none;width:8px;height:8px;margin-top:-6px;position:absolute;top:50%;right:1em;transform:rotate(45deg)}.field .hint{color:var(--ink-mute);margin:.5em 0 0;font-size:.8rem;line-height:1.7}.kv{margin:0}.kv>div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:.7em 0;display:flex}.kv dt{color:var(--ink-soft);margin:0;font-size:.9rem}.kv dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-size:.95rem;font-weight:700}.chart{margin:0}.chart-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;margin-bottom:.6em;display:flex}.chart-title{font-size:.98rem;font-weight:700}.chart-legend{color:var(--ink-soft);flex-wrap:wrap;gap:4px 14px;font-size:.8rem;display:flex}.chart-legend:empty{display:none}.chart-canvas{width:100%;position:relative}.chart-note{color:var(--ink-mute);margin:.6em 0 0;font-size:.8rem}.ch-svg{width:100%;height:auto;font-family:inherit;display:block;overflow:visible}.ch-grid{stroke:var(--line);stroke-width:1px}.ch-zero{stroke:var(--line-strong);stroke-width:1.2px}.ch-ytick,.ch-xtick{fill:var(--ink-mute);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:12px}.ch-empty{fill:var(--ink-mute);font-size:14px}.ch-line{fill:none;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.ch-area{stroke:none;opacity:.08}.ch-dots circle{stroke:var(--bg-raise);stroke-width:1.5px;opacity:0;transition:opacity .15s}.ch-svg:hover .ch-dots circle{opacity:1}.ch-bar{transition:opacity .15s}.ch-bar:hover{opacity:.8}.ch-line.s-brand{stroke:var(--brand)}.ch-line.s-accent{stroke:var(--accent)}.ch-line.s-mute{stroke:var(--ink-mute);stroke-dasharray:5 4}.ch-line.s-danger{stroke:var(--danger)}.ch-area.s-brand,.ch-dots.s-brand circle,.ch-bar.s-brand,.lg-swatch.s-brand{fill:var(--brand);background:var(--brand)}.ch-area.s-accent,.ch-dots.s-accent circle,.ch-bar.s-accent,.lg-swatch.s-accent{fill:var(--accent);background:var(--accent)}.ch-area.s-mute,.ch-dots.s-mute circle,.ch-bar.s-mute,.lg-swatch.s-mute{fill:var(--ink-mute);background:var(--ink-mute)}.ch-area.s-danger,.ch-dots.s-danger circle,.ch-bar.s-danger,.lg-swatch.s-danger{fill:var(--danger);background:var(--danger)}.lg-item{align-items:center;gap:6px;display:inline-flex}.lg-swatch{border-radius:3px;width:11px;height:11px;display:inline-block}.calc-results{scroll-margin-top:calc(var(--tk-header-h) + 12px)}.calc-submit{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:1.6rem;display:flex}.calc-submit .btn-primary{flex:auto}form.card>.calc-submit{--tk-card-pad:clamp(22px, 3vw, 30px);margin:1.6rem calc(-1 * var(--tk-card-pad)) calc(-1 * var(--tk-card-pad));padding:16px var(--tk-card-pad) var(--tk-card-pad);background:var(--bg-soft);border-top:1px solid var(--line);border-radius:0 0 var(--radius-lg) var(--radius-lg)}@media (width<=959.98px){form[data-stale]>.calc-submit{z-index:5;padding-top:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));background:var(--bg-raise);box-shadow:0 -10px 24px -14px color-mix(in srgb, var(--ink) 45%, transparent);position:sticky;bottom:0}form[data-stale] :is(input,select,textarea){scroll-margin-bottom:8rem}}.calc-submit-hint{color:var(--accent);flex:1 0 100%;align-items:center;gap:.5em;margin:0;font-size:.88rem;font-weight:700;line-height:1.6;display:flex}.calc-submit-hint:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:.55em;height:.55em}.calc-submit-hint:empty,.calc-submit-hint.is-done{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.calc-stale-note{border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--accent-tint);color:var(--ink);margin:0;padding:.7em 1em;font-size:.9rem;font-weight:600;line-height:1.7}.calc-results[data-stale]>:not(.calc-stale-note,[data-add-report]),[data-results-for][data-stale] :is(.result-card,.verdict,.chart,.rtable,.kv){opacity:.45;filter:saturate(.3);transition:opacity .2s,filter .2s}.calc-results[data-stale]>:has(>[data-add-report]){opacity:1;filter:none}@media print{.tk-header,.skip-link,.calc-submit{display:none!important}.calc-layout>.calc-results{position:static}.card{box-shadow:none}}
