
.physics-tools-page{--phy-accent:#4b6bfb;--phy-soft:color-mix(in srgb,var(--phy-accent) 10%,transparent)}
.physics-logo{position:relative;width:42px;height:42px;border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;background:var(--card)}
.physics-logo span{width:24px;height:2px;background:currentColor;transform:rotate(-22deg);border-radius:2px}.physics-logo i,.physics-logo b{position:absolute;width:7px;height:7px;border:2px solid currentColor;border-radius:50%}.physics-logo i{left:7px;bottom:7px}.physics-logo b{right:7px;top:7px}
.physics-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:24px;align-items:stretch;margin:22px 0}.physics-hero-copy,.formula-stage{border:1px solid var(--line);border-radius:24px;background:var(--card);padding:clamp(22px,4vw,42px)}
.physics-hero h1{font-size:clamp(2rem,5vw,4.2rem);line-height:.98;max-width:900px;margin:.25em 0}.physics-hero p{font-size:1.08rem;max-width:760px}.formula-stage{display:grid;place-items:center;position:relative;overflow:hidden;min-height:270px;align-content:center;gap:22px}.formula-stage:before,.formula-stage:after{content:"";position:absolute;border:1px solid var(--line);border-radius:50%;pointer-events:none}.formula-stage:before{width:190px;height:190px}.formula-stage:after{width:120px;height:120px}.formula-display{position:relative;z-index:2;font-size:clamp(1.5rem,3.5vw,3rem);font-weight:800;letter-spacing:-.035em;text-align:center}.formula-display small{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:750;opacity:.62;margin-bottom:12px}
.physics-calculator{border:1px solid var(--line);border-radius:24px;background:var(--card);padding:clamp(18px,3vw,30px);margin:22px 0}.physics-calc-head{display:flex;justify-content:space-between;gap:20px;align-items:end;flex-wrap:wrap}.physics-calc-head h2{margin:.2em 0}.solve-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.fixed-target{border:1px solid var(--line);border-radius:14px;padding:9px 12px;display:grid;gap:2px}.fixed-target span{font-size:.75rem;opacity:.65}.fixed-target select{display:none}.physics-input-help{margin:16px 0 0;padding:11px 14px;border-radius:12px;background:var(--phy-soft);font-weight:650;line-height:1.4}.physics-fields{display:grid;gap:12px;margin-top:14px;align-items:stretch}.fields-2{grid-template-columns:repeat(2,minmax(0,1fr))}.fields-3{grid-template-columns:repeat(3,minmax(0,1fr))}.fields-4{grid-template-columns:repeat(4,minmax(0,1fr))}.fields-5{grid-template-columns:repeat(3,minmax(0,1fr))}
.physics-field{border:1px solid var(--line);border-radius:16px;padding:13px;background:var(--bg);transition:border-color .15s,background .15s,box-shadow .15s}.physics-field.is-target{border-color:color-mix(in srgb,var(--phy-accent) 70%,var(--line));background:var(--phy-soft);box-shadow:0 0 0 1px color-mix(in srgb,var(--phy-accent) 30%,transparent)}.physics-field.is-input{border-color:color-mix(in srgb,currentColor 18%,var(--line))}.physics-field-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.physics-field label{font-weight:780}.physics-field-status{font-size:.68rem;line-height:1;border-radius:99px;padding:5px 7px;background:var(--card);border:1px solid var(--line);white-space:nowrap}.physics-field.is-target .physics-field-status{background:var(--phy-accent);color:#fff;border-color:transparent}.physics-input-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.physics-field input,.physics-field select,.solve-row select,.resistor-mode select,.resistor-mode input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:inherit;padding:9px 10px;font:inherit}.physics-field input:disabled{opacity:1;font-weight:800;background:color-mix(in srgb,var(--phy-accent) 7%,var(--card));cursor:not-allowed}.physics-result{margin-top:14px;border-radius:18px;padding:16px 18px;background:var(--phy-soft);border:1px solid color-mix(in srgb,var(--phy-accent) 25%,var(--line))}.physics-result strong.result-value{display:block;font-size:clamp(1.55rem,4vw,2.7rem);line-height:1.05}.calc-line{margin-top:8px;opacity:.78;overflow-wrap:anywhere}.physics-error{font-weight:700}
.symbol-grid,.example-grid,.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.symbol-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.physics-section{margin:28px 0}.physics-section>h2{font-size:clamp(1.45rem,3vw,2.15rem);margin-bottom:12px}.symbol-card,.example-card,.related-card,.physics-note{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:18px}.symbol-card b{font-size:1.25rem}.symbol-card span{display:block;opacity:.72;margin-top:5px}.example-card p:last-child{margin-bottom:0}.physics-note{border-left:4px solid var(--phy-accent)}.physics-note>strong:first-child{display:inline;margin:0 .4em 0 0}.physics-note>strong:first-child::after{content:" "}.related-card{text-decoration:none;color:inherit}.related-card:hover{transform:translateY(-1px)}
.physics-hub-hero{margin:22px 0;padding:clamp(24px,5vw,48px);border:1px solid var(--line);border-radius:26px;background:var(--card)}.physics-hub-hero h1{font-size:clamp(2.4rem,6vw,5rem);line-height:.95;margin:.2em 0}.physics-cat{margin:30px 0}.physics-cat-head{display:flex;justify-content:space-between;gap:18px;align-items:end}.physics-tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.physics-tool-card{border:1px solid var(--line);border-radius:18px;background:var(--card);padding:18px;text-decoration:none;color:inherit;min-height:160px;display:flex;flex-direction:column;justify-content:space-between}.physics-tool-card .symbol{font-size:1.25rem;font-weight:800}.physics-tool-card strong{font-size:1.08rem}.physics-tool-card small{opacity:.7;line-height:1.35}.physics-tool-card:hover{transform:translateY(-2px)}
.resistor-mode{display:grid;grid-template-columns:1fr 2fr;gap:12px;margin-top:18px}.capacitor-mode{grid-template-columns:1fr 2fr 100px}
/* Compact conceptual visuals: informative, not decorative. */
.concept-viz{position:relative;z-index:2;width:min(230px,100%);text-align:center}.concept-viz small{display:block;margin-top:7px;opacity:.58}.viz-stage{height:58px;position:relative;margin:auto}.concept-viz-spring .viz-a{position:absolute;left:15%;right:15%;top:28px;height:2px;background:currentColor;clip-path:polygon(0 40%,8% 40%,12% 0,20% 100%,28% 0,36% 100%,44% 0,52% 100%,60% 0,68% 100%,76% 0,84% 100%,88% 40%,100% 40%,100% 60%,88% 60%,84% 100%,76% 0,68% 100%,60% 0,52% 100%,44% 0,36% 100%,28% 0,20% 100%,12% 0,8% 60%,0 60%)}.concept-viz-spring .viz-b{position:absolute;right:4%;top:17px;width:24px;height:24px;border:2px solid currentColor;border-radius:6px}.concept-viz-pendulum .viz-a{position:absolute;left:50%;top:0;width:2px;height:42px;background:currentColor;transform:rotate(20deg);transform-origin:top}.concept-viz-pendulum .viz-b{position:absolute;left:calc(50% + 12px);top:37px;width:18px;height:18px;border:2px solid currentColor;border-radius:50%}.concept-viz-orbit .viz-a{position:absolute;inset:5px 35px;border:1px solid currentColor;border-radius:50%}.concept-viz-orbit .viz-b{position:absolute;left:50%;top:50%;width:12px;height:12px;border-radius:50%;background:currentColor}.concept-viz-orbit .viz-c{position:absolute;right:39px;top:12px;width:10px;height:10px;border-radius:50%;background:var(--phy-accent)}.concept-viz-fluid .viz-a{position:absolute;left:35px;right:35px;top:12px;bottom:5px;border:2px solid currentColor;border-top:0}.concept-viz-fluid .viz-b{position:absolute;left:37px;right:37px;bottom:7px;height:26px;background:var(--phy-soft)}.concept-viz-fluid .viz-c{position:absolute;left:50%;top:22px;width:2px;height:24px;background:var(--phy-accent)}.concept-viz-electric .viz-a,.concept-viz-electric .viz-b{position:absolute;top:20px;width:18px;height:18px;border:2px solid currentColor;border-radius:50%}.concept-viz-electric .viz-a{left:45px}.concept-viz-electric .viz-b{right:45px}.concept-viz-electric .viz-c{position:absolute;left:72px;right:72px;top:29px;border-top:2px dashed var(--phy-accent)}.concept-viz-ray .viz-a{position:absolute;left:8%;right:8%;top:29px;border-top:1px solid currentColor}.concept-viz-ray .viz-b{position:absolute;left:50%;top:2px;bottom:2px;border-left:1px dashed currentColor}.concept-viz-ray .viz-c{position:absolute;left:20%;top:22px;width:62%;height:2px;background:var(--phy-accent);transform:rotate(18deg);transform-origin:center}.concept-viz-lens .viz-a{position:absolute;left:50%;top:4px;width:18px;height:50px;border:2px solid currentColor;border-radius:50%;transform:translateX(-50%)}.concept-viz-lens .viz-b{position:absolute;left:8%;right:8%;top:29px;border-top:2px solid var(--phy-accent)}.concept-viz-spectrum .viz-a{position:absolute;left:5%;right:5%;top:27px;height:4px;background:linear-gradient(90deg,#6c49ff,#3777ff,#21b9d8,#55bb58,#e0be3c,#ef7f35,#e94d58);border-radius:99px}.concept-viz-wave .viz-a{position:absolute;left:5%;right:5%;top:12px;height:36px;background:repeating-radial-gradient(ellipse at left center,transparent 0 10px,currentColor 11px 12px,transparent 13px 22px);opacity:.55}.concept-viz-thermal .viz-a{position:absolute;left:50%;bottom:4px;width:16px;height:48px;border:2px solid currentColor;border-radius:10px}.concept-viz-thermal .viz-b{position:absolute;left:calc(50% + 5px);bottom:8px;width:6px;height:32px;background:var(--phy-accent);border-radius:6px}.concept-viz-decay .viz-a{position:absolute;left:8%;right:8%;bottom:7px;height:34px;background:linear-gradient(90deg,var(--phy-accent) 0 25%,var(--phy-soft) 25% 100%);border:1px solid var(--line);border-radius:8px}
@media(max-width:1050px){.fields-4,.fields-5{grid-template-columns:repeat(2,minmax(0,1fr))}.physics-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.physics-hero{grid-template-columns:1fr}.formula-stage{min-height:220px}.physics-fields,.symbol-grid,.example-grid{grid-template-columns:1fr}.physics-tools-grid{grid-template-columns:1fr}.resistor-mode,.capacitor-mode{grid-template-columns:1fr}.physics-calc-head{align-items:stretch}.solve-row{display:grid}.physics-field-status{font-size:.64rem}}
@media(max-width:520px){.physics-hero h1{font-size:2.35rem}}

@media(min-width:761px){.physics-note{white-space:normal}.physics-note .notation-symbol{white-space:nowrap}.physics-note.notation-one-line{white-space:nowrap}.physics-fields.fields-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
