@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#f2f7ff;background:#061321;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.shell{max-width:720px;min-height:100vh;margin:auto;background:linear-gradient(180deg,#0b243b,#071525 42%,#071525);padding-bottom:86px}header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #23405b;position:sticky;top:0;z-index:5;background:#091c2eee;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:11px}.brandicon{font-size:31px;color:#ffcc6b}.brand strong{display:block;font-family:Outfit;letter-spacing:2px;font-size:17px}.brand small{display:block;color:#7bbcd4;font-size:9px;letter-spacing:1.4px}.iconbtn,.back,.smallbtn,.listen{background:none;color:#bed9ef;border:0}.iconbtn{padding:8px}main{padding:18px}.hero{border:1px solid #285174;border-radius:22px;padding:26px 20px;background:radial-gradient(circle at 90% 0,#28609d 0,transparent 55%),linear-gradient(135deg,#102d51,#07182b);overflow:hidden}.heroart{text-align:right;font-size:45px;letter-spacing:10px;height:84px}.heroart span{font-size:65px}.eyebrow{color:#ffc979;font-weight:800;font-size:10px;letter-spacing:2px}.hero h1,.pageintro h1,.regionbanner h1,.result h1{font-family:Outfit;font-size:35px;line-height:1.08;margin:12px 0}.hero h1 em{font-style:normal;color:#74d9ef}.hero p,.regionbanner p,.pageintro p,.result p{font-size:14px;line-height:1.7;color:#b5cddd}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.chips span{border:1px solid #3b6887;border-radius:25px;padding:7px 10px;font-size:11px;background:#123654}.sectionhead{display:flex;align-items:center;justify-content:space-between;margin:27px 0 14px}.sectionhead h2{font:700 21px Outfit;margin:0}.sectionhead span{font-size:11px;color:#8daabf}.regions,.missionlist{display:grid;gap:11px}.region,.quest{width:100%;display:flex;align-items:center;text-align:left;gap:14px;background:#112940;border:1px solid #27445b;border-radius:17px;color:#fff;padding:10px}.regionart{width:86px;height:91px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#286e8d,#19334e);flex-shrink:0}.regionart span{font-size:42px}.art2,.art3{background:linear-gradient(135deg,#784b8d,#214f7a)}.art4,.art6{background:linear-gradient(135deg,#236d86,#267568)}.art7{background:linear-gradient(135deg,#6b487d,#2b2c65)}.regioninfo{flex:1;min-width:0}.regioninfo strong,.quest strong{display:block;font-size:14px}.regioninfo small,.quest small{display:block;font-size:11px;color:#9ebcd1;margin-top:5px}.progress{height:5px;background:#31516c;border-radius:8px;overflow:hidden;margin-top:11px}.progress div{height:100%;background:#51dfc4}.back{display:flex;align-items:center;gap:6px;margin:6px 0 18px;padding:0}.regionbanner{padding:23px;border-radius:20px;background:radial-gradient(circle at 100% 0,#2d628a,transparent 65%),#123251}.regionemoji{font-size:74px;text-align:right}.regionbanner h1{font-size:31px}.quest{padding:16px 13px}.questicon{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;background:#234963;border-radius:12px;color:#ffce6e;font-size:21px}.quest>div{flex:1}.missionhead h2{font:700 27px Outfit;margin:9px 0}.missionhead p{font-size:13px;color:#abc7db;line-height:1.5}.scene{margin:16px 0;border:1px solid #3c6585;border-radius:18px;padding:18px;min-height:175px;background:radial-gradient(circle at 70% 0,#255c88,transparent 65%),linear-gradient(130deg,#142f51,#173b48)}.sceneicon{font-size:61px;text-align:center}.scene span{font-size:10px;letter-spacing:1.4px;color:#ffcd78;font-weight:800}.scene p{font-size:13px;line-height:1.5}.talkhead{display:flex;justify-content:space-between;align-items:center;margin:18px 0 10px}.talkhead strong{font-size:15px}.smallbtn{font-size:12px;text-decoration:underline}.chat{max-height:420px;min-height:140px;overflow:auto;display:flex;flex-direction:column;gap:11px;padding:12px 0}.bubble{max-width:86%;padding:12px 14px;border-radius:16px;font-size:14px;line-height:1.55}.bubble small{display:block;opacity:.65;font-size:10px;margin-bottom:4px}.theirs{align-self:flex-start;background:#1c3b55;border-bottom-left-radius:3px}.mine{align-self:flex-end;background:#176e9b;border-bottom-right-radius:3px}.listen{display:block;margin-top:7px;padding:0}.composer{display:flex;gap:7px;background:#102940;border:1px solid #315773;border-radius:15px;padding:7px}.composer input,.phrasecard input,.modal input{background:#071b2e;border:1px solid #315773;border-radius:9px;color:#fff;padding:12px;min-width:0;flex:1;outline:none}.composer input{border:0;background:transparent}.mic,.send{border:0;border-radius:11px;background:#176f9e;color:#fff;padding:11px}.mic.active{background:#c74956}.complete,.primary{border:0;border-radius:13px;background:linear-gradient(120deg,#178ad5,#2572ed);color:#fff;font-weight:800;padding:15px;width:100%;margin-top:16px;display:flex;align-items:center;justify-content:center;gap:9px}.footnote{color:#789ab2;font-size:11px;line-height:1.6}.alert{background:#4b2b30;color:#ffe0dc;border-radius:10px;padding:12px;margin-top:10px;font-size:12px}.tips{display:grid;gap:8px}.tips button,.phrasecard button{display:flex;align-items:center;justify-content:space-between;width:100%;background:#153650;color:#e9f6ff;border:1px solid #31536b;border-radius:10px;padding:13px;text-align:left}.pageintro{padding:17px 3px}.phrasecard,.profilecard{background:#102b43;border:1px solid #2b506d;border-radius:15px;padding:16px;margin:12px 0;display:grid;gap:10px}.phrasecard strong{color:#ffcf82}.phrasecard button{font-size:13px}.bottomnav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:720px;background:#0a2034;border-top:1px solid #31506b;display:flex;justify-content:space-around;padding:10px 10px max(12px,env(safe-area-inset-bottom));z-index:5}.bottomnav button{border:0;background:none;color:#8eafc8;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:75px;font-size:11px}.bottomnav .selected{color:#6bdcf0}.result{text-align:center;padding:50px 12px}.trophy{font-size:88px}.score{background:#173c55;padding:24px;border-radius:18px;margin:20px 0}.score strong{display:block;font-size:34px;color:#ffd275}.score small{color:#acc5d8}.outline{width:100%;padding:14px;border:1px solid #49738c;border-radius:12px;color:#fff;background:none;margin-top:10px;display:flex;justify-content:center;gap:8px}.profilecard{display:flex;align-items:center}.profilecard h2{margin:0}.profilecard p{margin:5px 0;color:#a5c1d7}.avatar{font-size:47px}.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.statgrid div{padding:18px 7px;text-align:center;border:1px solid #30506b;border-radius:12px;background:#102a41}.statgrid strong{display:block;font-size:28px;color:#8de5f1}.statgrid small{color:#a8c1d1}.modalback{position:fixed;top:0;right:0;bottom:0;left:0;background:#000b;z-index:10;display:grid;place-items:center;padding:18px}.modal{width:100%;max-width:440px;background:#112d45;border:1px solid #48708a;border-radius:19px;padding:24px}.modal h2{display:flex;align-items:center;gap:9px}.modal p{font-size:13px;line-height:1.6;color:#bad0df}.modal label{display:block;font-size:12px;margin:12px 0 6px}.modal input{width:100%}code{color:#a4e8f3}@media(min-width:680px){.regions{grid-template-columns:1fr 1fr}.regionart{width:70px}.hero{padding:35px}}.startscreen{text-align:center;min-height:75vh;padding:8px 4px 30px}.startscreen img{width:100%;max-height:55vh;object-fit:cover;object-position:center;border-radius:20px}.startscreen h1{font:800 34px Outfit;margin:18px 0 2px;color:#ffd68b}.startscreen p{font-size:12px;letter-spacing:2px;color:#8bd7ff}.sceneart{width:100%;max-height:180px;object-fit:cover;border-radius:14px;margin-bottom:14px}.regionart{overflow:hidden}.regionart img{width:100%;height:100%;object-fit:cover}.regioncover{width:100%;max-height:230px;object-fit:cover;border-radius:14px}.missionart{width:100%;height:200px;object-fit:cover;object-position:top;border-radius:12px;margin-bottom:12px}.scene{padding:12px}.livebanner{background:#105a55;color:#dcfff6;padding:12px;border-radius:12px;margin:12px 0;font-size:13px}.modal{max-height:90vh;overflow:auto}.modal select{background:#071b2e;color:#fff;border:1px solid #315773;border-radius:9px;width:100%;padding:12px}
