.experiment-acrylic{--acrylic-start:#ffffff61;--acrylic-end:#f7f6f147;--acrylic-edge:#fffffff0;--acrylic-highlight:#ffffffe6;--acrylic-shadow:#49473b12;--acrylic-fallback:#f7f6f1db;--acrylic-surface:linear-gradient(115deg,var(--acrylic-start),var(--acrylic-end));--acrylic-blur:blur(22px) saturate(110%);background:var(--acrylic-surface);border:1px solid var(--acrylic-edge);box-shadow:inset 0 1px 0 var(--acrylic-highlight),inset 0 -1px 0 #ffffff1f,0 8px 24px var(--acrylic-shadow);-webkit-backdrop-filter:var(--acrylic-blur);backdrop-filter:var(--acrylic-blur)}.experiment-acrylic--isolated{isolation:isolate;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.experiment-acrylic--isolated:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:var(--acrylic-surface);-webkit-backdrop-filter:var(--acrylic-blur);backdrop-filter:var(--acrylic-blur);position:absolute;inset:0;transform:translateZ(0)}.experiment-acrylic--isolated[data-acrylic-source=scene]:before{-webkit-backdrop-filter:none;backdrop-filter:none}.acrylic-scene-sample{z-index:-2;pointer-events:none;position:absolute;inset:0}.acrylic-scene-sample canvas{filter:var(--acrylic-blur);position:absolute;top:-66px;left:-66px}.acrylic-scene-sample [data-acrylic-eye=right]{will-change:opacity}.acrylic-scene-light{pointer-events:none;position:absolute}:root[data-room=dark] .experiment-acrylic,.experiment-acrylic[data-theme=dark]{--acrylic-start:#2d373b61;--acrylic-end:#17212747;--acrylic-edge:#e5f0f247;--acrylic-highlight:#ffffff30;--acrylic-shadow:#00000029;--acrylic-fallback:#1d272ce6}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.experiment-acrylic{background:var(--acrylic-fallback)}.experiment-acrylic--isolated{background:0 0}.experiment-acrylic--isolated:before{background:var(--acrylic-fallback)}}.pull-cord{z-index:3;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:15px;width:72px;height:144px;margin:0;padding:0;position:absolute;top:56px;right:clamp(56px,7vw,116px)}.pull-cord:active{cursor:grabbing}.pull-cord:before{content:"";position:absolute;inset:0 -12px -12px}.cord-label{color:var(--secondary,var(--muted));font:12px var(--sans,Inter, Pretendard, system-ui, sans-serif);letter-spacing:.035em;white-space:nowrap;pointer-events:none;opacity:1;position:absolute;top:145px;left:50%;transform:translate(-50%)}.pull-cord:focus-visible{outline:2px solid var(--control-ink,var(--ink));outline-offset:3px}.pull-switch-scene{pointer-events:none;width:72px;height:250px;display:block}.pull-cord.render-unavailable .pull-switch-scene{display:none}.pull-cord.render-unavailable .cord-label{opacity:1;border:1px solid var(--line);background:var(--surface,#eeede8);border-radius:20px;padding:12px;top:76px}@media (width<=760px){.pull-cord{top:56px;right:22px}}.calculator-dock{--calculator-peek:32px;--calculator-height:324px;z-index:8;width:min(calc(var(--tools-width) + var(--tools-inset) + var(--calculator-peek)),calc(100vw - 12px));height:var(--calculator-height);pointer-events:none;transition:top .48s cubic-bezier(.22,1,.36,1);position:fixed;top:386px;right:0;overflow:clip}.calculator-sled{width:100%;translate:calc(100% - var(--calculator-peek)) 0;pointer-events:auto;margin:0;transition:translate .34s cubic-bezier(.22,1,.36,1);display:flow-root}.calculator-sled[data-expanded=true]{transition-duration:.48s;translate:0}.calculator-peek{float:left;width:var(--calculator-peek);height:112px;min-height:0;color:var(--secondary);cursor:pointer;-webkit-user-select:none;user-select:none;border-right:0;border-radius:10px 0 0 10px;flex-direction:column;justify-content:center;align-items:center;gap:11px;padding:10px 0;list-style:none;display:flex}.calculator-peek svg{fill:none;stroke:currentColor;stroke-width:1.1px;width:15px;height:15px}.calculator-peek>span{writing-mode:vertical-rl;letter-spacing:.12em;font-size:10px;line-height:1}.calculator-sled[data-expanded=true] .calculator-peek>span{transform:none}.calculator-peek:hover{color:var(--ink)}.calculator-peek:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.calculator-panel{height:var(--calculator-height);margin-left:var(--calculator-peek);padding:10px calc(10px + var(--tools-inset)) 10px 10px;color:var(--control-ink);border-radius:12px 0 0 12px;grid-template-rows:22px 48px minmax(176px,1fr);gap:6px;display:grid}.calculator-heading{justify-content:space-between;align-items:center;padding-left:3px;display:flex}.calculator-heading h2{letter-spacing:.02em;margin:0;font-size:11px;font-weight:600}.calculator-close{width:28px;height:26px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;font-size:19px;line-height:1;display:grid}.calculator-screen{text-align:right;border-bottom:1px solid var(--line);min-width:0;padding:0 5px 3px}.calculator-history{white-space:nowrap;height:11px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:9px;line-height:11px;display:block;overflow:hidden}.calculator-value{text-align:right;scrollbar-width:none;white-space:nowrap;letter-spacing:-.035em;font-variant-numeric:tabular-nums;width:100%;min-width:0;color:var(--ink);caret-color:var(--accent);background:0 0;border:0;border-radius:0;outline:none;padding:0;font-size:30px;line-height:1.08;display:block;overflow:auto}.calculator-value::placeholder{color:var(--ink);opacity:1}.calculator-value:focus-visible{outline:none}.calculator-screen:focus-within{border-bottom-color:var(--accent)}.calculator-value::selection{background:color-mix(in srgb,var(--accent) 35%,transparent);color:var(--ink)}.calculator-value::-webkit-scrollbar{display:none}.calculator-value[data-error=true]{letter-spacing:0;font-size:14px}.calculator-keys{grid-template-rows:repeat(5,minmax(32px,1fr));grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;min-height:0;display:grid}.calculator-keys button{border:1px solid var(--line);min-width:0;color:var(--control-ink);background:#ffffff0c;border-radius:7px;padding:0;font-size:17px;line-height:1;transition:background-color .16s,border-color .16s,scale .1s;box-shadow:inset 0 1px #ffffff30}.calculator-keys button:hover{border-color:var(--accent);background:#ffffff38}.calculator-keys button:active{scale:.95}.calculator-keys button:focus-visible{outline:1px solid var(--accent);outline-offset:-3px}.calculator-keys .calculator-function{color:var(--secondary);font-size:12px}.calculator-keys .calculator-operator{color:var(--ink);background:#8d806a19}.calculator-keys .calculator-equals{color:var(--ink);background:#8d806a38;border-color:#8d806a70}.calculator-zero{grid-column:span 2}:root[data-room=dark] .calculator-keys button{box-shadow:inset 0 1px #ffffff09}:root[data-room=dark] .calculator-keys button:hover{background:#ffffff14}:root[data-room=dark] .calculator-keys .calculator-operator{color:#d0c3a7;background:#d0c3a70c}:root[data-room=dark] .calculator-keys .calculator-equals{color:#e9ddc5;background:#d0c3a726;border-color:#d0c3a754}@media (width<=760px){.calculator-dock{scroll-margin-block:12px;position:absolute}}@media (prefers-reduced-motion:reduce){.calculator-dock,.calculator-sled{transition:none}}.area-lesson-dock{z-index:6;width:min(680px,100% - 48px);color:var(--control-ink);position:absolute;bottom:62px;left:50%;transform:translate(-50%)}.area-lesson-dock[data-present=true]{top:var(--area-lesson-caption-top,72%);bottom:auto}.area-lesson-dock[hidden]{display:none}.area-lesson{margin:0}.area-lesson>summary{letter-spacing:-.02em;text-align:center;border-radius:30px;justify-content:center;gap:11px;width:max-content;max-width:100%;min-height:42px;margin:0 auto;padding:10px 19px;font-size:12px;line-height:1.5}.area-lesson>summary .area-lesson-symbol{font:italic 21px var(--serif);color:var(--accent);transition:none;transform:none}.area-lesson>summary .area-lesson-chevron{font-size:13px;transition:rotate .34s cubic-bezier(.22,1,.36,1);transform:none}.area-lesson[data-expanded=true]>summary .area-lesson-chevron{transform:none}.area-lesson>summary{transition:opacity .18s}.area-lesson-dock[data-present=true] .area-lesson>summary{opacity:0;pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.area-lesson-body{display:flow-root}.area-lesson-card{touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;padding:0;position:relative}.area-lesson-card[data-dragging=true]{cursor:grabbing}.area-lesson-heading{text-align:center;padding-inline:12px;position:relative}.area-lesson-eyebrow{letter-spacing:.08em;color:var(--muted);justify-content:center;align-items:center;gap:8px;margin:0 0 7px;font-size:9px;display:flex}.area-lesson-eyebrow span{color:var(--accent);font-variant-numeric:tabular-nums}.area-lesson-eyebrow .area-lesson-chapter{color:var(--muted)}.area-lesson-heading h2{letter-spacing:-.035em;min-height:54px;color:var(--ink);word-break:keep-all;text-wrap:balance;white-space:pre-line;align-content:center;margin:0;font-size:20px;font-weight:600;line-height:1.4;display:grid}.area-lesson-stage{margin-top:7px;position:relative}.area-lesson-page:has([data-area-view=rule]) .area-lesson-stage{margin-top:-15px;padding-bottom:22px}.area-lesson-content{touch-action:pan-y;min-width:0;overflow:clip}.area-lesson-content:focus-visible{outline:1px solid var(--accent);outline-offset:3px;border-radius:4px}.area-lesson-track{will-change:transform;align-items:flex-start;width:100%;display:flex}.area-lesson-page{flex:0 0 100%;min-width:0;min-height:144px}.area-lesson-step{text-align:center;flex-direction:column;flex:0 0 100%;gap:11px;min-width:0;padding-block:2px;display:flex}.area-lesson-step[hidden]{display:none}.area-lesson-step>p{word-break:keep-all;text-wrap:balance;color:var(--secondary);margin:0;font-size:13px;line-height:1.7}.area-lesson-step [data-area-description]{white-space:pre-line}.area-lesson-step .learning-conclusion{white-space:pre-line;color:var(--ink)}.learning-conclusion strong{color:var(--accent);white-space:nowrap;font-weight:600}.area-learning-step [data-learning-description]{white-space:pre-line}.area-learning-step{gap:0;padding-block:2px}.area-lesson-step[data-area-view=density]{display:grid}.area-lesson-step[data-area-view=density]>p,.area-lesson-step[data-area-view=density]>.density-result{grid-area:1/1}.area-lesson-step[data-area-view=density]>p{transition:opacity .22s}.area-lesson-page[data-count-stage="3"] [data-area-view=density]>p{opacity:0}.density-result{opacity:0;flex-direction:column;gap:9px;transition:opacity .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1);display:flex;transform:translateY(5px)}.density-result>p{word-break:keep-all;text-wrap:balance;margin:0;font-size:13px;line-height:1.7}.area-lesson-page[data-count-stage="3"] .density-result{opacity:1;transform:translateY(0)}.plate-readout[data-emphasis]{opacity:.48;transition:opacity .3s,color .3s}.plate-readout[data-emphasis=true]{opacity:1;color:var(--accent)}.plate-readout[data-emphasis=true] strong{color:var(--accent)}.experiment[data-learning=density] .plate-readout strong{opacity:0;transition:opacity .22s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1);transform:translateY(6px)scale(.94)}.experiment[data-learning=density] .plate-readout[data-count-visible=true] strong{opacity:1;animation:.52s cubic-bezier(.22,1,.36,1) both lesson-count-arrive;transform:translateY(0)scale(1.08)}@keyframes lesson-count-arrive{0%{opacity:0;text-shadow:0 0 #0000;transform:translateY(7px)scale(.88)}45%{opacity:1;text-shadow:0 0 16px color-mix(in srgb,var(--accent) 60%,transparent);transform:translateY(-2px)scale(1.28)}to{opacity:1;text-shadow:inherit;transform:translateY(0)scale(1.08)}}.experiment .caption{transition:opacity .3s cubic-bezier(.22,1,.36,1)}.experiment[data-derived=false] .caption{opacity:0;visibility:hidden;pointer-events:none}.experiment[data-derived=false] .math-context,.experiment[data-derived=true] .learning-context{display:none}.experiment[data-learning=observe] .prompt{opacity:0;pointer-events:none}.spread-readout[hidden]{display:none}.area-multiplier{white-space:nowrap;align-items:baseline;gap:.22em;display:inline-flex}.area-lesson-step .area-equation{width:max-content;max-width:100%;font:32px var(--serif);letter-spacing:-.025em;color:var(--ink);justify-content:center;align-self:center;align-items:baseline;gap:11px;margin:2px 0;display:flex}.area-lesson-step[data-area-view=rule]>.area-equation{opacity:var(--area-rule-reveal,1);transform:translateY(calc((1 - var(--area-rule-reveal,1))*3px))}.area-equation b,.area-equation i{font-weight:400}.area-equation small{font:12px var(--sans);color:var(--secondary);margin-left:3px}.area-density-equation strong{color:var(--accent);font-weight:400}.area-equation .area-quantity{align-self:center;margin:0 2px 0 0;font-size:11px}.area-lesson-step .area-law-equation{align-items:center;gap:16px;font-size:25px}.area-fraction{text-align:center;font:20px var(--serif);flex-direction:column;align-items:stretch;line-height:1.3;display:inline-flex}.area-fraction>span:first-child{border-bottom:1px solid;padding:0 10px 3px}.area-fraction>span:last-child{padding-top:3px}.area-fraction sup{font-size:.65em}.area-lesson-step[data-area-view=rule] .area-equation small{margin-left:5px}.area-equation .area-equation-arrow{font:16px var(--sans);color:var(--muted)}.area-lesson-step .area-length-equation{font:15px var(--sans);gap:12px;line-height:1.8}.area-length-equation b{color:var(--area-width);font-weight:600}.area-lesson-step>small{color:var(--muted);text-align:center;word-break:keep-all;font-size:10px;line-height:1.6}.lesson-extra{cursor:auto;margin:0}.lesson-extra>summary{width:max-content;min-height:34px;color:var(--muted);justify-content:center;gap:4px;margin:0;font-size:11px}.lesson-extra>summary:hover{color:var(--ink)}.lesson-extra>summary .lesson-extra-icon{transition:rotate .34s cubic-bezier(.22,1,.36,1);transform:rotate(0)}.lesson-extra[data-expanded=true]>summary .lesson-extra-icon{transform:rotate(45deg)}.lesson-extra-body{width:min(430px,100vw - 48px);padding-top:8px;display:flow-root}.lesson-extra-note{overscroll-behavior:contain;border-radius:12px;max-height:45svh;padding:18px 20px;overflow:auto}.lesson-extra-note>p{color:var(--secondary);white-space:pre-line;word-break:keep-all;text-align:left;-webkit-user-select:text;user-select:text;margin:0;font-size:12px;line-height:1.85}.lesson-extra-formula .area-equation{text-align:center;color:var(--ink);margin:0 0 12px;font-size:23px}.lesson-extra-formula b,.lesson-extra-formula strong{color:var(--accent);font-weight:600}.lesson-extra-formula small{font:11px var(--sans);margin-inline:6px}.lesson-navigation{justify-content:center;align-items:center;gap:22px;height:44px;display:flex}.lesson-navigation button{border:1px solid var(--line);background:0 0;border-radius:24px;justify-content:center;align-items:center;gap:10px;min-width:92px;min-height:42px;padding:6px 12px;font-size:12px;display:flex}.lesson-navigation button[hidden],.lesson-tools button[hidden]{display:none}.lesson-navigation button:disabled{opacity:.28;cursor:default}.lesson-navigation button:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 6%,transparent)}.lesson-position{text-align:center;letter-spacing:.12em;min-width:58px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.lesson-tools{flex-wrap:wrap;justify-content:center;align-items:start;gap:22px;min-height:36px;margin-top:10px;display:flex}.lesson-tools>button{min-height:34px;color:var(--muted);background:0 0;border:0;padding:0;font-size:11px}.lesson-tools>button:hover{color:var(--ink)}.lesson-restart{white-space:nowrap}.experiment[data-area-lesson=true] .mode-control,.experiment[data-area-lesson=true] .calculator-dock{opacity:0;visibility:hidden;pointer-events:none}.mode-control,.calculator-dock{transition:opacity .18s,visibility .18s}.experiment[data-area-lesson=true] .copy{opacity:.42}.experiment[data-area-lesson=true] .experiment-footer p{visibility:hidden}.experiment{--area-width:#2b748b;--area-height:#90652d}:root[data-room=dark] .experiment{--area-width:#8bd4e3;--area-height:#ecc484}#area-lesson-guides{pointer-events:none;z-index:1;opacity:0;width:100%;height:100%;transition:opacity .3s;position:absolute;inset:0;overflow:visible}#area-lesson-guides[data-visible=true]{opacity:1}#area-lesson-guides .lesson-width{color:var(--area-width)}#area-lesson-guides .lesson-height{color:var(--area-height)}#area-lesson-guides path{stroke:currentColor;stroke-width:1.15px;stroke-linecap:round;stroke-linejoin:round;fill:none;vector-effect:non-scaling-stroke}#area-lesson-guides .lesson-triangle{fill:currentColor;fill-opacity:.055;stroke-opacity:.55;stroke-width:.8px}#area-lesson-guides .lesson-width-section{fill-opacity:.08;stroke-opacity:.95;stroke-width:1.4px}#area-lesson-guides .lesson-dimension{stroke-width:1.3px}#area-lesson-guides g:has(.lesson-dimension){transition:filter .26s cubic-bezier(.22,1,.36,1)}#area-lesson-guides .lesson-dimension{transition:stroke-width .26s cubic-bezier(.22,1,.36,1)}#area-lesson-guides .lesson-dimension-edge{stroke-width:3px;opacity:0;transition:opacity .26s cubic-bezier(.22,1,.36,1)}#area-lesson-guides[data-dimension-emphasis=width] g[data-lesson-role$=-width],#area-lesson-guides[data-dimension-emphasis=height] g[data-lesson-role$=-height]{filter:brightness(1.35)drop-shadow(0 0 6px)}#area-lesson-guides[data-dimension-emphasis=width] g[data-lesson-role$=-width] .lesson-dimension,#area-lesson-guides[data-dimension-emphasis=height] g[data-lesson-role$=-height] .lesson-dimension{stroke-width:3.4px}#area-lesson-guides[data-dimension-emphasis=width] g[data-lesson-role$=-width] .lesson-dimension-edge,#area-lesson-guides[data-dimension-emphasis=height] g[data-lesson-role$=-height] .lesson-dimension-edge{opacity:1}#area-lesson-guides .lesson-right-angle{stroke-width:1.1px;stroke-opacity:.9}#area-lesson-guides text{fill:currentColor;stroke:#efefec;stroke-opacity:.85;stroke-width:4px;paint-order:stroke;stroke-linejoin:round;font:600 11px var(--sans);text-anchor:middle;dominant-baseline:central}:root[data-room=dark] #area-lesson-guides text{stroke:#0b1015;stroke-opacity:.9}#area-lesson-guides .lesson-area{fill:var(--area-height);fill-opacity:.045;stroke:var(--area-height);stroke-opacity:.85;stroke-width:1.2px}#area-lesson-guides .learning-aperture{fill-opacity:.035;stroke-opacity:1;stroke-width:1.7px}#area-lesson-guides .learning-aperture[data-emphasis]{fill-opacity:.01;stroke-opacity:.2;stroke-width:1.2px;transition:fill-opacity .3s cubic-bezier(.22,1,.36,1),stroke-opacity .3s cubic-bezier(.22,1,.36,1),stroke-width .3s cubic-bezier(.22,1,.36,1)}#area-lesson-guides .learning-aperture[data-emphasis=true]{fill-opacity:.075;stroke-opacity:1;stroke-width:2.5px}#area-lesson-guides .lesson-density-cell{fill:var(--ink);fill-opacity:.1;stroke:var(--ink);stroke-opacity:.95;stroke-width:2.4px;transition:opacity .3s cubic-bezier(.22,1,.36,1)}#area-lesson-guides .lesson-cell-label rect{fill:#efefec;fill-opacity:.9;stroke:var(--line);stroke-width:.7px}:root[data-room=dark] #area-lesson-guides .lesson-cell-label rect{fill:#0b1015;fill-opacity:.88}#area-lesson-guides .lesson-cell-label text{font:600 23px var(--sans);fill:var(--ink);stroke:none;letter-spacing:-.04em}.experiment[data-area-lesson=true] .prompt{opacity:0;pointer-events:none}.prompt{transition:opacity .24s}.experiment[data-area-lesson=true] .caption{opacity:0;visibility:hidden;pointer-events:none}@media (width>=761px){.lesson-extra>summary{margin-inline:auto}}@media (width>=1400px){.lesson-tools{padding-right:0}.lesson-extra{width:280px;padding-bottom:34px;position:absolute;bottom:0;left:calc(100% + 24px)}.lesson-extra>summary{margin:0;position:absolute;bottom:0;right:0}.lesson-extra-body{width:280px;padding-top:0;padding-bottom:10px}.area-lesson-dock[data-final=true] .lesson-extra{width:auto;padding-bottom:0;position:static}.area-lesson-dock[data-final=true] .lesson-extra>summary{margin-inline:auto;position:static}}@media (width<=760px){.experiment[data-area-lesson]{min-height:max(1020px,var(--area-lesson-page-height,0px))}.experiment[data-area-lesson=true]{min-height:max(100svh,var(--area-lesson-page-height,0px))}.experiment[data-area-lesson=true] .scene-space{height:clamp(250px,43svh,440px);top:132px;bottom:auto}.experiment[data-area-lesson=true] .copy{opacity:.65;align-items:center;gap:15px;max-width:calc(100% - 95px);display:flex;top:79px;left:22px}.experiment[data-area-lesson=true] .copy .kicker{display:none}.experiment[data-area-lesson=true] .copy h1{letter-spacing:-.06em;font-size:33px;line-height:1}.experiment[data-area-lesson=true] .copy .statement{margin:0;font-size:11px;line-height:1.4}.area-lesson-dock{width:calc(100% - 32px)}.area-lesson-dock[data-present=true]{top:var(--area-lesson-mobile-top,530px);bottom:auto}.area-lesson>summary{min-height:42px;padding:10px 16px;font-size:11px}.area-lesson-card{padding:0}.area-lesson-heading h2{min-height:74px;font-size:17px}.area-lesson-heading{padding:0 3px}.area-lesson-page{min-height:152px}.area-lesson-stage{margin-top:6px}.area-lesson-page:has([data-area-view=rule]) .area-lesson-stage{margin-top:-6px;padding-bottom:12px}.area-lesson-step>p,.density-result>p{font-size:12px}.area-lesson-step .area-equation{gap:8px;font-size:29px}.area-lesson-step .area-length-equation{font-size:14px}.area-lesson-step .area-law-equation{gap:14px;font-size:23px}.area-fraction{font-size:18px}#area-lesson-guides text{stroke-width:3px;font-size:9px}.lesson-tools{gap:18px;position:relative}.lesson-extra>summary{margin-inline:auto}.lesson-extra-body{padding-bottom:24px}.lesson-extra-note{max-height:50svh}.lesson-navigation{gap:16px}.lesson-navigation button{min-width:82px}}@media (prefers-reduced-motion:reduce){#area-lesson-guides,.area-lesson-dock,.area-lesson-close,.area-lesson-arrow,.area-lesson-progress span,.area-example-trail li,.prompt,.experiment .caption,.density-result,.plate-readout[data-emphasis],.experiment[data-learning=density] .plate-readout strong,#area-lesson-guides .learning-aperture[data-emphasis],#area-lesson-guides .lesson-density-cell{transition:none}.experiment[data-learning=density] .plate-readout[data-count-visible] strong{animation:none;transform:none}.density-result{transform:none}.learning-replay{display:none}#area-lesson-guides .lesson-dimension,#area-lesson-guides .lesson-dimension-edge{transition:none}#area-lesson-guides g:has(.lesson-dimension){transition:none}}@font-face{font-family:Inter Local;src:url(/fonts/google/inter-400-latin.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Inter Local;src:url(/fonts/google/inter-600-latin.woff2)format("woff2");font-weight:600;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#161615;--secondary:#65645f;--muted:#777671;--line:#34353030;--accent:#8d806a;--control-ink:#555650;--serif:"Times New Roman",Times,serif;--sans:"Inter Local",Pretendard,"Noto Sans KR",system-ui,sans-serif}:root[data-room=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e9e9e6;--secondary:#bfc4cb;--muted:#adb6c1;--line:#dde4ef38;--accent:#d0c3a7;--control-ink:#dde3e8}*{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0}body{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:#e9e9e8}button,input{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button,input{touch-action:manipulation}.experiment{--tools-inset:clamp(12px,1vw,20px);--tools-width:208px;--tools-gap:12px;isolation:isolate;width:100%;height:100svh;min-height:650px;position:relative}.scene{z-index:-1;width:100%;height:100%;position:absolute;inset:0}.scene canvas{touch-action:none;width:100%;height:100%;display:block}.scene canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.scene-space{visibility:hidden;pointer-events:none;position:absolute;inset:20% 4% 16%}.copy{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0;border:0;width:max-content;max-width:44%;position:absolute;top:clamp(122px,17vh,170px);left:clamp(24px,3vw,48px)}.kicker{color:var(--secondary);letter-spacing:.18em;margin:0 0 22px 3px;font-size:.64rem}h1{font-family:var(--serif);letter-spacing:-.09em;margin:0;font-size:clamp(6.5rem,12vw,12.5rem);font-weight:400;line-height:.7}.statement{letter-spacing:-.045em;word-break:keep-all;margin:clamp(32px,6vh,66px) 0 0 5px;font-size:clamp(1.4rem,2.4vw,2.35rem);line-height:1.23}#scene-guides{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}#scene-guides line,#scene-guides path{fill:none;stroke:var(--control-ink);stroke-width:.7px;stroke-opacity:.45}#scene-guides .distance-line{stroke-dasharray:3 3;stroke-opacity:.6}#scene-guides text{fill:var(--control-ink);font:11px var(--sans);text-anchor:middle;font-variant-numeric:tabular-nums}#scene-guides .bracket-label{font-size:12px}#scene-guides circle{fill:var(--control-ink);opacity:.5}.scene-label{white-space:nowrap;color:var(--secondary);pointer-events:none;font-size:10px;position:absolute}.source-label{transform:translate(-50%,10px)}#plate-readouts{pointer-events:none;position:absolute;inset:0}.plate-readout{color:var(--secondary);white-space:nowrap;font-variant-numeric:tabular-nums;text-shadow:0 1px 6px #fff,0 0 12px #fffa;justify-items:center;gap:3px;display:grid;position:absolute;transform:translate(-50%)}.plate-readout>span{letter-spacing:.035em;font-size:10px}.plate-readout strong{color:var(--ink);font-size:22px;font-weight:400;line-height:1.1}.plate-readout small{color:var(--secondary);margin-left:4px;font-size:10px;font-weight:400}:root[data-room=dark] .plate-readout{text-shadow:0 1px 6px #0b1015,0 0 12px #0b1015}@media (width<=760px){.plate-readout{gap:2px}.plate-readout>span{font-size:8px}.plate-readout strong{font-size:15px}.plate-readout small{margin-left:2px;font-size:8px}}#receiver-handle{touch-action:none;cursor:ew-resize;background:0 0;border:0;place-items:center;width:34px;height:34px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}#receiver-handle span{color:#62645f;background:#fcfcf2ba;border:1px solid #9b9c9580;border-radius:50%;place-items:center;width:21px;height:21px;font-size:14px;display:grid;box-shadow:0 1px 5px #34363218}:root[data-room=dark] #receiver-handle span{color:#e5e6e0;background:#28313dbf;border-color:#b8c2d263}.controls{overscroll-behavior:contain;width:236px;max-height:calc(100% - 80px);color:var(--control-ink);scrollbar-width:thin;border-radius:10px;padding:13px 16px 9px;font-size:12px;position:absolute;overflow:auto}.control-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.control-heading h2{margin:0;font-size:11px;font-weight:600}.icon-button{color:var(--muted);background:0 0;border:0;width:26px;height:26px;margin:-6px -7px -6px 0;font-size:19px}.control-row{justify-content:space-between;align-items:center;gap:12px;min-height:25px;display:flex}output{font-variant-numeric:tabular-nums;font-size:15px}output small{font-size:11px}.brightness-row{margin-top:8px}details{margin-top:3px}summary{cursor:pointer;justify-content:flex-end;align-items:center;gap:3px;min-height:30px;font-size:10px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary span{transition:transform .34s cubic-bezier(.22,1,.36,1);display:inline-block}details[data-expanded=true] summary span{transform:rotate(45deg)}.more-body{border-top:1px solid var(--line);padding-top:9px;display:flow-root}.more-body output{font-size:12px}.model-note{color:var(--secondary);word-break:keep-all;margin:9px 0 13px;font-size:10px;line-height:1.8}.check-row{align-items:center;gap:6px;min-height:28px;font-size:11px;display:flex}.check-row input{accent-color:var(--accent)}.reset-button{border:0;border-top:1px solid var(--line);background:0 0;justify-content:space-between;width:100%;margin-top:8px;padding:9px 0 4px;font-size:11px;display:flex}.caption{width:min(370px,32vw);color:var(--muted);font-size:10px;position:absolute;bottom:29px;left:clamp(24px,3vw,48px)}.comparisons{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:space-between;gap:10px;margin:0;padding-bottom:10px;display:flex}.law{font-family:var(--serif);margin:10px 0 0;font-size:20px}.law sup{font-size:11px}.law span{font:9px var(--sans);letter-spacing:.03em;margin-left:15px}.prompt{white-space:nowrap;color:var(--muted);align-items:center;gap:9px;margin:0;font-size:11px;display:flex;position:absolute;bottom:30px;left:57%;transform:translate(-50%)}.prompt span{background:#fb5142;border-radius:50%;width:6px;height:6px}.experiment-footer{text-align:right;color:var(--muted);position:absolute;bottom:12px;right:clamp(24px,3vw,48px)}.experiment-footer p{letter-spacing:.13em;margin:0;font-size:8px}.experiment-footer button{min-height:28px;color:var(--secondary);background:0 0;border:0;padding:3px 0;font-size:10px}#render-status{text-align:center;max-width:360px;padding:16px;font-size:13px;line-height:1.8;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.license-dialog{border:1px solid var(--line);width:min(560px,100% - 40px);max-height:calc(100svh - 48px);color:var(--ink);background:#eeefec;border-radius:12px;padding:24px;overflow:auto}.license-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#11131866}.license-dialog form{justify-content:space-between;align-items:center;display:flex}.license-dialog h2{font-size:18px}.license-dialog form button{background:0 0;border:0;font-size:24px}.license-dialog p{font-size:13px;line-height:1.8}.license-dialog pre{white-space:pre-wrap;font-size:10px;line-height:1.6}:root[data-room=dark] .license-dialog{background:#1d242c}@media (width>=761px){.controls{width:208px}}@media (width<=1000px){.caption{width:300px;font-size:9px}.law span{font-size:8px}.experiment-footer p{font-size:7px}.prompt{font-size:10px;left:61%}}@media (width<=760px){.experiment{min-height:900px}.copy{top:112px;left:24px}.kicker{margin-bottom:20px;font-size:8px}h1{font-size:108px}.statement{margin:28px 0 0 3px;font-size:24px}.controls{width:230px;max-height:330px}.caption{width:calc(100% - 48px);max-width:370px;bottom:70px;left:24px}.prompt{bottom:35px;left:24px;transform:none}.experiment-footer{bottom:27px;right:24px}.experiment-footer p{display:none}#scene-guides text{font-size:9px}#scene-guides .bracket-label{font-size:10px}.source-label{font-size:9px}}@media (width<=380px){h1{font-size:98px}.statement{font-size:22px}.controls{width:216px}.caption{font-size:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}@media (width>=761px){.copy{top:clamp(100px,13vh,138px);left:clamp(24px,1.9vw,40px)}.kicker{letter-spacing:.21em;margin-bottom:20px;font-size:.54rem}h1{letter-spacing:-.08em;font-size:clamp(96px,7.6vw,132px)}.statement{margin-top:34px;font-size:clamp(21px,1.5vw,27px);line-height:1.22}.controls{border-radius:8px;width:232px;padding:12px 16px 8px}.control-heading{margin-bottom:7px}.control-row{min-height:23px}.brightness-row{margin-top:5px}summary{min-height:27px}.pull-cord{top:38px;right:var(--tools-inset);height:110px}.cord-label{font-size:10px;top:112px}.caption{width:340px;font-size:11px;left:clamp(24px,1.9vw,40px)}.prompt{left:50%}}@media (width>=761px) and (width<=1100px){.controls{width:218px}.caption{width:290px;font-size:9px}}@media (width<=760px){.experiment{min-height:1020px}.scene-space{height:260px;inset:520px 18px auto}}.scene canvas{cursor:grab}:root[data-room=dark] body{background:#0b1015}.initial-scene{pointer-events:none;opacity:1;background:#0b1015;transition:opacity .34s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.initial-scene[hidden]{display:none}.initial-scene img{max-width:none;height:auto;position:absolute}.initial-scene svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.initial-scene line{fill:none;stroke:var(--control-ink);stroke-width:.7px;stroke-opacity:.45}.initial-scene circle{fill:var(--control-ink);opacity:.5}.initial-source-label{transform:translate(-50%,10px)}.initial-scene text{fill:var(--control-ink);font:11px var(--sans);text-anchor:middle;font-variant-numeric:tabular-nums}.initial-scene[data-state=revealing]{opacity:0}.experiment[data-loading=preview] #scene-guides,.experiment[data-loading=preview]>.source-label{visibility:hidden}.experiment[data-loading=preview] #render-status{max-width:100%;color:var(--muted);white-space:nowrap;margin:0;padding:4px;font-size:10px;top:auto;bottom:78px;transform:translate(-50%)}.experiment[data-loading=preview] .mode-control{opacity:.65}.experiment[data-loading=preview] :disabled{cursor:default}.experiment[data-loading=error] #render-status{width:calc(100% - 40px);top:auto;bottom:64px;transform:translate(-50%)}@media (width<=760px){.initial-scene text{font-size:9px}.experiment[data-loading=preview] #render-status{bottom:82px}}#spread-readouts{pointer-events:none;position:absolute;inset:0}#spread-readouts[hidden]{display:none}.spread-readout{white-space:nowrap;color:#79603a;font-variant-numeric:tabular-nums;text-shadow:0 1px 8px #fffb;justify-items:center;gap:4px;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 14px))}.spread-readout strong{font-size:12px;font-weight:600}.spread-readout span{color:var(--secondary);font-size:10px}:root[data-room=dark] .spread-readout{color:#e7bd7f;text-shadow:0 1px 8px #0b1015}@media (width<=760px){.spread-readout{gap:2px;transform:translate(-50%,calc(-100% - 9px))}.spread-readout strong{font-size:9px}.spread-readout span{font-size:8px}.prompt{white-space:normal;max-width:calc(100% - 112px);font-size:9px;line-height:1.5}}.mode-control{right:var(--tools-inset);width:var(--tools-width);color:var(--control-ink);border-radius:12px;grid-template-rows:repeat(3,1fr);padding:4px;display:grid;position:absolute;top:184px}.mode-control:before{content:"";border:1px solid var(--line);height:calc(33.3333% - 2.66667px);transform:translateY(calc(var(--mode-index)*100%));pointer-events:none;background:#ffffff32;border-radius:8px;transition:transform .48s cubic-bezier(.22,1,.36,1);position:absolute;inset:4px 4px auto;box-shadow:inset 0 1px #fff6,0 2px 7px #00000009}.mode-control button{text-align:left;width:100%;min-height:60px;color:var(--secondary);word-break:keep-all;background:0 0;border:0;border-radius:8px;align-content:center;justify-items:start;gap:4px;padding:9px 12px;line-height:1.5;display:grid;position:relative}.mode-control button>span{font-size:12px}.mode-control button>small{color:var(--muted);font-size:9px}.mode-control button[aria-checked=true]{color:var(--ink)}.mode-control button[aria-checked=true]>span{font-weight:600}.mode-control button:hover{background:#ffffff16}:root[data-room=dark] .mode-control:before{background:#ffffff0e;border-color:#ffffff30;box-shadow:inset 0 1px #fff2,0 2px 7px #00000018}.receiver-material{width:180px;color:var(--control-ink);border-radius:10px;gap:3px;padding:4px;display:flex;position:absolute}.receiver-material[hidden]{display:none}.receiver-ui{pointer-events:none;flex-direction:column;align-items:center;gap:8px;transition:left .28s cubic-bezier(.22,1,.36,1),top .28s cubic-bezier(.22,1,.36,1);display:flex;position:absolute}.receiver-ui>.controls,.receiver-ui>.receiver-material{pointer-events:auto;flex-shrink:0;position:relative}.receiver-ui>.controls{max-height:none;overflow:visible}.control-primary{display:flow-root}.brightness-row{width:100%;color:inherit;text-align:left;cursor:help;background:0 0;border:0;padding:0}.brightness-row>span{-webkit-text-decoration:underline dotted var(--line);text-decoration:underline dotted var(--line);text-underline-offset:4px;text-decoration-thickness:1px}.brightness-row:focus-visible{outline:1px solid var(--accent);outline-offset:4px;border-radius:3px}.brightness-tooltip{z-index:5;width:214px;max-width:calc(100vw - 24px);color:var(--control-ink);word-break:keep-all;text-wrap:balance;pointer-events:auto;cursor:default;border-radius:9px;padding:11px 14px;font-size:11px;line-height:1.65;display:block;position:absolute}.brightness-tooltip[hidden]{display:none}.brightness-tooltip strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.brightness-tooltip:before{content:"";background:var(--accent);opacity:.55;border-radius:2px;width:2px;position:absolute;top:12px;bottom:12px;left:0}.receiver-ui .control-row>output{white-space:nowrap;flex-shrink:0}.receiver-ui .more-body{max-height:var(--more-max-height,240px);overscroll-behavior:contain;scrollbar-width:thin;overflow:auto}.experiment[data-mode=free] .receiver-ui[data-placement=left]:after,.experiment[data-mode=free] .receiver-ui[data-placement=right]:after{content:"";top:var(--connector-y);background:linear-gradient(90deg,var(--line),var(--muted));opacity:.65;pointer-events:none;width:16px;height:1px;position:absolute}.receiver-ui[data-placement=left]:after{left:100%}.receiver-ui[data-placement=right]:after{right:100%;transform:rotate(180deg)}.receiver-material button{min-height:34px;color:var(--secondary);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:7px;flex:1;padding:6px 12px;font-size:11px;transition:background-color .24s,border-color .24s,color .24s}.receiver-material button[aria-checked=true]{border-color:var(--line);color:var(--ink);background:#ffffff38;box-shadow:inset 0 1px #fff6}.receiver-material button:hover{background:#ffffff20}:root[data-room=dark] .receiver-material button[aria-checked=true]{background:#ffffff12;box-shadow:inset 0 1px #ffffff24}#receiver-handle[hidden]{display:none}.receiver-drag-hint{z-index:6;pointer-events:none;-webkit-user-select:none;user-select:none;width:64px;height:76px;position:absolute;transform:translate(-50%,calc(-100% - 14px))}.receiver-drag-hint[hidden]{display:none}.receiver-drag-hint svg{fill:none;stroke:#fff;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #10182099)drop-shadow(0 0 3px #ffffffb3)drop-shadow(0 0 9px #ffffff70);width:100%;height:100%;display:block;overflow:visible}.receiver-drag-hint path{transform-box:fill-box;transform-origin:50%;transform:scaleX(.864)}@media (prefers-reduced-motion:reduce){.receiver-drag-hint{display:none}}.experiment-footer{right:var(--tools-inset)}@media (width>=761px) and (height<=760px){.mode-control{top:176px}.mode-control button{min-height:56px}}@media (width<=760px){.experiment{--tools-inset:12px;--tools-width:190px}.pull-cord{right:var(--tools-inset)}.mode-control{top:308px}.mode-control button{min-height:64px;padding:8px 10px}.mode-control button>span{font-size:11px}.mode-control button>small{font-size:9px}.receiver-material{width:176px}.receiver-material button{min-height:40px}.receiver-ui>.controls{padding:12px 16px 8px}.receiver-ui .control-heading{margin-bottom:7px}.receiver-ui .control-row{min-height:23px}.receiver-ui .brightness-row{margin-top:5px}.receiver-ui summary{min-height:27px}}@media (prefers-reduced-motion:reduce){.mode-control:before{transition:none}}.light-point-actions{pointer-events:none;position:absolute;inset:0}.light-point-actions button{pointer-events:none;background:0 0;border:0;border-radius:50%;width:20px;height:20px;padding:0;position:absolute;transform:translate(-50%,-50%)}.light-point-actions button[hidden]{display:none}.light-point-actions button:focus-visible{outline:2px solid var(--reach-color);outline-offset:3px;box-shadow:0 0 12px var(--reach-color)}
