@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@400;600;700&family=Nunito:wght@500;700;800&display=swap";:root{font-family:Nunito,system-ui,sans-serif;color:#0f172a;background:#bae6fd}*{box-sizing:border-box}body{margin:0;overflow:hidden}.app-shell,.world-canvas{position:fixed;top:0;right:0;bottom:0;left:0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.center-overlay{display:flex;align-items:center;justify-content:center;padding:18px}.start-backdrop,.modal-backdrop{background:#02061794;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.glass-card{background:#fffffff2;border:1px solid rgba(255,255,255,.72);box-shadow:0 22px 55px #0f172a47;border-radius:28px}.start-card{width:min(620px,100%);padding:34px;text-align:center}.title-icon{width:76px;height:76px;border-radius:24px;background:linear-gradient(135deg,#14b8a6,#0ea5e9);display:flex;align-items:center;justify-content:center;color:#fff;margin:0 auto 12px}.eyebrow{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;background:#ccfbf1;color:#0f766e;border-radius:999px;font-weight:800;font-size:13px}.start-card h1,.modal-card h2,.activity-card h2,.finish-card h2{font-family:Fredoka;margin:12px 0;color:#0f172a}.start-card h1{font-size:clamp(34px,7vw,58px)}.start-card p{color:#475569;line-height:1.65}.input-label{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#64748b;text-align:left;margin:18px 0 7px}.start-card input{width:100%;padding:14px 16px;border:2px solid #cbd5e1;border-radius:15px;font:inherit;font-weight:800;outline:none}.start-card input:focus{border-color:#14b8a6}.primary-button,.secondary-button{border:0;border-radius:14px;padding:13px 18px;font:inherit;font-weight:900;display:inline-flex;gap:8px;align-items:center;justify-content:center;cursor:pointer}.primary-button{background:linear-gradient(135deg,#14b8a6,#0284c7);color:#fff;box-shadow:0 7px #0f766e}.primary-button:active{transform:translateY(4px);box-shadow:0 3px #0f766e}.secondary-button{background:#e2e8f0;color:#334155}.start-card .primary-button{width:100%;margin-top:18px}.feature-row{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;font-size:12px;font-weight:800;color:#475569}.feature-row span{padding:6px 9px;border-radius:999px;background:#f1f5f9}.zone-label{background:#0f172adb;color:#fff;padding:7px 11px;border-radius:8px;font-size:12px;font-weight:900;letter-spacing:.04em;white-space:nowrap}.hud-card{position:fixed;z-index:15;padding:12px 14px}.top-left{top:14px;left:14px}.hud-name{font-weight:900;color:#0f172a}.hud-stats{display:flex;gap:12px;margin-top:7px}.hud-stats span{display:flex;gap:5px;align-items:center;color:#0f766e;font-weight:900}.round-button{position:fixed;z-index:15;border:0;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;background:#fff;box-shadow:0 8px 20px #0f172a33;cursor:pointer}.help-button{right:15px;top:15px;color:#0f766e}.zone-progress{position:fixed;z-index:15;right:14px;top:72px;width:220px;padding:12px}.progress-heading{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:900;color:#0f766e;margin-bottom:7px}.zone-progress-item{display:flex;justify-content:space-between;padding:6px 0;border-top:1px dashed #cbd5e1;font-size:12px;color:#334155}.zone-progress-item b{color:#15803d}.near-zone{position:fixed;z-index:16;left:50%;bottom:25px;transform:translate(-50%);padding:12px 14px;display:flex;align-items:center;gap:14px;min-width:min(94vw,460px);justify-content:space-between}.near-zone small,.near-zone strong{display:block}.near-zone small{color:#64748b}.compact{padding:9px 12px;box-shadow:0 4px #0f766e}.compact kbd{background:#0f172a;border-radius:5px;padding:2px 5px}.mobile-controls{position:fixed;z-index:14;left:15px;bottom:15px;display:none;gap:20px;align-items:flex-end}.dpad{display:grid;grid-template-columns:repeat(3,48px);gap:5px}.move-button,.action-button{border:1px solid rgba(255,255,255,.55);background:#0f172ab8;color:#fff;border-radius:14px;font-size:18px;font-weight:900;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);touch-action:none}.move-button{height:48px}.action-button{width:64px;height:64px;background:#14b8a6e6}.action-button:disabled{opacity:.38}.modal-card{width:min(690px,100%);padding:28px;position:relative}.close-button{position:absolute;right:16px;top:16px;width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;background:#e2e8f0;color:#475569;cursor:pointer}.help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.help-grid div{padding:14px;background:#f8fafc;border-radius:16px;border:1px solid #e2e8f0}.help-grid p{color:#64748b;font-size:14px;line-height:1.5;margin-bottom:0}.activity-card{width:min(1000px,100%);max-height:min(92vh,820px);overflow:auto;padding:25px;position:relative}.activity-heading{display:flex;gap:14px;align-items:center;padding-right:36px}.activity-heading small{color:#64748b;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.12em}.activity-heading h2{margin:2px 0 0}.activity-heading p{margin:3px 0;color:#64748b;font-size:14px}.activity-icon{display:grid;place-items:center;width:55px;height:55px;border-radius:18px;color:#fff;font-size:26px;font-weight:900}.activity-grid{display:grid;grid-template-columns:minmax(280px,.95fr) minmax(300px,1.05fr);gap:18px;margin-top:20px}.shape-preview{height:350px;border-radius:21px;background:linear-gradient(145deg,#e0f2fe,#ede9fe);overflow:hidden}.market-preview,.treasure-preview{height:350px;border-radius:21px;display:flex;align-items:center;justify-content:center;gap:22px;background:linear-gradient(145deg,#fef3c7,#ffedd5);font-size:66px}.treasure-preview{background:linear-gradient(145deg,#dcfce7,#fef9c3);font-size:100px}.mission-progress{display:inline-block;padding:7px 10px;background:#ecfeff;color:#0f766e;border-radius:999px;font-size:13px}.mission-progress strong{color:#15803d}.activity-grid h3{font-size:20px;line-height:1.5;color:#0f172a}.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.choice-button{padding:15px;border:2px solid #cbd5e1;background:#fff;border-radius:14px;font:inherit;font-size:17px;font-weight:900;cursor:pointer}.choice-button:hover{border-color:#14b8a6;background:#f0fdfa}.choice-button.correct{border-color:#16a34a;background:#dcfce7;color:#166534}.choice-button.wrong{border-color:#ef4444;background:#fee2e2;color:#991b1b}.feedback-box{padding:12px 14px;margin:14px 0;border-radius:15px;font-size:14px}.feedback-box p{margin:5px 0 0;line-height:1.5}.feedback-box.correct{background:#dcfce7;color:#166534}.feedback-box.wrong{background:#fef2f2;color:#991b1b}.finish-card{width:min(560px,100%);padding:30px;text-align:center}.trophy{font-size:86px}.finish-card p{color:#64748b;line-height:1.55}.finish-stats{display:flex;gap:10px;justify-content:center;margin:17px 0;font-weight:900}.finish-stats span{background:#f8fafc;border-radius:999px;padding:8px 11px}.finish-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}@media(max-width:760px){.zone-progress{display:none}.near-zone{bottom:95px}.mobile-controls{display:flex}.activity-grid{grid-template-columns:1fr}.shape-preview,.market-preview,.treasure-preview{height:240px}.help-grid{grid-template-columns:1fr}.activity-card{padding:18px}.choices{gap:7px}.choice-button{padding:12px}.top-left{top:10px;left:10px}.help-button{top:10px;right:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.developer-credit{position:fixed;right:12px;bottom:9px;z-index:13;padding:4px 7px;border-radius:999px;background:#0f172a7a;color:#ffffffc7;font-size:10px;font-weight:800;letter-spacing:.04em;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none}@media(max-width:760px){.developer-credit{right:8px;bottom:7px;font-size:9px;padding:3px 6px}}.mode-toggle-row{display:flex;gap:10px;margin:16px 0 4px;flex-wrap:wrap}.mode-toggle-button{border:2px solid #cbd5e1;background:#fff;padding:10px 14px;border-radius:999px;font:inherit;font-weight:900;color:#334155;cursor:pointer}.mode-toggle-button.active{background:linear-gradient(135deg,#06b6d4,#8b5cf6);border-color:transparent;color:#fff;box-shadow:0 10px 24px #0ea5e92e}.single-column-grid{grid-template-columns:1fr}.explorer-panel{display:grid;gap:16px}.explorer-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.shape-chip-row{display:flex;gap:8px;flex-wrap:wrap}.shape-chip{border:2px solid #cbd5e1;background:#fff;padding:9px 12px;border-radius:999px;font:inherit;font-size:13px;font-weight:900;color:#334155;cursor:pointer}.shape-chip.active{background:#0f172a;border-color:#0f172a;color:#fff}.explorer-actions{display:flex;gap:8px;flex-wrap:wrap}.mini-toggle{border:0;background:#e0f2fe;color:#0369a1;padding:10px 12px;border-radius:999px;font:inherit;font-size:13px;font-weight:900;cursor:pointer}.mini-toggle.active{background:#cffafe;color:#0f766e}.explorer-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.explorer-visual-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:22px;padding:14px}.explorer-section-label{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#0f766e;margin-bottom:10px}.shape-preview canvas{cursor:grab}.shape-preview canvas:active{cursor:grabbing}.net-preview-shell{height:350px;border-radius:21px;background:linear-gradient(145deg,#eff6ff,#ecfeff);display:grid;place-items:center;overflow:hidden;padding:10px}.net-svg{width:100%;height:100%}.net-slider-label{display:block;margin-top:8px;color:#334155;font-size:13px;font-weight:800}.net-slider{width:100%;accent-color:#0ea5e9;margin-top:8px}.explorer-note{font-size:13px;line-height:1.55;color:#64748b;margin:10px 0 0}.shape-insight-card{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:20px;background:linear-gradient(135deg,#e0f2fe,#ede9fe);border:1px solid #bfdbfe}.shape-insight-card small{display:block;color:#475569;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.1em}.shape-insight-card h4{font-family:Fredoka;font-size:24px;margin:4px 0 6px;color:#0f172a}.shape-insight-card p{margin:0;color:#475569;line-height:1.55;max-width:640px}.fact-badges{display:flex;gap:8px;flex-wrap:wrap}.fact-badges span{padding:8px 11px;border-radius:999px;background:#fff;color:#334155;font-size:13px;font-weight:800;border:1px solid #cbd5e1}.shape-explanation-card{padding:14px 16px;border-radius:20px;background:#fff7ed;border:1px solid #fed7aa}.shape-explanation-card h5{margin:0 0 8px;font-size:17px;color:#9a3412}.shape-explanation-card ul{margin:0 0 8px 18px;color:#7c2d12;line-height:1.6}.shape-explanation-card p{margin:0;color:#9a3412;line-height:1.6}.shape-explanation-card li+li{margin-top:4px}@media(max-width:760px){.explorer-card-grid{grid-template-columns:1fr}.net-preview-shell{height:240px}.shape-insight-card{display:block}.shape-insight-card h4{font-size:22px}.fact-badges{margin-top:10px}.mode-toggle-row{margin-top:14px}.mode-toggle-button{font-size:13px}}.net-puzzle-card{padding:15px 16px;border-radius:20px;background:#f8fafc;border:1px solid #dbeafe}.puzzle-slot-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:9px;margin:13px 0}.net-slot{min-height:78px;border:2px dashed #93c5fd;border-radius:14px;background:#eff6ff;color:#475569;padding:9px;display:flex;flex-direction:column;justify-content:center;gap:4px;cursor:pointer}.net-slot small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#64748b}.net-slot strong{font-size:13px}.net-slot.filled{border-style:solid;border-color:#60a5fa;background:#dbeafe;color:#1e3a8a}.piece-bank{display:flex;gap:8px;flex-wrap:wrap;min-height:46px}.net-piece{border:2px solid #fdba74;background:#fff7ed;color:#9a3412;border-radius:999px;padding:9px 12px;font:inherit;font-size:13px;font-weight:900;cursor:grab}.net-piece.selected{outline:3px solid #22d3ee;background:#ecfeff;color:#0e7490}.net-piece:active{cursor:grabbing}.puzzle-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.puzzle-message{margin-top:11px;padding:9px 11px;border-radius:12px;background:#fff;color:#475569;font-size:13px;font-weight:800;border:1px solid #e2e8f0}.puzzle-message.success{background:#dcfce7;color:#166534;border-color:#86efac}.measurement-explorer{display:grid;gap:14px}.measurement-card{padding:15px 16px;border:1px solid #fbcfe8;background:#fff;border-radius:20px}.object-select-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.object-chip{border:2px solid #fbcfe8;background:#fdf2f8;border-radius:999px;padding:8px 11px;font:inherit;font-size:13px;font-weight:900;color:#9d174d;cursor:pointer}.object-chip span{margin-right:5px}.object-chip.active{background:#ec4899;color:#fff;border-color:#db2777}.ruler-stage{position:relative;height:180px;padding:56px 18px 18px;margin:10px 0 6px;background:linear-gradient(145deg,#fdf2f8,#fff7ed);border-radius:18px;border:1px solid #fbcfe8;overflow:hidden}.ruler-object{position:absolute;top:27px;height:36px;border-radius:12px;background:linear-gradient(135deg,#38bdf8,#8b5cf6);color:#fff;display:flex;gap:6px;align-items:center;justify-content:center;min-width:35px;padding:0 7px;box-shadow:0 7px 18px #4f46e533;transition:left .24s ease,width .24s ease}.ruler-object span{font-size:23px}.ruler-object strong{font-size:12px;white-space:nowrap}.ruler-line{position:absolute;left:20px;right:20px;bottom:42px;height:54px;border-bottom:8px solid #f59e0b;background:#fef3c7;border-radius:9px 9px 4px 4px}.ruler-tick{position:absolute;bottom:0;width:2px;height:20px;background:#78350f}.ruler-tick.major{height:33px;width:3px}.ruler-tick span{position:absolute;bottom:-27px;left:50%;transform:translate(-50%);font-size:11px;font-weight:900;color:#78350f}.ruler-unit{position:absolute;right:18px;bottom:7px;font-size:12px;font-weight:900;color:#9a3412}.measurement-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.measurement-result-grid div{padding:10px;background:#fdf2f8;border:1px solid #fbcfe8;border-radius:13px}.measurement-result-grid small,.measurement-result-grid b{display:block}.measurement-result-grid small{font-size:11px;color:#9d174d;text-transform:uppercase;letter-spacing:.07em;font-weight:900}.measurement-result-grid b{margin-top:4px;color:#831843}.compare-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.compare-select-grid label{font-size:12px;font-weight:900;color:#9d174d}.compare-select-grid select{display:block;width:100%;margin-top:5px;padding:10px;border:2px solid #fbcfe8;border-radius:12px;background:#fff;font:inherit;font-weight:800;color:#831843}.compare-bars{display:grid;gap:12px}.compare-bars>div{display:grid;grid-template-columns:130px 1fr 60px;align-items:center;gap:10px}.compare-bars span,.compare-bars b{font-size:13px;color:#475569}.compare-bar{height:24px;border-radius:999px;background:#e2e8f0;overflow:hidden}.compare-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(135deg,#ec4899,#8b5cf6);transition:width .28s ease}.measurement-callout{margin-top:14px;padding:12px;border-radius:14px;background:#ecfeff;color:#0e7490;font-weight:900}.conversion-display{display:flex;align-items:center;justify-content:center;gap:18px;padding:18px;margin:12px 0;background:linear-gradient(135deg,#fdf2f8,#eff6ff);border-radius:18px;color:#831843;font-size:27px}.conversion-display span{color:#64748b}.millimeter-strip{display:flex;flex-wrap:wrap;gap:3px;padding:11px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa}.millimeter-strip i{width:5px;height:22px;background:#f59e0b;border-radius:999px}.measurement-preview{height:350px;border-radius:21px;background:linear-gradient(145deg,#fdf2f8,#fff7ed);padding:14px;overflow:hidden}.measurement-preview p{text-align:center;color:#9d174d;font-size:13px;font-weight:800}.compare-question-preview,.conversion-question-preview{display:flex;align-items:center;justify-content:center;gap:20px}.compare-question-preview div{display:grid;place-items:center;gap:8px;padding:20px;background:#fff;border-radius:20px;border:1px solid #fbcfe8}.compare-question-preview span{font-size:64px}.compare-question-preview b{font-size:18px;color:#831843}.conversion-question-preview{flex-direction:column}.conversion-question-preview span{font-size:82px}.conversion-question-preview strong{font-size:34px;color:#831843}.conversion-question-preview b{font-size:24px;color:#475569}@media(max-width:760px){.measurement-result-grid,.compare-select-grid{grid-template-columns:1fr}.compare-bars>div{grid-template-columns:95px 1fr 48px}.measurement-preview{height:240px}.ruler-stage{height:170px}.conversion-display{font-size:22px;gap:12px}.puzzle-slot-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.start-scroll-shell{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mobile-start-note{display:none;margin-top:14px;padding:9px 11px;border-radius:13px;background:#ecfeff;border:1px solid #a5f3fc;color:#0e7490;font-size:12px;font-weight:900;line-height:1.45}.mobile-control-group,.mobile-action-stack{display:flex;flex-direction:column;gap:6px}.mobile-control-label{align-self:center;padding:3px 8px;border-radius:999px;background:#0f172a94;color:#ffffffe6;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.mobile-action-stack{align-items:center}.sprint-button{width:52px;height:45px;background:#f59e0be6;border-color:#fef3c7cc;font-size:20px}.action-button{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;gap:2px}.action-button span{font-size:9px;letter-spacing:.08em}.action-button b{font-size:19px}.move-button,.action-button{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.move-button:active,.action-button:active{transform:scale(.94);filter:brightness(1.13)}@media(max-width:900px),(pointer:coarse){.mobile-controls{display:flex;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));justify-content:space-between;align-items:flex-end;gap:12px;z-index:30;pointer-events:none}.mobile-controls button{pointer-events:auto}.near-zone{bottom:126px;min-width:min(92vw,430px)}.zone-progress{display:none}.developer-credit{bottom:max(5px,env(safe-area-inset-bottom));right:max(6px,env(safe-area-inset-right))}}@media(max-width:760px){.start-backdrop{align-items:flex-start;padding:10px 10px 20px}.compact-start-card{padding:18px 16px 16px;margin:auto 0;max-height:none}.title-icon{width:58px;height:58px;border-radius:18px;margin-bottom:8px}.title-icon svg{width:32px;height:32px}.eyebrow{font-size:11px;padding:5px 8px}.start-card h1{font-size:clamp(30px,10vw,42px);margin:8px 0}.start-card p{font-size:14px;line-height:1.46;margin:7px 0}.input-label{margin:12px 0 5px;font-size:11px}.start-card input{padding:12px 13px;border-radius:12px}.start-card .start-main-button{margin-top:12px;position:sticky;bottom:0;z-index:2}.mobile-start-note{display:block}.feature-row{margin-top:12px;gap:5px}.feature-row span{font-size:10px;padding:5px 7px}.dpad{grid-template-columns:repeat(3,46px);gap:5px}.move-button{height:46px}.action-button{width:62px;height:62px}.sprint-button{width:50px;height:42px}.modal-card{max-height:92vh;overflow:auto;padding:19px 17px}.help-grid{gap:8px;margin:13px 0}.help-grid div{padding:11px}.help-grid p{font-size:13px;margin-top:5px}.developer-credit{font-size:8px;padding:3px 5px}}@media(max-height:560px)and (orientation:landscape){.start-backdrop{align-items:flex-start;padding:8px}.compact-start-card{width:min(740px,100%);padding:14px 16px}.title-icon{display:none}.start-card h1{font-size:30px;margin:5px 0}.start-card p{font-size:13px;line-height:1.35;margin:4px 0}.input-label{margin:8px 0 4px}.start-card input{padding:9px 11px}.start-card .start-main-button{margin-top:9px;padding:10px 14px}.mobile-start-note{margin-top:9px;padding:7px 9px}.feature-row{margin-top:8px}.mobile-controls{bottom:max(7px,env(safe-area-inset-bottom));left:max(7px,env(safe-area-inset-left));right:max(7px,env(safe-area-inset-right))}.dpad{grid-template-columns:repeat(3,40px);gap:4px}.move-button{height:40px;font-size:16px}.action-button{width:54px;height:54px}.sprint-button{width:46px;height:36px}.near-zone{bottom:94px;padding:9px 11px}.developer-credit{display:none}}
