:root{font-family:system-ui,sans-serif;color:#193f44;background:#eaf0df;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #a4b9aa;background:#fffdf1;color:#21474a;padding:9px 12px;border-radius:9px;min-height:44px;transition:background .15s,box-shadow .15s}button:hover{background:#e7edd9}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a65b28;outline-offset:2px}button[aria-pressed=true]{background:#235a5c;color:white}.primary{background:#f0be66;border-color:#c28c3d;color:#203d3e;font-weight:800}.primary:hover{background:#ffd68d}#game{display:flex;flex-direction:column;height:100dvh;overflow:hidden}header,footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 16px;background:#faf8ed;flex-shrink:0}header{border-bottom:1px solid #c0cdbb}header strong{letter-spacing:.13em;font-size:12px}header strong span{color:#a76734}header>span,small{font-size:10px;line-height:1.55}header button{font-size:11px}footer{font-size:10px;min-height:30px}footer button{min-height:26px;padding:3px 9px;font-size:10px}a{color:inherit}#menu{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:5%;padding:18px 5%;background:radial-gradient(ellipse at 20% 65%,#b9dcca,transparent 65%);overflow:auto}.intro{position:relative;align-content:center}.intro h1{font-family:Georgia,serif;font-size:clamp(24px,3.9vw,53px);line-height:1.04;margin:10px 0;letter-spacing:-.035em}.intro img{width:100%;max-height:135px;object-fit:cover;object-position:50% 62%;border-radius:80px;margin-top:5px;mix-blend-mode:multiply}.intro p{font-size:12px;line-height:1.6;margin:8px 0}.intro .notice{font-size:10px}.setup{display:grid;gap:10px;align-content:center}label{display:grid;gap:4px;font-size:11px;font-weight:700}select,input{width:100%;min-height:44px;border:1px solid #a4b9aa;border-radius:8px;padding:8px;background:#fffef7;color:#21474a}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:11px;margin-bottom:5px}.pilot-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.pilot-choices button{padding:7px 3px;font-weight:750}.pilot-choices span{display:block;font-size:9px;font-weight:400}#flight{display:grid;grid-template-columns:54% 46%;flex:1;min-height:0}.planet{position:relative;background:radial-gradient(circle at 30% 25%,#f5f4df,#d9e9d4 65%,#b8d0c0);overflow:hidden}canvas{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:manipulation}.planet-label{position:absolute;left:12px;right:12px;top:12px;display:grid;gap:3px;pointer-events:none}.planet-label>span{font-size:11px;font-weight:800;letter-spacing:.06em}.planet-label small{font-size:9px;max-width:46ch}.view-controls{position:absolute;bottom:10px;right:12px;display:grid;grid-template-columns:44px 44px 100px;gap:6px}.view-controls button{padding:5px;font-size:11px}#skip-animation{position:absolute;right:12px;top:48px;font-size:10px;min-height:32px;padding:4px 8px;background:#faf8edcc}.panel{padding:15px 19px;background:#fcfaef;overflow:auto;min-height:0;border-left:1px solid #c6d1bf}.panel>section{min-height:100%;display:flex;flex-direction:column}.panel h2{font-family:Georgia,serif;font-size:clamp(18px,2.15vw,29px);line-height:1.15;margin:6px 0 8px;letter-spacing:-.02em}.panel p{line-height:1.55;font-size:12px}.search-label{display:flex;justify-content:space-between;gap:5px;margin:6px 0}.search-label span{font-size:9px;font-weight:400}#choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;min-height:44px;max-height:125px;overflow:auto;margin-top:7px;padding:3px}#choices button{text-align:left;font-size:11px;padding:7px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.actions button{font-size:12px}.score{font-family:Georgia,serif;font-size:clamp(32px,4vw,51px);color:#a2652a}.award-line{display:flex;align-items:center;gap:14px}#tier{font-size:11px;border:1px solid #c4b277;border-radius:20px;padding:5px 9px}#selection{font-size:11px;margin:8px 0}summary{cursor:pointer;min-height:36px;padding:8px 0;font-size:11px;font-weight:650}.definition summary{min-height:25px;padding:3px 0}.definition p{font-size:11px;margin:4px 0}#answers{display:grid;grid-template-columns:1fr 1fr;gap:5px;max-height:150px;overflow:auto}#answers button{font-size:11px;text-align:left}#next{width:100%;margin-top:auto;flex-shrink:0}#reveal>details{margin-bottom:10px}#reveal>p{margin:9px 0}#review{padding:0;list-style:none;display:grid;gap:5px;margin:8px 0 14px;overflow:auto}#review li{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:8px}#review button{text-align:left;font-size:11px}#review small{font-size:10px}#formula{display:block;font-size:10px}#share-result{white-space:pre-wrap;font-size:11px}#result>.actions{margin-top:auto}[hidden]{display:none!important}
@media(max-height:450px) and (min-width:600px){header{padding:3px 12px}header button{min-height:32px}footer{padding:3px 12px;min-height:24px}#menu{padding:8px 4%;gap:4%}.intro img{display:none}.intro h1{font-size:32px}.setup{gap:5px}.pilot-choices span{display:none}.panel{padding:8px 12px}#choices{max-height:88px}.panel h2{font-size:20px}.panel p{font-size:11px}#explanation{max-height:75px;overflow:auto}#review{max-height:125px}.search-label{margin:2px 0}.definition summary{min-height:20px}#selection{margin:4px 0}}
@media(max-width:599px){header{padding:5px 10px}header>span{display:none}header button{font-size:10px}#menu{grid-template-columns:1fr;padding:12px 18px;gap:10px}.intro h1{font-size:30px}.intro img,.intro>p:not(.notice){display:none}.setup{gap:9px}#flight{grid-template-columns:1fr;grid-template-rows:32% 68%}.panel{padding:10px 15px;border-left:0;border-top:1px solid #c6d1bf}.planet-label{top:7px}.planet-label small{max-width:60%;font-size:8px}.view-controls{bottom:6px;right:7px;grid-template-columns:44px 44px 85px;gap:4px}#skip-animation{top:6px;right:7px}.panel h2{font-size:23px}#choices{max-height:120px}footer{padding:4px 9px}footer>span{max-width:45%;font-size:9px}#review{max-height:180px}.search-label span{font-size:9px}}
@media(max-width:599px) and (max-height:360px){header{padding:2px 8px}header button{min-height:28px}#menu{grid-template-columns:1fr 1.3fr;padding:8px;gap:10px}.intro h1{font-size:20px}.intro small,.intro .notice{font-size:8px}.setup{gap:4px}.setup fieldset,.setup>small{display:none}select{min-height:34px;padding:3px;font-size:10px}.actions button{font-size:11px;padding:5px}.setup .actions{grid-template-columns:1fr}#resume{display:none}footer{display:none}#flight{grid-template-columns:30% 70%;grid-template-rows:1fr}.panel{padding:7px}.panel h2{font-size:16px}#choices{max-height:50px}.search-label,.definition{display:none}.planet-label small{display:none}.view-controls{grid-template-columns:1fr}.view-controls #west,.view-controls #east{display:none}#skip-animation{top:45px;font-size:8px}.planet-label{font-size:9px}#explanation,#formula{max-height:40px;overflow:auto}#review{max-height:70px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.panel h2:focus{outline:none}
#flight[data-phase=complete] .view-controls,#flight[data-phase=complete] #map-note{display:none}#flight[data-phase=complete] .planet-label{right:125px}@media(max-width:599px) and (min-height:600px){#result #review{max-height:270px}}
.panel #result{height:100%;min-height:0}.panel #result #review{flex:1;min-height:44px;max-height:none}.panel #result .actions{flex-shrink:0}#share-result:empty{display:none}

/* 16位原创飞行员：固定卡片尺寸，内部滚动不挤掉开始按钮。 */
.pilot-choices{max-height:195px;overflow:auto;padding:3px;align-content:start;scrollbar-gutter:stable}.pilot-choices button{display:grid;grid-template-rows:68px 18px;justify-items:center;align-items:center;min-height:94px;padding:3px;background:#eef0df}.pilot-choices button img{width:100%;height:68px;object-fit:contain}.pilot-choices button span{display:block;font-size:11px;font-weight:700}.pilot-choices button[aria-pressed=true]{background:#f5d78e;border-color:#9b642a;box-shadow:inset 0 0 0 1px #9b642a}.intro img{object-fit:contain;border-radius:12px;mix-blend-mode:normal}@media(max-height:450px) and (min-width:600px){.pilot-choices{max-height:100px}.pilot-choices button span{display:block}}

#flight[data-phase=reveal] .view-controls,#flight[data-phase=reveal] #map-note{display:none}#flight[data-phase=reveal] .planet-label{right:125px}

/* 图标控件保留aria-label/title；同组操作保持44px触控目标。 */
button.icon-control{font-size:0!important;min-width:44px;min-height:44px!important;padding:10px;display:inline-grid;place-items:center}button.icon-control::before{content:"";width:22px;height:22px;background:currentColor;mask:var(--control-icon) center/contain no-repeat;-webkit-mask:var(--control-icon) center/contain no-repeat}#motion{--control-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%205v14M16%205v14%22%2F%3E%3C%2Fsvg%3E")}#skip-animation{--control-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%205%209%207-9%207V5zm12%200v14%22%2F%3E%3C%2Fsvg%3E")}#flat{--control-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202a10%2010%200%201%200%200%2020%2010%2010%200%200%200%200-20M2%2012h20M12%202c6%205%206%2015%200%2020-6-5-6-15%200-20%22%2F%3E%3C%2Fsvg%3E")}#leave{--control-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m10%205-7%207%207%207M3%2012h14M16%203h5v18h-5%22%2F%3E%3C%2Fsvg%3E")}#share{--control-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%208h13v13H8zM16%208V3H3v13h5%22%2F%3E%3C%2Fsvg%3E")}#again{--control-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2010a9%209%200%201%201%201%208M3%203v7h7%22%2F%3E%3C%2Fsvg%3E")}#resume{--control-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m7%204%2013%208-13%208V4z%22%2F%3E%3C%2Fsvg%3E")}
#question{display:flex;min-height:0;height:100%}#question .actions{margin-top:auto;flex-shrink:0}#question #choices{flex:1;min-height:44px;max-height:none}#reveal{height:100%;min-height:0}#reveal>details{overflow:auto;min-height:36px}#explanation{max-height:22%;overflow:auto}#formula{font-size:10px}#menu{align-items:center}.setup{min-height:0}.intro{align-content:start}.view-controls{grid-template-columns:44px 44px 44px}#skip-animation{top:42px}footer #leave{min-height:44px}footer{flex-shrink:0}@media(max-width:599px){#menu{align-content:start;gap:12px}.intro h1{font-size:26px;margin:5px 0}.intro small{display:none}#skip-animation{top:5px}.setup{gap:7px}#question .definition{flex-shrink:0}#question #choices{max-height:140px}}

[data-country]:not([data-country=""])::before{content:"";display:inline-block;width:24px;height:18px;margin-right:8px;background:var(--flag) center/contain no-repeat;vertical-align:middle;flex-shrink:0}#choices button,#answers button{line-height:1.35}#country-name::before{width:32px;height:24px}#map-note:empty{display:none}#reveal #explanation{max-height:none;overflow:visible}#reveal>details{margin-top:12px}[data-country="DZ"]{--flag:url("flags/dz.svg")}[data-country="AR"]{--flag:url("flags/ar.svg")}[data-country="AU"]{--flag:url("flags/au.svg")}[data-country="AT"]{--flag:url("flags/at.svg")}[data-country="BD"]{--flag:url("flags/bd.svg")}[data-country="BT"]{--flag:url("flags/bt.svg")}[data-country="BO"]{--flag:url("flags/bo.svg")}[data-country="BW"]{--flag:url("flags/bw.svg")}[data-country="BR"]{--flag:url("flags/br.svg")}[data-country="KH"]{--flag:url("flags/kh.svg")}[data-country="CA"]{--flag:url("flags/ca.svg")}[data-country="CL"]{--flag:url("flags/cl.svg")}[data-country="CO"]{--flag:url("flags/co.svg")}[data-country="CR"]{--flag:url("flags/cr.svg")}[data-country="CU"]{--flag:url("flags/cu.svg")}[data-country="CZ"]{--flag:url("flags/cz.svg")}[data-country="DK"]{--flag:url("flags/dk.svg")}[data-country="EC"]{--flag:url("flags/ec.svg")}[data-country="EG"]{--flag:url("flags/eg.svg")}[data-country="ET"]{--flag:url("flags/et.svg")}[data-country="FJ"]{--flag:url("flags/fj.svg")}[data-country="FI"]{--flag:url("flags/fi.svg")}[data-country="FR"]{--flag:url("flags/fr.svg")}[data-country="DE"]{--flag:url("flags/de.svg")}[data-country="GH"]{--flag:url("flags/gh.svg")}[data-country="GR"]{--flag:url("flags/gr.svg")}[data-country="GT"]{--flag:url("flags/gt.svg")}[data-country="GY"]{--flag:url("flags/gy.svg")}[data-country="HU"]{--flag:url("flags/hu.svg")}[data-country="IS"]{--flag:url("flags/is.svg")}[data-country="IN"]{--flag:url("flags/in.svg")}[data-country="ID"]{--flag:url("flags/id.svg")}[data-country="IE"]{--flag:url("flags/ie.svg")}[data-country="IT"]{--flag:url("flags/it.svg")}[data-country="JM"]{--flag:url("flags/jm.svg")}[data-country="JP"]{--flag:url("flags/jp.svg")}[data-country="KE"]{--flag:url("flags/ke.svg")}[data-country="MG"]{--flag:url("flags/mg.svg")}[data-country="MY"]{--flag:url("flags/my.svg")}[data-country="MX"]{--flag:url("flags/mx.svg")}[data-country="MN"]{--flag:url("flags/mn.svg")}[data-country="MA"]{--flag:url("flags/ma.svg")}[data-country="MZ"]{--flag:url("flags/mz.svg")}[data-country="NA"]{--flag:url("flags/na.svg")}[data-country="NP"]{--flag:url("flags/np.svg")}[data-country="NZ"]{--flag:url("flags/nz.svg")}[data-country="NG"]{--flag:url("flags/ng.svg")}[data-country="NO"]{--flag:url("flags/no.svg")}[data-country="PK"]{--flag:url("flags/pk.svg")}[data-country="PA"]{--flag:url("flags/pa.svg")}[data-country="PG"]{--flag:url("flags/pg.svg")}[data-country="PY"]{--flag:url("flags/py.svg")}[data-country="CN"]{--flag:url("flags/cn.svg")}[data-country="PE"]{--flag:url("flags/pe.svg")}[data-country="PH"]{--flag:url("flags/ph.svg")}[data-country="PL"]{--flag:url("flags/pl.svg")}[data-country="PT"]{--flag:url("flags/pt.svg")}[data-country="RO"]{--flag:url("flags/ro.svg")}[data-country="RW"]{--flag:url("flags/rw.svg")}[data-country="SB"]{--flag:url("flags/sb.svg")}[data-country="ZA"]{--flag:url("flags/za.svg")}[data-country="KR"]{--flag:url("flags/kr.svg")}[data-country="ES"]{--flag:url("flags/es.svg")}[data-country="LK"]{--flag:url("flags/lk.svg")}[data-country="SR"]{--flag:url("flags/sr.svg")}[data-country="SE"]{--flag:url("flags/se.svg")}[data-country="CH"]{--flag:url("flags/ch.svg")}[data-country="TZ"]{--flag:url("flags/tz.svg")}[data-country="TH"]{--flag:url("flags/th.svg")}[data-country="TN"]{--flag:url("flags/tn.svg")}[data-country="UG"]{--flag:url("flags/ug.svg")}[data-country="UA"]{--flag:url("flags/ua.svg")}[data-country="GB"]{--flag:url("flags/gb.svg")}[data-country="US"]{--flag:url("flags/us.svg")}[data-country="UY"]{--flag:url("flags/uy.svg")}[data-country="VU"]{--flag:url("flags/vu.svg")}[data-country="VE"]{--flag:url("flags/ve.svg")}[data-country="VN"]{--flag:url("flags/vn.svg")}[data-country="ZM"]{--flag:url("flags/zm.svg")}[data-country="ZW"]{--flag:url("flags/zw.svg")}
#question #choices{align-content:start;grid-auto-rows:minmax(44px,auto)}

/* 模式直接可选，键盘原生单选、视觉勾选与图形同时表达状态。 */
.mission-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mission-option{position:relative;cursor:pointer;min-width:0}.mission-option input{position:absolute;opacity:0;width:1px;height:1px}.mission-option>span{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:3px 8px;padding:10px;border:2px solid #a4b9aa;border-radius:12px;background:#fffdf1;height:100%;min-height:88px}.mission-option svg{grid-row:span 2;color:#a76734}.mission-option small{font-size:11px;line-height:1.3}.mission-option em{grid-column:2;font-size:10px;font-style:normal;visibility:hidden}.mission-option input:checked+span{border-color:#245d56;background:#e3efcf;box-shadow:inset 0 0 0 1px #245d56}.mission-option input:checked+span em{visibility:visible}.mission-option input:checked+span em:before{content:'✓ ';}.mission-option input:focus-visible+span{outline:3px solid #a65b28;outline-offset:2px}.mission-option:hover>span{background:#edf2de}#start{--control-icon:var(--unused);font-size:0}#start.icon-control::before{mask:none;-webkit-mask:none;background:currentColor;clip-path:polygon(22% 5%,95% 50%,22% 95%)}#share.icon-control::before{clip-path:none;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2016V3m-4%204%204-4%204%204M5%2013v8h14v-8%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2016V3m-4%204%204-4%204%204M5%2013v8h14v-8%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;background:currentColor}
@media(max-width:360px){.mission-options{grid-template-columns:1fr}.mission-option>span{min-height:76px}}

.setup .actions.start-action{display:flex;justify-content:center}.start-action #start{width:min(100%,204px);min-height:44px}
