:root{color:#f8fbff;font-synthesis:none;--navy:#0c153b;--panel:#17265f;--cyan:#52d8e8;--yellow:#ffe06a;--ink:#111b43;--muted:#bdd0ec;background:#0c153b;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:radial-gradient(circle at 12% 18%,#52d8e829 0 2px,#0000 3px),radial-gradient(circle at 84% 12%,#ffe06a33 0 2px,#0000 3px),radial-gradient(circle at 75% 78%,#52d8e81f 0 3px,#0000 4px),linear-gradient(145deg,#0a1232,#15245b 62%,#102857);min-width:320px;min-height:100vh}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.screen{min-height:100vh;padding:max(28px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left))}.home-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.success-mark{background:var(--yellow);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%);width:58px;height:58px}.eyebrow{color:var(--cyan);letter-spacing:.14em;margin:18px 0 6px;font-size:.82rem;font-weight:800}h1,h2,p{margin-top:0}h1{margin-bottom:12px;font-size:clamp(2rem,6vw,3.8rem);line-height:1.15}h2{font-size:clamp(1.4rem,4vw,2.2rem);line-height:1.35}.home-intro{color:var(--muted);font-size:clamp(1rem,3vw,1.25rem)}.home-actions{z-index:1;gap:14px;width:min(100%,460px);margin:0;display:grid;position:relative}.mission-coach{flex:0 0 64px;width:64px;height:64px}.mission-coach--large{flex-basis:auto;width:min(216px,54vw);height:min(216px,54vw);margin-bottom:2px}.instruction-card .mission-coach{margin:-8px 0}.overlay-card .mission-coach{width:112px;height:112px;margin:-18px auto 2px}.adventure-reward{width:min(100%,460px);color:var(--yellow);background:#ffe06a1a;border:1px solid #ffe06a8c;border-radius:14px;align-items:center;gap:10px;margin-top:20px;padding:12px 16px;font-weight:800;display:flex}.adventure-reward p{text-align:left;margin:0}.light-bank{color:var(--yellow);align-items:center;gap:6px;margin:16px 0 0;font-weight:900;display:flex}.light-bank span{width:38px;height:38px}.academy-menu-stage{isolation:isolate;place-items:center;width:min(100%,620px);min-height:324px;margin-top:22px;display:grid;position:relative}.academy-scene{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.academy-scene__item{left:var(--scene-x);top:var(--scene-y);aspect-ratio:1;filter:grayscale()brightness(.48);opacity:.72;width:clamp(54px,18vw,98px);transform:translate(-50%, -50%) rotate(var(--scene-rotation)) scale(var(--scene-scale));transition:filter .3s,opacity .3s;position:absolute}.academy-scene__item.unlocked{filter:grayscale(.8)brightness(.56)}.academy-scene__item.powered{filter:none;opacity:1}.academy-scene__label{color:#fff;text-align:center;background:#04091ed1;border-radius:8px;min-width:22px;padding:2px 4px;font-size:.62rem;font-weight:800;position:absolute;bottom:0;right:0}.app-button{cursor:pointer;border:2px solid #0000;border-radius:22px;min-height:72px;padding:14px 24px;font-size:1.15rem;font-weight:800;transition:transform .16s,box-shadow .16s}.app-button:not(:disabled):active{transform:scale(.98)}.app-button:focus-visible{outline-offset:4px;outline:4px solid #fff}.app-button--primary{color:var(--ink);background:var(--yellow);box-shadow:0 8px #b99525}.app-button--secondary{color:#eefbff;background:#52d8e824;border-color:#52d8e873}.app-button--quiet{color:#eefbff;background:#ffffff14;border-color:#ffffff2e;min-height:56px}.app-button:disabled{opacity:.48;cursor:not-allowed}.app-button small{margin-left:8px;font-size:.7em}.parent-screen{place-items:center;display:grid}.page-card,.overlay-card{background:#132252f5;border:1px solid #ffffff29;border-radius:28px;width:min(100%,620px);padding:clamp(24px,5vw,44px);box-shadow:0 24px 64px #00000047}.page-card>p:not(.eyebrow){color:var(--muted);line-height:1.7}.setting-row{border-top:1px solid #ffffff1f;justify-content:space-between;align-items:center;min-height:72px;font-weight:700;display:flex}.setting-row input{width:32px;height:32px;accent-color:var(--cyan)}.setting-row--input input,.setting-row--input select{color:#fff;background:#17265f;border:2px solid #ffffff40;border-radius:12px;width:min(55%,260px);min-height:48px;padding:8px 12px}.parent-gate-card{text-align:center}.parent-hold-button{border:4px solid var(--cyan);color:#fff;touch-action:none;background:#17265f;border-radius:28px;width:100%;min-height:96px;margin:18px 0;font-size:1.35rem;font-weight:900;position:relative;overflow:hidden}.parent-hold-button:before{content:"";width:var(--hold-progress);background:#52d8e859;position:absolute;inset:0 auto 0 0}.parent-hold-button span{z-index:1;position:relative}.parent-progress{border-top:1px solid #ffffff24;margin:24px 0;padding-top:18px}.summary-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.summary-grid div{text-align:center;background:#52d8e81a;border-radius:16px;place-content:center;gap:4px;min-height:92px;display:grid}.summary-grid strong{color:var(--yellow);font-size:1.8rem}.summary-grid span{color:var(--muted);font-size:.86rem}.privacy-note{color:var(--muted);font-size:.9rem}.parent-backup{border-top:1px solid #ffffff24;margin:24px 0;padding-top:18px}.backup-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.file-button{color:#eefbff;text-align:center;cursor:pointer;background:#52d8e824;border:2px solid #52d8e873;border-radius:22px;place-items:center;min-height:72px;padding:12px;font-weight:800;display:grid}.file-button input{opacity:0;width:1px;height:1px;position:absolute}.backup-preview{background:#ffe06a1a;border-radius:16px;margin:14px 0;padding:16px}.game-screen{min-height:100vh;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));grid-template-rows:auto auto minmax(360px,1fr) auto;gap:14px;display:grid}.game-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.game-header .eyebrow{margin-top:0}.game-header h1{margin-bottom:0;font-size:clamp(1.35rem,4vw,2.3rem)}.game-header .app-button{min-width:96px}.instruction-card{background:#52d8e81a;border:1px solid #52d8e859;border-radius:18px;align-items:center;gap:14px;min-height:64px;padding:12px 18px;display:flex}.instruction-card p{margin:0;font-weight:700}.instruction-pulse{border:5px solid var(--cyan);border-radius:50%;flex:0 0 18px;width:18px;height:18px}.board-frame{background:#081031a8;border:2px solid #ffffff24;border-radius:28px;min-height:360px;position:relative;overflow:hidden}.number-board{width:100%;height:100%;position:absolute;inset:0}.number-board--drag{touch-action:none}.number-board--drag .number-node{pointer-events:none}.path-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.path-lines line{stroke:var(--yellow);stroke-width:9px;stroke-linecap:round;opacity:.72}.number-node{min-width:72px;min-height:72px;color:var(--ink);cursor:pointer;z-index:2;background:#77e1ea;border:5px solid #dffbff;border-radius:50%;place-items:center;padding:0;font-size:2rem;font-weight:900;display:grid;position:absolute;translate:-50% -50%;box-shadow:0 8px #2e879b,0 12px 24px #00000040}.number-node--next{box-shadow:0 8px #2e879b,0 0 0 8px #ffe06a38}.number-node--complete{color:#fff;box-shadow:none;opacity:.72;background:#50638f;border-color:#8ca0cb}.number-distractor{cursor:pointer;z-index:3;background:#ffffff14;border:3px solid #ffffff4d;border-radius:20px;min-width:72px;min-height:72px;padding:0;position:absolute;translate:-50% -50%}.number-distractor:focus-visible{outline-offset:4px;outline:4px solid #fff}.atlas-sprite{background-repeat:no-repeat;width:100%;height:100%;display:block}.game-overlay{z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#050a22bd;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.overlay-card{text-align:center}.overlay-card .app-button{width:100%;margin-top:10px}.completion-card{flex-direction:column;align-items:center;display:flex}.completion-card>p:not(.eyebrow){color:var(--muted)}.success-mark{margin-bottom:8px}.mission-light-reward{color:var(--yellow);align-items:center;gap:6px;margin:2px 0 12px;font-weight:900;display:flex}.mission-light-reward__icon{width:42px;height:42px}.game-progress{justify-content:center;gap:12px;padding:8px;display:flex}.game-progress span{border:3px solid #7d91bd;border-radius:50%;width:18px;height:18px}.game-progress span.complete{border-color:var(--yellow);background:var(--yellow)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.match-screen{grid-template-rows:auto auto minmax(440px,1fr)}.match-board{background:#081031a8;border:2px solid #ffffff24;border-radius:28px;grid-template-columns:repeat(2,minmax(220px,1fr));gap:18px;min-height:440px;padding:18px;display:grid;position:relative}.match-card{cursor:pointer;background:#52d8e81a;border:4px solid #dffbff8c;border-radius:24px;min-height:190px;padding:10px;position:relative}.match-card:focus-visible{outline-offset:3px;outline:4px solid #fff}.match-card--pending{border-color:var(--yellow);background:#ffe06a24}.match-card--complete{opacity:.55;border-color:#8ca0cb}.count-group-icons{display:block;position:absolute;inset:12px}.count-group-icon{width:44px;height:44px;position:absolute;translate:-50% -50%}.target-number{min-width:72px;min-height:72px;color:var(--ink);background:var(--yellow);border-radius:20px;place-items:center;margin-left:auto;font-size:2.5rem;display:grid}.word-card{color:#eafcff;min-height:150px;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;line-height:1.1}.word-card--yellow{color:var(--yellow)}.word-card--coral{color:#ff927e}.word-card--cyan{color:#a9f5ff}.compare-frame{background:#081031a8;border:2px solid #ffffff24;border-radius:28px;min-height:520px;padding:16px;position:relative}.super-compare-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.compare-scene{background:#52d8e80f;border:2px solid #52d8e84d;border-radius:16px;min-width:0;padding:12px}.compare-scene h2{color:var(--cyan);text-align:center;margin:0 0 8px;font-size:1rem}.compare-scene__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.compare-slot{aspect-ratio:1;cursor:pointer;background:#070e2a73;border:2px solid #ffffff1f;border-radius:12px;min-width:0;padding:4px}.compare-slot:focus-visible{outline-offset:2px;outline:4px solid #fff}.compare-slot--found{border-color:var(--yellow);background:#ffe06a2e}.compare-slot:disabled{cursor:default}.multiplication-board{background:#081031a8;border:2px solid #ffffff24;border-radius:28px;align-content:start;gap:16px;min-height:320px;padding:18px;display:grid;position:relative}.multiplication-formula{color:var(--yellow);text-align:center;margin:0;font-size:clamp(2rem,7vw,3.4rem);font-weight:900}.multiplication-array{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;display:grid}.multiplication-group{background:#52d8e814;border:2px solid #52d8e859;border-radius:14px;gap:8px;min-height:132px;padding:10px;display:grid}.multiplication-group__label{color:var(--muted);text-align:center;font-size:.84rem;font-weight:800}.multiplication-group__items{grid-template-columns:repeat(auto-fill,minmax(22px,1fr));align-items:center;gap:3px;display:grid}.multiplication-item{aspect-ratio:1;min-width:0;display:block}.multiplication-choices{grid-template-columns:repeat(4,minmax(72px,1fr));gap:12px;width:min(100%,620px);margin:0 auto;display:grid}.multiplication-choice{min-height:76px;color:var(--ink);background:var(--yellow);cursor:pointer;border:4px solid #dffbff8c;border-radius:18px;font-size:2rem;font-weight:900}.multiplication-choice:focus-visible{outline-offset:3px;outline:4px solid #fff}.multiplication-choice:disabled{opacity:.55;cursor:default}.action-board{background:#081031a8;border:2px solid #ffffff24;border-radius:28px;grid-template-columns:repeat(3,minmax(140px,1fr));gap:18px;min-height:440px;padding:20px;display:grid;position:relative}.action-item{color:#eefbff;cursor:pointer;background:#52d8e81a;border:3px solid #52d8e866;border-radius:24px;min-height:160px;padding:12px;font-weight:800}.action-item .atlas-sprite{width:110px;height:110px;margin:0 auto 4px}.action-item:disabled{opacity:.58;cursor:not-allowed}.action-item:focus-visible{outline-offset:3px;outline:4px solid #fff}.signal-card{background:#33405f;border:4px solid #fff;border-radius:24px;align-items:center;gap:18px;min-height:96px;padding:14px 22px;display:flex}.signal-card p{margin:4px 0 0}.signal-card strong{font-size:1.5rem}.signal-shape{background:#fff;flex:0 0 58px;width:58px;height:58px}.signal-card--green{background:#174b35;border-color:#86ef9c}.signal-card--green .signal-shape{clip-path:polygon(28% 18%,82% 50%,28% 82%);background:#86ef9c;border-radius:50%}.signal-card--yellow{background:#54491d;border-color:#ffe06a}.signal-card--yellow .signal-shape{background:#ffe06a;border-radius:14px}.signal-card--red{background:#5a272e;border-color:#ff8c80}.signal-card--red .signal-shape{clip-path:polygon(0 38%,38% 38%,38% 0,62% 0,62% 38%,100% 38%,100% 62%,62% 62%,62% 100%,38% 100%,38% 62%,0 62%);background:#ff8c80;border-radius:50%}.builder-screen{width:min(100%,1000px);margin:0 auto}.builder-header,.builder-tools{justify-content:space-between;align-items:center;gap:18px;display:flex}.builder-tabs{grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0;display:grid}.builder-tabs button{color:#eefbff;background:#52d8e81a;border:2px solid #52d8e866;border-radius:18px;min-height:64px;font-weight:800}.builder-tabs button.active{color:var(--ink);background:var(--yellow);border-color:var(--yellow)}.builder-field,.builder-tools label{gap:8px;font-weight:800;display:grid}.builder-field input,.builder-panel input,.builder-panel select{color:#fff;background:#17265f;border:2px solid #ffffff4d;border-radius:14px;min-height:52px;padding:8px 12px}.builder-panel,.builder-save,.saved-puzzles{background:#132252e0;border:1px solid #ffffff29;border-radius:24px;margin-top:18px;padding:20px}.builder-shop{background:#ffe06a14;border:1px solid #ffe06a6b;border-radius:24px;margin-top:18px;padding:20px}.builder-shop h2{margin-bottom:6px}.shop-bundles{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:16px;display:grid}.shop-bundle{background:#070f30b3;border-radius:16px;gap:8px;padding:12px;display:grid}.shop-icons{grid-template-columns:repeat(4,1fr);gap:4px;min-height:58px;display:grid}.shop-icons .atlas-sprite{min-width:0}.shop-bundle .app-button{min-height:56px}.builder-number-board{touch-action:none;background:#081031cc;border-radius:20px;min-height:480px;margin-top:18px;position:relative}.builder-number-node{width:72px;height:72px;color:var(--ink);touch-action:none;background:#77e1ea;border:4px solid #dffbff;border-radius:50%;font-size:1.8rem;font-weight:900;position:absolute;translate:-50% -50%}.builder-hint{color:var(--muted);margin:12px 0 0}.builder-list{gap:12px;margin-top:16px;display:grid}.builder-row{background:#ffffff0f;border-radius:16px;align-items:center;gap:10px;min-height:72px;padding:10px;display:flex}.builder-row input{flex:1;min-width:80px}.builder-mini-icon{flex:0 0 58px;width:58px;height:58px}.delete-button{color:#fff;background:#5a272e;border:2px solid #ff927e;border-radius:12px;min-height:48px;padding:8px 14px}.validation-list{color:#ffd0c9;line-height:1.7}.builder-save .app-button{width:100%}.builder-save-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.preview-overlay{z-index:30;background:#050a22eb;padding:20px;position:fixed;inset:0;overflow:auto}.preview-card{background:#132252;border-radius:28px;width:min(100%,900px);margin:0 auto;padding:24px}.preview-board{min-height:520px}.preview-match-board{margin:18px 0}.preview-selected{opacity:.5;background:#50638f}@media (width<=560px){.game-screen{grid-template-rows:auto auto minmax(420px,1fr) auto}.game-header .app-button{min-width:76px;padding-inline:12px}.number-node{font-size:1.65rem}.board-frame--tall{min-height:900px}.match-board,.super-compare-board{grid-template-columns:1fr}.compare-frame{min-height:780px}.multiplication-array{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.multiplication-choices{grid-template-columns:repeat(3,minmax(72px,1fr))}.action-board{grid-template-columns:repeat(2,minmax(120px,1fr))}.summary-grid{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
