:root{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#eef2ed;background:#091728;color-scheme:dark;font-synthesis:none;--cyan:#73e6e8;--amber:#f4c57c;--ink:#283c4b;--paper:#eeeae0}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;min-width:320px;min-height:100svh;padding:22px 14px}button{font:inherit;cursor:pointer;color:inherit;border:0;touch-action:manipulation}button:focus-visible{outline:3px solid #36bcc9;outline-offset:3px}button:disabled{opacity:.35;cursor:default}button:active:not(:disabled){transform:translateY(1px)}button,svg{user-select:none}[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.line-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.universe{position:fixed;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(ellipse at 25% 35%,#19334b55,transparent 50%),radial-gradient(ellipse at 80% 75%,#12314766,transparent 45%),#091728}.star-dust{position:absolute;inset:0;background-image:radial-gradient(1px 1px at 20% 30%,#d4e5e6 80%,transparent),radial-gradient(1px 1px at 75% 65%,#94b3c4 80%,transparent),radial-gradient(1px 1px at 30% 88%,#7193b5 80%,transparent);background-size:171px 203px,241px 137px,307px 271px;opacity:.45}.planet{position:absolute;right:-130px;top:-220px;width:530px;height:530px;border-radius:50%;box-shadow:inset 20px -30px 80px #4c7c9940,0 0 70px #385e7518;background:linear-gradient(130deg,#102b3e,#071422)}.game-shell{position:relative;max-width:452px;margin:auto;padding:0 12px 12px}.masthead{display:flex;align-items:center;justify-content:space-between;margin:0 2px 20px}.brand h1{font-size:24px;font-weight:750;letter-spacing:4px;margin:0;color:#f4ede0}.brand h1 span{color:#f3c67b;font-size:18px;margin-left:8px}.brand p{font:8px Arial,sans-serif;letter-spacing:3.5px;color:#859baa;margin:6px 0 0}.header-actions{display:flex;gap:6px}.icon-button{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#19314880;border:1px solid #53728d40;color:#a4b6c1}.icon-button:hover{background:#29435c}.pause-button{color:#efd5a4}.icon-button svg{width:18px;height:18px}.mission-bar{display:flex;align-items:center;gap:13px;position:relative;z-index:2}.level-picker{display:flex;align-items:center;gap:11px;background:linear-gradient(#e2d8c4,#c3b396);color:#293946;border:1px solid #f5e4bd;border-radius:8px;padding:7px 10px;box-shadow:0 3px 0 #5e5b54,0 4px 8px #0003}.level-picker span{font-size:10px}.level-picker b{font:700 20px Arial;margin-left:3px}.level-picker svg{width:12px;height:12px}.mission-bar>div{display:flex;flex-direction:column;gap:4px}.mission-bar strong{font-size:13px;letter-spacing:1px;font-weight:500;color:#dfdfd6}.mission-bar small{font:9px Arial;color:#7e96a8;letter-spacing:.8px}.sector-chip{margin-left:auto;font-size:9px;color:#90a5b5;border:1px solid #37536a;border-radius:20px;padding:5px 8px}.ship-scene{position:relative;height:175px;margin:0 -6px;isolation:isolate}.ship-art{width:100%;height:100%;object-fit:contain;mask-image:linear-gradient(0deg,transparent,#000 18%,#000 85%,transparent);position:absolute;inset:0;filter:brightness(.95);transition:filter 1s}.ship-caption{position:absolute;left:11px;bottom:12px;display:flex;flex-direction:column;gap:4px;text-shadow:0 2px 4px #061222}.ship-caption span{font-size:10px;letter-spacing:1px;color:#c4d0d3}.ship-caption small{font-size:9px;color:#7d99aa}.repair-progress{position:absolute;right:13px;bottom:13px;text-align:right}.repair-progress>small{font-size:9px;letter-spacing:1px;color:#93aab9}.repair-progress>div:nth-child(2){margin:3px 0}.repair-progress b{font:600 28px Arial;color:#e7f3ec}.repair-progress span{font:14px Arial;color:#7493a6}.repair-dots{display:flex;gap:3px;justify-content:flex-end}.repair-dots i{height:3px;width:8px;border-radius:1px;background:#3b5363}.repair-dots .lit{background:#7fe8e4;box-shadow:0 0 8px #59e3e9}.ship-lights{position:absolute;left:44%;top:39%;display:flex;gap:7px;transform:rotate(7deg);opacity:0}.ship-lights i{width:6px;height:4px;background:#132834;box-shadow:none}.ship-lights .lit{background:#76eced;box-shadow:0 0 8px #83fcff}.engine-aura{position:absolute;width:60px;height:28px;right:16%;top:57%;background:#47d7f9;border-radius:50%;filter:blur(16px);opacity:calc(var(--repair,0)*.5);transition:opacity .8s}#power-inlet{position:absolute;left:55%;top:55%;width:1px;height:1px}.ship-feedback{position:absolute;left:50%;top:17%;transform:translateX(-50%);font-size:11px;letter-spacing:1px;white-space:nowrap;color:#b4fff4;text-shadow:0 0 10px #18ebed;background:#0b2d39db;border:1px solid #68e8e75c;padding:6px 12px;border-radius:20px;opacity:0;transition:opacity .2s}.charging .ship-feedback{opacity:1}.charging .ship-art{filter:brightness(1.2) drop-shadow(0 0 12px #5cdad847)}.power-hud{display:flex;gap:15px;align-items:center;padding:12px 15px;margin:0 0 15px;border:1px solid #52616a;border-radius:13px;background:linear-gradient(120deg,#253746,#182939);box-shadow:inset 0 1px 0 #a6bcc128,0 4px 12px #0002}.power-reading{flex:1;min-width:0}.timer-heading{display:flex;align-items:center;gap:5px;font-size:10px;color:#c8c8b7;letter-spacing:.6px}.timer-heading svg{width:12px;height:12px;color:#ffd396}.timer-heading small{font-size:8px;color:#7f9daa;margin-left:auto}.clock-row{display:flex;align-items:baseline;justify-content:space-between;gap:7px;margin:1px 0 5px}.clock-row strong{font:600 34px/1.15 'Bahnschrift','Consolas',monospace;letter-spacing:1px;color:#f4d28e;font-variant-numeric:tabular-nums;text-shadow:0 0 14px #ecb95622}.clock-row>span{font-size:9px;color:#9aafba}.power-track{height:4px;border-radius:3px;background:#071923;overflow:hidden}.power-track>div{height:100%;background:linear-gradient(90deg,#437f8c,#7ad9d4);border-radius:inherit;transition:width .1s linear}.fuse-block{padding-left:13px;border-left:1px solid #8da6b52b;text-align:center;flex:0 0 90px}.fuses{display:flex;justify-content:center;gap:1px;height:43px}.fuse-icon{height:43px;width:25px;filter:drop-shadow(0 0 5px #fcc67336)}.fuse.empty{filter:grayscale(1);opacity:.22}.fuse-block>span{font-size:9px;color:#9baeb7}.fuse-block b{font:10px Arial;color:#e4d9b6;margin-left:5px}.power-hud.refilled{animation:recharge .6s ease-out}.power-hud.critical{border-color:#ee8c6c;box-shadow:0 0 16px #f96c4b2e}.critical .clock-row strong{color:#ff997b}.critical .power-track>div{background:#ff947d}.console-panel{position:relative;background:linear-gradient(135deg,#f4f0e6,#dfded4);color:var(--ink);padding:13px 13px 11px;border-radius:17px;border:1px solid #faf2d9;box-shadow:0 5px 0 #879095,0 7px 0 #14212d,0 13px 30px #0005,inset 0 0 0 3px #d0cfc2}.console-panel:before,.console-panel:after{content:'+';position:absolute;top:11px;color:#9caaad;background:#c3c8c0;width:7px;height:7px;border-radius:50%;font:8px/7px Arial;text-align:center;box-shadow:0 1px 1px #fff}.console-panel:before{left:9px}.console-panel:after{right:9px}.console-top{display:flex;align-items:center;justify-content:space-between;margin:0 6px 9px;padding:0 4px;font-size:10px;letter-spacing:1px;color:#526471}.console-top small{font:7px Arial;color:#829088;letter-spacing:.9px}.console-top small i{display:inline-block;width:4px;height:4px;border-radius:50%;background:#65a899;box-shadow:0 0 4px #65a899;margin-right:3px}.rules-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:11px}.rules-strip>div{display:flex;gap:7px;justify-content:center;align-items:center}.rules-strip>div+div{border-left:1px solid #b5bfba66}.rules-strip p{margin:0;font-size:10px;line-height:1.55;color:#6e7b7b}.rules-strip em{display:block;font-weight:600;color:#485c64;font-style:normal}.rules-strip svg{width:23px;height:23px;color:#7d999d}.rule-colors{display:grid;grid-template-columns:repeat(2,9px);gap:2px}.rule-colors i{height:9px;background:#b4a7d2;border-radius:2px}.rule-colors i:nth-child(2){background:#dcc079}.rule-colors i:nth-child(3){background:#d5a0c9}.rule-colors i:nth-child(4){background:#8bacbf}.near-icon{border:1px solid #93a4a4;border-radius:5px;width:24px;height:24px;display:grid;place-items:center;color:#7b9296;font-size:21px;line-height:1}.board-frame{position:relative;padding:7px;background:#2b3b4b;border:1px solid #152736;border-radius:11px;box-shadow:inset 0 2px 5px #0b15298c,0 2px 0 #fff8}.board{position:relative;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:5px;aspect-ratio:1;touch-action:none;user-select:none}.cell{position:relative;display:grid;place-items:center;min-height:0;min-width:0;background:var(--cell-color);padding:0;border-radius:7px;border:1px solid #ffffff35;box-shadow:inset 0 2px 1px #ffffff28,inset 0 -3px 0 #1b365a20,0 2px 2px #0002;touch-action:none;transition:filter .2s,box-shadow .2s}.cell:hover{filter:brightness(1.07)}.cell:active{transform:none!important}.socket{position:absolute;inset:39%;border-radius:50%;border:1px solid #ffffff28;background:#243d4710;box-shadow:inset 0 1px 2px #35444c10;pointer-events:none}.cell[data-mark="1"] .socket,.cell[data-mark="2"] .socket{opacity:0}.cross{position:absolute;inset:27%;opacity:0;transform:scale(.7);transition:opacity .14s,transform .14s;pointer-events:none}.cross:before,.cross:after{content:'';position:absolute;left:43%;top:-6%;height:112%;width:14%;background:#fffdf5;border-radius:9px;transform:rotate(45deg);box-shadow:0 1px 2px #1834490a}.cross:after{transform:rotate(-45deg)}.cell[data-mark="1"] .cross{opacity:.96;transform:scale(1)}.cell>.energy-cell{position:absolute;width:71%;height:87%;opacity:0;transform:scale(.3);pointer-events:none;filter:drop-shadow(0 2px 2px #18496255)}.cell[data-mark="2"]>.energy-cell{opacity:1;transform:scale(1);animation:ignite .35s ease-out}.cell[data-mark="2"]{box-shadow:inset 0 0 0 2px #b7ffeb99,inset 0 -3px 0 #35443210}.cell.wrong{animation:shake .4s;background:#e68f82!important}.cell.hinted:after,.cell.tutorial-target:after{content:'';position:absolute;inset:-3px;border:2px solid #bdfff7;border-radius:inherit;box-shadow:0 0 12px #61eae8,0 0 0 1px #236b77;pointer-events:none;z-index:3;animation:hint-pulse 1.7s infinite}.board.dense{gap:4px}.board.dense .cell{border-radius:4px}.board.dense .socket{display:none}.board-foot{display:flex;justify-content:space-between;align-items:center;color:#7b8989;font-size:9px;margin:11px 2px 0}.board-foot i{font-style:normal;margin-inline:5px;color:#a1acaa}.board-foot small{font-size:8px;color:#8a9594}.board-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:10px;z-index:6}.spark{position:absolute;width:4px;height:4px;background:#a4fff4;border-radius:50%;box-shadow:0 0 7px #64efe5;animation:spark-rise .8s ease-out forwards}.spark.error{background:#ffd096;box-shadow:0 0 8px #ff734c}.controls{display:flex;justify-content:space-between;align-items:center;margin-top:22px;gap:12px}.minor-controls{display:flex;gap:10px}.small-control{padding:0;display:flex;align-items:center;flex-direction:column;gap:5px;background:none;color:#93a7b1}.small-control>span{width:38px;height:35px;border-radius:10px;border:1px solid #52708466;background:#1b3142;display:grid;place-items:center;box-shadow:0 2px 0 #08111d}.small-control svg{width:17px;height:17px}.small-control small{font-size:9px;letter-spacing:1px}.powers{display:flex;gap:10px}.power-button{position:relative;background:linear-gradient(#244452,#1d3443);border:1px solid #568185;border-radius:12px;width:116px;height:53px;display:flex;justify-content:center;align-items:center;gap:7px;color:#c3e4dc;padding:9px;box-shadow:0 3px 0 #0c202b,inset 0 1px 0 #ffffff12}.power-button>svg{width:25px;height:25px;color:#84d6cc}.power-button strong{font-size:11px;font-weight:500;white-space:nowrap}.power-button>b{position:absolute;right:6px;top:-8px;display:grid;place-items:center;background:#ece4cc;border:2px solid #112435;color:#4b5b5c;font:600 10px Arial;border-radius:50%;width:21px;height:21px}.locate-button{background:linear-gradient(#5e5240,#413e36);border-color:#a38a60;color:#f2ddae}.power-button>.tool-cell{width:23px;height:33px}.mission-footer{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:17px;color:#678392;font-size:9px;letter-spacing:1.5px}.mission-footer p{margin:0}.mission-footer span{width:23px;height:1px;background:#345261}.training-banner{position:relative;background:#e2eee6;border:1px solid #99bcb7;border-radius:9px;padding:10px 12px;margin-bottom:12px;box-shadow:0 2px 0 #bbc9bf}.training-heading{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.7px;color:#5b8a87}.training-heading button{background:none;padding:0;font-size:9px;color:#87978d;text-decoration:underline}.training-banner h2{font-size:14px;margin:6px 0;color:#315e66;font-weight:650}.training-banner p{font-size:11px;line-height:1.65;margin:0;color:#5c7476}.training-banner>small{display:block;font-size:8px;letter-spacing:.3px;color:#849991;margin-top:7px}.training .ship-scene{height:106px}.training .ship-caption{bottom:7px}.training .repair-progress{bottom:7px}.training .ship-art{object-position:50% 40%}.training .power-hud{padding-block:9px;margin-bottom:12px}.training .cell.training-dim{filter:brightness(.38) saturate(.6)}.tutorial-target,.tutorial-context{z-index:3}.gesture-cursor{position:absolute;z-index:10;left:50%;top:50%;width:68px;height:90px;pointer-events:none;transform:translate(-14px,-7px);filter:drop-shadow(0 3px 5px #0c273977)}.hand-icon{width:59px;height:76px;position:absolute;left:0;top:0;transform:rotate(-17deg)}.gesture-cursor b{position:absolute;left:20px;top:65px;border:1px solid #91d8d6;border-radius:5px;background:#183e50;color:#f1ffff;padding:3px 7px;white-space:nowrap;font-size:9px;letter-spacing:1px}.tap-ring{position:absolute;left:-9px;top:-14px;border:2px solid #c1ffff;width:46px;height:46px;border-radius:50%;box-shadow:0 0 12px #88faff,inset 0 0 12px #88faff;animation:tap-ring 1.6s infinite}.double .hand-icon{animation:double-tap 1.6s infinite}.tap .hand-icon{animation:single-tap 1.6s infinite}.drag{animation:drag-guide 2.4s ease-in-out infinite}.drag .tap-ring{animation:none}.training .controls{margin-top:17px}.training .mission-footer{margin-top:13px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,12px);z-index:100;max-width:min(90vw,420px);padding:12px 18px;border-radius:12px;background:#102f40f5;border:1px solid #78a4a35c;color:#edf9ec;box-shadow:0 8px 26px #00121c66;font-size:12px;line-height:1.6;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.modal-backdrop{position:fixed;inset:0;background:#030e20b8;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal-card{position:relative;width:min(420px,100%);max-height:91svh;overflow:auto;overscroll-behavior:contain;padding:32px 26px 23px;background:linear-gradient(140deg,#f4f0e7,#e6e6dd);color:#344d58;border:1px solid #c5d4ca;border-radius:22px;box-shadow:0 25px 85px #020a18a6,inset 0 0 0 3px #fbf8e766;text-align:center;animation:modal-in .25s ease-out;scrollbar-width:thin;scrollbar-color:#adbbb5 transparent;color-scheme:light}.modal-close{position:absolute;right:12px;top:10px;width:29px;height:29px;background:#d5dfd7;color:#6a8589;font-size:21px;border-radius:50%;line-height:1;z-index:2}.eyebrow{font-size:9px!important;letter-spacing:1.6px;color:#7b9295!important;margin:0 0 13px!important}.modal-card h2{font-size:23px;font-weight:650;letter-spacing:.8px;margin:0 0 15px;line-height:1.45;color:#2a4856;outline:none}.modal-card p{font-size:12px;line-height:1.9;color:#6a7e81}.modal-card strong{color:#41606a;font-weight:600}.primary,.secondary{width:100%;border-radius:10px;padding:14px 13px;font-size:12px;letter-spacing:.7px;margin-top:11px}.primary{color:#f2faf0;background:linear-gradient(#356771,#244e5c);border:1px solid #326878;box-shadow:0 3px 0 #173842,inset 0 1px 0 #9bd3ce33}.secondary{color:#657e81;background:#dee6de;border:1px solid #c7d4cb}.primary svg{height:17px;width:17px;vertical-align:-4px;margin-left:9px}.text-button{font-size:11px;color:#879795;background:none;padding:14px 10px 3px}.quiet-note{font-size:9px!important;color:#96a29b!important;line-height:1.7!important}.pause-note{font-size:9px;color:#7b9793;margin-top:19px;letter-spacing:.4px}.welcome,.win{padding:0;overflow:hidden auto}.welcome-art,.victory-art{position:relative;height:200px;background:#091a2a;overflow:hidden}.welcome-art img,.victory-art img{width:100%;height:100%;object-fit:cover}.welcome-art span,.victory-art span{position:absolute;left:22px;top:20px;font:8px Arial;letter-spacing:3px;color:#9fb8c5;border-left:2px solid #77c7d0;padding-left:8px}.welcome-art:after,.victory-art:after{content:'';position:absolute;inset:0;box-shadow:inset 0 -25px 40px #0a1a2a88}.welcome-body,.victory-body{padding:27px 27px 23px}.welcome-body h2{font-size:27px;text-align:left;margin-bottom:13px;letter-spacing:1px}.welcome-body>p{text-align:left}.welcome-body .eyebrow{font-size:8px!important}.welcome-specs{display:flex;align-items:center;justify-content:space-between;border-block:1px solid #c6d2c8;padding:13px 0;margin:18px 0 6px;gap:9px}.welcome-specs span{display:flex;gap:6px;align-items:center;font-size:10px;color:#6f8787}.tiny-core{width:17px;height:23px}.welcome-specs .line-icon{width:18px;height:18px}.lesson-symbol{display:flex;align-items:center;justify-content:center;gap:16px;margin:7px 0 20px}.lesson-symbol>.energy-cell{width:49px;height:65px;filter:drop-shadow(0 2px 7px #3ca0a244)}.lesson-symbol strong{font:600 37px Consolas;color:#3f707a}.lesson-symbol .line-icon{color:#8aabac}.lesson-fuses{display:flex;justify-content:center;gap:9px;margin:7px 0 20px}.demo-fuse svg{height:63px;width:37px;filter:drop-shadow(0 0 8px #e0a75544)}.demo-short .demo-fuse:last-child{animation:fuse-break 1.3s forwards}.demo-short{animation:shake .4s}.manual-list{text-align:left;display:grid;gap:10px;margin:20px 0}.manual-list>div{display:flex;align-items:baseline;gap:12px;font-size:11px;line-height:1.8;color:#6e8384}.manual-list b{color:#415e68;white-space:nowrap;font-size:11px;background:#dce6df;padding:3px 7px;border-radius:5px}.tool-explainer{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:21px 0}.tool-explainer>div{padding:14px 10px;background:#dce6e0;border-radius:12px;border:1px solid #c2d3cc}.tool-explainer svg{display:block;height:31px;width:31px;margin:0 auto 8px;color:#4f8a91}.tool-explainer b{display:block;font-size:12px}.tool-explainer p{font-size:10px;line-height:1.7;margin:7px 0 0}.tip-box{font-size:11px;line-height:1.85;padding:14px 13px;background:#dde8df;border:1px solid #c5d6cb;border-radius:10px;color:#658082;margin:18px 0}.briefing-stats,.win-stats{display:flex;justify-content:space-around;padding:17px 0;margin:21px 0;border-block:1px solid #c8d3c9}.briefing-stats b,.win-stats b{font:600 26px Consolas;display:block;color:#40717c}.briefing-stats small,.win-stats small{font-size:9px;display:block;margin-top:7px;color:#849791}.modal-symbol{width:65px;height:65px;margin:7px auto 20px;background:#d4e3dc;border:1px solid #b8cdc5;border-radius:19px;display:grid;place-items:center;color:#5b9298}.modal-symbol svg{width:31px;height:31px}.failed-fuse{width:60px;height:76px;filter:grayscale(1);opacity:.7;display:block;margin:0 auto 20px}.level-list{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:21px 0}.level-option{position:relative;border:1px solid #c6d4cc;background:#e0e8de;color:#637f80;padding:11px 3px 9px;border-radius:10px}.level-option b{font:600 22px Arial;display:block}.level-option small{display:block;font-size:8px;margin-top:6px;white-space:nowrap}.level-option>span{display:block;font:8px Arial;margin-top:4px;color:#8da197}.level-option.current{background:#315e6a;color:#f0f7e9;border-color:#2a5964;box-shadow:0 3px 0 #1b4049}.level-option.current>span{color:#9bc4be}.level-option.completed:after{content:'✓';position:absolute;right:4px;top:2px;font-size:9px;color:#44a391}.level-option.current.completed:after{color:#91e4cd}.manual-section{text-align:left;margin-top:23px}.manual-section h3{font-size:12px;letter-spacing:.5px;color:#486d75;margin:21px 0 8px}.manual-section p,.manual-section li{font-size:11px;line-height:1.95;color:#728588}.manual-section ul{padding-left:17px}.win h2{font-size:25px}.victory-art{height:180px}.victory-art img{filter:brightness(1.15)}.victory-art:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 75% 70%,#53e6f966,transparent 55%);z-index:1}#effects{position:fixed;inset:0;z-index:40;pointer-events:none}.flying-core{position:absolute;width:32px;height:44px;filter:drop-shadow(0 0 10px #72f0ed)}.flying-core svg{width:100%;height:100%}.short-circuit .console-panel{animation:short-flash .7s}.warping .ship-art{animation:warp 1.2s ease-in}.warping .engine-aura{opacity:1;transform:scale(2.5)}
@keyframes ignite{0%{transform:scale(.2);opacity:.2}65%{transform:scale(1.16)}100%{transform:scale(1);opacity:1}}@keyframes hint-pulse{50%{box-shadow:0 0 20px #83ffff,inset 0 0 10px #b7ffff55}}@keyframes shake{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}@keyframes spark-rise{to{transform:translate(var(--dx),var(--dy));opacity:0}}@keyframes modal-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes tap-ring{0%,55%,100%{transform:scale(.8);opacity:.1}12%,37%{transform:scale(1.15);opacity:1}25%{transform:scale(.8);opacity:.2}}@keyframes double-tap{0%,25%,50%,100%{transform:translate(0,0) rotate(-17deg)}12%,37%{transform:translate(-4px,-6px) rotate(-17deg) scale(.95)}}@keyframes single-tap{0%,45%,100%{transform:rotate(-17deg)}25%{transform:translate(-4px,-6px) rotate(-17deg) scale(.95)}}@keyframes drag-guide{0%,15%{transform:translate(-14px,-7px);opacity:1}75%{transform:translate(-14px,calc(var(--drag-distance) - 7px));opacity:1}90%,100%{transform:translate(-14px,calc(var(--drag-distance) - 7px));opacity:0}}@keyframes recharge{0%{box-shadow:0 0 0 3px #a2ffff,0 0 30px #61e8ec}100%{box-shadow:0 0 0 0 transparent}}@keyframes short-flash{0%,40%{box-shadow:0 0 0 3px #ffa084,0 0 28px #ee693a}20%,100%{box-shadow:0 5px 0 #879095,0 13px 30px #0005}}@keyframes fuse-break{20%{filter:brightness(3)}35%,100%{filter:grayscale(1);opacity:.2}}@keyframes warp{0%,40%{transform:none;filter:brightness(1.4)}100%{transform:translateX(-100px) scale(.7);filter:brightness(2);opacity:0}}
@media(max-width:540px){body{padding:0 10px}.game-shell{padding:20px 0 max(18px,env(safe-area-inset-bottom));max-width:428px}.masthead{margin:0 6px 16px}.brand h1{font-size:22px}.mission-bar{margin:0 5px;gap:11px}.ship-scene{height:159px;margin:0}.power-hud{padding:10px 13px;margin-bottom:14px}.console-panel{padding:13px 11px 11px}.controls{padding-inline:3px;gap:10px}.power-button{width:110px}.training .ship-scene{height:99px}.training .masthead{margin-bottom:12px}.training .power-hud{padding-block:7px}.training .clock-row strong{font-size:29px}.training .rules-strip{margin-bottom:9px}.training .training-banner{padding:9px 11px}.training .mission-footer{display:none}.modal-backdrop{padding:16px}.modal-card{max-height:93svh}.welcome-art{height:180px}.welcome-body,.victory-body{padding:24px}.welcome-body h2{font-size:25px}}
@media(max-width:370px){body{padding-inline:8px}.game-shell{padding-top:16px}.brand h1{font-size:20px;letter-spacing:3px}.header-actions{gap:5px}.icon-button{width:30px;height:30px}.sector-chip{font-size:8px;padding:4px 6px}.mission-bar{gap:9px}.level-picker{padding:6px 8px}.mission-bar strong{font-size:12px}.ship-scene{height:138px}.clock-row strong{font-size:30px}.clock-row>span{font-size:8px}.fuse-block{flex-basis:80px;padding-left:9px}.power-hud{gap:9px;padding-inline:11px}.rules-strip>div{gap:5px}.rules-strip p{font-size:9px}.controls{gap:8px}.minor-controls{gap:7px}.small-control>span{width:31px}.power-button{width:93px;gap:4px;padding:7px}.power-button strong{font-size:10px}.powers{gap:8px}.board{gap:4px}.training .ship-scene{height:80px}.training .ship-caption{left:7px}.training .repair-progress{right:7px}.training .repair-progress b{font-size:22px}.modal-card{padding:28px 21px 22px}.welcome,.win{padding:0}.welcome-art{height:155px}.welcome-body{padding:22px}.welcome-body h2{font-size:23px}.welcome-specs span{font-size:9px}.level-list{gap:6px}.level-option small{font-size:7px}}
@media(max-height:780px) and (min-width:371px) and (max-width:540px){.game-shell{padding-top:14px}.masthead{margin-bottom:12px}.ship-scene{height:127px}.power-hud{margin-bottom:12px}.controls{margin-top:19px}.mission-footer{margin-top:13px}.training .ship-scene{height:76px}.training .ship-caption{bottom:3px}.training .repair-progress{bottom:3px}.training .repair-progress b{font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.tiny-fuse{width:17px;height:25px}.lesson-symbol>.large-core{width:49px;height:65px;filter:drop-shadow(0 2px 7px #3ca0a244)}.lesson-symbol>b{font:600 37px Consolas;color:#3f707a}.demo-fuse{height:63px;width:37px;filter:drop-shadow(0 0 8px #e0a75544)}.large-fuse{width:100%;height:100%}.briefing-stats b small{display:inline;font:9px inherit;margin-left:2px}.briefing-stats>div>span{display:block;font-size:9px;margin-top:7px;color:#849791}.welcome-body>.quiet-note{display:block;margin-top:12px}.tool-explainer strong{font-size:12px}
.ship-art{mask-image:radial-gradient(ellipse 65% 72% at 50% 48%,#000 40%,transparent 76%)}.training .controls{display:none}.training .ship-scene{height:76px}.training .masthead{margin-bottom:10px}.training .power-hud{padding-block:6px}.training .clock-row strong{font-size:28px}.training .fuses{height:37px}.training .fuse-icon{height:37px}.training .ship-caption{bottom:5px}.training .repair-progress{bottom:5px}.training .repair-progress b{font-size:22px}.training .game-shell{padding-bottom:12px}
@media(max-width:540px){.game-shell{padding-top:16px}.masthead{margin-bottom:12px}.brand h1{font-size:21px}.brand p{margin-top:4px}.ship-scene{height:120px}.ship-art{object-fit:cover}.power-hud{padding-block:8px;margin-bottom:12px}.clock-row strong{font-size:32px}.console-panel{padding-top:11px;padding-bottom:9px}.console-top{margin-bottom:6px}.rules-strip{margin-bottom:8px}.board-foot{margin-top:8px}.controls{margin-top:19px}.mission-footer{display:none}.training .ship-scene{height:70px}.training .ship-art{object-fit:contain}.training .console-panel{padding-top:10px}.training .rules-strip{display:none}.training .training-banner{margin-bottom:10px}.training .board-foot{margin-top:8px}}
.ship-scene{container-type:inline-size}.ship-art{object-fit:cover}.ship-lights{display:block;inset:0;transform:none;opacity:1;pointer-events:none}.ship-lights i{position:absolute;left:44.6%;top:calc(50% - 2.2cqw);width:2.2%;height:3.2cqw;border-radius:45%;opacity:0;background:none;transition:opacity .7s}.ship-lights i:nth-child(2){left:49.8%;top:calc(50% - 1.9cqw)}.ship-lights i:nth-child(3){left:54.6%;top:calc(50% - 1.4cqw)}.ship-lights i:nth-child(4){left:58.5%;top:calc(50% - 1.1cqw)}.ship-lights .lit{opacity:.8;background:radial-gradient(ellipse,#b5ffffaa,#20baca88 55%,transparent 75%);box-shadow:0 0 6px #70f8ff88}.training .ship-lights{display:none}
.ship-lights i{top:calc(50% - 4.8cqw)}.ship-lights i:nth-child(2){top:calc(50% - 4.3cqw)}.ship-lights i:nth-child(3){top:calc(50% - 4cqw)}.ship-lights i:nth-child(4){top:calc(50% - 3.7cqw)}.training .ship-art{width:160px;left:calc(50% - 80px);object-fit:cover;mask-image:radial-gradient(ellipse 65% 75% at 50% 48%,#000 30%,transparent 72%)}.briefing-stats b small{font-size:9px}
/* Tutorial pointer belongs to the board overlay, above every tile stacking context. */
.board>.gesture-cursor{z-index:30;pointer-events:none}.swipe-path{position:absolute;z-index:24;width:0;border-left:2px dashed #bafff1;pointer-events:none;filter:drop-shadow(0 0 4px #44edf3)}.swipe-path:after{content:'';position:absolute;left:-7px;bottom:0;width:11px;height:11px;border-right:3px solid #d6fff8;border-bottom:3px solid #d6fff8;transform:rotate(45deg)}.swipe-path b{position:absolute;left:20px;top:45%;font-size:11px;white-space:nowrap;color:#e6ffff;border:1px solid #81c7c9;background:#143444ed;border-radius:6px;padding:6px 8px;letter-spacing:.5px}.drag .hand-icon{animation:none}.drag>b{display:none}
/* Scorched interface: soot halo, fractured carbon, recessed rim and cooling embers. */
.scorch{position:absolute;inset:17%;border-radius:45% 54% 44% 50%;opacity:0;transform:scale(.65);pointer-events:none;background:radial-gradient(ellipse at 47% 46%,#161a1f 0 26%,#2c2726 42%,#443431b8 55%,#422e2840 66%,transparent 74%);filter:drop-shadow(0 2px 2px #192a3833)}.scorch:before{content:'';position:absolute;inset:19%;border-radius:48%;background:repeating-conic-gradient(from 17deg,#151b21 0deg 34deg,#7e5a4344 36deg 40deg,#26262a 42deg 70deg);box-shadow:inset 1px 2px 4px #000b,0 0 0 2px #604a3c55,0 0 6px #211e1e88;transform:rotate(-17deg)}.scorch:after{content:'';position:absolute;inset:7%;border-radius:50%;background:radial-gradient(circle at 24% 33%,#232025 0 3%,transparent 5%),radial-gradient(circle at 72% 78%,#231c19 0 4%,transparent 6%),radial-gradient(circle at 77% 20%,#352e2a 0 3%,transparent 5%),radial-gradient(circle at 17% 72%,#352e2a 0 2%,transparent 4%)}.scorch i{position:absolute;z-index:1;width:4px;height:2px;border-radius:50%;left:32%;top:58%;background:#c9783a;box-shadow:0 0 4px #eb933466;transform:rotate(28deg)}.scorch i:nth-child(2){left:65%;top:39%;width:2px;height:4px}.scorch i:nth-child(3){left:48%;top:26%;width:2px;height:2px}.cell[data-mark="1"] .scorch{opacity:1;transform:scale(1);animation:scorch-in .38s ease-out}.cell[data-mark="1"] .scorch i{animation:ember-cool 1.2s ease-out forwards}.board.dense .scorch{inset:12%}.board.dense .scorch i{width:2px;height:2px}@keyframes scorch-in{0%{opacity:.2;transform:scale(.4);filter:brightness(2) drop-shadow(0 0 8px #fa9c49)}100%{opacity:1;transform:scale(1)}}@keyframes ember-cool{from{background:#ffe2a0;box-shadow:0 0 9px #ffae52}to{background:#906143;box-shadow:0 0 2px #ce723833}}
.scorch:before{border-radius:38% 51% 43% 58%;background:linear-gradient(32deg,transparent 45%,#080e12 47% 49%,#9a725633 50%,transparent 52%),linear-gradient(107deg,transparent 52%,#080d12 53% 55%,#84624a44 56%,transparent 58%),linear-gradient(153deg,transparent 34%,#060d12 36% 38%,transparent 40%),radial-gradient(ellipse at 32% 24%,#41403b,#232528 45%,#12181d 78%);box-shadow:inset 1px 2px 4px #0009,0 0 0 2px #604a3c33,0 0 6px #211e1e88}
/* Launch screen: a quiet mission poster with a persistent, separate game state. */
body.at-home{padding:0}.home-screen{position:relative;isolation:isolate;width:min(100%,540px);min-height:100svh;margin:auto;overflow:hidden;padding:25px 34px 24px;display:flex;flex-direction:column;background:linear-gradient(180deg,#0b1b2b00,#0a1c2c 87%)}.home-topline{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1px;color:#7898aa;position:relative;z-index:2}.home-topline i{display:inline-block;width:4px;height:4px;border-radius:50%;background:#8bd2c6;box-shadow:0 0 7px #77dace;margin-right:5px}.home-logo{text-align:center;position:relative;z-index:2;margin-top:35px}.logo-emblem{position:relative;display:grid;place-items:center;margin:0 auto 13px;width:49px;height:49px;border:1px solid #87a5ad66;border-radius:50%;transform:rotate(-15deg);box-shadow:0 0 20px #62ccd114}.logo-emblem .line-icon{width:23px;height:27px;color:#edd6a0;transform:rotate(15deg);filter:drop-shadow(0 0 8px #f4d3a140)}.logo-emblem i{position:absolute;inset:8px -8px;border:1px solid #84bbbd80;border-radius:50%;transform:rotate(-25deg)}.home-logo>p{font:7px Arial;letter-spacing:2px;color:#7c9ead;margin:0 0 14px}.home-logo h1{position:relative;display:inline-block;font-size:54px;font-weight:900;letter-spacing:6px;line-height:1.15;transform:skew(-7deg);color:#f1eee0;margin:0;text-shadow:0 2px 0 #849ba2,0 5px 0 #1c3e50,0 8px 24px #0008}.home-logo h1 span{color:#f0d39e;text-shadow:0 2px 0 #9e835a,0 5px 0 #293e48,0 8px 24px #0008}.home-logo h1 b{position:absolute;right:-22px;top:-9px;font-size:23px;color:#a4e2e0;font-weight:400}.logo-english{margin-top:17px;font:9px Arial;color:#b6c7c8;letter-spacing:1px}.logo-rule{height:1px;width:145px;margin:17px auto 0;background:linear-gradient(90deg,transparent,#90afb35c,transparent)}.home-art{position:absolute;z-index:-1;top:205px;left:50%;width:680px;height:380px;transform:translateX(-50%);pointer-events:none}.home-art img{position:absolute;width:100%;height:100%;object-fit:contain;mask-image:radial-gradient(ellipse 58% 64% at 51% 50%,#000 36%,transparent 76%);filter:drop-shadow(0 10px 20px #0004)}.home-orbit{position:absolute;left:18%;right:18%;top:58%;height:75px;border:1px solid #6cabb029;border-radius:50%;transform:rotate(-13deg);z-index:-1}.home-bottom{margin-top:242px;position:relative;z-index:2}.home-story{text-align:center;margin-bottom:24px}.home-story>span{font:7px Arial;color:#7398a8;letter-spacing:3px}.home-story h2{font-size:19px;letter-spacing:2px;color:#dfdfd1;font-weight:500;margin:11px 0 10px}.home-story p{font-size:11px;color:#819eac;line-height:1.9;margin:0}.home-actions{display:grid;gap:12px}.home-actions button{width:100%;display:flex;align-items:center;justify-content:space-between;border-radius:12px;padding:15px 21px;min-height:68px;text-align:left;transition:filter .15s,transform .15s}.home-actions button:hover:not(:disabled){filter:brightness(1.08)}.home-actions b{font-size:16px;letter-spacing:2px;font-weight:650;display:block}.home-actions small{display:block;font-size:9px;letter-spacing:.4px;margin-top:6px;font-weight:400;line-height:1.6}.home-start{background:linear-gradient(120deg,#f1d69f,#c4ab79);color:#293b42;border:1px solid #ffeecc;box-shadow:0 4px 0 #7d6d51,inset 0 1px 0 #fff8,0 10px 25px #0003}.home-start small{color:#756b50}.home-continue{background:linear-gradient(120deg,#244454,#193344);color:#dbeae3;border:1px solid #688b9266;box-shadow:0 3px 0 #091622,inset 0 1px 0 #c7fff011}.home-continue small{color:#9ab5bc}.home-continue:disabled{opacity:.4}.home-actions .home-map{min-height:53px;padding:13px 20px;border:1px solid #496c7e66;background:#132c3cba;color:#a0b8c2;gap:11px}.home-map b{font-size:12px;font-weight:500;letter-spacing:1px}.home-map>span{margin-left:auto;font-size:9px;color:#6d91a4}.home-map .line-icon{width:16px;height:16px}.home-footnote{text-align:center;font-size:8px;letter-spacing:2px;color:#587889;margin:25px 0 0}.home-screen:after{content:'';position:absolute;left:18px;right:18px;top:15px;bottom:13px;border:1px solid #6b91a914;border-radius:22px;pointer-events:none;z-index:-1}
@media(min-width:700px){.home-screen{min-height:950px;padding-top:35px}.home-art{width:770px;height:410px;top:221px}.home-bottom{margin-top:259px}.home-logo{margin-top:40px}.home-actions{max-width:360px;width:100%;margin:auto}.home-story{margin-bottom:25px}}
@media(max-width:540px){.home-screen{padding:21px 29px 22px}.home-logo{margin-top:25px}.home-logo h1{font-size:45px;letter-spacing:4px}.home-logo h1 b{right:-19px;font-size:20px}.logo-emblem{width:42px;height:42px;margin-bottom:13px}.home-art{top:190px;width:565px;height:290px}.home-bottom{margin-top:190px}.home-story{margin-bottom:20px}.home-story h2{font-size:17px;margin-top:9px}.home-actions button{min-height:65px;padding:12px 19px}.home-actions b{font-size:15px}.home-footnote{margin-top:20px}.home-logo>p{font-size:6px;letter-spacing:1.5px}}
@media(max-height:780px) and (max-width:540px){.home-screen{padding-top:17px}.home-logo{margin-top:19px}.logo-emblem{width:35px;height:35px;margin-bottom:9px}.home-logo h1{font-size:40px}.logo-english{margin-top:13px}.logo-rule{margin-top:12px}.home-art{top:158px;height:250px;width:510px}.home-bottom{margin-top:145px}.home-story{margin-bottom:16px}.home-story h2{margin:8px 0}.home-actions{gap:10px}.home-actions button{min-height:60px}.home-actions .home-map{min-height:47px}.home-footnote{margin-top:17px}}
@media(max-width:350px){.home-screen{padding-inline:25px}.home-topline{font-size:8px;letter-spacing:.3px}.home-logo h1{font-size:36px}.home-logo>p{font-size:5px}.home-actions b{font-size:14px}.home-actions small{font-size:8px}.home-art{width:460px}.home-story p{font-size:10px}}
.home-logo h1:focus{outline:none}
/* First mission follows the supplied tutorial: one banner, spotlight, hand and board. */
.reference-status{display:none}.reference-first .ship-scene,.reference-first .power-hud{display:none}.reference-first .reference-status{display:flex;justify-content:center;gap:13px;margin:18px 0 14px;align-items:center}.reference-status>span{height:36px;min-width:102px;border-radius:22px;background:linear-gradient(#fff0bc,#e7c77f);border:1px solid #f0d497;box-shadow:0 2px 0 #795e39;display:flex;align-items:center;justify-content:center;gap:4px;color:#594b31}.reference-status b{font:700 22px Arial}.reference-status .tiny-core{width:24px;height:29px}.reference-status .fuse-icon{width:23px;height:32px}.reference-first .masthead{margin-bottom:12px}.reference-first .brand h1{font-size:19px}.reference-first .brand p{font-size:6px}.reference-first .console-panel{padding:0;background:transparent;border:0;box-shadow:none;border-radius:0}.reference-first .console-panel:before,.reference-first .console-panel:after,.reference-first .console-top,.reference-first .board-foot{display:none}.reference-first.training .rules-strip{display:none}.reference-first .board-frame{padding:12px;border:2px solid #a89466;border-radius:7px;background:#172839;box-shadow:inset 0 0 0 3px #c0a76b55,0 5px 15px #0004}.reference-first .board{gap:8px}.reference-first .cell{border-radius:11px;border:0;box-shadow:none}.reference-first .cell .socket{display:none}.reference-first .cell[data-mark="2"]{box-shadow:none}.reference-first .cell[data-mark="1"] .scorch{display:none}.cell .cross{display:none}.reference-first .cell .cross{display:block}.reference-first .cell[data-mark="1"] .cross{opacity:1}.reference-first .cell>.energy-cell{width:83%;height:94%}.reference-first .cell{background:var(--cell-color)}.reference-first .cell[style*="#a29bd2"]{--reference-color:#897ad8;background:var(--reference-color)}.reference-first .cell[style*="#e4c573"]{background:#d3ac00}.reference-first .cell[style*="#dca5ce"]{background:#f897de}.reference-first .cell[style*="#cd8d9d"]{background:#ca7090}.reference-first .training-banner{position:relative;z-index:20;border-radius:7px;border:2px solid #d9a541;background:linear-gradient(#ffe4b4,#fff3cf);box-shadow:0 2px 0 #70522b;padding:10px 5px;margin:0 -7px 14px;min-height:39px;display:flex;align-items:center;justify-content:center}.reference-first .training-banner h2{margin:0;color:#8e5b31;text-align:center;font-size:15px;font-weight:750;line-height:1.5}.reference-dim:before{content:'';position:fixed;inset:0;background:#000b;z-index:10;pointer-events:none}.reference-first .tutorial-context{z-index:12}.reference-first .gesture-cursor{z-index:30;width:90px;height:112px;transform:translate(-18px,-9px)}.reference-first .hand-icon{width:79px;height:101px;transform:rotate(-24deg);filter:drop-shadow(1px 2px 1px #59412866)}.reference-first .tap-ring{width:63px;height:63px;left:-14px;top:-18px;border-color:#c4fbff;box-shadow:0 0 13px #86ecff,inset 0 0 9px #79eaff}.reference-first .double .hand-icon{animation:reference-tap 1.7s infinite}.reference-first .tap .hand-icon{animation:reference-tap 2s infinite}.reference-first .drag{animation:reference-swipe 2.8s ease-in-out infinite}.reference-first .drag .hand-icon{animation:none}.reference-footer{position:relative;z-index:20;min-height:85px;margin-top:27px;display:flex;justify-content:center;align-items:flex-start}.reference-ack{background:linear-gradient(#4cbced,#248fc6);color:#fff;border:2px solid #175c8a;box-shadow:inset 0 0 0 2px #65c9f580,0 3px 0 #123f60;border-radius:8px;padding:13px 42px;font-size:18px;font-weight:700;text-shadow:0 2px #174765}.reference-coach{position:relative;display:flex;align-items:center;gap:10px;border:1px solid #ddbb70;border-radius:12px;background:linear-gradient(#fff4ce,#f7dfa3);color:#8e6338;padding:11px 15px;min-height:48px;width:90%;box-shadow:0 3px 0 #735333}.coach-avatar{display:grid;place-items:center;flex:0 0 40px;height:40px;margin:-7px 0 -7px -23px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#518d9b,#1a354b);border:2px solid #f7d384;color:#e7ca8c;font-size:24px}.reference-coach p{font-size:12px;font-weight:600;margin:0;flex:1;text-align:center}.reference-coach button{font-size:10px;color:#e8dcba;background:#34525f;border:1px solid #869787;border-radius:7px;padding:9px 7px}.reference-first:not(.training) .rules-strip,.reference-free .rules-strip{display:grid!important;background:#d6b986;border-radius:7px;padding:7px;margin-bottom:14px}.reference-first .rules-strip p,.reference-first .rules-strip em{color:#655234}.reference-first .rules-strip .line-icon{color:#806e4c}.reference-first .mission-footer{display:none}.reference-first .controls{margin-top:14px}.reference-first.training .controls{display:none}
@keyframes reference-swipe{0%,15%{transform:translate(-18px,-9px);opacity:1}45%{transform:translate(calc(-18px + var(--route-x)),-9px);opacity:1}78%{transform:translate(calc(-18px + var(--route-x)),calc(-9px + var(--route-y)));opacity:1}94%,100%{transform:translate(calc(-18px + var(--route-x)),calc(-9px + var(--route-y)));opacity:0}}@keyframes reference-tap{0%,24%,50%,100%{transform:rotate(-24deg)}12%,37%{transform:translate(-4px,-7px) rotate(-24deg) scale(.96)}}
@media(max-width:370px){.reference-first .training-banner h2{font-size:13px}.reference-first .board-frame{padding:10px}.reference-first .board{gap:6px}.reference-coach p{font-size:11px}.reference-first .reference-status{margin:14px 0}.reference-first .gesture-cursor{width:75px;height:90px}.reference-first .hand-icon{width:68px;height:88px}}
/* Save Trump: fictional crisis-comedy visual treatment. */
.home-logo h1{font-size:47px;letter-spacing:2px}.home-logo h1 span{color:#eeaa7f}.home-logo h1 b{color:#c6a5ed}.home-art{top:211px;width:600px;height:300px}.home-art img{mask-image:radial-gradient(ellipse 61% 76% at 50% 50%,#000 42%,transparent 78%)}.home-story h2{font-weight:650;color:#ead8c3}.home-start{background:linear-gradient(120deg,#efd6ae,#c99c77)}.home-footnote{line-height:1.9}.ship-lights,.engine-aura{display:none!important}.ship-scene{height:155px}.ship-art{object-fit:cover;object-position:50% 45%;mask-image:radial-gradient(ellipse 65% 85% at 50% 42%,#000 35%,transparent 77%)}.ship-caption{bottom:7px}.ship-caption span{font-size:10px}.ship-feedback{color:#f0d7ff;background:#392750eb;border-color:#b596cb}.power-hud.critical{animation:panic-border .6s alternate infinite}.short-circuit .ship-art{animation:trump-rage .55s}.warping .ship-art{animation:calm-down 1s}.fuse-icon{filter:none}.fuse.empty{filter:grayscale(1);opacity:.2}.reference-first .reference-status>span{min-width:116px}.reference-first .reference-status .tiny-core{width:24px}.reference-first .reference-status b{font-size:20px}.reference-first .training-banner h2{font-size:14px}.victory-art:before{background:radial-gradient(ellipse at 60% 60%,#c3a3ee33,transparent 65%)}.doomsday{position:fixed;inset:0;z-index:150;overflow:hidden;background:#100d18;display:flex;align-items:center;justify-content:center;isolation:isolate}.doomsday-room{position:absolute;left:50%;top:24%;transform:translateX(-50%);width:min(720px,130vw);height:360px}.doomsday-room>img{width:100%;height:100%;object-fit:contain;mask-image:radial-gradient(ellipse,#000 45%,transparent 76%)}.launch-button{position:absolute;right:19%;top:62%;width:70px;height:27px;border-radius:50%;background:linear-gradient(#ff514a,#a71324);box-shadow:0 5px 0 #490618,0 0 25px #ff253e}.panic-hand{position:absolute;right:18%;top:43%;width:83px;height:100px;z-index:2;transform:rotate(-15deg)}.panic-hand svg{width:100%;height:100%}.playing .panic-hand{animation:panic-press .24s linear 7}.playing .launch-button{animation:panic-button .24s linear 7}.doomsday-copy{position:absolute;left:20px;right:20px;top:12%;text-align:center;color:#ffd8bf}.doomsday-copy small{font:9px Arial;letter-spacing:4px;color:#c18e88}.doomsday-copy h2{font-size:28px;letter-spacing:2px;margin:13px 0}.doomsday-copy p{font-size:12px;color:#cda19b}.doomsday-world{position:absolute;font-size:170px;line-height:1;top:50%;left:50%;transform:translate(-50%,-50%) scale(.2);opacity:0;z-index:4}.playing .doomsday-world{animation:world-end 1.6s 1.65s forwards}.blast-ring{position:absolute;left:50%;top:50%;width:130px;height:130px;border-radius:50%;border:8px solid #ffd29a;box-shadow:0 0 60px 40px #ff603bcc,inset 0 0 35px #ffeac9;transform:translate(-50%,-50%) scale(.1);opacity:0;z-index:5}.playing .blast-ring{animation:world-blast 1.5s 1.9s forwards}.playing .doomsday-room{animation:room-fade .5s 1.5s forwards}#skip-ending{position:absolute;bottom:35px;right:24px;z-index:6;border:1px solid #ac7b7955;background:#311e2bd9;color:#d3b6b0;padding:10px 18px;border-radius:8px;font-size:11px}.ruined-world{font-size:65px;margin:0 auto 15px}.lost h2{color:#8e4f4e}.lost .primary{background:linear-gradient(#a7615c,#74444c);border-color:#95534f;box-shadow:0 3px #513440}
@keyframes panic-press{0%,100%{transform:translateY(-15px) rotate(-15deg)}50%{transform:translateY(35px) rotate(-25deg)}}@keyframes panic-button{50%{transform:translateY(4px);filter:brightness(1.8)}}@keyframes room-fade{to{opacity:0}}@keyframes world-end{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}20%,45%{opacity:1;transform:translate(-50%,-50%) scale(1)}75%{filter:sepia(1) saturate(8);opacity:1}100%{transform:translate(-50%,-50%) scale(1.3);filter:brightness(.05);opacity:0}}@keyframes world-blast{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}20%{opacity:1}60%{opacity:.8}100%{opacity:0;transform:translate(-50%,-50%) scale(12)}}@keyframes trump-rage{25%,75%{transform:translateX(4px) rotate(1deg);filter:sepia(.4) saturate(1.8)}50%{transform:translateX(-4px) rotate(-1deg)}}@keyframes calm-down{50%{filter:brightness(1.25) drop-shadow(0 0 10px #bd90e2)}}@keyframes panic-border{to{box-shadow:0 0 22px #ef653b55}}
@media(max-width:540px){.home-logo h1{font-size:38px;letter-spacing:1px}.home-art{top:200px;width:480px;height:260px}.ship-scene{height:120px}.home-story h2{font-size:17px}.home-logo>p{letter-spacing:1px}.home-footnote{font-size:7px}}
@media(max-height:780px) and (max-width:540px){.home-logo h1{font-size:35px}.home-art{top:160px;width:440px;height:230px}}
@media(max-width:350px){.home-logo h1{font-size:32px}.home-art{width:410px}.reference-first .training-banner h2{font-size:12px}}
/* Reference tutorial refinements: semantic emphasis, portrait, actual 3x3 rule diagrams. */
.reference-first .drag{animation:none!important}.guide-emphasis{font-weight:850}.guide-emphasis.danger{color:#d82c20}.guide-emphasis.action{color:#cf421c}.guide-emphasis.rose{color:#cb438d}.guide-emphasis.purple{color:#7952d2}.reference-first .training-banner h2{font-size:16px;line-height:1.55}.reference-coach{padding:12px 15px;min-height:59px;gap:12px;width:94%;margin-left:10px}.coach-avatar{position:relative;overflow:hidden;flex:0 0 57px;height:57px;margin:-12px 0 -12px -26px;border:3px solid #f2d38d;box-shadow:0 2px 4px #4b311a66;background:#1d2e3f}.coach-avatar img{position:absolute;max-width:none;width:420%;height:auto;left:-139%;top:-16%;pointer-events:none}.reference-coach p{font-size:17px;line-height:1.65;font-weight:700;color:#906031;text-align:left}.reference-coach button{font-size:11px;flex-shrink:0}.rules-strip,.reference-first:not(.training) .rules-strip,.reference-free .rules-strip{background:linear-gradient(#a86226,#874416);border:1px solid #dda140;box-shadow:inset 0 0 0 1px #d78c3040,0 2px 0 #392817;border-radius:8px;padding:7px 6px;gap:0}.rules-strip>div{gap:8px;min-width:0}.rules-strip>div+div{border-left:1px solid #ebb77255}.rules-strip p,.rules-strip em,.reference-first .rules-strip p,.reference-first .rules-strip em{color:#ffe2b7;font-size:11px;line-height:1.5;font-weight:500;white-space:nowrap}.rule-mini{display:grid;flex:0 0 32px;width:32px;height:32px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:1px}.rule-mini i{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;font:900 12px/1 Arial,sans-serif;color:#fff9e9;background:#d1a770;border-radius:1px;font-style:normal}.rule-mini.color i{background:#c18a46}.rule-mini.near i{background:#bb894e}.rule-mini .mini-dose{background:#dfba76}.rule-mini svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 1px #fff8)}.rules-strip .rule-mini.line i:empty{background:#edd1a2}
@media(max-width:540px){.reference-first .training-banner h2{font-size:15px}.reference-coach p{font-size:16px}.rules-strip>div{gap:6px}.rules-strip p,.rules-strip em,.reference-first .rules-strip p,.reference-first .rules-strip em{font-size:10px}.rule-mini{flex-basis:29px;width:29px;height:29px}.reference-coach{padding-right:11px}}
@media(max-width:370px){.reference-first .training-banner h2{font-size:13px}.reference-coach p{font-size:15px}.coach-avatar{flex-basis:51px;height:51px}.reference-coach{gap:8px}.rule-mini{flex-basis:25px;width:25px;height:25px}.rule-mini i{font-size:10px}.rules-strip>div{gap:4px}.rules-strip p,.rules-strip em,.reference-first .rules-strip p,.reference-first .rules-strip em{font-size:9px}.reference-coach button{font-size:10px;padding:8px 5px}}
.hint-proof{margin:20px 0;padding:18px;background:#e2e9e2;border:1px solid #c3d2ca;border-radius:12px;text-align:left;color:#344e56;font-size:15px;line-height:1.75}
.hint-proof h3{margin:0 0 12px;font-size:18px;color:#264957}
.hint-proof ol{padding-left:24px;margin:8px 0}.hint-proof li{padding:5px 0 8px 3px}.hint-proof li::marker{color:#b06930;font-weight:800}
.hint-proof .proof-conclusion{border-top:1px solid #bdcdc5;padding-top:12px;margin:12px 0 0;color:#8b4227;font-weight:800;font-size:16px}
.hint-proof details{padding:8px 0 8px 10px;border-left:2px solid #baccc4;margin:8px 0}.hint-proof summary{cursor:pointer;font-weight:700;color:#285b65}.hint-proof .proof-deadend{font-size:14px;color:#8d452e;margin:8px 0}.hint-proof .proof-tree{padding-left:8px}
@media(max-width:360px){.hint-proof{padding:12px;font-size:14px}}
.hint-proof .proof-reasons{margin:8px 0 0;padding-left:20px;font-size:14px;line-height:1.6}
.hint-proof .proof-reasons li{padding:4px 0}
.chapter-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:19px 0 13px}
.chapter-tab{background:#e0e6de;color:#52717a;border:1px solid #bed0c6;border-radius:7px;min-height:34px;font:700 10px Arial,sans-serif;padding:5px 1px}
.chapter-tab.active{background:#2d5966;color:#fff4db;border-color:#427b84;box-shadow:0 2px 0 #183d46}
.chapter-overview{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border-radius:10px;background:#dce7df;color:#36545f;text-align:left}
.chapter-overview strong{font-size:14px}.chapter-overview span{font-size:11px;color:#718782}
.level-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:15px 0}
.level-option{min-width:0;padding:9px 2px 8px}.level-option b{font-size:18px}.level-option small{overflow:hidden;text-overflow:ellipsis;font-size:9px}.level-option>span{font-size:8px;white-space:nowrap}
.level-option.minor{border-color:#d4ae70;background:#f3e4c7;color:#82633f}.level-option.major{border-color:#a96d48;background:#e8cdb0;color:#74452e;box-shadow:inset 0 0 0 1px #f9e7d0}
.level-option.current{background:#315e6a;color:#f0f7e9;border-color:#2a5964}
@media(max-width:360px){.chapter-tab{font-size:9px}.level-option small{font-size:8px}.level-option>span{font-size:7px}}
