.boundary-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.72fr);gap:44px;align-items:end;padding-bottom:68px}.boundary-hero-copy{min-width:0}.boundary-hero h1{max-width:900px;font-size:clamp(2.7rem,5.6vw,5.8rem)}.boundary-hero h1 em{color:var(--accent);font-style:normal}.boundary-hero p{max-width:830px}.boundary-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.boundary-hero-card{min-width:0;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 7%,var(--panel-solid)),var(--panel));box-shadow:var(--shadow)}.boundary-hero-card>span,.boundary-card>span,.boundary-family-head span,.boundary-interface-rules article>span,.boundary-reading>span{display:block;color:var(--accent);font-size:.73rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.boundary-hero-card p{font-size:.9rem;margin:12px 0 0}.boundary-equation{display:flex;align-items:center;justify-content:center;min-height:58px;margin:14px 0;padding:11px 14px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--bg) 50%,transparent);font-family:"Cambria Math","STIX Two Math",Georgia,serif;font-size:clamp(1.02rem,2.2vw,1.34rem);letter-spacing:.01em;text-align:center;overflow-wrap:anywhere}.boundary-equation.large{min-height:86px;font-size:clamp(1.55rem,3vw,2.35rem)}.boundary-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:17px}.boundary-mini-grid div{min-width:0;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.boundary-mini-grid span,.boundary-metrics span{display:block;color:var(--muted);font-size:.68rem}.boundary-mini-grid strong{display:block;margin-top:3px;font-size:.78rem;overflow-wrap:anywhere}
.boundary-closure{padding-block:66px 78px}.section-heading.compact{max-width:860px}.boundary-closure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.boundary-card{min-width:0;padding:22px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel)}.boundary-card.primary{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 8%,var(--panel-solid)),var(--panel))}.boundary-card p{margin:0;color:var(--muted);font-size:.9rem}.boundary-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;margin-top:14px;padding:17px 20px;border-left:3px solid var(--warm);border-radius:0 14px 14px 0;background:color-mix(in srgb,var(--warm) 6%,var(--panel))}.boundary-note strong{white-space:nowrap}.boundary-note p{margin:0;color:var(--muted)}
.boundary-families{padding:78px 0;background:color-mix(in srgb,var(--bg-elevated) 58%,transparent);border-block:1px solid var(--line)}.boundary-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.boundary-family-card{min-width:0;padding:23px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.boundary-family-card.fixed{box-shadow:inset 0 2px 0 color-mix(in srgb,var(--accent) 70%,transparent)}.boundary-family-card.free{box-shadow:inset 0 2px 0 color-mix(in srgb,var(--accent-3) 70%,transparent)}.boundary-family-card.mixed{box-shadow:inset 0 2px 0 color-mix(in srgb,var(--accent-2) 70%,transparent)}.boundary-family-head{display:grid;gap:4px}.boundary-family-head strong{font-size:1.08rem}.boundary-family-card p{color:var(--muted);font-size:.9rem}.boundary-family-card small{color:var(--muted);font-weight:700}
.boundary-lab-section{padding-block:84px 94px}.lab-heading{margin-bottom:26px}.boundary-lab-shell{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}.boundary-controls,.boundary-panel{min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 16px 50px rgba(0,0,0,.11)}.boundary-controls{position:sticky;top:calc(var(--header-h) + 16px);padding:17px}.boundary-controls label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:.82rem;font-weight:700}.boundary-controls label span{min-width:0}.boundary-controls output{font-variant-numeric:tabular-nums;color:var(--accent);font-size:.76rem}.boundary-controls input[type="range"]{grid-column:1/-1;width:100%;margin:1px 0 0;accent-color:var(--accent)}.boundary-preset-set{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 2px;padding:0 0 13px;border:0;border-bottom:1px solid var(--line)}.boundary-preset-set legend{grid-column:1/-1;width:100%;margin-bottom:7px;color:var(--muted);font-size:.72rem;font-weight:750}.boundary-preset-set button,.boundary-actions button{min-width:0;cursor:pointer}.boundary-preset-set button{padding:9px 5px;border:1px solid var(--line);border-radius:10px;background:var(--panel-solid);color:var(--muted);font-size:.71rem;font-weight:800}.boundary-preset-set button.is-active{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));color:var(--text);background:color-mix(in srgb,var(--accent) 10%,var(--panel-solid))}.boundary-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}.boundary-actions .button{min-height:42px;padding-inline:9px;font-size:.76rem}.boundary-lab-note{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg) 44%,transparent)}.boundary-lab-note strong{font-size:.76rem}.boundary-lab-note p{margin:5px 0 0;color:var(--muted);font-size:.72rem;line-height:1.45}.boundary-stage{display:grid;gap:14px;min-width:0}.boundary-panel{overflow:hidden}.boundary-panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 18px;border-bottom:1px solid var(--line)}.boundary-panel-head>div{min-width:0}.boundary-panel-head span{display:block;color:var(--muted);font-size:.69rem}.boundary-panel-head strong{display:block;margin-top:2px;font-size:.88rem;overflow-wrap:anywhere}.boundary-status{display:flex!important;align-items:center;gap:7px;white-space:nowrap;color:var(--muted);font-size:.74rem}.boundary-status i{width:8px;height:8px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 12%,transparent)}.boundary-status.is-good i{background:var(--accent-3);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-3) 12%,transparent)}.boundary-status.is-near i{background:var(--warm);box-shadow:0 0 0 4px color-mix(in srgb,var(--warm) 12%,transparent)}.boundary-field-svg{width:100%;aspect-ratio:980/430;min-height:300px;padding:4px 8px}.bc-grid-line{stroke:var(--line);stroke-width:1}.bc-axis{stroke:var(--line-strong);stroke-width:1.4}.bc-boundary{stroke:var(--warm);stroke-width:2;stroke-dasharray:8 7}.bc-wave{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.bc-tangent{stroke:var(--accent-3);stroke-width:3;stroke-linecap:round}.bc-endpoint{fill:var(--bg-elevated);stroke:var(--accent);stroke-width:4}.bc-svg-label,.bc-state-label{fill:var(--muted);font-size:15px;font-weight:700}.bc-svg-label.boundary-label{fill:var(--warm)}.boundary-field-legend{display:flex;flex-wrap:wrap;gap:14px;padding:0 18px 16px;color:var(--muted);font-size:.73rem}.boundary-field-legend span{display:flex;align-items:center;gap:6px}.boundary-field-legend i{width:20px;height:3px;border-radius:3px;background:var(--accent)}.boundary-field-legend .tangent i{background:var(--accent-3)}.boundary-field-legend .wall i{background:var(--warm)}.boundary-detail-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px}.boundary-state-svg{width:100%;aspect-ratio:520/430;min-height:320px}.bc-state-circle{fill:none;stroke:var(--line-strong);stroke-width:1.5;stroke-dasharray:5 7}.bc-state-axis{stroke:var(--line);stroke-width:1.2}.bc-condition-line{stroke:var(--accent-3);stroke-width:4;stroke-linecap:round}.bc-residual-line{stroke:var(--danger);stroke-width:3;stroke-dasharray:6 5}.bc-projection{fill:var(--accent-3)}.bc-state-dot{fill:var(--bg-elevated);stroke:var(--accent);stroke-width:4}.bc-state-label.admissible{fill:var(--accent-3);font-size:13px}.boundary-equation.operator{margin:16px 18px 8px;font-size:1.02rem}.boundary-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:8px 18px 14px}.boundary-metrics div{min-width:0;padding:10px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--bg) 45%,transparent)}.boundary-metrics strong{display:block;margin-top:3px;font-size:.82rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.boundary-reading{margin:0 18px 18px;padding:14px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 6%,var(--panel-solid)),var(--panel))}.boundary-reading h3{margin:5px 0 5px;font-size:1rem}.boundary-reading p{margin:0;color:var(--muted);font-size:.8rem}
.boundary-interface{padding:86px 0;border-block:1px solid var(--line);background:color-mix(in srgb,var(--bg-elevated) 52%,transparent)}.boundary-interface-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);gap:14px}.boundary-interface-graphic,.boundary-interface-rules article{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.boundary-interface-graphic{display:grid;place-items:center;min-width:0;overflow:hidden;padding:10px}.boundary-interface-graphic svg{width:100%}.bc-medium{stroke:var(--line);stroke-width:1}.bc-medium.one{fill:color-mix(in srgb,var(--accent) 7%,var(--panel-solid))}.bc-medium.two{fill:color-mix(in srgb,var(--accent-2) 8%,var(--panel-solid))}.bc-interface-line{stroke:var(--warm);stroke-width:2;stroke-dasharray:8 6}.bc-string-left,.bc-string-right{fill:none;stroke:var(--text);stroke-width:4;stroke-linecap:round}.bc-junction{fill:var(--warm)}.bc-force{stroke-width:3;fill:none}.bc-force.one{stroke:var(--accent)}.bc-force.two{stroke:var(--accent-2)}#force-arrow path{fill:context-stroke}.bc-interface-text{fill:var(--muted);font-size:16px;font-weight:700}.bc-interface-text.strong{fill:var(--text)}.boundary-interface-rules{display:grid;gap:10px}.boundary-interface-rules article{padding:18px}.boundary-interface-rules p{margin:6px 0 0;color:var(--muted);font-size:.84rem}.boundary-interface-rules .boundary-equation{margin:10px 0}.boundary-interface-rules .caution{border-color:color-mix(in srgb,var(--warm) 32%,var(--line));background:color-mix(in srgb,var(--warm) 5%,var(--panel))}.boundary-interface-rules .caution strong{display:block;margin-top:6px}
.boundary-takeaways{padding-block:84px 44px}.takeaway-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.takeaway-grid article{min-width:0;padding:18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel)}.takeaway-grid article>span{color:var(--accent);font-size:.72rem;font-weight:800}.takeaway-grid strong{display:block;margin:7px 0 5px}.takeaway-grid p{margin:0;color:var(--muted);font-size:.82rem}.boundary-cross-reference{margin:18px 0 0;padding:16px 18px;border:1px solid var(--line);border-radius:14px;color:var(--muted);font-size:.86rem}.boundary-cross-reference a{color:var(--text);font-weight:700}.boundary-next{scroll-margin-top:calc(var(--header-h) + 24px);display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:30px;padding-block:42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.boundary-next h2{margin:6px 0 8px;font-size:clamp(2rem,4vw,3.4rem)}.boundary-next p{max-width:760px;margin:0;color:var(--muted)}.next-arrow{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border:1px solid var(--line);border-radius:50%;color:var(--accent);font-size:1.8rem}.boundary-roadmap{padding-block:76px 30px}.boundary-future-grid{padding-bottom:44px}.boundary-future-grid .chapter-card.implemented{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--panel))}
@media(max-width:980px){.boundary-hero{grid-template-columns:1fr}.boundary-hero-card{max-width:720px}.boundary-lab-shell{grid-template-columns:1fr}.boundary-controls{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.boundary-preset-set,.boundary-actions,.boundary-lab-note{grid-column:1/-1}.boundary-interface-layout{grid-template-columns:1fr}.takeaway-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.boundary-hero{padding-top:50px;gap:24px}.boundary-hero h1{font-size:clamp(2.35rem,11vw,4.3rem)}.boundary-mini-grid,.boundary-closure-grid,.boundary-family-grid,.boundary-detail-grid{grid-template-columns:1fr}.boundary-note{grid-template-columns:1fr;gap:4px}.boundary-note strong{white-space:normal}.boundary-controls{grid-template-columns:1fr}.boundary-preset-set,.boundary-actions,.boundary-lab-note{grid-column:auto}.boundary-field-svg{min-height:260px}.boundary-state-svg{min-height:280px}.boundary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.boundary-next{align-items:flex-start}.takeaway-grid{grid-template-columns:1fr 1fr}.boundary-interface{padding-block:68px}.boundary-lab-section{padding-block:68px}}
@media(max-width:460px){.boundary-hero-actions{display:grid}.boundary-hero-actions .button{width:100%}.boundary-mini-grid{grid-template-columns:1fr 1fr}.boundary-preset-set{grid-template-columns:1fr}.boundary-actions{grid-template-columns:1fr}.boundary-panel-head{align-items:flex-start;gap:10px}.boundary-status{white-space:normal}.boundary-metrics,.takeaway-grid{grid-template-columns:1fr}.boundary-field-svg{min-height:220px;padding-inline:0}.boundary-state-svg{min-height:250px}.boundary-next .next-arrow{display:none}.boundary-interface-graphic{padding:0}.bc-interface-text{font-size:14px}}
