.tool-hero{padding: clamp(28px,5vw,56px) 0 clamp(18px,3vw,30px)}.tool-hero h1{font-size: clamp(2rem,1.3rem + 3vw,3.4rem);margin-bottom: .3em}.tool-hero .lead{max-width: 62ch;margin: 0;font-size: clamp(1.05rem,1rem + .4vw,1.25rem)}.crumbs{font-size: var(--fs-sm);color: var(--text-faint);margin-bottom: 14px}.crumbs a{text-decoration: none;color: var(--text-dim)}.crumbs a:hover{color: var(--text)}.tool-grid{display: grid;grid-template-columns: minmax(300px,380px) 1fr;gap: clamp(16px,2.4vw,28px);align-items: start}.panel{background: var(--surface);border: 1px solid var(--line);border-radius: var(--r-lg);padding: clamp(16px,2.2vw,26px);box-shadow: var(--shadow)}.panel h2{font-size: 1.2rem;margin-bottom: 14px;display: flex;align-items: center;gap: 10px}.panel h2 .tag{margin-left: auto}.tool-inputs{position: sticky;top: calc(var(--header-h) + 14px)}.tool-out{display: grid;grid-template-columns: minmax(0,1fr);gap: clamp(16px,2.4vw,24px);min-width: 0}.tag{display: inline-flex;align-items: center;height: 22px;padding: 0 9px;border-radius: var(--r-pill);font: 600 .7rem/1 var(--font-body);letter-spacing: .08em;text-transform: uppercase;color: var(--coin);background: color-mix(in srgb,var(--coin) 14%,transparent)}.tag.live{color: var(--up);background: color-mix(in srgb,var(--up) 14%,transparent)}.ctl{padding: 12px 0 14px;border-bottom: 1px dashed color-mix(in srgb,var(--line) 80%,transparent)}.ctl:last-of-type{border-bottom: 0}.ctl-top{display: flex;align-items: center;justify-content: space-between;gap: 10px;margin-bottom: 10px}.ctl-top label{font-size: .93rem;color: var(--text-dim);font-weight: 500}.ctl-num{display: inline-flex;align-items: center;gap: 4px;padding: 0 10px;height: 36px;border-radius: 10px;background: var(--bg);box-shadow: inset 0 0 0 1.5px var(--line);transition: box-shadow var(--t-fast) var(--ease)}.ctl-num:focus-within{box-shadow: inset 0 0 0 1.5px var(--coin),0 0 0 4px var(--glow-g)}.ctl-num i{font-style: normal;color: var(--text-faint);font: 500 .9rem var(--font-num)}.ctl-num input{width: 9ch;border: 0;background: transparent;outline: none;text-align: right;font: 600 .98rem var(--font-num);font-variant-numeric: tabular-nums;-moz-appearance: textfield}.ctl-num input::-webkit-outer-spin-button,.ctl-num input::-webkit-inner-spin-button{-webkit-appearance: none;margin: 0}.ctl-hint{margin: 8px 0 0;font-size: var(--fs-xs);color: var(--text-faint)}input[type=range]{--p: 50%;-webkit-appearance: none;appearance: none;width: 100%;height: 22px;background: transparent;cursor: pointer;margin: 0;display: block}input[type=range]::-webkit-slider-runnable-track{height: 6px;border-radius: 6px;background: linear-gradient(90deg,var(--raspberry) 0 var(--p),color-mix(in srgb,var(--text) 12%,transparent) var(--p) 100%)}input[type=range]::-moz-range-track{height: 6px;border-radius: 6px;background: color-mix(in srgb,var(--text) 12%,transparent)}input[type=range]::-moz-range-progress{height: 6px;border-radius: 6px;background: var(--raspberry)}input[type=range]::-webkit-slider-thumb{-webkit-appearance: none;width: 20px;height: 20px;margin-top: -7px;border-radius: 50%;background: var(--cream);border: 3px solid var(--raspberry);box-shadow: 0 2px 10px -2px rgb(0 0 0 / .5);transition: transform var(--t-fast) var(--ease)}input[type=range]::-moz-range-thumb{width: 14px;height: 14px;border-radius: 50%;background: var(--cream);border: 3px solid var(--raspberry)}input[type=range]:active::-webkit-slider-thumb{transform: scale(1.18)}input[type=range]:focus-visible{outline: none}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow: 0 0 0 6px var(--glow-g)}.seg{display: inline-flex;padding: 4px;gap: 2px;border-radius: var(--r-pill);background: var(--bg);box-shadow: inset 0 0 0 1.5px var(--line)}.seg button{border: 0;background: transparent;padding: 7px 14px;border-radius: var(--r-pill);color: var(--text-dim);cursor: pointer;font: 600 .85rem var(--font-body);transition: background var(--t) var(--ease),color var(--t) var(--ease)}.seg button[aria-pressed=true]{background: var(--surface-2);color: var(--text);box-shadow: 0 2px 10px -4px rgb(0 0 0 / .5)}.stats{display: grid;grid-template-columns: repeat(auto-fit,minmax(170px,1fr));gap: 12px}.stat{position: relative;min-width: 0;padding: 16px 18px;border-radius: var(--r);background: var(--surface);border: 1px solid var(--line);overflow: hidden}.stat.hero{background: linear-gradient(140deg,color-mix(in srgb,var(--raspberry) 22%,var(--surface)),var(--surface) 70%);border-color: color-mix(in srgb,var(--raspberry) 40%,var(--line))}.stat.gold{background: linear-gradient(140deg,color-mix(in srgb,var(--coin) 16%,var(--surface)),var(--surface) 70%);border-color: color-mix(in srgb,var(--coin) 35%,var(--line))}.stat .k{font-size: var(--fs-xs);letter-spacing: .1em;text-transform: uppercase;color: var(--text-faint);font-weight: 600}.stat .v{display: block;margin-top: 6px;font: 600 clamp(1.35rem,1rem + 1vw,1.9rem)/1.1 var(--font-num);font-variant-numeric: tabular-nums;letter-spacing: -.02em}.stat .s{margin-top: 6px;font-size: var(--fs-sm);color: var(--text-dim)}.actions{display: flex;flex-wrap: wrap;gap: 10px;margin-top: 18px}.actions .btn{flex: 1 1 auto}.tchart{position: relative;width: 100%;height: 320px}.tchart.sm{height: 220px}.tchart svg{display: block;overflow: visible}.tc-grid{stroke: var(--line);stroke-width: 1;stroke-dasharray: 2 4}.tc-tick{fill: var(--text-faint);font: 500 11px var(--font-num)}.tc-hline{stroke-width: 1.5;stroke-dasharray: 5 5}.tc-hlabel,.tc-mlabel{font: 600 11.5px var(--font-body)}.tc-mlabel{fill: var(--coin)}.tc-hlabel,.tc-mlabel{paint-order: stroke;stroke: var(--surface);stroke-width: 5px;stroke-linejoin: round}.tc-cross{stroke: var(--text-faint);stroke-width: 1;transition: opacity var(--t-fast) var(--ease)}.tc-band{opacity: .5}.tc-empty{fill: var(--text-faint);font: 500 14px var(--font-body)}@keyframes tcpulse{0%,100%{opacity: .15;r: 7}50%{opacity: .45;r: 12}}.tc-pulse{animation: tcpulse 2.2s var(--ease) infinite}@media (prefers-reduced-motion: reduce){.tc-pulse{animation: none;opacity: .25}}.legend{display: flex;flex-wrap: wrap;gap: 6px 16px;font-size: var(--fs-sm);color: var(--text-dim);margin: 2px 0 12px}.legend i{display: inline-block;width: 11px;height: 11px;border-radius: 3px;margin-right: 6px;vertical-align: -1px}.m-tip{position: fixed;left: 0;top: 0;z-index: 80;pointer-events: none;min-width: 150px;max-width: 280px;padding: 10px 12px;border-radius: 12px;background: color-mix(in srgb,var(--surface-2) 94%,transparent);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);border: 1px solid var(--line);box-shadow: var(--shadow-lg);font-size: .85rem;opacity: 0;transition: opacity var(--t-fast) var(--ease)}.m-tip.on{opacity: 1}.m-tip b{display: block;font-family: var(--font-display);font-weight: 600;margin-bottom: 4px}.tt-row{display: flex;align-items: center;gap: 8px;color: var(--text-dim)}.tt-row i{width: 9px;height: 9px;border-radius: 3px;flex: none}.tt-row .num{margin-left: auto;color: var(--text);padding-left: 12px}.grid-wrap{overflow-x: auto;-webkit-overflow-scrolling: touch}.sens{width: 100%;border-collapse: separate;border-spacing: 4px;font: 500 .9rem var(--font-num);font-variant-numeric: tabular-nums;min-width: 420px}.sens th{font: 600 .74rem var(--font-body);color: var(--text-faint);letter-spacing: .06em;text-transform: uppercase;padding: 6px}.sens td{text-align: center;padding: 11px 6px;border-radius: 10px;color: #fff;transition: background var(--t) var(--ease),transform var(--t) var(--ease-out)}.sens td.cur{outline: 2.5px solid var(--coin);outline-offset: -2px}:root[data-theme="light"] .sens td{color: #12131F}.sens-axis{font-size: var(--fs-xs);color: var(--text-faint);margin: 8px 4px 0}.explain{display: grid;grid-template-columns: 1.4fr 1fr;gap: clamp(20px,4vw,48px);margin-top: clamp(28px,5vw,56px);align-items: start}.explain h2{font-size: var(--fs-h3)}.explain p{color: var(--text-dim);max-width: 64ch}.explain p strong{color: var(--text);font-weight: 600}.qcard{margin: 0;padding: 22px 24px;border-radius: var(--r-lg);background: var(--surface);border: 1px solid var(--line);position: relative}.qcard::before{content: "\201C";position: absolute;top: -14px;left: 18px;font: 700 4rem/1 var(--font-display);color: var(--raspberry)}.qcard blockquote{margin: 0 0 12px;font: 500 1.08rem/1.5 var(--font-display)}.qcard figcaption{font-size: var(--fs-sm);color: var(--text-faint)}.qcard figcaption a{color: var(--text-dim)}.note{font-size: var(--fs-xs);color: var(--text-faint);margin-top: 10px}.hub{display: grid;grid-template-columns: repeat(auto-fill,minmax(min(100%,300px),1fr));gap: 16px;padding-bottom: 20px}.hub-card{position: relative;display: flex;flex-direction: column;gap: 8px;padding: 18px 20px 20px;border-radius: var(--r-lg);background: var(--surface);border: 1px solid var(--line);text-decoration: none;overflow: hidden;transition: transform var(--t) var(--ease-out),border-color var(--t) var(--ease),box-shadow var(--t) var(--ease-out)}.hub-card:hover{transform: translateY(-4px);border-color: color-mix(in srgb,var(--raspberry) 45%,var(--line));box-shadow: var(--shadow-lg)}.hub-card h2{font-size: 1.25rem;margin: 6px 0 0}.hub-card p{margin: 0;color: var(--text-dim);font-size: .95rem}.hub-card .go{margin-top: auto;padding-top: 8px;font: 600 .9rem var(--font-display);color: var(--raspberry-hi)}.hub-card .go span{display: inline-block;transition: transform var(--t) var(--ease-out)}.hub-card:hover .go span{transform: translateX(5px)}.hub-art{height: 120px;margin: -18px -20px 4px;background: radial-gradient(120% 120% at 0% 0%,color-mix(in srgb,var(--raspberry) 16%,transparent),transparent 60%),var(--surface-2);border-bottom: 1px solid var(--line)}.hub-art svg{width: 100%;height: 100%}.hub-art .stroke{fill: none;stroke-width: 3;stroke-linecap: round;stroke-linejoin: round}@keyframes hubdraw{0%{stroke-dashoffset: 300}55%,100%{stroke-dashoffset: 0}}@keyframes hubgrow{0%,10%{transform: scaleY(.15)}55%,100%{transform: scaleY(1)}}@keyframes hubpulse{0%,100%{transform: scale(1)}50%{transform: scale(1.12)}}@keyframes hubswing{0%,100%{transform: rotate(-38deg)}50%{transform: rotate(38deg)}}.hub-card .draw{stroke-dasharray: 300;animation: hubdraw 4s var(--ease) infinite alternate}.hub-card .grow{transform-box: fill-box;transform-origin: bottom;animation: hubgrow 3.2s var(--ease) infinite alternate;animation-delay: var(--dl,0s)}.hub-card .pulse{transform-box: fill-box;transform-origin: center;animation: hubpulse 2.6s var(--ease) infinite;animation-delay: var(--dl,0s)}.hub-card .swing{transform-origin: 160px 96px;animation: hubswing 4s var(--ease) infinite}@media (prefers-reduced-motion: reduce){.hub-card .draw,.hub-card .grow,.hub-card .pulse,.hub-card .swing{animation: none}}.mos-track{position: relative;height: 84px;margin: 34px 0 4px}.mos-bar{position: absolute;z-index: 1;left: 0;height: 26px;border-radius: 8px;transition: width var(--t-slow) var(--ease),background var(--t) var(--ease)}.mos-bar.price{top: 6px;background: var(--text-dim)}.mos-bar.value{top: 44px;background: var(--teal)}.mos-bar span{position: absolute;left: 10px;top: 50%;transform: translateY(-50%);font: 600 .82rem var(--font-num);color: var(--ink);white-space: nowrap}.mos-gap{position: absolute;top: 3px;height: 32px;z-index: 0;border-radius: 10px;background: repeating-linear-gradient(135deg,color-mix(in srgb,var(--coin) 35%,transparent) 0 6px,transparent 6px 12px);border: 1.5px dashed var(--coin);transition: left var(--t-slow) var(--ease),width var(--t-slow) var(--ease),opacity var(--t) var(--ease)}.mos-buy{position: absolute;z-index: 2;top: -4px;bottom: -4px;width: 2px;background: var(--raspberry);transition: left var(--t-slow) var(--ease)}.mos-buy::after{content: attr(data-l);position: absolute;top: -18px;left: 50%;transform: translateX(-50%);white-space: nowrap;font: 600 .72rem var(--font-body);color: var(--raspberry-hi)}.verdict{margin-top: 14px;padding: 14px 16px;border-radius: var(--r);background: var(--bg);border-left: 4px solid var(--coin);font-size: .98rem;color: var(--text-dim)}.verdict strong{color: var(--text)}.gauge svg{width: 100%;max-width: 360px;margin: 0 auto}.gauge .g-val{font: 600 34px var(--font-num);fill: var(--text)}.gauge .g-lab{font: 600 11px var(--font-body);fill: var(--text-faint);letter-spacing: .08em;text-transform: uppercase}.dots{display: grid;grid-template-columns: repeat(auto-fill,minmax(22px,1fr));gap: 6px;min-height: 40px}.dots i{aspect-ratio: 1;border-radius: 50%;background: var(--coin);transform: scale(0);transition: transform var(--t-slow) var(--ease-out),background var(--t) var(--ease);transition-delay: var(--dl,0ms)}.dots i.on{transform: scale(1)}.dots i.orig{background: var(--raspberry)}.stairs{display: flex;align-items: flex-end;gap: 8px;height: 230px;padding: 20px 0 22px}.stair{flex: 1;position: relative;border-radius: 10px 10px 4px 4px;background: linear-gradient(180deg,var(--coin),color-mix(in srgb,var(--coin) 55%,var(--raspberry)));transform-origin: bottom;transition: height var(--t-slow) var(--ease);min-width: 0}.stair b{position: absolute;top: -22px;left: 50%;transform: translateX(-50%);font: 600 .78rem var(--font-num);white-space: nowrap}.stair span{position: absolute;bottom: -20px;left: 0;right: 0;text-align: center;font: 600 .7rem var(--font-num);color: var(--text-faint)}.moat-grid{display: grid;grid-template-columns: 1fr minmax(280px,420px);gap: clamp(16px,2.4vw,28px);align-items: start}.q-list{display: grid;gap: 10px}.q{padding: 14px 16px;border-radius: var(--r);background: var(--surface);border: 1px solid var(--line);transition: border-color var(--t) var(--ease)}.q.set{border-color: color-mix(in srgb,var(--teal) 40%,var(--line))}.q-head{display: flex;gap: 10px;align-items: baseline;justify-content: space-between}.q-head h3{font-size: 1.02rem;margin: 0;font-family: var(--font-display)}.q-head .w{font: 500 .75rem var(--font-num);color: var(--text-faint);white-space: nowrap}.q p{margin: 4px 0 10px;font-size: .9rem;color: var(--text-dim)}.q .seg{width: 100%;display: grid;grid-template-columns: repeat(4,1fr)}.q .seg button{padding: 8px 4px;font-size: .8rem}.q .seg button[aria-pressed=true][data-v="0"]{background: color-mix(in srgb,var(--raspberry) 30%,var(--surface-2))}.q .seg button[aria-pressed=true][data-v="2"]{background: color-mix(in srgb,var(--teal) 28%,var(--surface-2))}.q .seg button[aria-pressed=true][data-v="3"]{background: color-mix(in srgb,var(--teal) 50%,var(--surface-2))}.castle-card{position: sticky;top: calc(var(--header-h) + 14px)}.castle svg{width: 100%;height: auto}.castle .water{transition: transform var(--t-slow) var(--ease)}.score-row{display: flex;align-items: baseline;justify-content: space-between;gap: 10px;margin-top: 8px}.score-row .v{font: 600 2.4rem/1 var(--font-num)}.score-row .lbl{font: 600 1rem var(--font-display);color: var(--coin);text-align: right}@media (max-width: 900px){.tool-grid,.moat-grid,.explain{grid-template-columns: minmax(0,1fr)}.tool-inputs,.castle-card{position: static}.tchart{height: 260px}}@media (max-width: 480px){.stats{grid-template-columns: repeat(2,minmax(0,1fr))}.stat{padding: 13px 14px}.stat .v{font-size: 1.35rem}.stat.hero{grid-column: 1 / -1}.stat.hero .v{font-size: 1.9rem}.panel{border-radius: var(--r)}.tchart{height: 230px}}.oe-help{margin: 4px 0 6px;padding: 10px 14px;border-radius: var(--r);background: var(--bg);border: 1px dashed var(--line)}.oe-help summary{cursor: pointer;font-size: .9rem;color: var(--coin);font-weight: 600;list-style: none}.oe-help summary::-webkit-details-marker{display: none}.oe-help summary::before{content: "+ "}.oe-help[open] summary::before{content: "− "}.oe-help .btn{margin: 6px 0 4px;width: 100%}.sym-row{margin-top: 16px;display: grid;gap: 8px;font-size: .9rem}.sym-row .field input{text-transform: uppercase;font-family: var(--font-num);min-height: 40px}.sym-row .field .btn{min-height: 40px}@media (max-width: 480px){.sens{min-width: 0;border-spacing: 3px;font-size: .74rem}.sens td{padding: 9px 2px;border-radius: 7px}.sens th{padding: 4px 2px;font-size: .66rem}}.miles{list-style: none;margin: 14px 0 0;padding: 0;display: grid;gap: 8px}.miles li{display: flex;gap: 10px;align-items: baseline;font-size: .93rem;color: var(--text-dim);opacity: 0;transform: translateY(8px);animation: milein var(--t-slow) var(--ease-out) forwards;animation-delay: var(--dl,0ms)}.miles li b{font: 600 .85rem var(--font-num);color: var(--coin);min-width: 4.5em}@keyframes milein{to{opacity: 1;transform: none}}@media (prefers-reduced-motion: reduce){.miles li{animation: none;opacity: 1;transform: none}}.duel{display: grid;gap: 14px;margin: 6px 0 4px}.duel-row{display: grid;grid-template-columns: 74px 1fr 72px;gap: 12px;align-items: center}.duel-l{font-weight: 600;font-size: .92rem;color: var(--text-dim)}.duel-t{height: 30px;border-radius: 9px;background: color-mix(in srgb,var(--text) 7%,transparent);overflow: hidden}.duel-b{height: 100%;width: 0;border-radius: 9px;transition: width var(--t-slow) var(--ease)}.duel-v{text-align: right;font-weight: 600;font-size: 1.05rem}.tool-inputs .seg{margin-bottom: 6px}.moat-mini{display: none}@media (max-width: 900px){.moat-mini{display: flex;position: fixed;left: 50%;bottom: 14px;z-index: 60;align-items: center;gap: 10px;padding: 10px 16px;border-radius: var(--r-pill);text-decoration: none;background: color-mix(in srgb,var(--surface-2) 92%,transparent);backdrop-filter: blur(12px);-webkit-backdrop-filter: blur(12px);border: 1px solid var(--line);box-shadow: var(--shadow-lg);transform: translate(-50%,160%);transition: transform var(--t) var(--ease);font: 600 .9rem var(--font-display)}.moat-mini.on{transform: translate(-50%,0)}.moat-mini .num{font: 600 1.15rem var(--font-num);color: var(--coin)}.moat-mini svg{width: 60px;height: 10px}.moat-mini rect{transition: width var(--t) var(--ease)}}:root[data-theme="light"] .oe-help summary,:root[data-theme="light"] .tag:not(.live),:root[data-theme="light"] .score-row .lbl,:root[data-theme="light"] .miles li b{color: #9a6a00}:root[data-theme="light"] .tc-mlabel{fill: #9a6a00}:root[data-theme="light"] .col-tl,:root[data-theme="light"] .col-al{stroke: none}