:root{--color-canvas:#f3efe7;--color-surface:#fbf8f2;--color-surface-muted:#ecebe4;--color-header:#dfe3d8;--color-text:#34332f;--color-text-muted:#69665f;--color-line:#d3cdc2;--color-line-strong:#b8c0b2;--color-accent:#66715f;--color-accent-hover:#56614f;--color-accent-soft:#e4e7df;--color-accent-strong:#56614f;--color-header-band:#dfe3d8;--color-border:#d3cdc2;--color-border-strong:#b8c0b2;--color-surface-alt:#f2f0e9;--color-success:#4e6954;--color-success-soft:#e2ebe2;--color-danger:#944b45;--color-danger-soft:#f3dfdc;--color-warm:#a97864;--color-error:#944b45;--color-white:#fff;--font-ui:ui-rounded, "SF Pro Rounded", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif;--radius-small:.55rem;--radius-medium:.9rem;--radius-large:1.35rem;--shadow-soft:0 1rem 3rem #34332f14;--shadow-card:0 1rem 3rem #34332f14;--content-width:72rem}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-canvas)}body{background:var(--color-canvas);min-width:20rem;color:var(--color-text);font-family:var(--font-ui);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.6}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}img,svg{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;font-weight:500;line-height:1.15}h1{margin-inline:auto;max-width:18ch;margin-bottom:1.2rem;font-size:clamp(2.35rem,6vw,4.5rem)}h2{font-size:clamp(1.75rem,4vw,2.75rem)}h3{letter-spacing:-.015em;font-size:1.08rem}.skip-link{z-index:100;border-radius:var(--radius-small);background:var(--color-text);color:var(--color-white);padding:.65rem .9rem;position:absolute;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-shell{width:min(100%, var(--content-width));border-inline:1px solid var(--color-line);background:var(--color-canvas);margin-inline:auto}.site-header{border-bottom:1px solid var(--color-line-strong);background:var(--color-header);align-items:center;gap:2rem;min-height:4.75rem;padding:.9rem clamp(1rem,4vw,2.25rem);display:flex}.brand{align-items:center;gap:.65rem;font-size:1.05rem;font-weight:500;text-decoration:none;display:inline-flex}.brand-mark{flex:none;width:2.25rem;height:2.25rem}.site-nav{align-items:center;gap:1.5rem;margin-left:auto;display:flex}.site-nav a{color:var(--color-text-muted);font-size:.94rem;font-weight:500;text-decoration:none}.site-nav a:hover{color:var(--color-text)}.hero{text-align:center;padding:clamp(4rem,9vw,7rem) clamp(1rem,4vw,2.5rem) 2rem}.eyebrow{color:var(--color-accent);letter-spacing:.12em;margin-bottom:1rem;font-size:.8rem;font-weight:500}.hero-copy{max-width:43rem;color:var(--color-text-muted);margin:0 auto 2rem;font-size:clamp(1.05rem,2vw,1.2rem)}.tool-section{padding:0 clamp(1rem,4vw,2.5rem) 2.2rem}.trust-list{color:var(--color-text-muted);flex-wrap:wrap;justify-content:center;gap:.75rem 1.6rem;margin:1.15rem 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.trust-list li{align-items:center;gap:.45rem;display:inline-flex}.trust-list li:before{content:"✓";border:1px solid var(--color-line-strong);width:1.2rem;height:1.2rem;color:var(--color-accent);border-radius:50%;place-items:center;font-size:.72rem;font-weight:500;display:grid}.content-section{padding:clamp(3.5rem,8vw,6rem) clamp(1rem,5vw,4rem)}.content-section+.content-section{border-top:1px solid var(--color-line)}.section-heading{max-width:42rem;margin-bottom:2.25rem}.section-heading p{color:var(--color-text-muted);margin-bottom:0}.steps-grid,.feature-grid{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.steps-grid article,.feature-grid article{background:var(--color-surface);min-height:11rem;padding:1.5rem}.step-number{border:1px solid var(--color-line-strong);width:2rem;height:2rem;color:var(--color-warm);border-radius:50%;place-items:center;margin-bottom:1.5rem;font-size:.85rem;display:inline-grid}.steps-grid p,.feature-grid p{color:var(--color-text-muted);margin-bottom:0}.privacy-panel{border-radius:var(--radius-large);background:var(--color-header);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2.5rem;padding:clamp(1.5rem,4vw,2.5rem);display:grid}.privacy-panel p{color:var(--color-text-muted);margin-bottom:0}.privacy-panel a,.policy-content a,.consent-banner a,.consent-dialog a{text-underline-offset:.2em;text-decoration-thickness:1px}.faq-list{border-top:1px solid var(--color-line)}.faq-list details{border-bottom:1px solid var(--color-line)}.faq-list summary{cursor:pointer;padding:1.15rem 0;font-weight:500}.faq-list details p{max-width:52rem;color:var(--color-text-muted);padding-bottom:1.2rem}.site-footer{border-top:1px solid var(--color-line);color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem clamp(1rem,4vw,2.5rem);font-size:.84rem;display:flex}.site-footer p{margin-bottom:0}.footer-links{flex-wrap:wrap;gap:1rem;display:flex}.footer-links button{color:inherit;cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;padding:0;text-decoration:underline 1px}.button{border:1px solid var(--color-accent);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;min-height:2.75rem;padding:.65rem 1rem;font-weight:500;display:inline-flex}.button--primary{background:var(--color-accent);color:var(--color-white)}.button--primary:hover{background:var(--color-accent-hover)}.button--secondary{color:var(--color-text);background:0 0}.button--secondary:hover{background:var(--color-accent-soft)}.consent-banner{z-index:90;right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));left:max(1rem, env(safe-area-inset-left));border:1px solid var(--color-line-strong);border-radius:var(--radius-medium);background:var(--color-surface);justify-content:space-between;align-items:center;gap:1.5rem;width:min(100% - 2rem,68rem);margin-inline:auto;padding:1.15rem 1.25rem;display:flex;position:fixed;box-shadow:0 1rem 4rem #34332f2e}.consent-banner[hidden]{display:none}.consent-banner__copy{max-width:45rem}.consent-banner h2{letter-spacing:-.015em;margin-bottom:.3rem;font-size:1.05rem}.consent-banner p{color:var(--color-text-muted);margin-bottom:0;font-size:.88rem;line-height:1.5}.consent-actions{flex:none;gap:.65rem;display:flex}.consent-actions .button{white-space:nowrap}.consent-dialog{border:1px solid var(--color-line-strong);border-radius:var(--radius-large);background:var(--color-surface);width:min(100% - 2rem,36rem);color:var(--color-text);padding:0;box-shadow:0 1.5rem 5rem #34332f40}.consent-dialog::backdrop{background:#34332f7a}.consent-dialog form{padding:clamp(1.4rem,5vw,2rem);position:relative}.consent-dialog h2{margin-bottom:.75rem;font-size:1.65rem}.consent-dialog p{color:var(--color-text-muted)}.consent-dialog__close{width:2.5rem;height:2.5rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.5rem;position:absolute;top:.8rem;right:.9rem}.consent-dialog__close:hover{background:var(--color-accent-soft)}.consent-dialog__option{border-top:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.consent-dialog__option div{gap:.15rem;display:grid}.consent-dialog__option span{color:var(--color-text-muted);font-size:.84rem}.consent-status{background:var(--color-accent-soft);border-radius:999px;flex:none;padding:.25rem .55rem}.consent-actions--dialog{margin-top:1.25rem}.consent-dialog__fine-print{margin:.85rem 0 0;font-size:.8rem}.policy-page{padding:0 clamp(1rem,5vw,4rem) clamp(4rem,9vw,7rem)}.policy-hero{max-width:50rem;padding:clamp(4rem,9vw,7rem) 0 clamp(2.5rem,6vw,4rem)}.policy-hero h1{max-width:14ch;margin-inline:0}.policy-lede{max-width:44rem;color:var(--color-text-muted);font-size:clamp(1.05rem,2vw,1.2rem)}.policy-date{color:var(--color-text-muted);margin-bottom:0;font-size:.86rem}.policy-layout{grid-template-columns:minmax(14rem,.7fr) minmax(0,1.65fr);align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}.policy-summary{border:1px solid var(--color-line);border-radius:var(--radius-medium);background:var(--color-header);padding:1.5rem;position:sticky;top:1.25rem}.policy-summary h2{font-size:1.35rem}.policy-summary ul{color:var(--color-text-muted);gap:.65rem;margin:0 0 1.35rem;padding-left:1.2rem;display:grid}.policy-content{max-width:48rem}.policy-content section{border-bottom:1px solid var(--color-line);padding:0 0 2rem}.policy-content section+section{padding-top:2rem}.policy-content h2{margin-bottom:.8rem;font-size:clamp(1.35rem,3vw,1.8rem)}.policy-content p:last-child{margin-bottom:0}.policy-content p{color:var(--color-text-muted)}.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}.back-to-top{z-index:20;border:1px solid color-mix(in srgb, var(--color-ink) 18%, transparent);background:color-mix(in srgb, var(--color-header) 94%, transparent);width:2.9rem;height:2.9rem;color:var(--color-ink);cursor:pointer;opacity:0;pointer-events:none;border-radius:999px;place-items:center;padding:0;font-size:1.45rem;line-height:1;transition:opacity .16s,transform .16s,background-color .16s;display:grid;position:fixed;bottom:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);transform:translateY(.6rem);box-shadow:0 .5rem 1.5rem #2e352b24}.back-to-top[data-visible]{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:var(--color-header)}:focus-visible{outline:3px solid color-mix(in srgb, var(--color-warm) 72%, transparent);outline-offset:3px}@media (width<=48rem){.site-nav{display:none}.steps-grid,.feature-grid,.privacy-panel{grid-template-columns:1fr}.steps-grid article,.feature-grid article{min-height:0}.policy-layout{grid-template-columns:1fr}.policy-summary{position:static}.consent-banner{flex-direction:column;align-items:stretch;gap:1rem}}@media (width<=32rem){.site-header{min-height:4.25rem}.hero{padding-top:3.5rem}h1{font-size:2.45rem}.trust-list{flex-direction:column;align-items:flex-start;margin-inline:.35rem}.content-section{padding-block:3.25rem}.consent-actions{grid-template-columns:1fr;display:grid}.consent-banner .consent-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.consent-banner .button{padding-inline:.55rem;font-size:.82rem}.consent-actions .button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
