*,*:before,*:after{box-sizing:border-box}*{margin:0}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-body);font-synthesis:none;-webkit-font-smoothing:antialiased;min-width:320px}img,canvas,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}h1{font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-xl);line-height:var(--lh-tight);letter-spacing:var(--track-tight)}h2{font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-xl);line-height:var(--lh-snug)}h3{font-weight:var(--fw-semibold);font-size:var(--fs-base)}small,.text-muted{color:var(--text-muted);font-size:var(--fs-sm)}.text-faint{color:var(--text-faint)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums slashed-zero}.eyebrow{font-family:var(--font-sans);font-weight:var(--fw-semibold);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--accent)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px}.container{max-width:var(--container);margin:0 auto;padding:0 var(--s5)}@media (max-width: 720px){.container{padding:0 var(--s4)}}main.container{padding-top:var(--s6);padding-bottom:var(--s8)}.section{margin:var(--s7) 0 0}.section>h2{border-top:1px solid var(--border);border-bottom:0;padding:var(--s3) 0 0;margin-bottom:var(--s4)}.section .section{margin:var(--s5) 0 0}.section .section>h2{font-family:var(--font-sans);font-weight:var(--fw-semibold);font-size:var(--fs-base);border-top:0;padding-top:0}.section>p.text-muted{margin-bottom:var(--s4);max-width:68ch}main.container>.section,main.container>div>.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:var(--s5);margin-top:var(--s5)}main.container>.section>h2,main.container>div>.section>h2{border-top:0;border-bottom:1px solid var(--border);padding:0 0 var(--s3);margin-bottom:var(--s4)}main.container>.section>.section{margin-top:var(--s5)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--s5);box-shadow:var(--shadow-1)}.card .card,.card .chart-wrap,.card .chart-box{background:var(--surface-2);box-shadow:none}.tool-header{background:linear-gradient(135deg,var(--surface) 35%,var(--accent-soft));border-bottom:1px solid var(--border);position:static;color:var(--text)}.th-bar{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) 0;min-height:76px}.th-brand{display:inline-flex;align-items:center;font-family:var(--font-sans);font-weight:var(--fw-bold);font-size:26px;letter-spacing:-1px;color:var(--text);text-decoration:none;text-transform:none}.th-brand:hover{text-decoration:none}.th-brand .dotpane{color:var(--accent)}.th-tagline{display:inline-flex;align-items:center;gap:var(--s2);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-xs);white-space:nowrap}.th-divider{color:var(--border-strong)}.th-spacer{flex:1}.th-hub{display:inline-flex;align-items:center;gap:var(--s1);white-space:nowrap;color:var(--text-muted);font:var(--fw-medium) var(--fs-sm)/1.4 var(--font-sans);text-decoration:none}.th-hub:hover{color:var(--accent);text-decoration:none}.th-privacy{display:inline-flex;align-items:center;gap:var(--s2);background:var(--accent-soft);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-pill);padding:6px 10px;font-size:11px;font-weight:var(--fw-medium)}.th-lock{width:14px;height:14px;color:var(--ok);flex:none}.thp-long{display:none}.thp-short{display:inline}.th-theme{width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}.th-theme svg{width:16px;height:16px}.th-theme:hover{background:var(--bg-subtle);color:var(--text)}.th-theme:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.th-theme .ic-moon{display:none}:root[data-theme=dark] .th-theme .ic-sun{display:none}:root[data-theme=dark] .th-theme .ic-moon{display:block}.th-switch{display:flex;align-items:stretch;gap:var(--s2);padding:0 0 var(--s4);overflow-x:auto;scrollbar-width:thin;min-width:0}.th-switch::-webkit-scrollbar{display:none}.th-tab{display:inline-flex;align-items:center;white-space:nowrap;padding:var(--s2) var(--s3);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-muted);text-decoration:none;border:1px solid transparent;border-radius:var(--radius);background:transparent;transition:color var(--dur-1) var(--ease-out),background-color var(--dur-1) var(--ease-out)}.th-tab:before{content:none}a.th-tab:hover{color:var(--text);text-decoration:none}.th-tab.is-active{color:var(--accent);font-weight:var(--fw-semibold);border-color:var(--border);background:var(--surface);box-shadow:var(--shadow-1);cursor:default}a.th-tab:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring);border-radius:var(--radius)}.th-title{display:block;padding:var(--s5) 0 var(--s6);margin-top:0;text-align:left;color:var(--text)}.th-title-copy{min-width:0}.th-title-row{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s2)}.th-title h1{font-size:clamp(var(--fs-2xl),4vw,var(--fs-4xl));max-width:22ch}.th-pitch{margin:var(--s3) 0 0;font-size:var(--fs-lg);color:var(--text-muted);max-width:72ch}@media (max-width: 720px){.th-tab:before{display:none}}@media (max-width: 560px){.th-tagline,.th-privacy,.th-hub{display:none}.th-title{display:block;margin-top:var(--s4);padding:var(--s4)}.th-title h1{font-size:var(--fs-2xl)}.th-system-card{margin-top:var(--s4)}}.tool-footer{margin-top:var(--s8);border-top:1px solid var(--border);padding:var(--s6) 0 var(--s7);font-size:var(--fs-sm);color:var(--text-muted);background:var(--surface)}.tf-cross{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);margin-bottom:var(--s3)}.tf-cross a{color:var(--text);font-weight:var(--fw-medium)}.tf-brand{font-family:var(--font-display);font-weight:var(--fw-display);font-size:var(--fs-base)}.tf-brand a{color:var(--text)}.tf-brand .dotpane{color:var(--accent)}.tf-copy{margin-top:var(--s2);font-size:var(--fs-xs);color:var(--text-faint)}.tf-copy a{color:var(--text-faint)}.toast-host{position:fixed;bottom:var(--s5);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:var(--s2);z-index:var(--z-toast);pointer-events:none}.toast{padding:var(--s3) var(--s4);border:0;border-left:3px solid var(--border-strong);border-radius:var(--radius);background:var(--text);color:var(--bg);box-shadow:var(--shadow-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);animation:toast-in var(--dur-2) var(--ease-out)}.toast-ok{border-left-color:var(--ok)}.toast-warn{border-left-color:var(--warn)}.toast-error{border-left-color:var(--error)}.toast-info{border-left-color:var(--info)}.lang-switch{display:inline-flex;gap:2px;padding:2px;border:0;background:var(--bg-subtle);border-radius:var(--radius-pill)}.lang-btn{background:transparent;color:var(--text-muted);border:0;padding:3px var(--s3);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-medium);cursor:pointer;transition:color var(--dur-1) var(--ease-out),background-color var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}.lang-btn+.lang-btn{border-left:0}.lang-btn.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1);cursor:default}.lang-btn:not(.active):hover{color:var(--text)}.lang-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}.btn:active:not(:disabled),.cta:active,.tab:active,.th-tab:active,.lang-btn:active,.th-theme:active{transform:scale(.97)}@media (prefers-reduced-motion: reduce){.toast{animation:none}.hero:not([hidden]){animation:none}.btn:active:not(:disabled),.cta:active,.tab:active,.th-tab:active,.lang-btn:active,.th-theme:active{transform:none}.cta:hover,.cta:hover .arr,.btn:hover{transform:none}}
