@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font-7.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/font-8.ttf) format('truetype');
}

:root{--ink:#173f4c;--teal:#176d72;--cream:#faf8f0;--gold:#f2bb53}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.55 'DM Sans',system-ui,sans-serif}button,a,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d06a38;outline-offset:4px}header{display:flex;align-items:center;justify-content:space-between;padding:23px 5%;gap:20px;background:#fffdf8;border-bottom:1px solid #e7e7dc}.brand{display:flex;gap:10px;text-decoration:none;color:var(--ink);font:800 23px/1.1 Outfit,system-ui;letter-spacing:1px}.brand small{display:block;font:700 9px/2 'DM Sans',sans-serif;letter-spacing:2px}.star{font-size:42px;color:#d6a23e}nav{display:flex;align-items:center;gap:6px}nav button,footer button,.textbtn{border:0;background:none;padding:9px 16px;font-size:14px;font-weight:700}nav button.active{background:#e5eeea;border-radius:30px}#sound{border:1px solid #cddbd4;border-radius:50%;padding:8px 14px}main{min-height:75vh}.hero{min-height:540px;position:relative;overflow:hidden;background:#d9edef;display:flex;align-items:center;padding:65px 7%}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(231,245,243,.98),rgba(231,245,243,.9) 29%,transparent 64%)}.hero-copy{position:relative;z-index:1;width:48%;max-width:550px}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:2px;color:#4b7877}.pill{display:inline-block;border:1px solid #a7c5bd;border-radius:40px;padding:6px 14px;font-size:11px;font-weight:800;letter-spacing:1.4px}.hero h1{font:700 clamp(40px,5vw,72px)/1.04 Outfit,system-ui;margin:24px 0 20px;letter-spacing:-2px}.hero h1 em{font-style:normal;color:#247879}.hero p{max-width:400px;color:#426673}.primary{border:0;border-radius:13px;background:var(--ink);color:white;padding:15px 24px;font-weight:700;box-shadow:0 4px 0 #0c2c36}.primary:hover{background:#23636b}.hero .primary{margin-top:14px}.hero-note{font-size:12px;margin-top:18px}.section{max-width:1240px;margin:auto;padding:48px 35px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}h2{font:600 34px/1.15 Outfit,system-ui;letter-spacing:-.6px;margin:6px 0 10px}h3{font:600 23px/1.2 Outfit,system-ui;margin:8px 0}p{margin:8px 0 18px}.muted{color:#658083;font-size:14px}.grade{border:1px solid #cedbd1;background:#fffdf8;padding:9px 14px;border-radius:9px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid #e0e4d9;border-radius:20px;overflow:hidden;background:#fffefa;box-shadow:0 5px 0 #e9ece2;text-align:left;padding:0;transition:transform .2s}.card:hover{transform:translateY(-5px)}.card-top{height:150px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.card-top:before{content:'';position:absolute;width:180px;height:180px;border-radius:50%;border:1px solid #ffffff99;box-shadow:0 0 0 30px #ffffff20,0 0 0 60px #ffffff20}.card-icon{font-size:65px;filter:drop-shadow(0 8px 3px #173f4c20);z-index:1}.number{position:absolute;left:18px;top:15px;font-size:11px;letter-spacing:1px;font-weight:800}.badge{position:absolute;right:14px;top:14px;font-size:11px;background:#fff9;padding:4px 9px;border-radius:20px}.card-body{padding:23px}.card-body p{font-size:14px;color:#628083;margin:8px 0 18px}.card-bottom{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700}.trail{height:5px;background:#e9eee8;border-radius:9px;flex:1;margin-right:15px;overflow:hidden}.trail span{display:block;height:100%;background:#d6a23e}.crew{margin-top:45px;border-radius:24px;padding:28px;display:flex;align-items:center;gap:28px;background:#e9eee4}.crew img{width:145px;height:110px;object-fit:cover;border-radius:16px}.crew p{font-size:14px;max-width:660px;margin-bottom:0}footer{padding:25px 5%;display:flex;justify-content:space-between;gap:18px;align-items:center;border-top:1px solid #e1e6da;font-size:12px}.practice{max-width:1060px;padding:35px;margin:auto}.practicebar{display:flex;justify-content:space-between;gap:20px;align-items:center}.practice-layout{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:30px;align-items:start}.model{border-radius:23px;background:#e6f2e9;padding:25px;min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center}.model svg{width:100%;max-height:300px}.model small{font-size:12px;text-align:center}.answers{display:grid;gap:12px;margin:25px 0}.answer{background:#fffefa;border:2px solid #dce4da;padding:16px;border-radius:12px;text-align:left}.answer:hover{border-color:#528c86}.answer.correct{background:#ddefd5;border-color:#599a63}.answer.wrong{background:#fae9d9;border-color:#c98d57}.answer:disabled{cursor:default;color:var(--ink);opacity:1}.feedback{border-radius:13px;padding:18px;background:#e8efe3;margin:18px 0}.feedback p{font-size:15px;margin:5px 0}.progressline{height:7px;border-radius:8px;background:#e1e8de;margin:20px 0;overflow:hidden}.progressline span{display:block;background:#dcad4d;height:100%}.summary{text-align:center;max-width:680px;margin:45px auto;padding:35px;background:white;border:1px solid #e0e7dc;border-radius:25px}.bigstar{font-size:90px;color:#d9aa42;animation:float 3s ease-in-out infinite}.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:25px 0}.stat{padding:20px;background:#edf2e8;border-radius:15px}.stat strong{display:block;font:600 34px Outfit,system-ui}.table{width:100%;border-collapse:collapse;margin-top:25px}.table th,.table td{text-align:left;padding:16px 10px;border-bottom:1px solid #d9e3d8;font-size:14px}.source{display:block;padding:15px 0;border-bottom:1px solid #dde4d8;color:#246e70}dialog{border:0;border-radius:30px;padding:40px;max-width:550px;text-align:center;color:var(--ink);box-shadow:0 25px 100px #173f4c55}dialog::backdrop{background:#153d4bc9;backdrop-filter:blur(7px)}.intro-star{font-size:70px;color:#dda842;animation:float 2s ease-in-out infinite}.intro-star:after{content:'·  ·  ·';display:block;font-size:24px;letter-spacing:20px;color:#78a5a0}.tag{font-size:11px;background:#edf2e6;border-radius:20px;padding:5px 10px}.empty{padding:45px;border:1px dashed #b3c6b7;border-radius:20px}.toast{font-size:13px}.boat{animation:float 4s ease-in-out infinite}@keyframes float{50%{transform:translateY(-9px) rotate(2deg)}}@media(max-width:760px){header{padding:15px 5%;align-items:start;flex-wrap:wrap}.brand{font-size:19px}nav{width:100%;justify-content:space-between}nav button{padding:7px 9px;font-size:12px}.hero{min-height:650px;align-items:start;padding:35px 7%}.hero-copy{width:100%}.hero h1{font-size:46px;max-width:370px}.hero p{font-size:15px;max-width:310px}.hero-art{object-position:70% bottom}.hero:after{background:linear-gradient(180deg,#e7f5f3f5,#e7f5f3df 42%,transparent 70%)}.hero-note{display:none}.cards{grid-template-columns:1fr 1fr;gap:14px}.card-body{padding:17px}.card-top{height:115px}.card-icon{font-size:48px}.card-body h3{font-size:21px}.section{padding:32px 20px}.section-heading{align-items:start;flex-wrap:wrap}.crew{align-items:start;padding:20px;gap:15px}.crew img{width:85px;height:85px}.practice-layout{grid-template-columns:1fr}.practice{padding:24px 18px}.model{min-height:240px}.model svg{max-height:240px}footer{flex-wrap:wrap}.statgrid{gap:8px}.stat{padding:14px 8px}.table th,.table td{padding:10px 4px;font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.world-wrap{position:relative;width:100%;aspect-ratio:2;background:#bce0ec;border-radius:20px;overflow:hidden;border:1px solid #94bec4}.world-wrap img{width:100%;height:100%}.map-pin{position:absolute;transform:translate(-50%,-50%);min-width:40px;min-height:40px;padding:5px 10px;border:2px solid #fff;border-radius:22px;background:#173f4ce8;color:#fff;font-size:12px;font-weight:700;box-shadow:0 2px 6px #173f4c40}.map-pin.ocean{background:#277d9ce8}.map-pin:hover,.map-pin:focus{background:#d49f37;color:#173f4c;z-index:2}.map-info{padding:22px;background:#fffefa;border:1px solid #d7e3d5;border-radius:16px;margin-top:20px}.map-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:20px 0}.map-tools button{padding:10px 18px;border:1px solid #abc5bc;border-radius:10px;background:#fffdf7}.map-tools button.active{background:#173f4c;color:white}.world-key{display:flex;gap:15px;flex-wrap:wrap;margin:15px 0;font-size:13px}.map-score{font-weight:700;color:#367b6d}@media(max-width:650px){.world-wrap{min-width:640px}.world-scroll{overflow:auto;border-radius:20px}.map-pin{font-size:11px}.world-hint{display:block!important}}.world-hint{display:none}

.lesson-film{display:block;width:100%;max-height:300px;object-fit:cover;border-radius:17px;margin:20px 0;background:#173f4c}dialog{max-height:92vh;overflow:auto}dialog .lesson-film{max-height:220px}.summary .lesson-film{max-height:250px}

.hero-picture{position:absolute;inset:0}@media(max-width:760px){.hero-art{object-fit:contain;object-position:center bottom}.hero{min-height:700px}.hero:after{background:linear-gradient(180deg,#e7f5f3 0%,#e7f5f3f0 38%,#e7f5f345 65%,transparent 82%)}.number{display:none}.badge{font-size:10px;top:9px;right:9px}.hero .textbtn{display:block;margin-top:12px;padding-left:0}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.hero{padding:35px 7% 410px;min-height:0}.hero:after{background:linear-gradient(180deg,#e7f5f3 0%,#e7f5f3 47%,#e7f5f300 57%)}.hero-copy{min-height:345px}}
.profiles{max-width:960px}.profiles h1{font:600 42px/1.15 Outfit,system-ui;letter-spacing:-1px}.profiles form>label{display:block;font-weight:700}.profiles input[type=text]{width:100%;max-width:420px;border:2px solid #91b6ad;border-radius:12px;padding:14px;background:#fff;font-size:20px;color:#173f4c}.profiles fieldset{border:0;padding:15px 0;margin:15px 0}.profiles legend{font-weight:700}.avatar-grid,.profile-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.avatar-option,.profile-choice{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:15px;border:2px solid #c4d8ca;border-radius:18px;background:#fffdf7;cursor:pointer;min-height:160px}.avatar-option:has(input:checked){border-color:#176d72;background:#e0f0e7}.avatar-option input{width:22px;height:22px;accent-color:#176d72}.avatar-art{display:block;width:80px;height:80px;border-radius:50%;background-image:url('assets/atlas-icon.png');background-size:260%;background-repeat:no-repeat;background-color:#c4e3df}.avatar-art.mira{background-position:5% 10%}.avatar-art.kai{background-position:98% 30%}.avatar-art.robot{background-position:46% 65%}.avatar-art.star{background-image:none;color:#bb8520;font-size:65px;line-height:80px}.profile-choice{width:100%}.saved-explorer{text-align:center}.saved-explorer .textbtn{font-size:13px}.profile-list{margin:30px 0}.profile-error{color:#963c24;font-weight:700}.legacy-progress{padding:22px;border:1px solid #c4d8ca;border-radius:18px;margin-top:35px}#profile-storage-notice{background:#fff1cc;color:#4a411f;padding:12px 5%;font-size:14px}#profile-storage-notice[hidden]{display:none}.profiles button{min-height:46px}.profiles .avatar-option:focus-within{outline:3px solid #c77532;outline-offset:3px}@media(max-width:700px){.avatar-grid,.profile-list{grid-template-columns:1fr 1fr}.profiles h1{font-size:34px}nav{flex-wrap:wrap}#profile-menu{max-width:100%;overflow-wrap:anywhere}.profiles input[type=text]{max-width:100%}}
