:root{color-scheme:light;--bg:#eef3fb;--paper:#f7faff;--surface:#ffffff;--soft:#e6eeff;--ink:#0f1e33;--text:#0f1e33;--muted:#4c5c72;--line:rgba(15,30,51,0.14);--grid:rgba(37,99,235,0.09);--grid-strong:rgba(37,99,235,0.16);--primary:#2563eb;--primary-dark:#1d4ed8;--secondary:#0d9488;--accent:#f59e0b;--danger:#dc2626;--success:#059669;--shadow:0 20px 45px rgba(15,30,51,0.12);--radius:14px}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#070d18;--paper:#0a1223;--surface:#0f1a2e;--soft:#132441;--ink:#eaf1ff;--text:#eaf1ff;--muted:#9db0cc;--line:rgba(148,178,224,0.18);--grid:rgba(96,165,250,0.08);--grid-strong:rgba(96,165,250,0.15);--primary:#60a5fa;--primary-dark:#3b82f6;--secondary:#2dd4bf;--accent:#fbbf24;--shadow:0 22px 55px rgba(0,0,0,0.45)}}*{box-sizing:border-box}html{background:var(--bg)}body,html{min-height:100%}body{margin:0;color:var(--text);background:linear-gradient(var(--grid) 1px,transparent 1px) 0 0 /26px 26px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0 /26px 26px,var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a,button,input,select,textarea{outline-offset:3px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 65%,white 35%)}a{color:inherit}h1,h2,h3{letter-spacing:-.015em}.mono,code{font-family:SFMono-Regular,Consolas,Liberation Mono,ui-monospace,monospace}::selection{background:color-mix(in srgb,var(--primary) 28%,transparent)}.app-shell{min-height:100vh}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);grid-gap:34px;gap:34px;align-items:center;padding:40px clamp(18px,5vw,76px) 20px;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 120% at 88% -10%,color-mix(in srgb,var(--primary) 22%,transparent),transparent 55%),radial-gradient(90% 90% at -8% 120%,color-mix(in srgb,var(--secondary) 16%,transparent),transparent 50%);pointer-events:none;z-index:0}.hero>*{position:relative;z-index:1}.hero-copy h1{margin:10px 0 14px;font-size:clamp(44px,7vw,84px);line-height:.96;background:linear-gradient(120deg,var(--primary),var(--secondary));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy p{max-width:640px;color:var(--muted);font-size:18px;line-height:1.65}.kicker{margin:0;color:var(--primary);text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.12em}.hero-card,.panel,.record,.stat{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);min-width:0}.hero-card{display:grid;grid-gap:12px;gap:12px;justify-items:center;text-align:center}.emblem{--size:190px;width:var(--size);height:var(--size);border-radius:50%;position:relative;background:conic-gradient(from 90deg,color-mix(in srgb,var(--primary) 16%,transparent),color-mix(in srgb,var(--secondary) 16%,transparent),color-mix(in srgb,var(--primary) 16%,transparent));border:2px solid color-mix(in srgb,var(--primary) 45%,var(--line));display:grid;place-items:center}.emblem:before{content:"";position:absolute;inset:14px;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--primary) 40%,transparent)}.emblem:after{content:"";position:absolute;left:12px;right:12px;top:50%;height:2px;background:color-mix(in srgb,var(--secondary) 60%,transparent);transform:rotate(-30deg);transform-origin:center}.emblem span{font-size:44px;font-weight:850;color:var(--primary);z-index:1}.actions,.button-row,.tabs{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.button,button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:10px 15px;cursor:pointer;text-decoration:none;font-weight:700;transition:border-color .15s ease,transform .05s ease}.button:hover,button:hover{border-color:color-mix(in srgb,var(--primary) 55%,var(--line))}.button:active,button:active{transform:translateY(1px)}.button.primary,.tabs button.active,button.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.button.primary:hover,button.primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.tabs{padding:4px clamp(18px,5vw,76px) 18px;position:-webkit-sticky;position:sticky;top:0;background:color-mix(in srgb,var(--bg) 84%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:5}.tabs button{white-space:nowrap;border-radius:999px}.grid{display:grid;grid-gap:16px;gap:16px;min-width:0}.stats{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 clamp(18px,5vw,76px) 22px}.stat{padding:16px 18px}.stat strong{display:block;font-size:30px;line-height:1.1;overflow-wrap:anywhere;color:var(--primary)}.muted,.stat span{color:var(--muted)}.content{padding:0 clamp(18px,5vw,76px) 80px;display:grid;grid-gap:18px;gap:18px;min-width:0}.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.four{grid-template-columns:repeat(4,minmax(0,1fr))}label{display:grid;grid-gap:7px;gap:7px;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;color:var(--text);background:var(--paper)}textarea{min-height:110px;resize:vertical}.list{display:grid;grid-gap:12px;gap:12px}.identity-group,.list{min-width:0}.identity-group>summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--border);border-radius:12px}.identity-group[open]>summary{margin-bottom:4px}.identity-group>summary:hover{border-color:var(--accent)}.record{box-shadow:none;text-align:left}.record h3{margin:0 0 6px}.record p{color:var(--muted);line-height:1.55}.metric{font-size:40px;font-weight:850;color:var(--primary)}.meter{height:12px;border-radius:999px;background:var(--soft);overflow:hidden}.meter>span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));width:var(--value)}.bar-list{grid-gap:12px}.bar-list,.bar-row{display:grid;gap:12px}.bar-row{grid-template-columns:118px minmax(0,1fr) 62px;grid-gap:12px;align-items:center}.bar-row strong{text-align:right}.notice{border-left:4px solid var(--primary);background:var(--soft);padding:13px 15px;border-radius:10px;color:var(--text)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border-radius:999px;padding:8px 14px}.chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.option{text-align:left;width:100%;display:block;padding:14px 16px;font-weight:600}.option:not(:disabled):hover{border-color:var(--primary)}.option.correct{border-color:var(--success);background:color-mix(in srgb,var(--success) 15%,var(--surface))}.option.wrong{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 15%,var(--surface))}.option:disabled{cursor:default;opacity:1}.danger{color:var(--danger)}.success{color:var(--success)}.formula{overflow-x:auto;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.formula,.formula .katex{max-width:100%}.formula-lg{font-size:1.15em}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:460px}td,th{text-align:left;border-bottom:1px solid var(--line);padding:10px;vertical-align:top}.legal-page{min-height:100vh;padding:34px clamp(18px,5vw,76px);display:grid;align-content:start;grid-gap:18px;gap:18px}.legal-page .panel{max-width:860px}.legal-page h1{font-size:clamp(38px,6.5vw,70px);line-height:1.02;margin:10px 0 16px}.legal-page p{color:var(--muted);font-size:18px;line-height:1.7}.legal-page ol,.legal-page ul{color:var(--muted);line-height:1.7;padding-left:20px}footer{padding:26px clamp(18px,5vw,76px) 46px;color:var(--muted);font-size:14px}.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:10px}.footer-links a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}.footer-links a:hover{color:var(--primary)}.sister-links{margin-top:10px;font-size:13px;opacity:.75}.sister-links a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}.sister-links a:hover{color:var(--primary)}.site-header{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;padding:16px clamp(18px,5vw,76px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 60%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.site-brand{font-weight:850;font-size:21px;color:var(--primary);text-decoration:none;display:inline-flex;align-items:center;gap:8px}.site-brand:before{content:"△";color:var(--secondary);font-size:18px}.site-nav{display:flex;flex-wrap:wrap;gap:8px 18px}.site-nav a{color:var(--muted);text-decoration:none;font-weight:700}.site-nav a:hover{color:var(--text)}.topic-links{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:0 clamp(18px,5vw,76px) 18px}.topic-links a{color:var(--primary);text-decoration:none;font-weight:700;font-size:14px}.topic-links a:hover{text-decoration:underline}.chip-link{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:8px 14px;text-decoration:none;color:var(--text);font-weight:700}.chip-link:hover{border-color:var(--primary);color:var(--primary)}.tabs .chip-link{white-space:nowrap;background:var(--surface)}.tabs .chip-link.active{background:var(--primary);color:#fff;border-color:var(--primary)}.tabs .chip-link.active:hover{color:#fff}.tool-intro{padding:30px clamp(18px,5vw,76px) 4px;display:grid;grid-gap:12px;gap:12px}.tool-intro h1{font-size:clamp(34px,5.6vw,58px);line-height:1.06;margin:6px 0 2px}.tool-intro p{margin:0;color:var(--muted);font-size:18px;line-height:1.65;max-width:760px}.content-tool{padding-bottom:26px}.tool-details{padding:0 clamp(18px,5vw,76px) 80px;display:grid;grid-gap:18px;gap:18px;min-width:0}.tool-details .panel{max-width:900px}.tool-details h2{margin-top:0}.tool-details p{color:var(--muted);font-size:17px;line-height:1.7}.tool-details ol,.tool-details ul{color:var(--muted);line-height:1.7;padding-left:20px}.uc-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);grid-gap:18px;gap:18px;align-items:start}.uc-figure{display:grid;place-items:center}.uc-readout{display:grid;grid-gap:4px;gap:4px}.uc-value-row{display:flex;justify-content:space-between;gap:12px;align-items:baseline;border-bottom:1px dashed var(--line);padding:9px 0}.uc-value-row .lab{color:var(--muted);font-weight:700}.uc-value-row .val{font-family:ui-monospace,monospace;font-weight:700}.angle-chips{display:flex;flex-wrap:wrap;gap:6px}.angle-chips button{padding:6px 10px;font-size:13px;border-radius:8px}.locked{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.locked-badge{display:inline-block;background:var(--primary);color:#fff;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:999px}.locked-inline{display:block;border:1px dashed color-mix(in srgb,var(--primary) 45%,var(--line));border-radius:12px;padding:14px 16px;margin-top:16px}.locked-inline-title{display:block;margin-top:8px}.locked-inline .button-row{margin-top:12px}.plan-picker{display:grid;grid-gap:16px;gap:16px}.plan-perks{margin:0;padding-left:20px;display:grid;grid-gap:6px;gap:6px;color:var(--muted);line-height:1.5}.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-card,.plan-grid{display:grid;grid-gap:12px;gap:12px}.plan-card{border:1px solid var(--line);border-radius:12px;padding:18px;align-content:space-between;background:var(--surface)}.plan-card.featured{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.plan-card-title{font-weight:800;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.plan-card-price{color:var(--muted);font-weight:700;margin-top:4px}.plan-card-anchor{color:var(--primary);font-weight:700;font-size:12px;margin-top:2px}.plan-card button{width:100%}.plan-skeleton{height:128px;border-radius:12px;border:1px solid var(--line);background:linear-gradient(90deg,var(--soft),var(--surface),var(--soft))}.upsell-banner{position:fixed;left:0;right:0;bottom:0;z-index:40;justify-content:center;gap:16px;padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(15,30,51,.14)}.upsell-banner,.upsell-banner-copy{display:flex;align-items:center;flex-wrap:wrap}.upsell-banner-copy{margin:0;gap:10px;font-size:14px;font-weight:600;color:var(--text)}.upsell-banner-actions{display:flex;align-items:center;gap:8px}.upsell-banner-close{border:1px solid var(--line);background:transparent;color:var(--muted);min-width:44px;min-height:44px;border-radius:8px;font-size:18px;line-height:1;cursor:pointer}.upsell-banner-close:hover{border-color:var(--primary);color:var(--primary)}body.has-upsell-banner{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.restore-link{color:var(--primary);font-weight:700;text-decoration:underline;text-underline-offset:2px}.restore-link:hover{color:var(--primary-dark)}.access-code{margin-top:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.access-code-label{margin:0 0 6px;color:var(--primary);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.access-code-value{display:block;width:100%;min-width:0;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text)}.access-code-note{margin:8px 0 0;font-size:13px}.access-code-wrap{display:grid;grid-gap:10px;gap:10px}.access-code-reminder{margin:0;padding:10px 14px;border-left:4px solid var(--secondary);border-radius:10px;background:var(--soft);color:var(--text);font-size:13px;font-weight:700;line-height:1.45}.access-code-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.access-code-actions .button{text-decoration:none}.access-code-saverow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.access-code-saverow .access-code-note{margin:0;flex:1 1 200px}.access-code-restore-path{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.access-save-card{display:grid;grid-gap:12px;gap:12px;padding:20px;border:2px solid var(--secondary);border-radius:14px;background:var(--soft)}.access-save-title{margin:4px 0 0}.access-save-lead{margin:0;font-size:15px;line-height:1.6}.access-save-done,.access-save-value{margin-top:2px}.restore-form{display:grid;grid-gap:12px;gap:12px;margin-top:16px;max-width:520px}@media (max-width:900px){.four,.hero,.three,.two,.uc-wrap{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding-top:26px}.hero-copy h1{font-size:46px}.tabs{overflow-x:auto;flex-wrap:nowrap}.bar-row{grid-template-columns:96px minmax(0,1fr) 52px}.plan-grid{grid-template-columns:1fr}}@media (max-width:600px){.stats{grid-template-columns:1fr}}.skip-link{position:absolute;left:12px;top:-64px;z-index:200;padding:10px 16px;border-radius:10px;background:var(--primary-dark);color:#fff;font-weight:700;text-decoration:none;transition:top .15s ease-in-out}.skip-link:focus{top:12px;outline:3px solid var(--primary);outline-offset:2px}#content:focus{outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (pointer:coarse){.button,.chip,.chip-link,.option,.tabs button,button{min-height:44px}.chip,.chip-link{display:inline-flex;align-items:center}}@media (max-width:900px){.tabs{scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 34px),transparent);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 34px),transparent)}.tabs::-webkit-scrollbar{display:none}}