
:root{--paper:#f3f0ea;--ink:#20201e;--muted:#746f67;--rule:#d7d0c4;--gold:#a88645;--gold-pale:#d8c799;--ox:#742f32;--taupe:#a89d8d;--serif:Georgia,"Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Noto Sans TC","PingFang TC","Microsoft JhengHei",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}.site-shell{max-width:1280px;margin:auto;padding:0 20px}.site-header{height:68px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);position:relative;z-index:20}.brand{display:inline-flex;align-items:center;text-decoration:none}.brand img{width:35px;height:35px;object-fit:contain}.index-trigger,.text-link{font:600 11px/1 var(--sans);letter-spacing:.14em;color:inherit;text-decoration:none;border:0;background:none;padding:12px 0;cursor:pointer}.index-trigger:hover,.text-link:hover{color:var(--gold)}.index-panel{position:fixed;inset:0;background:var(--ink);color:var(--paper);z-index:99;transform:translateY(-102%);transition:transform .55s cubic-bezier(.2,.8,.2,1);padding:0 20px}.index-panel.open{transform:translateY(0)}.index-panel .inner{max-width:1280px;margin:auto}.index-panel .site-header{border-color:#5b5852}.index-panel .brand img{width:48px;height:48px}.menu-list{padding:10vh 0 0;display:grid}.menu-list a{border-bottom:1px solid #58554f;color:var(--paper);text-decoration:none;font-family:var(--serif);font-size:clamp(36px,8vw,90px);line-height:1.05;padding:15px 0;transition:padding .25s,color .25s}.menu-list a:hover{padding-left:14px;color:var(--gold-pale)}.menu-meta{margin-top:22px;font-size:12px;letter-spacing:.08em;color:#aaa39a}.hero{min-height:78svh;display:flex;flex-direction:column;justify-content:flex-end;padding:8vh 0 7vh;overflow:hidden}.hero h1{font-family:var(--serif);font-size:clamp(58px,14vw,178px);font-weight:400;letter-spacing:-.07em;line-height:.83;margin:0;max-width:920px}.hero h1 span{display:block;animation:rise .75s both}.hero h1 span:nth-child(2){animation-delay:.08s;margin-left:8vw}.hero h1 span:nth-child(3){animation-delay:.16s;margin-left:2vw;color:var(--gold)}.hero .intro{max-width:340px;margin:38px 0 0;font-size:15px;color:#4d4a45;animation:fade .8s .35s both}@keyframes rise{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{from{opacity:0}to{opacity:1}}section{border-top:1px solid var(--ink);padding:42px 0}.kicker{font-size:11px;font-weight:700;letter-spacing:.14em;margin:0 0 25px}.moving-index{position:relative;min-height:420px;overflow:hidden}.moving-index .word{position:absolute;font-family:var(--serif);letter-spacing:-.05em;line-height:.9;transition:transform .4s ease;color:var(--ink)}.moving-index:hover .word:nth-child(odd){transform:translate(7px,-5px)}.moving-index:hover .word:nth-child(even){transform:translate(-6px,7px)}.word.w1{font-size:74px;top:6%;left:0}.word.w2{font-size:42px;top:12%;right:2%;color:var(--gold)}.word.w3{font-size:58px;top:34%;left:17%}.word.w4{font-size:34px;top:45%;right:4%}.word.w5{font-size:62px;top:61%;left:0}.word.w6{font-size:37px;bottom:5%;left:48%}.word.w7{font-size:48px;bottom:19%;right:0}.word.w8{font-size:31px;top:24%;left:0}.small-copy{font-size:14px;color:#57534c;max-width:460px}.tool-index{border-bottom:1px solid var(--ink)}.tool-row{display:grid;grid-template-columns:45px 1fr 18px;gap:12px;align-items:baseline;border-top:1px solid var(--rule);padding:18px 0;text-decoration:none;color:var(--ink);transition:padding .25s,background .25s}.tool-row:hover{padding-left:9px;background:rgba(168,134,69,.06)}.tool-row .n{font:600 11px/1 var(--sans);letter-spacing:.1em;color:var(--gold)}.tool-row strong{font:400 28px/1 var(--serif);letter-spacing:-.03em}.tool-row small{display:block;margin-top:4px;color:var(--muted);font-size:13px}.arrow{color:var(--gold)}.selected{min-height:380px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:var(--ink);color:var(--paper);padding:28px}.selected:before{content:"";position:absolute;width:130%;height:66%;left:-14%;bottom:-23%;background:radial-gradient(ellipse at center,rgba(216,199,157,.75),rgba(168,134,69,.18) 28%,transparent 63%);transform:rotate(-8deg)}.selected:after{content:"";position:absolute;top:22%;right:16%;width:1px;height:66%;background:var(--gold-pale);transform:rotate(22deg);box-shadow:12px 0 0 rgba(216,199,157,.15)}.selected>*{position:relative;z-index:1}.selected h2{font-family:var(--serif);font-size:clamp(42px,9vw,82px);font-weight:400;line-height:.9;letter-spacing:-.06em;margin:0;max-width:440px}.selected p{font-size:13px;max-width:320px;margin:0;color:#d6d0c6}.elsewhere{display:grid;gap:25px}.social-links{display:flex;gap:22px;flex-wrap:wrap}.social-links a{font-family:var(--serif);font-size:34px;color:var(--ink);text-decoration:none;letter-spacing:-.04em}.social-links a:hover{color:var(--gold)}.site-footer{border-top:1px solid var(--ink);padding:25px 0 45px;display:flex;justify-content:space-between;gap:20px;align-items:flex-end;font-size:12px;color:#5e5951}.site-footer .tag{max-width:240px;text-align:right}.legal-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.legal-links a{color:inherit;text-decoration:none}.legal-links a:hover{color:var(--gold)}.about{padding:11vh 0 9vh}.about h1{font-family:var(--serif);font-size:clamp(48px,11vw,130px);font-weight:400;line-height:.87;letter-spacing:-.065em;max-width:830px;margin:0 0 55px}.about-copy{max-width:600px;font-size:19px;line-height:1.8;white-space:pre-line;position:relative}.about-copy:after{content:"T.";position:absolute;z-index:-1;right:-9%;top:12%;font-family:var(--serif);font-size:260px;line-height:1;color:#ebe7df;letter-spacing:-.13em}.make-list{margin-top:80px;border-bottom:1px solid var(--ink)}.make-row{display:grid;grid-template-columns:40px 1fr;gap:12px;border-top:1px solid var(--rule);padding:18px 0}.make-row b{font:400 28px/1 var(--serif);letter-spacing:-.03em;display:block}.make-row span{font-size:13px;color:var(--muted)}.tools-hero{padding:11vh 0 6vh}.tools-hero h1{font-family:var(--serif);font-size:clamp(58px,13vw,160px);font-weight:400;line-height:.82;letter-spacing:-.07em;margin:0}.tools-hero p{max-width:420px;margin:35px 0 0;color:#57534c}.tool-page{max-width:780px;margin:auto;padding:0 20px 70px}.tool-head{padding:40px 0 28px;border-bottom:1px solid var(--ink)}.tool-head h1{font:400 clamp(42px,9vw,70px)/.9 var(--serif);letter-spacing:-.06em;margin:10px 0}.tool-head p{max-width:480px;margin:0;color:#57534c}.mode-switch{border-bottom:1px solid var(--ink);margin:25px 0}.mode-switch button{display:block;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--rule);padding:17px 0;color:var(--ink);font:400 22px/1.1 var(--serif);cursor:pointer}.mode-switch button small{display:block;font:13px/1.45 var(--sans);margin-top:4px;color:var(--muted)}.mode-switch button.active{color:var(--gold)}.calc-section{padding:26px 0;border-bottom:1px solid var(--ink)}.calc-section h2{font:400 30px/1 var(--serif);letter-spacing:-.04em;margin:0 0 22px}.field{padding:14px 0 18px;border-top:1px solid var(--rule)}.field:first-of-type{border-top:0}.field-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.field label{font-size:14px}.value-wrap{display:flex;align-items:center;gap:5px}.currency{font-size:12px;color:var(--muted)}.money-input,.number-input{border:0;background:transparent;text-align:right;width:145px;color:var(--ink);font:400 25px/1 var(--serif);letter-spacing:-.03em;outline:0}.number-input{width:70px}.range{appearance:none;width:100%;height:24px;background:transparent;margin:8px 0 0;cursor:pointer}.range::-webkit-slider-runnable-track{height:1px;background:linear-gradient(90deg,var(--gold) 0 var(--fill,50%),var(--rule) var(--fill,50%) 100%)}.range::-moz-range-track{height:1px;background:linear-gradient(90deg,var(--gold) 0 var(--fill,50%),var(--rule) var(--fill,50%) 100%)}.range::-webkit-slider-thumb{appearance:none;width:18px;height:18px;background:var(--gold);border:1px solid var(--ink);border-radius:50%;margin-top:-8px}.range::-moz-range-thumb{width:17px;height:17px;background:var(--gold);border:1px solid var(--ink);border-radius:50%}.field-note{font-size:12px;color:var(--muted);margin-top:3px}.metric-line{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:6px 0}.metric-line strong{font:400 21px/1 var(--serif)}.metric-line.negative strong{color:var(--ox)}.allocation-bar{display:flex;height:12px;margin:16px 0 8px;background:#e3ded5}.allocation-bar span{display:block;height:100%}.bar-need{background:var(--ink)}.bar-want{background:var(--taupe)}.bar-save{background:var(--gold)}.result-strip{position:sticky;bottom:0;background:var(--paper);border-top:1px solid var(--gold);padding:15px 0 12px;z-index:5}.result-strip .result-title{font-size:12px;color:var(--muted)}.result-strip .result-number{font:400 38px/1 var(--serif);letter-spacing:-.05em;margin:3px 0 12px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--ink);color:var(--paper);padding:15px 18px;text-decoration:none;font:700 11px/1 var(--sans);letter-spacing:.12em;cursor:pointer;width:100%}.button:hover{background:var(--gold)}.button.secondary{background:transparent;border:1px solid var(--ink);color:var(--ink);margin-top:9px}.button.secondary:hover{background:var(--ink);color:var(--paper)}.expand{background:none;border:0;padding:16px 0;color:var(--ink);font:400 20px/1 var(--serif);cursor:pointer}.hidden{display:none!important}.method-selector{display:flex;gap:8px;flex-wrap:wrap;padding:5px 0 18px}.method-selector button{border:1px solid var(--rule);background:transparent;padding:10px 12px;color:var(--ink);font:12px var(--sans);cursor:pointer}.method-selector button.active{border-color:var(--gold);color:var(--gold)}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--rule);padding-top:18px}.person h3{font:400 29px/1 var(--serif);margin:0 0 16px}.person .keep{color:var(--gold);font:400 29px/1 var(--serif);letter-spacing:-.04em}.modal{position:fixed;inset:0;background:rgba(32,32,30,.48);z-index:90;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:600px;max-height:92svh;overflow:auto;background:var(--paper);padding:24px 20px 34px;animation:sheet .35s ease both}@keyframes sheet{from{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{height:3px;width:34px;background:var(--rule);margin:0 auto 24px}.summary-card{background:var(--paper);border:1px solid var(--ink);padding:22px;min-height:380px;display:flex;flex-direction:column}.summary-card .card-logo{width:26px;height:26px;object-fit:contain;margin-bottom:28px}.summary-card .card-kicker{font-size:10px;letter-spacing:.12em;font-weight:700}.summary-card .card-title{font:400 32px/.95 var(--serif);letter-spacing:-.05em;margin:10px 0 30px}.summary-card .card-list{border-top:1px solid var(--ink)}.summary-card .card-line{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--rule);padding:9px 0;font-size:12px}.summary-card .card-line b{font:400 19px/1 var(--serif)}.summary-card .card-footer{margin-top:auto;padding-top:22px;font-size:10px;color:var(--muted)}.summary-actions{margin-top:14px}.privacy-note{font-size:12px;color:var(--muted);margin:20px 0 0}.seo-details{margin-top:22px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.seo-details summary{cursor:pointer;list-style:none;padding:15px 0;font:400 20px/1 var(--serif)}.seo-details summary::-webkit-details-marker{display:none}.seo-details summary:after{content:'+';float:right;color:var(--gold);font-family:var(--sans);font-size:20px}.seo-details[open] summary:after{content:'−'}.seo-copy{padding:0 0 18px;color:#57534c;font-size:14px;line-height:1.8}.seo-copy h3{font:400 23px/1 var(--serif);color:var(--ink);margin:20px 0 9px}.seo-copy ul{padding-left:18px;margin:8px 0}.not-found{min-height:70svh;display:flex;flex-direction:column;justify-content:center}.not-found h1{font:400 clamp(80px,20vw,220px)/.7 var(--serif);margin:0;letter-spacing:-.1em}.not-found p{font:400 28px/1 var(--serif);max-width:400px}@media(min-width:800px){.site-shell{padding:0 42px}.site-header{height:78px}.hero{min-height:84svh}.elsewhere{grid-template-columns:1fr 1fr;align-items:end}.tool-page{padding-top:10px}.tool-row strong{font-size:38px}.selected{min-height:500px;padding:42px}.sheet{margin-bottom:4vh;border:1px solid var(--ink)}.result-strip{position:static;margin-top:25px;border-bottom:1px solid var(--ink)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
