.tool-page{--tac: var(--color-accent);position:relative}.tool-hero{position:relative;padding:52px 0 26px}.tool-hero .eyebrow{color:var(--tac);background:color-mix(in srgb,var(--tac) 14%,transparent);border-color:color-mix(in srgb,var(--tac) 30%,transparent)}.tool-hero h1{font-size:clamp(30px,4.6vw,46px);line-height:1.06;letter-spacing:-.025em;font-weight:800;margin-bottom:14px;max-width:18em}.tool-hero .lead{font-size:16.5px;line-height:1.62;color:var(--color-text-muted);max-width:42em}.tool-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.tool-badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:999px;padding:4px 10px}.tool-badge i{color:var(--tac);font-size:14px}.tool-grid{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}@media(min-width:900px){.tool-grid{grid-template-columns:1.05fr .95fr;gap:22px}}.tool-panel{position:relative;border-radius:22px;padding:22px 22px 24px;background:var(--glass);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.tool-panel:before{content:"";position:absolute;left:22px;top:0;width:44px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--tac),color-mix(in srgb,var(--tac) 30%,transparent))}.tool-panel-title{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:14px}.fld{display:block;margin-top:16px}.fld:first-of-type{margin-top:0}.fld>span,.fld-label{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:600;color:var(--color-text);margin-bottom:7px}.fld>span small,.fld-label small{font-weight:500;color:var(--color-text-faint);font-size:12px}.fld .hint{display:block;font-size:12px;color:var(--color-text-faint);margin-top:6px;line-height:1.5}.tool-page input[type=number],.tool-page input[type=text],.tool-page input[type=date],.tool-page input[type=time],.tool-page select,.tool-page textarea{width:100%;background:#fff;border:1px solid var(--color-border-strong);border-radius:12px;padding:11px 13px;font-size:15px;color:var(--color-text);font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease;-moz-appearance:textfield}.tool-page input::-webkit-outer-spin-button,.tool-page input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tool-page input:focus,.tool-page select:focus,.tool-page textarea:focus{outline:none;border-color:var(--tac);box-shadow:0 0 0 4px color-mix(in srgb,var(--tac) 20%,transparent)}.tool-page select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-muted) 50%),linear-gradient(135deg,var(--color-text-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}.tool-page input::placeholder{color:var(--color-text-faint)}.fld-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:480px){.fld-row{grid-template-columns:1fr}}.affix{position:relative}.affix .pre,.affix .suf{position:absolute;top:50%;transform:translateY(-50%);font-size:14px;color:var(--color-text-faint);pointer-events:none}.affix .pre{left:13px}.affix .suf{right:13px}.affix.has-pre input{padding-left:28px}.affix.has-suf input{padding-right:48px}.tool-page input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--tac) var(--pct, 50%),rgba(22,23,43,.12) var(--pct, 50%));outline:none;margin:8px 0 2px}.tool-page input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--tac);box-shadow:0 6px 16px -6px #16172b73;cursor:pointer;transition:transform .15s ease}.tool-page input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.12)}.tool-page input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--tac);cursor:pointer}.tool-page input[type=range]:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--tac) 20%,transparent)}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border-radius:12px;background:#080a1c99;border:1px solid var(--color-border)}.seg label{position:relative;text-align:center;font-size:13px;font-weight:600;color:var(--color-text-muted);padding:8px 6px;border-radius:9px;cursor:pointer;transition:color .15s ease,background .15s ease;user-select:none}.seg label:hover{color:var(--color-text)}.seg input{position:absolute;opacity:0;inset:0;cursor:pointer}.seg label:has(input:checked){background:color-mix(in srgb,var(--tac) 80%,#fff 0%);color:#fff;box-shadow:0 6px 16px -8px color-mix(in srgb,var(--tac) 80%,transparent)}.seg label:has(input:focus-visible){outline:2px solid var(--tac);outline-offset:1px}.seg.wrap{grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 0;font-size:13.5px;color:var(--color-text)}.switch input{appearance:none;-webkit-appearance:none;width:44px;height:26px;border-radius:999px;background:#16172b2e;position:relative;cursor:pointer;transition:background .2s ease;flex-shrink:0}.switch input:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s cubic-bezier(.16,1,.3,1)}.switch input:checked{background:var(--tac)}.switch input:checked:after{transform:translate(18px)}.checklist{display:grid;gap:8px}.check{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;border:1px solid var(--color-border);background:#080a1c66;cursor:pointer;transition:border-color .15s ease,background .15s ease}.check:hover{border-color:var(--color-border-strong)}.check input{appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:6px;border:2px solid var(--color-border-strong);flex-shrink:0;margin-top:1px;position:relative;cursor:pointer;transition:background .15s ease,border-color .15s ease}.check input:checked{background:var(--tac);border-color:var(--tac)}.check input:checked:after{content:"";position:absolute;left:5px;top:1px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.check:has(input:checked){border-color:color-mix(in srgb,var(--tac) 50%,transparent);background:color-mix(in srgb,var(--tac) 8%,transparent)}.check .ck-title{display:block;font-size:14px;font-weight:600;color:var(--color-text)}.check .ck-sub{display:block;font-size:12.5px;color:var(--color-text-muted);line-height:1.5;margin-top:2px}.check:has(input:checked) .ck-title{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--tac) 60%,transparent);opacity:.8}.tool-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:12px;border:1px solid transparent;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;text-decoration:none;transition:transform .15s ease,filter .15s ease,background .15s ease}.tool-btn.primary{background:var(--tac);color:#fff;box-shadow:0 12px 30px -14px color-mix(in srgb,var(--tac) 80%,transparent)}.tool-btn.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.tool-btn.ghost{background:var(--glass);color:var(--color-text);border-color:var(--color-border-strong)}.tool-btn.ghost:hover{background:var(--glass-2)}.tool-btn.small{padding:7px 12px;font-size:12.5px;border-radius:9px}.tool-btn.block{width:100%}.tool-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.tool-result{position:sticky;top:84px;overflow:hidden}.tool-result:after{content:"";position:absolute;inset:auto -30% -40% auto;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--tac) 35%,transparent),transparent 65%);filter:blur(30px);pointer-events:none}@media(max-width:899px){.tool-result{position:static}}.big-label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint)}.big{font-size:clamp(38px,6vw,56px);font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--color-text);font-variant-numeric:tabular-nums;margin:4px 0 2px}.big .unit{font-size:.45em;font-weight:700;color:var(--color-text-muted);letter-spacing:0;margin-left:4px}.big.accent{background:linear-gradient(100deg,var(--tac),color-mix(in srgb,var(--tac) 55%,#fff));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.big-sub{font-size:14px;line-height:1.55;color:var(--color-text-muted);margin-top:6px}.verdict{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:7px 12px;border-radius:999px;font-size:12.5px;font-weight:700;border:1px solid transparent}.verdict.good{color:#0f7a5a;background:#1d9e7524;border-color:#1d9e754d}.verdict.warn{color:#8a5200;background:#ef9f2724;border-color:#ef9f274d}.verdict.bad{color:#b42318;background:#dc262624;border-color:#dc26264d}.verdict.info{color:#93b8f5;background:#3b82f624;border-color:#3b82f64d}.kv{display:grid;gap:0;margin-top:18px;border-top:1px solid var(--color-border)}.kv>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--color-border);font-size:13.5px}.kv .k{color:var(--color-text-muted)}.kv .v{font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text);text-align:right}.kv .v.acc{color:var(--tac)}.kv>div.total .k,.kv>div.total .v{font-size:15px}.meter{position:relative;height:10px;border-radius:999px;background:#16172b1a;overflow:hidden;margin-top:14px}.meter>span{position:absolute;inset:0 auto 0 0;width:var(--pct, 0%);border-radius:inherit;background:linear-gradient(90deg,var(--tac),color-mix(in srgb,var(--tac) 60%,#fff));transition:width .6s cubic-bezier(.16,1,.3,1)}.meter.zones{background:linear-gradient(90deg,#56e0b0 0 33%,#f5bf6b 33% 66%,#ff8a8a 66% 100%);opacity:.9}.meter.zones>span{width:3px;background:#16172b;left:var(--pct, 0%);transition:left .6s cubic-bezier(.16,1,.3,1);box-shadow:0 0 0 2px #ffffffe6}.meter-scale{display:flex;justify-content:space-between;font-size:11px;color:var(--color-text-faint);margin-top:6px}.stack{display:flex;height:14px;border-radius:999px;overflow:hidden;margin-top:14px;background:#16172b14}.stack>span{display:block;height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:12px;color:var(--color-text-muted)}.legend span:before{content:"";display:inline-block;width:9px;height:9px;border-radius:3px;background:var(--c, var(--tac));margin-right:6px;vertical-align:-1px}.timeline{list-style:none;margin:16px 0 0;padding:0;position:relative}.timeline:before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--color-border-strong)}.timeline li{position:relative;padding:0 0 14px 30px}.timeline li:before{content:"";position:absolute;left:4px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--color-bg);border:3px solid var(--tac)}.timeline li.done:before{background:var(--tac)}.timeline li.next:before{box-shadow:0 0 0 5px color-mix(in srgb,var(--tac) 25%,transparent)}.timeline .tl-date{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tac)}.timeline .tl-title{font-size:14px;font-weight:600;color:var(--color-text)}.timeline .tl-sub{font-size:12.5px;color:var(--color-text-muted);line-height:1.5}.tool-table{width:100%;border-collapse:collapse;margin-top:14px;font-size:13.5px}.tool-table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint);padding:8px 8px 8px 0;border-bottom:1px solid var(--color-border-strong)}.tool-table td{padding:9px 8px 9px 0;border-bottom:1px solid var(--color-border);vertical-align:top}.tool-table td.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.tool-table tr.hi td{color:var(--tac)}.table-wrap{overflow-x:auto}.tool-explainer{margin-top:36px;display:grid;grid-template-columns:1fr;gap:26px;align-items:start}@media(min-width:900px){.tool-explainer{grid-template-columns:1.3fr .7fr;gap:40px}}.prose{font-size:15.5px;line-height:1.75;color:var(--color-text-muted);max-width:46em}.prose h2{font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--color-text);margin:26px 0 8px}.prose h2:first-child{margin-top:0}.prose p+p{margin-top:12px}.prose ul{margin:10px 0 0 18px;padding:0}.prose li+li{margin-top:6px}.prose strong{color:var(--color-text);font-weight:600}.prose a{color:var(--tac);text-decoration:underline;text-underline-offset:3px}.tool-disclaimer{font-size:12.5px;color:var(--color-text-faint);line-height:1.6;margin-top:18px;padding-top:14px;border-top:1px solid var(--color-border)}.related{display:grid;gap:12px;align-content:start;position:sticky;top:84px}.rel-card{display:flex;gap:14px;align-items:center;padding:16px;border-radius:18px;text-decoration:none;color:inherit;background:var(--glass);border:1px solid var(--color-border);transition:transform .2s ease,border-color .2s ease}.rel-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--tac) 50%,transparent)}.rel-card img{width:56px;height:56px;object-fit:cover;flex-shrink:0}.rel-card img.cover{border-radius:8px}.rel-kicker{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tac)}.rel-title{font-size:15px;font-weight:700;color:var(--color-text);margin-top:2px}.rel-sub{font-size:12.5px;line-height:1.5;color:var(--color-text-muted);margin-top:3px}.rel-more{font-size:13px}.rel-more a{color:var(--color-text-muted);text-decoration:none}.rel-more a:hover{color:var(--color-text)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;padding:10px 16px;border-radius:999px;background:#0e112af2;border:1px solid var(--color-border-strong);color:var(--color-text);font-size:13px;font-weight:600;z-index:80;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.toast.show{opacity:1;transform:translate(-50%)}.flash{animation:num-flash .5s ease}@keyframes num-flash{0%{color:var(--tac)}to{color:inherit}}@media(prefers-reduced-motion:reduce){.meter>span,.stack>span,.tool-btn,.rel-card,.check,.switch input:after{transition:none}.flash{animation:none}}
