:root{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#f4faff;background:#030919;font-synthesis:none}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#030919}
body{overflow-x:hidden}
button{font:inherit;cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.48}
button:focus-visible{outline:3px solid #ffe29e;outline-offset:3px}
[hidden]{display:none!important}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.app{width:min(100%,460px);margin:auto;background:#071329;box-shadow:0 0 80px #000d}
.scene{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background-color:#071329;background-position:center center;background-repeat:no-repeat;background-size:cover}
.scene:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#020b20a8 0%,transparent 22%,transparent 67%,#020a1b9e 100%)}
.home-screen{background-image:url("assets/voyage-home-v1.webp")}
.flight-screen{background-image:url("assets/voyage-flight-v1.webp")}
.route-screen{background-image:url("assets/voyage-route-v1.webp")}
.arrival-screen{background-image:url("assets/voyage-arrival-v1.webp")}
.arrival-screen:not([data-stop="moon"]){background-image:url("assets/voyage-arrival-space-v1.webp")}
.scan-screen{background-image:linear-gradient(#061328d9,#061328e8),url("assets/voyage-flight-v1.webp");padding:16px 18px max(22px,env(safe-area-inset-bottom));min-height:100svh}
.glass{border:1px solid #4dd7f5a8;background:linear-gradient(130deg,#082443df,#071b38dc);box-shadow:inset 0 0 18px #2cc7f52b,0 7px 24px #0008;backdrop-filter:blur(6px)}
.button-gold,.button-blue{border-radius:12px;min-height:52px;display:flex;align-items:center;justify-content:center;gap:11px;font-size:18px;font-weight:800;letter-spacing:1px;text-shadow:0 2px 7px #04152b;transition:transform .16s,filter .16s;white-space:nowrap}
.button-gold:hover,.button-blue:hover{filter:brightness(1.13);transform:translateY(-2px)}
.button-gold:active,.button-blue:active{transform:translateY(1px)}
.button-gold{color:#fff8e7;border:2px solid #ffe4a3;background:linear-gradient(115deg,#ad5f11,#ffc45a 48%,#af650d);box-shadow:inset 0 0 0 2px #ffe5ad67,0 0 25px #ffa9289c,0 4px 0 #693c08}
.button-blue{color:#e1faff;border:1.5px solid #71ddff;background:linear-gradient(110deg,#08203fcf,#073055e8);box-shadow:inset 0 0 0 1px #5cc7eb66,0 0 15px #18b4f04d}
.button-large{min-height:62px;font-size:25px}
.button-star{font-size:24px}
.home-logo{position:absolute;top:7%;left:6%;right:6%;text-align:center;text-shadow:0 4px 16px #00183e,0 0 20px #418cdd}
.home-logo .logo-star{display:block;color:#fbd489;font-size:34px;line-height:1}
.home-logo h1,.arrival-title h1,.route-header h1{font-family:"Songti SC","SimSun",serif;font-weight:900;margin:3px 0 9px;letter-spacing:6px;white-space:nowrap}
.home-logo h1{font-size:clamp(42px,11vw,62px);line-height:1.2}
.home-logo p{margin:0;color:#f8e3b4;font-size:13px;letter-spacing:4px;font-weight:700}
.home-logo p span{color:#ffd174}
.home-destination{position:absolute;top:35%;left:15%;right:15%;display:flex;align-items:center;justify-content:space-around;gap:10px;border-radius:14px;padding:11px 13px;min-height:71px}
.home-destination>div:not(.destination-divider){display:grid;gap:4px}
.home-destination small{color:#b7eaff;font-size:11px;letter-spacing:2px}
.home-destination strong{font-size:24px;letter-spacing:3px}
.planet-mini{display:block;width:35px;height:35px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#f1f6ff,#8ba4c5 52%,#3f5783 85%);box-shadow:0 0 12px #d7f2ff}
.destination-divider{height:38px;width:1px;background:#5ad4fb6b}
.home-actions{position:absolute;left:10%;right:10%;bottom:max(5%,env(safe-area-inset-bottom));display:grid;gap:13px;text-align:center}
.home-secondary{display:flex;gap:10px}
.home-secondary button{min-width:0;flex:1;font-size:15px;min-height:50px}
.home-save-label{margin:2px 0 0;color:#d1e6f6;font-size:11px;letter-spacing:1px;text-shadow:0 2px 8px #000}

.scene-header{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 0}
.ship-wordmark{font-size:19px;font-family:"Songti SC","SimSun",serif;font-weight:900;letter-spacing:2px;line-height:1.1;text-shadow:0 0 12px #69a8ff}
.ship-wordmark>span{color:#ffcf6e}
.ship-wordmark small{display:block;color:#abd0df;font:700 8px/1.5 system-ui,sans-serif;letter-spacing:2px;margin-top:5px}
.header-actions{display:flex;gap:7px}
.icon-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #5c93b36b;border-radius:9px;background:#0a2444b8;color:#d6f8ff;box-shadow:inset 0 0 10px #29baff2b;font-size:24px;line-height:1}
.icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.flight-metrics{position:absolute;top:9%;left:4%;right:4%;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.metric{min-width:0;min-height:74px;border:1px solid #4fc8ee;background:#061a38cf;padding:11px 7px;text-align:center;box-shadow:inset 0 0 12px #0b9aca35,0 0 10px #1cb1f255}
.metric:first-child{border-radius:13px 4px 4px 13px}.metric:last-child{border-radius:4px 13px 13px 4px}
.metric span{display:block;font-size:11px;color:#d7f5ff;white-space:nowrap}.metric strong{display:block;margin-top:6px;font-size:clamp(19px,6vw,29px);font-variant-numeric:tabular-nums}
.metric.cyan strong{color:#81f5ff}.metric.amber{border-color:#e4a64a;box-shadow:0 0 10px #eaa33449}.metric.amber strong{color:#ffd28a}
.fuel-row{position:absolute;top:19%;left:4%;right:4%;height:45px;display:flex;align-items:center;gap:8px;border-radius:9px;padding:6px 10px;color:#e3faff;font-size:11px;font-weight:700}
.fuel-row>span:first-child{white-space:nowrap}.fuel-row>strong{color:#85f4ff;font-size:17px}
.fuel-track{height:14px;flex:1;border:1px solid #9fdfff;border-radius:10px;padding:2px;background:#000d;overflow:hidden}
.fuel-track i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#229dcb,#7effef);box-shadow:0 0 9px #55e6ff;transition:width .3s}
.shields{display:flex;gap:1px}.shield-icon{height:19px;width:16px;color:#69eeff}.shield-icon.empty{filter:grayscale(1);opacity:.25}
.flight-destination{position:absolute;top:25%;left:8%;right:8%;font:900 clamp(28px,8vw,40px)/1.2 "Songti SC","SimSun",serif;text-align:center;text-shadow:0 0 17px #468efb,0 3px 12px #000}
.flight-destination span{font-size:1.35em}
.flight-orb{display:none;position:absolute;z-index:1;left:50%;top:42%;width:clamp(155px,45vw,205px);aspect-ratio:1;transform:translate(-50%,-50%);background-position:center;background-size:contain;background-repeat:no-repeat;filter:drop-shadow(0 0 15px #9bd7ff77);pointer-events:none}
.flight-orb:not([data-type="moon"]){display:block}
.flight-orb[data-type="mars"],.arrival-orb[data-type="mars"]{background-image:url("assets/planet-mars-v1.webp")}
.flight-orb[data-type="jupiter"],.arrival-orb[data-type="jupiter"]{background-image:url("assets/planet-jupiter-v1.webp")}
.flight-orb[data-type="saturn"],.arrival-orb[data-type="saturn"]{background-image:url("assets/planet-saturn-v1.webp");width:clamp(220px,72vw,330px)}
.flight-orb[data-type="uranus"],.flight-orb[data-type="neptune"],.arrival-orb[data-type="uranus"],.arrival-orb[data-type="neptune"]{background-image:url("assets/planet-neptune-v1.webp")}
.flight-orb[data-type="pluto"],.arrival-orb[data-type="pluto"]{background-image:url("assets/planet-mars-v1.webp");filter:grayscale(.7) hue-rotate(170deg) drop-shadow(0 0 15px #9bd7ff77)}
.flight-orb[data-type="proxima"],.flight-orb[data-type="orion"],.flight-orb[data-type="andromeda"],.arrival-orb[data-type="proxima"],.arrival-orb[data-type="orion"],.arrival-orb[data-type="andromeda"]{background-image:url("assets/planet-proxima-v1.webp");filter:drop-shadow(0 0 28px #ffae63aa)}
.flight-metrics,.fuel-row,.flight-destination,.flight-route-rail,.flight-bottom{z-index:2}
.flight-route-rail{position:absolute;right:4%;top:38%;bottom:25%;display:flex;flex-direction:column;align-items:center;gap:5px;color:#dcf7ff;font-size:10px;text-shadow:0 2px 6px #000}
.rail-dot{width:9px;height:9px;border:2px solid #79ddff;border-radius:50%;background:#062142}.rail-line{flex:1;border-left:2px dotted #9ceaffaa}.rail-ship{font-style:normal;font-size:19px;color:#ffe7a5;text-shadow:0 0 10px #ffc05a}
.flight-bottom{position:absolute;left:5%;right:5%;bottom:max(5%,env(safe-area-inset-bottom));display:grid;gap:11px}
.signal-card{min-height:74px;border-radius:16px;display:flex;align-items:center;gap:14px;padding:12px}
.signal-orbit{height:48px;width:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:50%;border:1px solid #d3a451;box-shadow:0 0 15px #efa847;color:#ffe099;font-size:28px}
.signal-card small{font-size:9px;color:#9dd6ed;letter-spacing:2px}.signal-card strong{display:block;font-size:17px;margin-top:4px}
.flight-actions{display:flex;gap:9px}.flight-actions .button-gold{flex:1.5}.flight-actions .button-blue{flex:1;font-size:15px}

.scan-screen .scene-header{padding:0 0 15px}
.scan-heading{display:flex;align-items:end;justify-content:space-between;margin:6px 2px 12px}
.scan-heading h1{font:900 27px "Songti SC","SimSun",serif;margin:0;letter-spacing:2px}
.scan-heading span{font-size:11px;color:#b9daed}.scan-heading b{font-size:14px;color:#fff}
.scan-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:13px}
.scan-metrics>div{border:1px solid #51a9d7;border-radius:9px;background:#071e3adb;padding:8px 4px;text-align:center;box-shadow:inset 0 0 13px #43d9ff22}
.scan-metrics span{display:block;color:#d3e7f3;font-size:10px}.scan-metrics strong{font-size:20px;color:#c9f8ff;font-variant-numeric:tabular-nums}
.scan-metrics>div:first-child strong{color:#ffe0a0}
.rules-banner,.training-banner{border:1.5px solid #e5b867;border-radius:9px;background:linear-gradient(110deg,#4d3415f0,#322917f5);box-shadow:0 0 15px #efb65d55,inset 0 0 13px #ffe4ac22;text-align:center;padding:10px 7px;margin-bottom:12px}
.rules-banner strong{display:block;color:#ffe6a9;font-size:14px;line-height:1.45}.rules-banner strong span{color:#ffcb57}.rules-banner small{display:block;color:#dcfaff;font-size:10px;margin-top:5px}
.training-banner{position:relative;z-index:21;background:linear-gradient(#ffe7b9,#fff4d6);color:#744318;padding:10px 6px}
.training-banner h2{margin:0;font-size:16px;line-height:1.5}.guide-emphasis{font-weight:900}.guide-emphasis.danger{color:#d64235}.guide-emphasis.rose{color:#c5388b}.guide-emphasis.purple{color:#7653ce}.guide-emphasis.action,.guide-emphasis.fuel{color:#b56b0c}
.board-frame{position:relative;padding:8px;border:2px solid #75daf1;border-radius:12px;background:#06162fe8;box-shadow:inset 0 0 0 3px #174a70,0 0 18px #20bafa65;overflow:visible}
.board{--n:6;position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));grid-template-rows:repeat(var(--n),minmax(0,1fr));gap:5px;width:100%;aspect-ratio:1;touch-action:none;user-select:none}
.cell{position:relative;min-width:0;min-height:0;border:1px solid #f7f7ff30;border-radius:8px;background:var(--cell-color);box-shadow:inset 0 3px 8px #fff5,inset 0 -3px 9px #16204c4b;display:grid;place-items:center;padding:0;touch-action:none;transition:filter .15s,box-shadow .15s}
.cell:hover{filter:brightness(1.1)}.cell[data-mark="2"]{box-shadow:inset 0 0 16px #caffff,0 0 10px #5efbff}
.cell .energy-cell{display:none;width:72%;height:79%;filter:drop-shadow(0 0 6px #4bdeff)}
.cell[data-mark="2"] .energy-cell{display:block}
.cell .cross{display:none;position:absolute;width:70%;height:70%;opacity:0}
.cell .cross:before,.cell .cross:after{content:"";position:absolute;top:48%;left:0;width:100%;height:7px;background:#fff;border-radius:7px;transform:rotate(45deg);box-shadow:0 0 5px #fff}
.cell .cross:after{transform:rotate(-45deg)}
.cell .scorch{display:none;position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,#090b13 0 11%,#1a1317 17%,#392324 28%,#0000 52%);filter:drop-shadow(0 0 2px #2a1411)}
.cell .scorch:before,.cell .scorch:after{content:"";position:absolute;left:49%;top:7%;height:84%;width:4px;background:linear-gradient(transparent,#1d1518,#382327,transparent);transform:rotate(23deg)}
.cell .scorch:after{transform:rotate(-56deg)}
.cell[data-mark="1"] .scorch{display:block}
.cell.hinted{outline:3px solid #ffe49a;outline-offset:-3px;box-shadow:0 0 16px #ffe47a;z-index:3}
.cell.wrong{animation:wrong .42s}
.scan-board-foot{display:flex;justify-content:space-between;gap:8px;color:#a9c9da;font-size:10px;margin:8px 3px 11px}
.scan-board-foot small{white-space:nowrap}
.scan-ai{display:flex;align-items:center;gap:10px;border-radius:13px;padding:10px;margin:0 0 11px;min-height:72px}
.ai-avatar,.coach-avatar{width:45px;height:45px;flex:0 0 45px;display:grid;place-items:center;border-radius:50%;border:2px solid #dfb769;background:radial-gradient(circle at 35% 30%,#3281a9,#09314b);box-shadow:0 0 12px #45cfff;color:#ffe29e;font-size:23px}
.scan-ai p{margin:0;line-height:1.35}.scan-ai strong,.scan-ai span{display:block}.scan-ai strong{color:#fce3a6;font-size:12px}.scan-ai span{font-size:11px;color:#e0f5ff;margin-top:4px}
.scan-controls{display:grid;gap:8px}.scan-tools{display:flex;gap:8px}.scan-tools button{flex:1;font-size:16px;min-height:45px}.scan-tools b{font-size:12px;border-radius:50%;background:#092643;padding:2px 6px}
.scan-secondary{display:flex;justify-content:space-between;gap:5px}.scan-secondary button{border:1px solid #39749a;background:#082341d9;color:#d0f3ff;border-radius:8px;padding:6px 9px;font-size:11px}
.board-particles{position:absolute;inset:0;pointer-events:none;overflow:visible}.spark{position:absolute;width:5px;height:5px;border-radius:50%;background:#8afff1;box-shadow:0 0 8px #80fff2;animation:spark .9s ease-out forwards}.spark.error{background:#ffb36e;box-shadow:0 0 8px #ff984c}
.gesture-cursor{position:absolute;z-index:35;width:65px;height:80px;transform:translate(-18px,-9px);pointer-events:none;overflow:visible}
.gesture-cursor .hand-icon{position:absolute;width:65px;height:80px;left:0;top:0;transform:rotate(-24deg);filter:drop-shadow(0 2px 2px #3b2b2860)}
.tap-ring{position:absolute;left:-9px;top:-13px;width:55px;height:55px;border:2px solid #b7faff;border-radius:50%;box-shadow:0 0 13px #5ff2ff,inset 0 0 9px #5ff2ff;animation:ring 1.5s infinite}
.gesture-cursor.double .hand-icon,.gesture-cursor.tap .hand-icon{animation:hand-tap 1.6s infinite}
.scan-screen.training:before{content:"";position:fixed;inset:0;z-index:10;background:#0009;pointer-events:none}
.scan-screen.training .board-frame{z-index:auto}.scan-screen.training .cell.tutorial-context{z-index:12;filter:brightness(1.13)}.scan-screen.training .cell[data-mark="1"] .scorch{display:none}.scan-screen.training .cell[data-mark="1"] .cross{display:block;opacity:1}
.scan-screen.training .scan-ai,.scan-screen.training .scan-controls{display:none}
.scan-screen.training .reference-footer{display:block;position:relative;z-index:20;margin-top:15px}
.reference-coach{display:flex;align-items:center;gap:12px;border:1px solid #efcb83;border-radius:12px;background:linear-gradient(#fff0c5,#eacb8d);color:#704923;min-height:58px;padding:7px 12px;box-shadow:0 4px 0 #624216}
.reference-coach p{font-size:14px;line-height:1.45;font-weight:750;flex:1;margin:0}.reference-coach button{background:#164568;color:#fff;border:1px solid #69caff;border-radius:7px;padding:8px}
.scan-screen.training .rules-banner{display:none}.scan-screen.training .scan-board-foot{display:none}
.scan-screen.training .board-frame{border-color:#eac578;box-shadow:inset 0 0 0 3px #775935,0 0 18px #c59b4665}
.scan-screen.training .cell{border-radius:8px}
.scan-screen.training .scan-metrics{position:relative;z-index:11}
.scan-screen.training .scan-heading{position:relative;z-index:11}
.scan-screen.training .scene-header{position:relative;z-index:11}
.scan-screen.training .training-banner{margin-top:5px}

.route-screen:after{background:linear-gradient(#020b20d9,#06132945 25%,#06132975 73%,#020b20ee)}
.route-header{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:start;padding:25px 22px 10px;background:linear-gradient(#061126f2,#06112600)}
.route-header h1{font-size:34px;margin:0}.route-header p{color:#bddbf0;margin:2px 0;font-size:12px;letter-spacing:2px}
.route-list-wrap{position:absolute;top:105px;bottom:155px;left:0;right:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#61c8ed75 transparent;mask-image:linear-gradient(transparent,#000 8%,#000 92%,transparent)}
.route-list{display:flex;flex-direction:column;padding:15px 28px 25px 45%;gap:11px}
.route-node{display:flex;align-items:center;gap:10px;min-height:66px;color:#d7e9fa;text-shadow:0 2px 6px #000;opacity:.75}
.route-node.current,.route-node.reached,.route-node.next{opacity:1}
.route-node:before{content:"";position:absolute;left:43%;height:78px;border-left:2px dotted #91e3ff9c;z-index:-1}
.route-node:after{content:"";position:absolute;left:calc(43% - 6px);width:12px;height:12px;border:2px solid #8bdcf6;border-radius:50%;background:#072542;box-shadow:0 0 8px #72dfff}
.route-node.next:after{border-color:#ffdb94;background:#c5892d;box-shadow:0 0 14px #ffc85d}
.route-node .node-planet{height:36px;width:36px;flex:0 0 36px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#c4ebfa,#33799f 54%,#0b2856);box-shadow:0 0 12px #6ccfff}
.route-node[data-type="moon"] .node-planet{background:radial-gradient(circle at 32% 28%,#fff,#a1b1c8 55%,#3b4968)}
.route-node[data-type="mars"] .node-planet{background:radial-gradient(circle at 32% 28%,#ffc28c,#b3442b 58%,#4e1c2c)}
.route-node[data-type="jupiter"] .node-planet{background:repeating-linear-gradient(170deg,#dab892 0 7px,#9e7160 8px 13px,#f1d5b5 15px 21px)}
.route-node[data-type="saturn"] .node-planet{background:radial-gradient(circle at 32% 28%,#f8e8ba,#aa8d6f 70%);box-shadow:0 0 0 5px #d8cbad55,0 0 15px #fff3c1}
.route-node[data-type="proxima"] .node-planet,.route-node[data-type="orion"] .node-planet,.route-node[data-type="andromeda"] .node-planet{background:radial-gradient(circle,#fff8c8,#df9949 35%,#eea75d12 70%);box-shadow:0 0 17px #ffd69d}
.route-node strong{display:block;font-size:16px;white-space:nowrap}.route-node small{display:block;font-size:10px;color:#afe9ff;margin-top:3px}
.route-node.next strong{color:#ffe0a0}
.route-bottom{position:absolute;z-index:5;left:5%;right:5%;bottom:max(3%,env(safe-area-inset-bottom));display:grid;gap:9px}
.route-detail{display:flex;justify-content:space-around;border-radius:12px;padding:9px 4px;text-align:center}.route-detail small{display:block;font-size:10px;color:#b4d7eb}.route-detail strong{display:block;font-size:18px;margin-top:2px}
.route-actions{display:flex;gap:8px}.route-actions button{flex:1;font-size:14px;min-height:47px}

.arrival-orb{display:none;position:absolute;z-index:1;left:50%;top:59%;width:min(135%,640px);aspect-ratio:1;transform:translate(-50%,-50%);background-position:center;background-size:contain;background-repeat:no-repeat;pointer-events:none;filter:drop-shadow(0 0 20px #a8dfff88)}
.arrival-orb:not([data-type="moon"]){display:block}
.arrival-orb[data-type="saturn"]{width:min(165%,760px)}
.arrival-title{position:absolute;z-index:2;top:7%;left:4%;right:4%;text-align:center;text-shadow:0 4px 18px #002353}
.arrival-title>span{font-size:12px;color:#f2d590;letter-spacing:3px}
.arrival-title h1{font-size:clamp(42px,12vw,62px);margin:5px 0 1px}
.arrival-title p{font-size:16px;letter-spacing:4px;margin:0}.arrival-title p b{color:#ffca75}
.arrival-info{position:absolute;z-index:2;top:29%;left:7%;right:7%;display:grid;grid-template-columns:repeat(3,1fr);border-radius:14px;padding:14px 5px;text-align:center}
.arrival-info>div+div{border-left:1px solid #80dfff6b}.arrival-info small{display:block;color:#b5dcf0;font-size:10px}.arrival-info strong{display:block;font-size:17px;margin-top:6px;white-space:nowrap}.arrival-info>div:last-child strong{color:#ffe0a2}
.arrival-actions{position:absolute;z-index:2;left:12%;right:12%;bottom:max(7%,env(safe-area-inset-bottom));display:grid;gap:16px}.arrival-actions .button-gold{font-size:20px}.arrival-actions .button-blue{max-width:240px;width:100%;margin:auto}

.modal-backdrop{position:fixed;z-index:100;inset:0;background:#020816c7;display:grid;place-items:center;padding:16px;backdrop-filter:blur(8px)}
.modal-card{width:min(100%,440px);max-height:90svh;overflow:auto;position:relative;border:1.5px solid #80dbf5;border-radius:20px;background:linear-gradient(160deg,#103253,#071a35 65%,#0a1b31);box-shadow:0 0 35px #1da8f06b,inset 0 0 20px #68caff1d;padding:26px 23px;color:#e7f8ff}
.modal-card h2{font:900 28px/1.28 "Songti SC","SimSun",serif;margin:4px 0 14px;color:#fff}
.modal-card h3{font-size:14px;color:#ffe0a4;margin:18px 0 6px}.modal-card p{font-size:14px;line-height:1.65;color:#d6ecf9}.modal-card .eyebrow{font-size:10px;letter-spacing:2px;color:#8ce5f7;margin:0 0 7px}
.modal-card button.primary,.modal-card button.secondary{display:block;width:100%;min-height:45px;margin-top:9px;border-radius:9px;font-weight:750}.modal-card button.primary{background:linear-gradient(110deg,#c47c28,#e8b65a);border:1px solid #ffe4aa;color:#fff}.modal-card button.secondary{background:#0d3956;border:1px solid #65bce0;color:#e4faff}
.modal-close{position:absolute;right:15px;top:12px;border:1px solid #6babc4;background:#092940;color:#fff;border-radius:50%;width:31px;height:31px;font-size:21px}
.tip-box{background:#0b3349;border:1px solid #3488a7;border-radius:10px;padding:11px;margin:12px 0;color:#d9f7ff;font-size:13px;line-height:1.5}
.tip-box strong{color:#ffe2a3}.pause-note{font-size:11px;color:#9bd7e8;text-align:center;margin-top:13px}
.manual-section{max-height:53svh;overflow:auto;padding-right:3px}.manual-section p{margin:4px 0 11px}
.hint-proof{background:#071e31;border:1px solid #498ca6;border-radius:12px;padding:13px;font-size:13px;line-height:1.55}.hint-proof h3{margin:0 0 7px}.hint-proof ol{padding-left:22px}.hint-proof li{margin:4px 0}.hint-proof details{margin:7px 0}.hint-proof summary{cursor:pointer;color:#ffe1a4}.proof-conclusion{color:#ffe7ac!important;font-weight:750}
.toast{position:fixed;z-index:150;left:50%;bottom:22px;transform:translate(-50%,18px);width:max-content;max-width:min(90vw,400px);border:1px solid #58c4de;border-radius:10px;background:#0a2948ed;color:#eaffff;padding:10px 15px;text-align:center;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;font-size:13px;box-shadow:0 5px 18px #0009}.toast.show{opacity:1;transform:translate(-50%,0)}
.flying-core{position:fixed;z-index:60;width:40px;height:52px;pointer-events:none}.flying-core svg{width:100%;height:100%;filter:drop-shadow(0 0 10px #74faff)}
@keyframes wrong{50%{filter:brightness(1.7);box-shadow:0 0 25px #ff653d}}
@keyframes spark{to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.2)}}
@keyframes ring{50%{opacity:.38;transform:scale(.84)}}
@keyframes hand-tap{50%{transform:rotate(-24deg) scale(.9)}}
@media(max-width:390px){.scan-screen{padding:13px 12px 20px}.scan-heading h1{font-size:25px}.scan-metrics strong{font-size:18px}.rules-banner strong{font-size:12px}.board{gap:4px}.board-frame{padding:6px}.cell{border-radius:6px}.reference-coach p{font-size:12px}.scan-ai span{font-size:10px}.home-logo h1{font-size:44px}.flight-actions .button-gold{font-size:16px}}
@media(max-height:760px){.home-logo{top:5%}.home-destination{top:33%}.home-actions{bottom:3%}.flight-metrics{top:8%}.fuel-row{top:18%}.flight-destination{top:24%}.flight-bottom{bottom:3%}.scan-screen{padding-top:10px}.scan-heading{margin:3px 2px 7px}.scan-metrics{margin-bottom:8px}.rules-banner{padding:7px;margin-bottom:8px}.scan-ai{min-height:60px;padding:7px}.scan-controls{gap:5px}.scan-tools button{min-height:40px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
