@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@400;600;700&family=Nunito:wght@500;700;800;900&display=swap";.guide-coach{position:fixed;left:16px;bottom:112px;z-index:18;width:min(440px,calc(100vw - 32px));display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:22px;background:#fffffff0;border:1px solid rgba(255,255,255,.75);box-shadow:0 18px 42px #0f172a38;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}.guide-coach-avatar{flex:0 0 auto;width:44px;height:44px;border-radius:16px;display:grid;place-items:center;font-weight:1000;color:#fff;background:linear-gradient(135deg,#0f766e,#14b8a6);box-shadow:0 10px 22px #14b8a647}.guide-coach-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:1000;color:#0f766e;letter-spacing:.01em}.guide-coach p{margin:5px 0 0;color:#334155;font-size:13px;font-weight:760;line-height:1.45}.guide-coach-active{border-color:#7c3aed3d}.guide-coach-active .guide-coach-avatar{background:linear-gradient(135deg,#7c3aed,#0ea5e9)}.guide-coach-active .guide-coach-title{color:#6d28d9}.guide-coach-info .guide-coach-avatar{background:linear-gradient(135deg,#0ea5e9,#14b8a6)}.guide-coach-success{border-color:#22c55e3d}.guide-coach-success .guide-coach-avatar{background:linear-gradient(135deg,#16a34a,#22c55e)}.guide-coach-success .guide-coach-title{color:#15803d}@media(max-width:760px){.guide-coach{left:10px;right:10px;bottom:176px;width:auto;padding:10px 12px;border-radius:18px}.guide-coach-avatar{width:38px;height:38px;border-radius:14px}.guide-coach p{font-size:12px}}.learning-lab-shell{width:min(1180px,96vw);max-height:92vh;overflow:auto}.learning-lab-header p{max-width:820px}.learning-lab-grid{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(360px,1.05fr);gap:18px}.learning-stage-card,.learning-panel-card{background:#fffffff0;border:1px solid rgba(226,232,240,.95);border-radius:24px;padding:16px;box-shadow:0 18px 38px #0f172a24}.learning-shape-canvas,.learning-measurement-canvas{height:min(52vh,430px);border-radius:20px;overflow:hidden;background:linear-gradient(145deg,#e0f2fe,#ede9fe)}.learning-phase-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.learning-phase-tabs button{border:2px solid #dbeafe;background:#fff;color:#334155;border-radius:999px;padding:9px 11px;font:inherit;font-size:12px;font-weight:900;display:inline-flex;gap:6px;align-items:center;cursor:pointer}.learning-phase-tabs button span{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:#e0f2fe;color:#0369a1;font-size:11px}.learning-phase-tabs button.active{background:#0f172a;color:#fff;border-color:#0f172a}.learning-phase-tabs button.active span{background:#14b8a6;color:#fff}.learning-content-block{display:grid;gap:12px}.learning-section-label{font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#0f766e}.learning-chip-row{display:flex;gap:8px;flex-wrap:wrap}.learning-chip-row button{border:2px solid #cbd5e1;background:#f8fafc;border-radius:999px;padding:9px 12px;font:inherit;font-size:13px;font-weight:900;color:#334155;cursor:pointer}.learning-chip-row button.active{background:linear-gradient(135deg,#14b8a6,#0ea5e9);border-color:transparent;color:#fff}.learning-content-block h3{margin:2px 0;font-family:Fredoka,system-ui,sans-serif;color:#0f172a;font-size:26px}.learning-content-block p{margin:0;color:#475569;line-height:1.6}.learning-fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.learning-fact-grid div{padding:12px;border-radius:17px;background:#eff6ff;border:1px solid #bfdbfe}.learning-fact-grid small,.learning-fact-grid b{display:block}.learning-fact-grid small{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#2563eb}.learning-fact-grid b{font-size:22px;color:#0f172a}.learning-context-note{padding:12px 14px;border-radius:16px;background:#f0fdfa;border:1px solid #99f6e4;color:#0f766e;font-size:14px;line-height:1.55}.learning-explain-box{padding:14px;border-radius:17px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.learning-explain-box p{color:#9a3412}.learning-net-card{height:260px;border-radius:20px;background:linear-gradient(145deg,#eff6ff,#ecfeff);display:grid;place-items:center;overflow:hidden;border:1px solid #bfdbfe}.learning-net-svg{width:100%;height:100%}.learning-slider-label{font-size:13px;color:#334155;font-weight:900}.learning-slider{width:100%;accent-color:#0ea5e9}.learning-3d-label{background:#0f172ad1;color:#fff;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.learning-ruler-stage,.learning-conversion-stage{height:100%;min-height:270px}.learning-compare-preview{height:100%;min-height:270px;display:grid;align-content:center;gap:16px;padding:24px;background:linear-gradient(145deg,#fdf2f8,#eff6ff);border-radius:20px}.learning-compare-preview>div{display:grid;grid-template-columns:150px 1fr 80px;align-items:center;gap:12px}.learning-compare-preview span,.learning-compare-preview b{font-weight:900;color:#334155}.learning-compare-bar{height:28px;background:#e2e8f0;border-radius:999px;overflow:hidden}.learning-compare-bar i{display:block;height:100%;background:linear-gradient(135deg,#ec4899,#8b5cf6);border-radius:999px}.learning-scale-card{height:100%;min-height:270px;display:grid;place-items:center;align-content:center;gap:12px;padding:22px;background:linear-gradient(145deg,#ecfeff,#fff7ed);border-radius:20px;text-align:center}.learning-scale-ship{font-size:70px}.learning-scale-card div:not(.learning-scale-ship){padding:10px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;min-width:150px}.learning-scale-card small,.learning-scale-card b{display:block}.learning-scale-card small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#64748b}.learning-scale-card b{font-size:20px;color:#0f172a}.learning-scale-card p{margin:0;color:#0f766e;font-weight:900}.learning-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.learning-select-grid label{font-size:12px;font-weight:900;color:#0f766e}.learning-select-grid select{display:block;width:100%;margin-top:5px;padding:10px;border:2px solid #ccfbf1;border-radius:13px;background:#fff;font:inherit;font-weight:800;color:#0f172a}.gallery-measurement-canvas .learning-scale-card,.gallery-measurement-canvas .learning-compare-preview{border-radius:0}@media(max-width:860px){.learning-lab-grid{grid-template-columns:1fr}.learning-shape-canvas,.learning-measurement-canvas{height:300px}.learning-fact-grid{grid-template-columns:1fr}.learning-compare-preview>div{grid-template-columns:1fr}.learning-phase-tabs button{font-size:11px;padding:8px 9px}.learning-net-card{height:210px}}html,body,#root{width:100%;height:100%;overscroll-behavior:none}.app-shell,.world-canvas{min-height:100dvh}.world-canvas canvas{touch-action:none}.learning-lab-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));overflow:auto;-webkit-overflow-scrolling:touch}.learning-lab-shell{max-height:calc(100dvh - max(20px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));overflow:auto;-webkit-overflow-scrolling:touch}.learning-lab-grid{align-items:stretch;min-height:0}.learning-stage-card,.learning-panel-card{min-height:0}.learning-panel-card{display:flex;flex-direction:column;overflow:visible}.learning-content-block{min-height:0}.geometry-choice-list{padding-bottom:4px}.geometry-choice-list button{min-height:48px}.geometry-nav-row{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.learning-lab-header{position:sticky;top:0;z-index:5}.geometry-lab-exit-actions{flex-shrink:0}.geometry-lab-exit-button,.geometry-lab-icon-close{touch-action:manipulation}.learning-phase-tabs{position:sticky;top:0;z-index:4;background:#fffffff0;padding-bottom:8px;border-radius:18px}.gallery-badge-unlocked{margin-bottom:6px}@media(max-width:860px),(pointer:coarse){.gallery-lab-overlay.learning-lab-overlay{padding:0;background:#020617eb}.gallery-lab-shell.learning-lab-shell{width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;display:flex;flex-direction:column;overflow:hidden}.gallery-lab-header.learning-lab-header{display:flex;align-items:flex-start;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;border-radius:0}.gallery-lab-header.learning-lab-header h2{font-size:clamp(20px,5vw,26px);margin:4px 0}.gallery-lab-header.learning-lab-header p{font-size:12px;line-height:1.35}.gallery-lab-header.learning-lab-header span{font-size:10px;padding:5px 8px}.geometry-lab-exit-actions{margin-top:0;gap:6px}.geometry-lab-exit-button{padding:9px 10px;border-radius:12px}.geometry-lab-exit-button span{display:none}.geometry-lab-icon-close{width:38px;height:38px;border-radius:12px}.learning-lab-grid{display:flex;flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:10px 10px calc(18px + env(safe-area-inset-bottom));gap:10px}.learning-stage-card,.learning-panel-card{border-radius:18px;padding:10px}.learning-panel-card{flex:1 0 auto;overflow:visible}.learning-shape-canvas,.learning-measurement-canvas{height:clamp(210px,38dvh,320px);border-radius:16px}.learning-phase-tabs{gap:6px;margin-bottom:10px;padding:2px 0 8px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.learning-phase-tabs::-webkit-scrollbar{display:none}.learning-phase-tabs button{flex:0 0 auto;font-size:11px;padding:8px 9px}.learning-phase-tabs button span{width:20px;height:20px}.learning-content-block h3{font-size:21px;line-height:1.25}.learning-content-block p,.learning-context-note,.learning-explain-box{font-size:13px}.learning-fact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.learning-fact-grid div{padding:9px;border-radius:14px}.learning-fact-grid b{font-size:18px}.learning-chip-row{gap:6px}.learning-chip-row button{padding:8px 9px;font-size:12px}.learning-net-card{height:210px}.learning-select-grid{grid-template-columns:1fr}.geometry-task-meta{gap:6px;padding:8px}.geometry-task-meta b{font-size:14px}.geometry-task-meta span{font-size:11px}.geometry-observation{padding:9px;font-size:12px}.geometry-choice-list{gap:8px}.geometry-choice-list button{padding:12px 11px;font-size:14px;line-height:1.25;border-radius:14px}.geometry-choice-list button span{width:27px;height:27px;flex:0 0 auto}.geometry-feedback{font-size:13px}.geometry-nav-row{justify-content:stretch}.geometry-nav-row button{width:100%;justify-content:center;min-height:46px}.gallery-badge-unlocked{font-size:13px}}@media(max-width:700px){.learning-lab-grid{display:block}.learning-stage-card{margin-bottom:10px}.learning-panel-card{min-height:auto}.learning-ruler-stage,.learning-conversion-stage,.learning-compare-preview,.learning-scale-card{min-height:230px}.learning-compare-preview>div{grid-template-columns:1fr;gap:7px}.gallery-ruler-object b{display:none}.geometry-choice-list button{font-size:13px}.gallery-toast{left:10px;right:10px;bottom:calc(128px + env(safe-area-inset-bottom));transform:none;text-align:center}.near-zone{bottom:calc(156px + env(safe-area-inset-bottom))}.developer-credit{display:none}}@media(max-height:560px)and (orientation:landscape){.gallery-lab-header.learning-lab-header{padding:calc(6px + env(safe-area-inset-top)) 10px 6px}.gallery-lab-header.learning-lab-header p{display:none}.gallery-lab-header.learning-lab-header h2{font-size:18px}.learning-lab-grid{display:grid;grid-template-columns:minmax(220px,36%) minmax(0,1fr);padding:7px 7px calc(10px + env(safe-area-inset-bottom));gap:7px}.learning-shape-canvas,.learning-measurement-canvas{height:calc(100dvh - 112px);min-height:190px}.learning-panel-card{max-height:calc(100dvh - 77px);overflow:auto;-webkit-overflow-scrolling:touch}.learning-phase-tabs{position:sticky;top:0}.geometry-choice-list button{min-height:38px;padding:8px 9px;font-size:12px}.geometry-observation{display:none}.learning-content-block h3{font-size:17px}.geometry-nav-row button{min-height:40px}.mobile-controls{bottom:max(6px,env(safe-area-inset-bottom));left:max(6px,env(safe-area-inset-left));right:max(6px,env(safe-area-inset-right))}.developer-credit{display:none}}@media(max-width:900px),(pointer:coarse){.mobile-controls{z-index:42}.mobile-action-stack{gap:5px}.jump-button{width:52px;height:43px;border-color:#bfdbfecc;background:#3b82f6f0;font-size:21px}.sprint-button{height:43px}.camera-reset-button,.action-button{touch-action:manipulation}.mobile-controls button{box-shadow:0 8px 22px #0f172a38}}.gallery-lab-overlay.learning-lab-overlay{overflow:hidden!important}.gallery-lab-shell.learning-lab-shell{width:min(1720px,98vw)!important;height:min(96dvh,940px)!important;max-height:96dvh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.gallery-lab-header.learning-lab-header{position:relative!important;top:auto!important;flex:0 0 auto!important;z-index:8!important}.learning-lab-grid{flex:1 1 auto!important;min-height:0!important}.learning-stage-card,.learning-panel-card{min-height:0!important}.learning-panel-card{overscroll-behavior:contain!important;scrollbar-gutter:stable both-edges}.learning-panel-card::-webkit-scrollbar{width:10px}.learning-panel-card::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.learning-panel-card::-webkit-scrollbar-track{background:#e2e8f08c;border-radius:999px}.learning-panel-challenge{overflow-y:auto!important;overflow-x:hidden!important;max-height:100%!important;padding-bottom:calc(22px + env(safe-area-inset-bottom))!important}.learning-challenge-block{padding-bottom:calc(86px + env(safe-area-inset-bottom))!important}.learning-challenge-block .geometry-choice-list{overflow:visible!important;padding-bottom:10px!important}.learning-challenge-block .geometry-choice-list button{min-height:54px}.learning-challenge-block .geometry-nav-row{position:sticky;bottom:0;z-index:6;margin-top:14px;padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#fff0,#fffffff5 28%,#fffffffc)}@media(min-width:861px){.learning-lab-grid{display:grid!important;grid-template-columns:minmax(320px,.95fr) minmax(360px,1.05fr)!important;overflow:hidden!important;align-items:stretch!important;padding:18px!important}.learning-panel-card{overflow-y:auto!important;overflow-x:hidden!important;max-height:100%!important}.learning-stage-card{overflow:hidden!important}.learning-challenge-layout .learning-shape-canvas,.learning-challenge-layout .learning-measurement-canvas{height:min(50dvh,430px)!important}}@media(min-width:861px)and (max-height:820px){.gallery-lab-shell.learning-lab-shell{height:100dvh!important;max-height:100dvh!important;width:100vw!important;border-radius:0!important}.gallery-lab-header.learning-lab-header{padding:10px 14px!important}.gallery-lab-header.learning-lab-header p{font-size:14px!important;line-height:1.25!important;margin:4px 0 0!important}.gallery-lab-header.learning-lab-header h2{font-size:clamp(28px,3.2vw,44px)!important;margin:5px 0 0!important}.learning-lab-grid{padding:12px!important;gap:12px!important}.learning-challenge-layout .learning-shape-canvas,.learning-challenge-layout .learning-measurement-canvas{height:calc(100dvh - 220px)!important;min-height:300px!important}.learning-challenge-block h3{font-size:clamp(24px,2.4vw,34px)!important;line-height:1.22!important}.learning-challenge-block .geometry-observation{padding:10px 12px!important}.learning-challenge-block .geometry-choice-list button{min-height:50px!important;padding:11px 13px!important}}@media(max-width:860px){.gallery-lab-overlay.learning-lab-overlay{padding:0!important;overflow:hidden!important}.gallery-lab-shell.learning-lab-shell{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;overflow:hidden!important}.gallery-lab-header.learning-lab-header{padding:calc(8px + env(safe-area-inset-top)) 10px 8px!important}.learning-lab-grid{display:block!important;flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;padding:10px 10px calc(118px + env(safe-area-inset-bottom))!important}.learning-panel-card{overflow:visible!important;max-height:none!important}.learning-stage-card{margin-bottom:10px!important}.learning-challenge-block{padding-bottom:calc(132px + env(safe-area-inset-bottom))!important}.learning-challenge-block .geometry-nav-row{position:static!important;background:transparent!important;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}}@media(max-height:560px)and (orientation:landscape){.gallery-lab-shell.learning-lab-shell{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;overflow:hidden!important}.gallery-lab-header.learning-lab-header{padding:calc(5px + env(safe-area-inset-top)) 9px 5px!important}.gallery-lab-header.learning-lab-header p{display:none!important}.gallery-lab-header.learning-lab-header h2{font-size:18px!important;margin:2px 0 0!important}.learning-lab-grid{display:grid!important;grid-template-columns:minmax(210px,34%) minmax(0,1fr)!important;overflow:hidden!important;padding:6px 7px calc(8px + env(safe-area-inset-bottom))!important;gap:7px!important}.learning-stage-card,.learning-panel-card{min-height:0!important}.learning-panel-card{overflow-y:auto!important;overflow-x:hidden!important;max-height:100%!important}.learning-shape-canvas,.learning-measurement-canvas{height:calc(100dvh - 116px)!important;min-height:190px!important}.learning-challenge-block{padding-bottom:calc(86px + env(safe-area-inset-bottom))!important}.learning-challenge-block .geometry-choice-list button{min-height:36px!important;padding:7px 8px!important;font-size:12px!important}.learning-challenge-block h3{font-size:17px!important;line-height:1.15!important}}.learning-data-canvas{min-height:460px;border-radius:26px;background:linear-gradient(145deg,#ecfdf5,#eff6ff);border:1px solid rgba(34,197,94,.22);padding:18px;overflow:hidden;display:grid;align-items:center}.data-chart-stage{height:100%;min-height:360px;display:grid;grid-template-rows:auto 1fr auto;gap:14px}.data-chart-title{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:1000;color:#064e3b}.data-chart-title span{font-size:30px}.data-chart-bars{height:280px;display:flex;align-items:flex-end;justify-content:center;gap:18px;padding:18px 12px 8px;border-radius:22px;background:#ffffffbd;border:1px solid rgba(187,247,208,.88)}.data-chart-column{height:100%;width:min(78px,18%);display:grid;grid-template-rows:28px 1fr 28px;align-items:end;justify-items:center;gap:6px}.data-chart-value{font-weight:1000;color:#0f172a;background:#dcfce7;border-radius:999px;padding:4px 9px;font-size:13px}.data-chart-bar{width:100%;border-radius:16px 16px 6px 6px;background:linear-gradient(180deg,#22c55e,#0f766e);box-shadow:0 12px 24px #0f766e2e;transition:height .25s ease,filter .25s ease}.data-chart-column:nth-child(2) .data-chart-bar{background:linear-gradient(180deg,#84cc16,#15803d)}.data-chart-column:nth-child(3) .data-chart-bar{background:linear-gradient(180deg,#06b6d4,#0369a1)}.data-chart-column:nth-child(4) .data-chart-bar{background:linear-gradient(180deg,#f59e0b,#c2410c)}.data-chart-column.highlight .data-chart-bar{filter:saturate(1.25) brightness(1.08);outline:4px solid rgba(250,204,21,.72)}.data-chart-label{font-weight:1000;color:#334155;font-size:13px;text-align:center;max-width:96px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-chart-unit{text-align:center;color:#047857;font-weight:900;font-size:13px}.data-table-card{width:min(640px,100%);margin:auto;background:#ffffffdb;border:1px solid rgba(187,247,208,.9);border-radius:22px;padding:16px}.data-table-row{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:15px;background:#f8fafc;margin-top:8px;font-weight:900;color:#334155}.data-table-row b{color:#047857}.data-mean-stage,.data-conclusion-stage{display:grid;gap:14px}.data-mean-card,.data-decision-card{background:#fff;border:1px solid #bbf7d0;border-radius:18px;padding:14px;text-align:center;color:#065f46;box-shadow:0 12px 24px #0f766e14}.data-mean-card b,.data-decision-card b{display:block;font-size:18px;color:#0f172a;margin-bottom:5px}.data-mean-card span{font-weight:1000;font-size:20px}.data-decision-card p{margin:0;line-height:1.55;font-weight:800}.data-learning-grid .learning-chip-row button{white-space:normal}.data-learning-grid .learning-fact-grid b{font-size:18px}@media(max-width:900px){.learning-data-canvas{min-height:330px;padding:12px}.data-chart-stage{min-height:280px}.data-chart-bars{height:210px;gap:10px;padding:12px 8px 6px}.data-chart-column{width:22%;grid-template-rows:24px 1fr 24px}.data-chart-label{font-size:11px}.data-table-row{padding:9px 10px}.data-mean-card span{font-size:16px}}@media(max-width:760px)and (orientation:landscape){.learning-data-canvas{min-height:calc(100dvh - 154px);padding:10px}.data-chart-bars{height:calc(100dvh - 252px);min-height:160px}.data-chart-title{font-size:13px}.data-chart-title span{font-size:22px}.data-chart-value{font-size:11px;padding:3px 7px}.data-chart-label{font-size:10px}.data-table-card{padding:10px}.data-table-row{padding:7px 9px;margin-top:6px}.data-mean-card,.data-decision-card{padding:10px}}.lab-entry-transition{position:fixed;top:0;right:0;bottom:0;left:0;z-index:58;border:0;background:radial-gradient(circle at center,#ec48992e,#020617d1);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#fff;display:grid;place-content:center;gap:7px;text-align:center;font:inherit;cursor:pointer;animation:lab-entry-fade .82s ease both}.lab-entry-transition span{font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#fbcfe8}.lab-entry-transition strong{font-family:Fredoka,system-ui,sans-serif;font-size:clamp(25px,5vw,48px)}.lab-entry-transition small{font-size:12px;color:#cbd5e1}.fraction-learning-canvas{background:linear-gradient(145deg,#fdf2f8,#eff6ff);padding:18px}.fraction-visual-stage{width:min(620px,100%);height:100%;min-height:320px;display:grid;place-items:center;align-content:center;gap:22px}.fraction-pie{--fraction-angle:180deg;width:min(190px,46vw);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#ec4899 0 var(--fraction-angle),#fff var(--fraction-angle) 360deg);border:8px solid #fff;box-shadow:0 14px 34px #8318432e,inset 0 0 0 2px #f9a8d4}.fraction-pie span{width:72px;height:72px;border-radius:50%;background:#0f172a;color:#fff;display:grid;place-items:center;font-weight:1000;font-size:21px;box-shadow:0 7px 18px #0f172a33}.fraction-bar{width:min(470px,94%);display:flex;gap:4px;padding:5px;border-radius:15px;background:#fff;border:2px solid #f9a8d4}.fraction-bar i{height:38px;flex:1;border-radius:9px;background:#f1f5f9}.fraction-bar i.filled{background:linear-gradient(135deg,#ec4899,#8b5cf6)}.fraction-equivalence{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.fraction-equivalence b{padding:8px 12px;border-radius:13px;background:#fff;color:#0f172a;border:1px solid #fbcfe8;font-size:18px}.fraction-equivalence span{color:#9d174d;font-weight:1000}.fraction-match-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fraction-match-grid div{padding:14px;text-align:center;border-radius:17px;background:#fdf2f8;border:1px solid #fbcfe8}.fraction-match-grid small,.fraction-match-grid b{display:block}.fraction-match-grid small{font-size:11px;font-weight:900;text-transform:uppercase;color:#9d174d}.fraction-match-grid b{font-size:24px;color:#0f172a;margin-top:4px}.fraction-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fraction-context-grid div{padding:13px;border-radius:16px;background:#fff;border:1px solid #e2e8f0}.fraction-context-grid b,.fraction-context-grid span{display:block}.fraction-context-grid b{color:#9d174d}.fraction-context-grid span{margin-top:4px;color:#475569;font-size:13px}@keyframes lab-entry-fade{0%{opacity:0}20%{opacity:1}to{opacity:1}}@media(max-width:700px){.fraction-visual-stage{min-height:250px;gap:13px}.fraction-pie{width:130px}.fraction-pie span{width:55px;height:55px;font-size:17px}.fraction-bar i{height:28px}.fraction-equivalence b{font-size:15px;padding:6px 9px}.fraction-context-grid{grid-template-columns:1fr}}@media(max-height:560px)and (orientation:landscape){.fraction-visual-stage{min-height:180px;gap:8px}.fraction-pie{width:100px;border-width:5px}.fraction-pie span{width:45px;height:45px;font-size:14px}.fraction-bar i{height:20px}.fraction-equivalence b{font-size:12px;padding:4px 7px}}.fraction-learning-grid .learning-stage-card{overscroll-behavior:contain;scrollbar-gutter:stable}.fraction-learning-canvas{overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;padding-bottom:28px!important}.fraction-learning-canvas:focus-visible{outline:3px solid #ec4899;outline-offset:-3px}.fraction-learning-canvas::-webkit-scrollbar,.fraction-learning-grid .learning-stage-card::-webkit-scrollbar{width:9px}.fraction-learning-canvas::-webkit-scrollbar-thumb,.fraction-learning-grid .learning-stage-card::-webkit-scrollbar-thumb{background:#f9a8d4;border-radius:999px}.fraction-learning-canvas::-webkit-scrollbar-track,.fraction-learning-grid .learning-stage-card::-webkit-scrollbar-track{background:#f1f5f9b3;border-radius:999px}@media(min-width:861px){.fraction-learning-grid .learning-stage-card{overflow-y:auto!important;overflow-x:hidden!important;max-height:100%!important}}@media(max-width:860px){.fraction-learning-grid .learning-stage-card{overflow:visible!important}.fraction-learning-canvas{height:auto!important;min-height:380px!important}.fraction-visual-stage{height:auto!important;min-height:330px!important}}@media(max-height:560px)and (orientation:landscape){.fraction-learning-grid .learning-stage-card{overflow-y:auto!important;overflow-x:hidden!important;max-height:100%!important}.fraction-learning-canvas{height:calc(100dvh - 116px)!important;min-height:190px!important}.fraction-visual-stage{min-height:250px!important;padding-bottom:12px}}html,body,#root{width:100%;height:100%;min-height:100%;overscroll-behavior:none;-webkit-text-size-adjust:100%}body{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#020617}button,input,select,textarea{font:inherit}.mobile-game-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:radial-gradient(circle at 20% 10%,rgba(14,165,233,.28),transparent 32%),#020617e6;color:#0f172a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-game-gate-card{width:min(620px,94vw);border:1px solid rgba(255,255,255,.7);border-radius:28px;padding:22px;background:#fffffff5;box-shadow:0 24px 70px #02061780;text-align:center}.mobile-game-gate-icon{width:72px;height:72px;margin:0 auto 10px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(135deg,#14b8a6,#2563eb);color:#fff;font-size:42px;font-weight:900}.mobile-game-gate-card h2{margin:8px 0;font-family:Fredoka,system-ui,sans-serif;font-size:clamp(25px,6vw,42px);color:#0f172a}.mobile-game-gate-card p{margin:0 auto 14px;max-width:520px;color:#475569;line-height:1.55;font-weight:800}.mobile-game-gate-card small{display:block;margin-top:12px;color:#64748b;line-height:1.45;font-weight:800}.mobile-game-gate-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.fullscreen-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:54px;height:45px;border:1px solid rgba(255,255,255,.55);border-radius:14px;background:#7c3aede6;color:#fff;font:inherit;font-weight:900;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.fullscreen-button span{font-size:18px;line-height:.9}.fullscreen-button small{font-size:7px;letter-spacing:.08em}.fullscreen-button:active{filter:brightness(1.12);transform:scale(.94)}@media(pointer:coarse)and (orientation:portrait){.mobile-controls,.gallery-near-zone,.leaderboard-drawer,.guide-coach-card,.gallery-guide-button,.gallery-progress{display:none!important}.world-canvas{filter:blur(5px) saturate(.8)}}@media(pointer:coarse)and (orientation:landscape){.app-shell,.world-canvas{width:100dvw;height:100dvh}.gallery-hud-card{top:max(6px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));padding:8px 10px;border-radius:18px;transform-origin:top left;transform:scale(.88)}.gallery-guide-button{top:max(7px,env(safe-area-inset-top));right:max(7px,env(safe-area-inset-right));padding:8px 10px;font-size:12px}.gallery-progress{top:max(54px,calc(env(safe-area-inset-top) + 48px));right:max(7px,env(safe-area-inset-right));width:210px;padding:9px;transform-origin:top right;transform:scale(.86)}.guide-coach-card{top:auto;right:max(92px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));left:auto;width:min(35vw,340px);max-height:78px;overflow:hidden;padding:8px 10px;border-radius:18px}.mobile-controls{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));align-items:flex-end}.mobile-control-label,.camera-swipe-note,.landscape-advice{display:none!important}.mobile-action-stack{gap:4px}.virtual-joystick{width:min(23dvh,124px);height:min(23dvh,124px);min-width:104px;min-height:104px}.virtual-joystick .move-button{width:40px;height:40px;border-radius:14px}.joystick-up{top:3px;left:calc(50% - 20px)}.joystick-down{bottom:3px;left:calc(50% - 20px)}.joystick-left{top:calc(50% - 20px);left:3px}.joystick-right{top:calc(50% - 20px);right:3px}.joystick-center{top:calc(50% - 16px);left:calc(50% - 16px);width:32px;height:32px}.sprint-button,.jump-button,.camera-reset-button,.fullscreen-button{width:44px!important;height:36px!important;border-radius:13px;font-size:16px}.action-button{width:64px;height:50px;border-radius:15px}.action-button span{font-size:7px}.action-button b{font-size:16px}.near-zone.gallery-near-zone{bottom:max(70px,calc(env(safe-area-inset-bottom) + 68px));left:50%;min-width:min(70vw,440px);padding:8px 10px}.leaderboard-toggle{right:max(7px,env(safe-area-inset-right));bottom:max(66px,calc(env(safe-area-inset-bottom) + 64px));transform:scale(.88);transform-origin:bottom right}.developer-credit{display:none}}@media(pointer:coarse)and (orientation:landscape)and (max-height:430px){.gallery-progress,.guide-coach-card{display:none}.gallery-guide-button{transform:scale(.86);transform-origin:top right}.gallery-hud-card{transform:scale(.78)}}.lazy-overlay-fallback{position:fixed;left:50%;top:50%;z-index:2600;transform:translate(-50%,-50%);padding:12px 16px;border-radius:18px;color:#0f766e;font-weight:900;pointer-events:none}@media(pointer:coarse)and (orientation:landscape){.mobile-controls{z-index:120!important;pointer-events:none}.mobile-control-group,.mobile-action-stack,.mobile-controls button,.virtual-joystick{pointer-events:auto}.guide-coach{left:50%!important;right:auto!important;top:max(7px,env(safe-area-inset-top))!important;bottom:auto!important;width:min(40dvw,330px)!important;max-height:54px!important;transform:translate(-50%) scale(.84);transform-origin:top center;padding:6px 9px!important;border-radius:16px!important;gap:7px!important;overflow:hidden!important;pointer-events:none!important;z-index:70!important;opacity:.9}.guide-coach-avatar{width:30px!important;height:30px!important;border-radius:11px!important;font-size:13px!important}.guide-coach-title{font-size:11px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guide-coach p{margin-top:2px!important;font-size:10px!important;line-height:1.2!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.near-zone.gallery-near-zone{top:max(48px,calc(env(safe-area-inset-top) + 44px))!important;bottom:auto!important;left:50%!important;right:auto!important;min-width:0!important;width:min(42dvw,370px)!important;max-width:min(42dvw,370px)!important;padding:7px 9px!important;border-radius:16px!important;transform:translate(-50%) scale(.84)!important;transform-origin:top center;z-index:80!important}.near-zone.gallery-near-zone div{min-width:0;overflow:hidden}.near-zone.gallery-near-zone small,.near-zone.gallery-near-zone strong{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.near-zone.gallery-near-zone small{font-size:9px}.near-zone.gallery-near-zone strong{font-size:11px}.near-zone.gallery-near-zone .primary-button{flex:0 0 auto;padding:7px 9px!important;font-size:10px!important;border-radius:12px!important}.near-zone.gallery-near-zone kbd{display:none}.community-toggle,.leaderboard-toggle{right:max(7px,env(safe-area-inset-right))!important;bottom:max(70px,calc(env(safe-area-inset-bottom) + 66px))!important;transform:scale(.82);transform-origin:bottom right;z-index:85!important}.community-toggle span,.leaderboard-toggle span{display:none}.toast-message.gallery-toast{left:50%!important;right:auto!important;bottom:max(78px,calc(env(safe-area-inset-bottom) + 74px))!important;transform:translate(-50%) scale(.86)!important;width:min(46dvw,380px);max-height:46px;overflow:hidden;pointer-events:none;text-align:center;z-index:72}}@media(pointer:coarse)and (orientation:landscape)and (max-height:440px){.guide-coach{display:none!important}.near-zone.gallery-near-zone{top:max(7px,env(safe-area-inset-top))!important;width:min(34dvw,290px)!important;max-width:min(34dvw,290px)!important;transform:translate(-50%) scale(.78)!important}.near-zone.gallery-near-zone small,.near-zone.gallery-near-zone strong{display:none}}@media(pointer:coarse)and (orientation:landscape)and (max-width:780px){.gallery-guide-button,.gallery-progress,.near-zone.gallery-near-zone{display:none!important}}: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}.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}.compact{padding:9px 12px;box-shadow:0 4px #0f766e}.compact kbd{padding:2px 5px;border-radius:5px;background:#0f172a;color:#fff}.developer-credit{position:fixed;right:8px;bottom:6px;z-index:20;padding:4px 6px;border-radius:6px;background:#0f172a9e;color:#ffffffd9;font-size:9px;font-weight:900}.start-scroll-shell{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.start-card{width:min(650px,100%);padding:32px;text-align:center}.title-icon{display:flex;align-items:center;justify-content:center;width:76px;height:76px;margin:0 auto 12px;border-radius:24px;background:linear-gradient(135deg,#7c3aed,#f97316);color:#fff}.eyebrow{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:13px;font-weight:900}.start-card h1,.modal-card h2,.finish-card h2{font-family:Fredoka;color:#0f172a}.start-card h1{margin:10px 0 0;font-size:clamp(36px,7vw,60px)}.start-card h2{margin:-2px 0 8px;font-family:Fredoka;font-size:clamp(20px,3.4vw,29px);color:#7c3aed}.start-card p{margin:7px 0;color:#475569;line-height:1.6}.input-label{display:block;margin:16px 0 6px;text-align:left;color:#64748b;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.start-card input{width:100%;padding:14px 16px;border:2px solid #cbd5e1;border-radius:15px;outline:none;font:inherit;font-weight:900}.start-card input:focus{border-color:#14b8a6}.start-card .primary-button{width:100%;margin-top:16px}.feature-row{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-top:17px;color:#475569;font-size:12px;font-weight:900}.feature-row span{padding:6px 9px;border-radius:999px;background:#f1f5f9}.mobile-start-note{display:none;margin-top:12px;padding:8px 10px;border:1px solid #a5f3fc;border-radius:13px;background:#ecfeff;color:#0e7490;font-size:12px;font-weight:900;line-height:1.45}.zone-label,.npc-floating-text,.pet-name{white-space:nowrap;color:#fff;font-weight:900}.zone-label{padding:7px 11px;border-radius:8px;background:#0f172adb;font-size:12px;letter-spacing:.04em}.npc-floating-text{padding:8px 11px;border:1px solid rgba(255,255,255,.45);border-radius:13px;background:#0f172ae0;box-shadow:0 9px 19px #0f172a33;font-size:12px}.pet-name{padding:4px 7px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:#0f172ac7;font-size:10px}.pet-hint-bubble{position:relative;width:250px;padding:10px 12px;border:2px solid #facc15;border-radius:14px;background:#fffffff7;box-shadow:0 11px 20px #0f172a33;color:#422006;font-size:12px;font-weight:900;line-height:1.35}.pet-hint-bubble:after{position:absolute;bottom:-11px;left:50%;border-top:11px solid #facc15;border-right:10px solid transparent;border-left:10px solid transparent;content:"";transform:translate(-50%)}.hud-card{position:fixed;z-index:15;padding:12px 14px}.top-left{top:14px;left:14px}.hud-name{font-weight:900}.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;display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:#fff;box-shadow:0 8px 20px #0f172a33;cursor:pointer}.help-button{top:15px;right:15px;color:#0f766e}.zone-progress{position:fixed;top:72px;right:14px;z-index:15;width:220px;padding:12px}.progress-heading{display:flex;gap:7px;align-items:center;margin-bottom:7px;color:#0f766e;font-size:13px;font-weight:900}.zone-progress-item{display:flex;justify-content:space-between;padding:6px 0;border-top:1px dashed #cbd5e1;color:#334155;font-size:12px}.zone-progress-item span,.zone-progress-item b{font-weight:900}.zone-progress-item b{color:#15803d}.near-zone{position:fixed;bottom:25px;left:50%;z-index:16;display:flex;gap:14px;align-items:center;justify-content:space-between;min-width:min(94vw,490px);padding:12px 14px;transform:translate(-50%)}.near-zone small,.near-zone strong{display:block}.near-zone small{color:#64748b}.near-zone strong{max-width:280px}.mobile-controls{position:fixed;bottom:15px;left:15px;z-index:14;display:none;gap:20px;align-items:flex-end}.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}.dpad{display:grid;grid-template-columns:repeat(3,48px);gap:5px}.move-button,.action-button{border:1px solid rgba(255,255,255,.55);border-radius:14px;background:#0f172ab8;color:#fff;font-size:18px;font-weight:900;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);-webkit-tap-highlight-color:transparent}.move-button{height:48px}.action-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:68px;height:68px;gap:2px;background:#14b8a6e6;line-height:1.05}.action-button span{font-size:8px;letter-spacing:.04em}.action-button b{font-size:19px}.action-button:disabled{opacity:.38}.sprint-button{width:52px;height:45px;border-color:#fef3c7cc;background:#f59e0be6;font-size:20px}.move-button:active,.action-button:active{filter:brightness(1.13);transform:scale(.94)}.modal-card{position:relative;width:min(690px,100%);padding:28px}.close-button{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;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;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc}.help-grid p{margin-bottom:0;color:#64748b;font-size:14px;line-height:1.5}.dialog-hud{position:fixed;top:0;right:0;bottom:0;left:0;z-index:38;display:flex;flex-direction:column;justify-content:flex-end;padding:18px 18px 20px;pointer-events:none}.dialog-choice-panel,.dialog-box{pointer-events:auto}.dialog-choice-panel{display:grid;grid-template-columns:145px 1fr;gap:11px;align-items:stretch;width:min(840px,calc(100vw - 36px));margin:0 auto 11px}.dialog-visual{display:grid;place-items:center;min-height:86px;padding:11px;border:1px solid rgba(255,255,255,.28);border-radius:18px;background:#0f172ad1;box-shadow:0 10px 25px #0f172a38;color:#fff;font-size:31px;font-weight:900;letter-spacing:.04em;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.dialog-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rpg-choice{display:flex;gap:9px;align-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,.35);border-radius:14px;background:#0f172ad6;box-shadow:0 8px 18px #0f172a2e;color:#fff;font:inherit;font-weight:900;text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.rpg-choice span{display:grid;place-items:center;flex:0 0 auto;width:25px;height:25px;border-radius:8px;background:#f59e0b;color:#422006;font-size:12px}.rpg-choice:hover{background:#1e293bf5;transform:translateY(-1px)}.rpg-choice:disabled{cursor:default}.rpg-choice.correct{border-color:#86efac;background:#15803df0}.rpg-choice.wrong{border-color:#fda4af;background:#be123cf0}.dialog-box{position:relative;display:grid;grid-template-columns:100px 1fr;gap:15px;width:min(940px,calc(100vw - 36px));min-height:160px;margin:0 auto;padding:16px 52px 15px 16px;border:2px solid rgba(253,230,138,.72);border-radius:21px;background:#020617d1;box-shadow:0 16px 34px #02061752;color:#f8fafc;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.dialog-portrait{display:grid;place-items:center;min-height:100px;border:2px solid rgba(255,255,255,.52);border-radius:16px;background:linear-gradient(145deg,#fde68a,#fb923c);font-size:54px}.dialog-close{position:absolute;top:13px;right:14px;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:#ffffff24;color:#fff;cursor:pointer}.dialog-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.dialog-meta strong{color:#fde68a;font-family:Fredoka;font-size:20px}.dialog-meta span,.dialog-meta em{padding:3px 7px;border-radius:999px;font-size:11px;font-weight:900;font-style:normal}.dialog-meta span{background:#0ea5e938;color:#bae6fd}.dialog-meta em{background:#22c55e2e;color:#bbf7d0}.typewriter-text{min-height:48px;margin:7px 0 5px;color:#f8fafc;font-weight:800;line-height:1.5;cursor:pointer}.typewriter-text i{display:inline-block;width:7px;height:16px;margin-left:3px;background:#fde68a;vertical-align:-2px;animation:dialog-cursor .72s steps(2,end) infinite}.dialog-feedback{display:grid;gap:2px;padding:8px 10px;border-radius:11px;font-size:12px;line-height:1.35}.dialog-feedback.correct{background:#1665347a;color:#dcfce7}.dialog-feedback.wrong{background:#9f12397a;color:#ffe4e6}.dialog-next{margin-top:7px;padding:8px 11px;border:0;border-radius:10px;background:#facc15;color:#422006;font:inherit;font-size:12px;font-weight:900;cursor:pointer}@keyframes dialog-cursor{50%{opacity:0}}.finish-card{width:min(720px,100%);max-height:92vh;overflow:auto;padding:28px;text-align:center}.trophy svg{color:#ca8a04;fill:#facc15}.finish-card h2{margin:8px 0}.finish-card p{color:#475569;line-height:1.5}.finish-stats{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:15px 0}.finish-stats span{padding:7px 10px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:13px;font-weight:900}.leaderboard-panel{margin:15px 0;padding:13px 15px;border:1px solid #dbeafe;border-radius:17px;background:#f8fafc;text-align:left}.leaderboard-panel h3{margin:0 0 9px;color:#1e3a8a;font-family:Fredoka}.leaderboard-note{margin:0;color:#64748b;font-size:13px;font-weight:800;line-height:1.45}.leaderboard-list{display:grid;gap:6px;margin:0;padding-left:24px}.leaderboard-list li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:7px 9px;border:1px solid #e2e8f0;border-radius:11px;background:#fff;color:#334155;font-size:13px}.leaderboard-list li::marker{color:#ca8a04;font-weight:900}.leaderboard-list span{color:#7c3aed;font-weight:900}.leaderboard-list small{grid-column:1/-1;color:#64748b;font-weight:800}.finish-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}@media(max-width:900px),(pointer:coarse){.mobile-controls{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));display:flex;justify-content:space-between;gap:12px;pointer-events:none}.mobile-controls button{pointer-events:auto}.near-zone{bottom:132px;min-width:min(92vw,450px)}.zone-progress{display:none}.developer-credit{right:max(6px,env(safe-area-inset-right));bottom:max(5px,env(safe-area-inset-bottom))}}@media(max-width:700px){.start-backdrop{align-items:flex-start;padding:10px 10px 20px}.start-card{max-height:none;margin:auto 0;padding:18px 16px 16px}.title-icon{width:58px;height:58px;margin-bottom:8px;border-radius:18px}.title-icon svg{width:32px;height:32px}.eyebrow{padding:5px 8px;font-size:11px}.start-card h1{margin:7px 0 0;font-size:clamp(32px,10vw,44px)}.start-card h2{font-size:18px}.start-card p{font-size:14px;line-height:1.45}.input-label{margin:11px 0 5px;font-size:11px}.start-card input{padding:12px 13px}.start-card .primary-button{position:sticky;bottom:0;z-index:2;margin-top:11px}.mobile-start-note{display:block}.feature-row{gap:5px;margin-top:11px}.feature-row span{padding:5px 7px;font-size:10px}.dpad{grid-template-columns:repeat(3,46px);gap:5px}.move-button{height:46px}.action-button{width:66px;height:62px}.sprint-button{width:50px;height:42px}.modal-card{max-height:92vh;overflow:auto;padding:19px 17px}.help-grid{grid-template-columns:1fr;gap:8px;margin:13px 0}.help-grid div{padding:11px}.help-grid p{margin-top:5px;font-size:13px}.dialog-hud{padding:10px 9px 91px}.dialog-choice-panel{grid-template-columns:1fr;width:100%;margin-bottom:7px}.dialog-visual{display:none}.dialog-choices{gap:6px}.rpg-choice{padding:8px 9px;font-size:12px}.rpg-choice span{width:22px;height:22px}.dialog-box{grid-template-columns:58px 1fr;gap:9px;width:100%;min-height:148px;padding:11px 36px 10px 10px;border-radius:16px}.dialog-portrait{height:58px;min-height:58px;border-radius:12px;font-size:32px}.dialog-meta strong{font-size:16px}.dialog-meta span{display:none}.dialog-meta em{font-size:10px}.typewriter-text{min-height:56px;margin:5px 0;font-size:12px;line-height:1.35}.dialog-feedback{padding:6px 8px;font-size:10px}.dialog-next{padding:7px 9px;font-size:11px}.dialog-close{top:7px;right:7px;width:27px;height:27px}.developer-credit{padding:3px 5px;font-size:8px}}@media(max-height:560px)and (orientation:landscape){.start-backdrop{align-items:flex-start;padding:8px}.start-card{width:min(740px,100%);padding:14px 16px}.title-icon{display:none}.start-card h1{margin:4px 0 0;font-size:30px}.start-card h2{margin:0;font-size:17px}.start-card p{margin:3px 0;font-size:13px;line-height:1.3}.input-label{margin:7px 0 4px}.start-card input{padding:9px 11px}.start-card .primary-button{margin-top:8px;padding:10px 14px}.mobile-start-note{margin-top:8px;padding:7px 9px}.feature-row{margin-top:7px}.mobile-controls{right:max(7px,env(safe-area-inset-right));bottom:max(7px,env(safe-area-inset-bottom));left:max(7px,env(safe-area-inset-left))}.dpad{grid-template-columns:repeat(3,40px);gap:4px}.move-button{height:40px;font-size:16px}.action-button{width:59px;height:54px}.sprint-button{width:46px;height:36px}.near-zone{bottom:96px;padding:9px 11px}.dialog-hud{padding-bottom:68px}.dialog-box{min-height:102px}.typewriter-text{min-height:34px}.developer-credit{display:none}}.world-canvas canvas{touch-action:none;cursor:grab}.world-canvas canvas:active{cursor:grabbing}.virtual-joystick{position:relative;width:158px;height:158px;border:1px solid rgba(255,255,255,.36);border-radius:50%;background:radial-gradient(circle,#1e293b47 0,#1e293b47 28%,#0f172ab3 29%,#0f172ab3);box-shadow:0 12px 22px #02061738;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.virtual-joystick .move-button{position:absolute;width:54px;height:54px;border-radius:18px;font-size:20px}.joystick-up{top:4px;left:52px}.joystick-down{bottom:4px;left:52px}.joystick-left{top:52px;left:4px}.joystick-right{top:52px;right:4px}.joystick-center{position:absolute;top:57px;left:57px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#94a3b842;color:#ffffffa6;font-size:18px}.camera-swipe-note{width:158px;padding:4px 6px;border-radius:9px;background:#0f172a9e;color:#ffffffeb;font-size:9px;font-weight:800;line-height:1.25;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.move-button.is-pressed{filter:brightness(1.2);transform:scale(.91);box-shadow:0 0 0 3px #facc1559}.npc-floating-text strong{display:inline-block;margin-bottom:3px;color:#fde68a;font-size:12px}@media(max-width:700px){.virtual-joystick{width:142px;height:142px}.virtual-joystick .move-button{width:49px;height:49px}.joystick-up{top:3px;left:46.5px}.joystick-down{bottom:3px;left:46.5px}.joystick-left{top:46.5px;left:3px}.joystick-right{top:46.5px;right:3px}.joystick-center{top:51px;left:51px;width:40px;height:40px}.camera-swipe-note{width:142px}}@media(max-height:560px)and (orientation:landscape){.virtual-joystick{width:124px;height:124px}.virtual-joystick .move-button{width:42px;height:42px;border-radius:14px}.joystick-up{top:3px;left:41px}.joystick-down{bottom:3px;left:41px}.joystick-left{top:41px;left:3px}.joystick-right{top:41px;right:3px}.joystick-center{top:45px;left:45px;width:34px;height:34px}.camera-swipe-note{display:none}}.start-card{display:grid;grid-template-rows:minmax(0,1fr) auto;width:min(690px,100%);max-height:calc(100dvh - 28px);overflow:hidden;padding:0;text-align:center}.start-card-scroll{min-height:0;overflow:auto;padding:clamp(15px,3.2vh,28px) clamp(16px,3.4vw,30px) 10px;overscroll-behavior:contain;scrollbar-width:thin}.start-entry-panel{padding:0 clamp(16px,3.4vw,30px) clamp(14px,2.5vh,22px);background:linear-gradient(180deg,#ffffffd1,#fff 24%)}.start-entry-panel .input-label{margin-top:8px}.start-entry-panel .start-main-button{width:100%;margin-top:12px}.mission-guide{position:fixed;top:14px;left:50%;z-index:15;width:min(410px,calc(100vw - 360px));min-width:250px;padding:9px 12px;transform:translate(-50%)}.mission-guide-row{display:flex;gap:10px;align-items:center;justify-content:space-between;color:#334155;font-size:12px}.mission-guide-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mission-guide-row span{color:#0f766e;font-weight:900}.mission-progress-track{height:6px;margin-top:7px;overflow:hidden;border-radius:999px;background:#dbeafe}.mission-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#0284c7);transition:width .35s ease}.quality-button{top:72px;right:15px;color:#7c3aed}.camera-button{top:129px;right:15px;color:#0284c7}.zone-progress{top:186px}.camera-reset-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:54px;height:45px;border:1px solid rgba(255,255,255,.55);border-radius:14px;background:#0284c7e6;color:#fff;font:inherit;font-weight:900;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.camera-reset-button span{font-size:19px;line-height:.9}.camera-reset-button small{font-size:7px;letter-spacing:.08em}.camera-reset-button:active{filter:brightness(1.12);transform:scale(.94)}.landscape-advice{display:none}.modal-card{max-height:calc(100dvh - 28px);overflow:auto}@media(max-height:800px){.start-card-scroll{padding-top:16px}.title-icon{width:58px;height:58px;margin-bottom:7px;border-radius:18px}.title-icon svg{width:32px;height:32px}.start-card h1{margin-top:7px;font-size:clamp(36px,6vw,48px)}.start-card h2{font-size:clamp(19px,3vw,25px)}.start-card p{font-size:14px;line-height:1.42}.feature-row{margin-top:10px}.feature-row span{padding:5px 8px}}@media(max-height:660px){.start-card{max-height:calc(100dvh - 14px)}.start-card-scroll{padding:11px 15px 6px}.title-icon{display:none}.eyebrow{padding:4px 7px;font-size:11px}.start-card h1{margin-top:4px;font-size:35px}.start-card h2{margin-bottom:3px;font-size:18px}.start-card p{margin:4px 0;font-size:12px;line-height:1.32}.feature-row{gap:4px;margin-top:6px}.feature-row span{padding:4px 6px;font-size:10px}.start-entry-panel{padding:0 15px 12px}.input-label{margin:5px 0 4px;font-size:10px}.start-card input{padding:9px 11px}.start-entry-panel .start-main-button{margin-top:8px;padding:10px 14px}.mobile-start-note{margin-top:7px;padding:6px 8px;font-size:10px}}@media(max-width:900px),(pointer:coarse){.mission-guide{top:13px;right:72px;left:auto;width:min(48vw,360px);min-width:0;transform:none}.mission-guide-row{font-size:10px}.quality-button{top:70px}.desktop-camera-button,.zone-progress{display:none}}@media(max-width:700px){.start-card{max-height:calc(100dvh - 14px)}.start-card-scroll{padding:14px 15px 6px}.start-entry-panel{padding:0 15px 13px}.mission-guide{top:72px;right:10px;left:10px;width:auto;padding:7px 9px}.mission-guide-row{font-size:10px}.mission-progress-track{height:5px;margin-top:5px}.quality-button{top:15px;right:72px}.mobile-start-note{display:block}.near-zone{bottom:174px}.camera-reset-button{width:50px;height:40px}.action-button{width:64px;height:59px}}@media(max-width:700px)and (orientation:portrait){.landscape-advice{position:fixed;top:121px;left:50%;display:block;width:max-content;max-width:88vw;padding:5px 8px;border-radius:999px;background:#0f172aad;color:#fff;font-size:10px;font-weight:900;text-align:center;transform:translate(-50%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}}@media(max-height:560px)and (orientation:landscape){.start-card{grid-template-columns:minmax(0,1fr) minmax(260px,42%);grid-template-rows:1fr;width:min(900px,100%);max-height:calc(100dvh - 12px);text-align:left}.start-card-scroll{padding:11px 14px}.start-entry-panel{display:flex;flex-direction:column;justify-content:center;padding:10px 14px;border-left:1px solid #e2e8f0}.start-card h1{font-size:30px}.start-card h2{font-size:16px}.feature-row{justify-content:flex-start}.mobile-start-note{display:block}.mission-guide{top:8px;right:66px;left:auto;width:min(38vw,320px)}.quality-button{top:8px;right:8px;width:42px;height:42px}.near-zone{bottom:127px}.camera-reset-button{width:46px;height:36px}.action-button{width:58px;height:51px}}.hud-substats{display:flex;flex-direction:column;gap:2px;margin-top:7px;color:#475569;font-size:11px;font-weight:900}.hud-substats span{display:flex;gap:6px;align-items:center}.sidequest-card{position:fixed;top:116px;left:14px;z-index:15;width:260px;padding:12px}.sidequest-row{display:flex;justify-content:space-between;padding:5px 0;border-top:1px dashed #cbd5e1;color:#334155;font-size:12px;font-weight:900}.sidequest-card small{display:block;margin-top:8px;color:#64748b;line-height:1.45}.sign-label{padding:4px 8px;border-radius:999px;background:#ffffffeb;color:#0f172a;font-size:10px;font-weight:900;white-space:nowrap}.gate-label{padding:5px 10px;border-radius:999px;background:#7c2d12e0;color:#fff7ed;font-size:11px;font-weight:900;white-space:nowrap;letter-spacing:.02em}.toast-message{position:fixed;top:14px;left:50%;z-index:18;max-width:min(92vw,620px);padding:10px 14px;transform:translate(-50%);color:#0f172a;font-size:13px;font-weight:900;text-align:center}@media(max-width:900px),(pointer:coarse){.sidequest-card{top:auto;bottom:92px;left:10px;width:min(300px,calc(100vw - 20px));padding:10px}.sidequest-card small{font-size:11px}.toast-message{top:auto;bottom:130px;max-width:min(92vw,380px);font-size:12px}.hud-substats{font-size:10px}}@media(max-width:700px){.sidequest-card{bottom:245px;padding:9px;width:min(88vw,290px)}.sidequest-row{font-size:11px}.sidequest-card small{font-size:10px;line-height:1.35}.toast-message{bottom:235px;padding:8px 10px;font-size:11px}.gate-label{font-size:10px}}@media(max-height:560px)and (orientation:landscape){.sidequest-card{bottom:82px;left:8px;width:230px;padding:8px}.toast-message{bottom:88px;font-size:10px;padding:7px 9px}}.bonus-toggle-button{position:fixed;top:116px;left:14px;z-index:15;display:flex;gap:8px;align-items:center;padding:10px 12px;border:0;border-radius:16px;background:#fffffff5;color:#0f766e;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 10px 24px #0f172a26}.bonus-toggle-button.is-open{background:linear-gradient(135deg,#14b8a6,#0284c7);color:#fff}.sidequest-card{top:170px;left:14px;z-index:15;width:280px;max-width:calc(100vw - 28px);padding:12px}.jump-button{width:52px;height:45px;border-color:#bfdbfecc;background:#3b82f6eb;font-size:21px}.stall-sign-label{max-width:108px;text-align:center;line-height:1.15;white-space:normal}.shape-label{padding:4px 8px;border-radius:999px;background:#fffffff2;color:#0f172a;font-size:10px;font-weight:900;white-space:nowrap}@media(max-width:900px),(pointer:coarse){.bonus-toggle-button{top:auto;bottom:92px;left:10px;padding:9px 11px;font-size:12px}.sidequest-card{top:auto;bottom:146px;left:10px;width:min(310px,calc(100vw - 20px))}}@media(max-width:700px){.bonus-toggle-button{bottom:246px;left:10px;max-width:calc(100vw - 20px);padding:8px 10px;font-size:11px}.sidequest-card{bottom:298px;left:10px;width:min(88vw,290px)}.jump-button{width:50px;height:42px}}@media(max-height:560px)and (orientation:landscape){.bonus-toggle-button{bottom:84px;left:8px;padding:7px 9px;font-size:10px}.sidequest-card{bottom:126px;left:8px;width:240px;padding:8px}}.sound-button{top:129px;right:15px;color:#f97316}.camera-button{top:186px}.zone-progress{top:243px}.sidequest-card{max-height:min(66vh,620px);overflow:auto;scrollbar-width:thin}.achievement-heading{display:flex;gap:6px;align-items:center;margin-top:12px;padding-top:10px;border-top:1px dashed #cbd5e1;color:#7c3aed;font-size:12px;font-weight:900}.achievement-heading b{margin-left:auto;color:#0f766e}.achievement-list{display:grid;gap:6px;margin-top:7px}.achievement-item{display:flex;gap:8px;align-items:flex-start;padding:7px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;opacity:.68}.achievement-item.is-unlocked{border-color:#fde68a;background:#fffbeb;opacity:1}.achievement-item>span{font-size:18px;line-height:1}.achievement-item b,.achievement-item small{display:block}.achievement-item b{color:#334155;font-size:11px}.achievement-item small{margin-top:2px;color:#64748b;font-size:10px;line-height:1.3}@media(max-width:900px),(pointer:coarse){.quality-button{top:70px;right:15px}.sound-button{top:70px;right:72px}.sidequest-card{max-height:54vh}}@media(max-width:700px){.quality-button{top:15px;right:72px}.sound-button{top:15px;right:129px}.sidequest-card{max-height:48vh}.achievement-item{padding:6px}.achievement-item small{font-size:9px}}@media(max-height:560px)and (orientation:landscape){.quality-button{top:8px;right:8px}.sound-button{top:8px;right:56px;width:42px;height:42px}.sidequest-card{max-height:58vh}}.pisa-tags{display:flex;flex-wrap:wrap;gap:5px;margin:4px 0 2px}.pisa-tags span{padding:3px 7px;border-radius:999px;background:#7dd3fc24;color:#e0f2fe;font-size:10px;font-weight:900}.dialog-choice-panel{grid-template-columns:122px minmax(0,1fr);width:min(1080px,calc(100vw - 30px))}.dialog-choices{gap:7px}.rpg-choice{min-height:54px;padding:9px 10px;font-size:12px;line-height:1.25}.rpg-choice b{font-weight:900}.dialog-box{width:min(1080px,calc(100vw - 30px))}.typewriter-text{min-height:56px}.geometry-lab-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:grid;place-items:center;padding:14px;background:radial-gradient(circle at 50% 35%,#0ea5e942,#020617e0 60%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.geometry-lab-shell{width:min(1180px,100%);max-height:calc(100dvh - 28px);overflow:auto;border:1px solid rgba(125,211,252,.48);border-radius:24px;background:#020617e6;box-shadow:0 24px 70px #0206179e;color:#f8fafc;scrollbar-width:thin}.geometry-lab-header{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;padding:15px 17px;border-bottom:1px solid rgba(125,211,252,.22);background:linear-gradient(135deg,#0e749057,#4c1d954d)}.geometry-lab-header span{color:#67e8f9;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.geometry-lab-header h2{margin:2px 0 1px;font-family:Fredoka;font-size:25px;color:#f8fafc}.geometry-lab-header p{margin:0;color:#bae6fd;font-size:12px}.geometry-lab-header button{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:#ffffff1a;color:#fff;cursor:pointer}.geometry-lab-grid{display:grid;grid-template-columns:minmax(360px,46%) minmax(0,1fr);gap:14px;padding:14px}.geometry-stage-card,.geometry-task-card{border:1px solid rgba(148,163,184,.22);border-radius:18px;background:#0f172ac7;overflow:hidden}.geometry-stage-toolbar{display:flex;gap:7px;align-items:center;padding:9px 11px;background:#1e293be0;color:#bae6fd;font-size:11px;font-weight:900}.geometry-stage-canvas{height:365px}.geometry-dimensions{display:flex;flex-wrap:wrap;gap:6px;padding:10px}.geometry-dimensions span{padding:5px 8px;border:1px solid rgba(125,211,252,.28);border-radius:999px;background:#0e749033;color:#e0f2fe;font-size:11px;font-weight:900}.geometry-task-card{padding:13px}.geometry-task-meta{display:flex;gap:8px;align-items:center;justify-content:space-between}.geometry-task-meta b{font-family:Fredoka;font-size:19px;color:#fde68a}.geometry-task-meta span{padding:4px 7px;border-radius:999px;background:#22c55e29;color:#bbf7d0;font-size:10px;font-weight:900}.geometry-observation,.geometry-scenario{margin:8px 0;padding:8px 9px;border-radius:12px;font-size:12px;line-height:1.4}.geometry-observation{background:#0ea5e924;color:#bae6fd}.geometry-scenario{background:#ffffff0f;color:#e2e8f0}.geometry-task-card h3{margin:9px 0;color:#f8fafc;font-size:14px;line-height:1.42}.geometry-choice-list{display:grid;gap:7px}.geometry-choice-list button{display:flex;gap:8px;align-items:flex-start;padding:8px 9px;border:1px solid rgba(255,255,255,.2);border-radius:11px;background:#1e293be6;color:#f8fafc;font:inherit;font-size:11px;font-weight:800;line-height:1.35;text-align:left;cursor:pointer}.geometry-choice-list button span{display:grid;place-items:center;flex:0 0 auto;width:21px;height:21px;border-radius:6px;background:#f59e0b;color:#422006;font-size:10px;font-weight:900}.geometry-choice-list button.correct{border-color:#86efac;background:#15803de0}.geometry-choice-list button.wrong{border-color:#fda4af;background:#be123ce0}.geometry-choice-list button:disabled{cursor:default}.geometry-feedback{margin-top:8px;padding:8px 9px;border-radius:11px;font-size:11px;line-height:1.4}.geometry-feedback p{margin:3px 0 0}.geometry-feedback.correct{background:#15803d57;color:#dcfce7}.geometry-feedback.wrong{background:#be123c52;color:#ffe4e6}.geometry-nav-row{display:flex;gap:7px;justify-content:space-between;margin-top:10px}.geometry-nav-row button{display:flex;gap:5px;align-items:center;padding:7px 9px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:#ffffff14;color:#e0f2fe;font:inherit;font-size:11px;font-weight:900;cursor:pointer}@media(max-width:820px){.dialog-choice-panel{grid-template-columns:1fr}.dialog-visual{display:none}.rpg-choice{min-height:48px;font-size:11px}.geometry-lab-overlay{padding:7px}.geometry-lab-shell{max-height:calc(100dvh - 14px);border-radius:17px}.geometry-lab-header{padding:11px 12px}.geometry-lab-header h2{font-size:20px}.geometry-lab-header p{font-size:10px}.geometry-lab-grid{grid-template-columns:1fr;gap:8px;padding:8px}.geometry-stage-canvas{height:230px}.geometry-task-card{padding:9px}.geometry-task-meta b{font-size:16px}.geometry-observation,.geometry-scenario{margin:5px 0;padding:6px 7px;font-size:10px}.geometry-task-card h3{margin:6px 0;font-size:12px}.geometry-choice-list{gap:5px}.geometry-choice-list button{padding:6px 7px;font-size:10px}.geometry-feedback{font-size:10px}}@media(max-height:560px)and (orientation:landscape){.geometry-lab-shell{max-height:calc(100dvh - 10px)}.geometry-lab-header{padding:8px 10px}.geometry-lab-header h2{font-size:17px}.geometry-lab-header p{display:none}.geometry-lab-grid{grid-template-columns:minmax(260px,38%) minmax(0,1fr);gap:7px;padding:7px}.geometry-stage-canvas{height:calc(100dvh - 150px);min-height:210px}.geometry-task-card{max-height:calc(100dvh - 80px);overflow:auto}.geometry-observation{display:none}.geometry-scenario,.geometry-choice-list button,.geometry-feedback{font-size:9px}}.geometry-lab-header{position:sticky;top:0;z-index:4}.geometry-lab-exit-actions{display:flex;gap:7px;align-items:center;flex:0 0 auto}.geometry-lab-header .geometry-lab-exit-button{display:flex;gap:7px;align-items:center;width:auto;height:38px;padding:0 12px;border:1px solid rgba(253,230,138,.48);border-radius:11px;background:linear-gradient(135deg,#f59e0bf0,#ea580ceb);box-shadow:0 7px 16px #02061742;color:#fff;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.geometry-lab-header .geometry-lab-icon-close{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:#ffffff1a;color:#fff;cursor:pointer}.geometry-lab-bottom-exit{display:flex;gap:7px;align-items:center;justify-content:center;width:100%;margin-top:10px;padding:9px 11px;border:1px solid rgba(253,230,138,.4);border-radius:11px;background:#f59e0b2e;color:#fde68a;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.geometry-lab-bottom-exit:hover,.geometry-lab-header .geometry-lab-exit-button:hover{filter:brightness(1.08)}@media(max-width:820px){.geometry-lab-header .geometry-lab-exit-button{height:36px;padding:0 9px;font-size:11px}.geometry-lab-header .geometry-lab-icon-close{display:none}.geometry-lab-bottom-exit{position:sticky;bottom:0;z-index:3;background:#b45309f5}}@media(max-height:560px)and (orientation:landscape){.geometry-lab-header .geometry-lab-exit-button{height:32px;padding:0 8px;font-size:10px}.geometry-lab-bottom-exit{padding:7px 9px;font-size:10px}}.geometry-lab-overlay{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:100!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100vw!important;height:100dvh!important;padding:14px!important;overflow:hidden!important;isolation:isolate;background:radial-gradient(circle at 50% 32%,#0ea5e94d,#020617f5 68%)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}.geometry-lab-shell{display:flex!important;flex-direction:column!important;width:min(1180px,100%)!important;height:min(760px,calc(100dvh - 28px))!important;max-height:calc(100dvh - 28px)!important;overflow:hidden!important}.geometry-lab-header{flex:0 0 auto!important}.geometry-lab-grid{flex:1 1 auto!important;min-height:0!important;overflow:auto!important}.geometry-stage-card,.geometry-task-card{min-width:0!important}.geometry-stage-canvas{min-height:250px!important}@media(max-width:820px){.geometry-lab-overlay{padding:7px!important}.geometry-lab-shell{height:calc(100dvh - 14px)!important;max-height:calc(100dvh - 14px)!important}.geometry-lab-grid{grid-template-columns:1fr!important}.geometry-stage-canvas{height:220px!important;min-height:220px!important}}@media(max-height:560px)and (orientation:landscape){.geometry-lab-shell{height:calc(100dvh - 10px)!important;max-height:calc(100dvh - 10px)!important}.geometry-lab-grid{grid-template-columns:minmax(250px,38%) minmax(0,1fr)!important;overflow:hidden!important}.geometry-task-card{overflow:auto!important}.geometry-stage-canvas{height:calc(100dvh - 138px)!important;min-height:190px!important}}.story-button{right:123px;top:15px;color:#7c3aed}.quest-board-label{min-width:230px;padding:10px 12px;border-radius:14px;background:#0f172ae0;color:#fff;text-align:center;box-shadow:0 12px 30px #0f172a38;border:1px solid rgba(255,255,255,.18)}.quest-board-label b,.quest-board-label span,.quest-board-label small{display:block}.quest-board-label b{font-family:Fredoka;font-size:17px;margin-bottom:3px}.quest-board-label span{font-size:12px;font-weight:900;color:#bae6fd}.quest-board-label small{font-size:10px;color:#cbd5e1;margin-top:4px;line-height:1.35}.story-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:flex;align-items:center;justify-content:center;padding:18px;background:#02061775;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.story-quest-panel{position:relative;width:min(1120px,100%);max-height:min(92vh,840px);overflow:auto;padding:24px}.story-close-button{position:absolute;right:16px;top:16px;width:40px;height:40px;border:0;border-radius:50%;background:#e2e8f0;color:#475569;display:grid;place-items:center;cursor:pointer;z-index:2}.story-panel-head{display:flex;gap:16px;align-items:flex-start;padding-right:44px}.story-panel-icon{width:64px;height:64px;border-radius:22px;background:linear-gradient(135deg,#7c3aed,#06b6d4);color:#fff;display:grid;place-items:center;box-shadow:0 16px 30px #7c3aed40;flex:0 0 auto}.story-panel-head small,.story-main-objective small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900;color:#7c3aed}.story-panel-head h2{font-family:Fredoka;font-size:clamp(26px,4vw,40px);margin:3px 0 7px;color:#0f172a}.story-panel-head p{margin:0;color:#475569;line-height:1.58;max-width:860px}.story-main-objective{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0;padding:16px;border-radius:22px;background:linear-gradient(135deg,#ede9fe,#ecfeff);border:1px solid #c4b5fd}.story-main-objective strong{display:block;font-family:Fredoka;font-size:22px;color:#0f172a;margin-top:3px}.story-main-objective p{margin:5px 0 0;color:#475569;line-height:1.5}.story-percent-ring{width:112px;height:112px;border-radius:32px;background:#0f172a;color:#fff;display:grid;place-items:center;text-align:center;box-shadow:inset 0 0 0 8px #ffffff14,0 16px 32px #0f172a2e;flex:0 0 auto}.story-percent-ring span{font-family:Fredoka;font-size:31px;line-height:1}.story-percent-ring small{font-size:10px;color:#bae6fd;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.story-grid-two{display:grid;grid-template-columns:1.12fr .88fr;gap:16px}.story-card-block{padding:16px;border-radius:22px;background:#f8fafc;border:1px solid #e2e8f0}.story-card-block h3{display:flex;align-items:center;gap:8px;font-family:Fredoka;margin:0 0 12px;color:#0f172a;font-size:22px}.chapter-list{display:grid;gap:10px}.chapter-card{display:grid;grid-template-columns:38px 1fr;gap:11px;padding:12px;border-radius:18px;background:#fff;border:2px solid #e2e8f0}.chapter-card.is-active{border-color:#7c3aed;box-shadow:0 14px 26px #7c3aed1f}.chapter-card.is-complete{border-color:#86efac;background:#f0fdf4}.chapter-number{width:34px;height:34px;border-radius:12px;background:#e0f2fe;color:#0369a1;display:grid;place-items:center;font-weight:900}.chapter-card.is-active .chapter-number{background:#7c3aed;color:#fff}.chapter-card.is-complete .chapter-number{background:#22c55e;color:#fff}.chapter-card b{display:block;color:#0f172a}.chapter-card small{display:block;color:#64748b;font-weight:800;font-size:12px;margin:2px 0}.chapter-card p{margin:5px 0 9px;color:#475569;line-height:1.42;font-size:13px}.story-progress-pill{height:25px;border-radius:999px;background:#e2e8f0;position:relative;overflow:hidden}.story-progress-pill span{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(135deg,#06b6d4,#7c3aed);transition:width .25s ease}.story-progress-pill b{position:relative;z-index:1;display:grid;place-items:center;height:100%;font-size:11px;color:#0f172a;text-shadow:0 1px rgba(255,255,255,.45)}.story-progress-pill.is-complete span{background:linear-gradient(135deg,#16a34a,#22c55e)}.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reward-card{min-height:126px;padding:12px;border-radius:18px;background:#fff;border:2px dashed #cbd5e1;display:flex;flex-direction:column;gap:5px}.reward-card span{font-size:30px}.reward-card b{color:#0f172a}.reward-card small{color:#64748b;line-height:1.35;font-size:12px}.reward-card.is-unlocked{border-style:solid;border-color:#facc15;background:linear-gradient(145deg,#fef9c3,#fff)}.reward-summary{margin-top:12px;padding:10px 12px;border-radius:14px;background:#ede9fe;color:#5b21b6;font-size:13px;font-weight:900;line-height:1.4}.sidequest-wide{margin-top:16px}.sidequest-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sidequest-story-card{display:grid;grid-template-columns:46px 1fr;gap:10px;padding:12px;border-radius:18px;background:#fff;border:2px solid #e2e8f0}.sidequest-story-card>span{width:42px;height:42px;border-radius:15px;background:#eff6ff;display:grid;place-items:center;font-size:25px}.sidequest-story-card b{display:block;color:#0f172a}.sidequest-story-card small{display:block;color:#64748b;font-size:12px;line-height:1.35;margin:3px 0 8px}.sidequest-story-card.is-complete{border-color:#86efac;background:#f0fdf4}@media(max-width:900px){.story-button{right:68px;top:62px}.story-grid-two,.sidequest-story-grid{grid-template-columns:1fr}.story-main-objective{display:block}.story-percent-ring{width:100%;height:auto;min-height:74px;margin-top:12px;border-radius:20px}.reward-grid{grid-template-columns:1fr}.story-panel-head{display:block}.story-panel-icon{margin-bottom:10px}.story-quest-panel{padding:18px}.quest-board-label{min-width:200px}.mission-guide{top:122px}}@media(max-width:760px){.story-button{right:62px;top:10px}.story-panel-backdrop{align-items:stretch;padding:10px}.story-quest-panel{max-height:calc(100vh - 20px);border-radius:22px}.story-main-objective strong{font-size:19px}.chapter-card{grid-template-columns:32px 1fr}.chapter-number{width:30px;height:30px}.quest-board-label{font-size:11px;max-width:210px}}.community-drawer-shell{position:fixed;right:14px;bottom:48px;z-index:35;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.community-toggle,.community-panel{pointer-events:auto}.community-toggle{border:1px solid rgba(255,255,255,.66);border-radius:999px;padding:9px 12px;display:flex;align-items:center;gap:7px;background:#0f172ab8;color:#fff;font:inherit;font-size:12px;font-weight:900;box-shadow:0 12px 28px #0f172a38;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer}.community-panel{width:min(390px,calc(100vw - 28px));max-height:min(72vh,620px);overflow:hidden;padding:14px;display:grid;gap:11px}.community-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.community-panel-head small{display:block;color:#64748b;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:900}.community-panel-head h3{margin:2px 0 0;font-family:Fredoka,system-ui,sans-serif;color:#0f172a;font-size:22px}.community-icon-button{border:0;border-radius:12px;width:36px;height:36px;display:grid;place-items:center;background:#e0f2fe;color:#0369a1;cursor:pointer}.community-icon-button:disabled{opacity:.55;cursor:not-allowed}.spin-icon{animation:community-spin .9s linear infinite}@keyframes community-spin{to{transform:rotate(360deg)}}.community-empty-state,.community-error,.community-muted{border-radius:16px;padding:12px;font-size:13px;line-height:1.45}.community-empty-state{display:grid;gap:6px;background:#f8fafc;border:1px dashed #cbd5e1;color:#475569}.community-empty-state b{color:#0f172a}.community-empty-state p{margin:0}.community-empty-state code{font-size:12px;background:#e2e8f0;border-radius:6px;padding:1px 4px;color:#0f172a}.community-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;font-weight:800}.community-muted{background:#f8fafc;color:#64748b;text-align:center;border:1px solid #e2e8f0}.community-me-card{padding:12px;border-radius:18px;background:linear-gradient(135deg,#ecfeff,#eef2ff);border:1px solid #bae6fd;display:grid;gap:4px}.community-me-card span{font-size:13px;font-weight:900;color:#0e7490}.community-me-card b{font-size:24px;color:#0f172a}.community-me-card small{color:#475569;font-weight:800}.community-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.community-tabs button{border:2px solid #e2e8f0;background:#fff;color:#475569;border-radius:999px;padding:9px 10px;display:flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.community-tabs button.active{border-color:#0f172a;background:#0f172a;color:#fff}.community-list{overflow:auto;max-height:min(40vh,330px);padding-right:3px;display:grid;gap:8px}.community-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border-radius:16px;background:#fff;border:1px solid #e2e8f0}.community-row .rank,.community-row .visitor-dot{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:#fef3c7;color:#92400e;font-size:13px}.community-row .visitor-dot{background:#dcfce7;color:#15803d;font-size:12px}.community-row strong{display:block;color:#0f172a;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.community-row small{display:block;color:#64748b;font-size:11px;font-weight:800;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.community-row>span{font-weight:900;color:#0f766e;font-size:14px}.community-list.visitors .community-row>span{color:#475569}@media(max-width:760px){.community-drawer-shell{right:8px;bottom:78px;align-items:flex-end}.community-toggle span{display:none}.community-toggle{width:44px;height:44px;justify-content:center;padding:0}.community-panel{width:calc(100vw - 16px);max-height:66vh;padding:12px}.community-panel-head h3{font-size:19px}.community-row{grid-template-columns:36px minmax(0,1fr) auto;padding:8px}.community-row .rank,.community-row .visitor-dot{width:30px;height:30px;border-radius:10px}}.gallery-app-shell{background:#0f172a}.gallery-start-card{border:1px solid rgba(186,230,253,.65)}.gallery-hud-card{min-width:150px}.gallery-guide-button{position:fixed;z-index:16;right:15px;top:72px;border:0;border-radius:999px;padding:10px 13px;display:flex;align-items:center;gap:7px;font:inherit;font-size:13px;font-weight:900;color:#0f766e;cursor:pointer}.gallery-progress{position:fixed;z-index:15;right:14px;top:122px;width:240px;padding:12px}.gallery-near-zone{bottom:26px}.guide-tour-card{width:min(760px,100%);max-height:min(92vh,780px);overflow:auto;padding:28px;position:relative}.guide-avatar{width:70px;height:70px;border-radius:24px;background:linear-gradient(135deg,#fef3c7,#bae6fd);display:grid;place-items:center;font-size:42px;margin-bottom:8px}.guide-tour-card small{font-weight:900;color:#0f766e;text-transform:uppercase;letter-spacing:.1em}.guide-tour-card h2{font-family:Fredoka;font-size:32px;margin:8px 0;color:#0f172a}.guide-tour-card p{color:#475569;line-height:1.65}.guide-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.guide-route-grid div{padding:14px;border:1px solid #e2e8f0;border-radius:18px;background:#f8fafc}.guide-route-grid div.done{background:#dcfce7;border-color:#86efac}.guide-route-grid b,.guide-route-grid span,.guide-route-grid small{display:block}.guide-route-grid b{color:#0f172a;text-transform:none;letter-spacing:0;font-size:15px}.guide-route-grid span{margin:7px 0;color:#64748b;font-size:13px;line-height:1.45}.guide-route-grid small{color:#0f766e;font-size:11px}.guide-callout{padding:13px 15px;background:#ecfeff;color:#0f766e;border:1px solid #bae6fd;border-radius:16px;margin-bottom:16px;font-weight:800}.gallery-lab-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:radial-gradient(circle at top left,rgba(14,165,233,.24),transparent 28%),#020617e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:18px;overflow:auto}.gallery-lab-shell{width:min(1180px,100%);margin:0 auto;background:#f8fafcfa;border:1px solid rgba(255,255,255,.75);border-radius:30px;box-shadow:0 28px 70px #02061780;overflow:hidden}.gallery-lab-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:22px 24px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#e0f2fe)}.gallery-lab-header span{display:inline-flex;padding:6px 10px;border-radius:999px;background:#0f172a;color:#fff;font-size:12px;font-weight:900}.gallery-lab-header h2{font-family:Fredoka;font-size:clamp(26px,4vw,40px);margin:9px 0 4px;color:#0f172a}.gallery-lab-header p{margin:0;color:#475569;line-height:1.55}.gallery-lab-grid{display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(330px,.95fr);gap:18px;padding:20px}.gallery-lab-stage-card,.gallery-task-card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:14px;box-shadow:0 12px 28px #0f172a14}.gallery-shape-canvas,.gallery-measurement-canvas{height:430px;border-radius:20px;overflow:hidden;background:#071426}.gallery-measurement-canvas{display:grid;place-items:center;background:linear-gradient(145deg,#fdf2f8,#eff6ff);padding:18px}.gallery-task-card h3{font-size:23px;line-height:1.45;color:#0f172a}.gallery-badge-unlocked{margin-top:13px;padding:11px 13px;border-radius:14px;background:#dcfce7;color:#166534;font-weight:900;border:1px solid #86efac}.gallery-ruler-stage{position:relative;width:min(620px,100%);height:250px;border-radius:24px;background:#fff7ed;border:1px solid #fed7aa;padding:22px;overflow:hidden}.gallery-ruler-object{position:absolute;top:48px;height:46px;border-radius:14px;background:linear-gradient(135deg,#0ea5e9,#8b5cf6);color:#fff;display:flex;gap:7px;align-items:center;justify-content:center;min-width:50px;padding:0 10px;box-shadow:0 8px 20px #3b82f640}.gallery-ruler-object span{font-size:26px}.gallery-ruler-object b{font-size:13px;white-space:nowrap}.gallery-ruler-line{position:absolute;left:26px;right:26px;bottom:62px;height:68px;border-bottom:10px solid #f59e0b;background:#fef3c7;border-radius:12px 12px 5px 5px}.gallery-ruler-line i{position:absolute;bottom:0;width:2px;height:25px;background:#78350f}.gallery-ruler-line i.major{height:41px;width:3px}.gallery-ruler-line i span{position:absolute;bottom:-33px;left:50%;transform:translate(-50%);font-size:12px;font-style:normal;font-weight:900;color:#78350f}.gallery-ruler-unit{position:absolute;right:22px;bottom:16px;color:#9a3412;font-size:13px;font-weight:900}.gallery-conversion-stage{width:min(620px,100%);min-height:330px;border-radius:24px;background:linear-gradient(145deg,#ecfeff,#fdf2f8);border:1px solid #bae6fd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#0f172a}.gallery-conversion-stage span{font-size:80px}.gallery-conversion-stage b{font-size:42px;color:#0f766e}.gallery-conversion-stage strong{font-size:25px;color:#475569}.gallery-conversion-stage div{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;max-width:420px}.gallery-conversion-stage i{display:block;width:8px;height:28px;border-radius:99px;background:#0ea5e9}.gallery-toast{position:fixed;z-index:80;left:50%;bottom:104px;transform:translate(-50%);padding:12px 16px;font-weight:900;color:#0f172a}.geometry-lab-exit-actions{display:flex;gap:8px;align-items:center}.geometry-lab-exit-button,.geometry-lab-icon-close{border:0;border-radius:14px;font:inherit;font-weight:900;cursor:pointer;display:inline-flex;gap:8px;align-items:center}.geometry-lab-exit-button{padding:11px 14px;background:#0f172a;color:#fff}.geometry-lab-icon-close{width:42px;height:42px;justify-content:center;background:#e2e8f0;color:#334155}.geometry-stage-toolbar{display:flex;align-items:center;gap:8px;color:#0f766e;font-weight:900;font-size:13px;margin-bottom:10px}.geometry-task-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:9px 10px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0}.geometry-task-meta b{color:#0f172a}.geometry-task-meta span{font-size:12px;color:#0f766e;font-weight:900}.geometry-observation{padding:12px;border-radius:14px;background:#ecfeff;color:#0e7490;font-weight:800;line-height:1.45}.geometry-choice-list{display:grid;gap:9px}.geometry-choice-list button{border:2px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:15px;padding:13px 14px;text-align:left;font:inherit;font-weight:900;display:flex;gap:11px;align-items:center;cursor:pointer}.geometry-choice-list button span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e0f2fe;color:#0369a1;font-size:13px}.geometry-choice-list button.correct{border-color:#16a34a;background:#dcfce7;color:#166534}.geometry-choice-list button.wrong{border-color:#ef4444;background:#fee2e2;color:#991b1b}.geometry-feedback{margin-top:12px;padding:12px 14px;border-radius:15px}.geometry-feedback.correct{background:#dcfce7;color:#166534}.geometry-feedback.wrong{background:#fef2f2;color:#991b1b}.geometry-feedback p{margin:6px 0 0;line-height:1.5}.geometry-nav-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.geometry-nav-row button{border:0;border-radius:14px;background:#e2e8f0;color:#334155;padding:11px 14px;font:inherit;font-weight:900;display:inline-flex;gap:8px;align-items:center;cursor:pointer}.gallery-help-card h2{font-family:Fredoka;font-size:31px}.community-drawer-shell{z-index:30}.developer-credit{z-index:32}@media(max-width:860px){.gallery-progress{display:none}.gallery-guide-button{right:70px;top:10px}.gallery-lab-grid{grid-template-columns:1fr;padding:14px}.gallery-lab-header{display:block}.geometry-lab-exit-actions{margin-top:14px}.gallery-shape-canvas,.gallery-measurement-canvas{height:300px}.guide-route-grid{grid-template-columns:1fr}.gallery-near-zone{bottom:102px}.gallery-toast{bottom:170px}.guide-tour-card{padding:22px}.mobile-controls{display:flex}.gallery-lab-overlay{padding:8px}.gallery-lab-shell{border-radius:22px}}@media(max-width:520px){.gallery-guide-button span{display:none}.gallery-guide-button{width:46px;height:46px;justify-content:center;border-radius:50%;padding:0}.gallery-ruler-stage{height:230px}.gallery-task-card h3{font-size:19px}}
