:root{--ink:#173f3a;--muted:#718480;--paper:#fffdf6;--line:#ddd2b5;--green:#4e9c79;--deep:#286a77;--gold:#edb64f;--coral:#df735f;--shadow:0 10px 0 #d9d1b8,0 20px 36px #5d4d2c18;font-family:"Trebuchet MS","Segoe UI",sans-serif;color:var(--ink);background:#f7f1df}
*{box-sizing:border-box}
body{margin:0;min-width:320px;overflow-x:hidden;background:radial-gradient(circle at 8% 4%,#fffdf4 0 13%,transparent 34%),linear-gradient(135deg,#f4f4e7,#fff8e8 58%,#eef5ed)}
button{font:inherit}
.app{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:18px 0 58px}
.topbar{display:flex;min-height:69px;align-items:center;gap:12px;margin-bottom:17px}
.brand,.sound-button,.back-button{min-height:48px;border:0;color:var(--ink);background:transparent}
.brand{display:flex;align-items:center;gap:10px;padding:0;text-align:left;cursor:pointer}
.brand-mark{display:grid;width:55px;height:55px;place-items:center;border:3px solid #fff8e8;border-radius:18px;background:#2d7180;box-shadow:0 5px 0 #b8c5b7;color:#fff;font-size:25px}
.brand strong{font-size:21px;line-height:1}.brand small{display:block;margin-top:5px;color:var(--muted);font-size:9px;letter-spacing:.8px;text-transform:uppercase}
.sound-button,.back-button{display:flex;align-items:center;gap:8px;margin-left:auto;padding:9px 13px;border:2px solid var(--line);border-radius:15px;background:#fffdf7;cursor:pointer}
.back-button{margin-left:12px;margin-right:auto;font-weight:900}.sound-button b{font-size:11px}
.primary-button,.secondary-button,.journal-button,.hint-button{min-height:48px;padding:12px 18px;border-radius:15px;font-weight:900;cursor:pointer}
.primary-button{border:0;background:var(--green);box-shadow:0 7px 0 #28765c;color:#fff}.secondary-button,.journal-button,.hint-button{border:2px solid var(--line);background:#fffdf7;color:var(--ink)}
button:focus-visible{outline:4px solid #f5bd50;outline-offset:3px}button:not(:disabled):hover{filter:brightness(1.055)}button:disabled{cursor:default}
.eyebrow{margin:0 0 7px;color:#39806b;font-family:Georgia,serif;font-size:12px;font-weight:900;letter-spacing:2px;text-transform:uppercase}
.hero{display:grid;min-height:535px;grid-template-columns:.92fr 1.08fr;gap:35px;align-items:center;padding:50px;border:3px solid var(--line);border-radius:42px;background:var(--paper);box-shadow:var(--shadow)}
.hero h1{margin:0;font:900 clamp(58px,7.3vw,86px)/.84 Georgia,serif;letter-spacing:-4px}.hero h1 em{color:#2c7580;font-style:normal}
.hero-copy>p:not(.eyebrow){max-width:480px;margin:24px 0;color:var(--muted);font-size:17px;font-weight:800;line-height:1.55}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero ul{display:flex;gap:9px;margin:29px 0 0;padding:0;list-style:none}.hero li{min-width:90px;padding:11px;border:2px solid #e3dac3;border-radius:15px;background:#f3f5e9;text-align:center}.hero li b,.hero li small{display:block}.hero li b{font-size:24px}.hero li small{color:var(--muted);font-size:9px;font-weight:900}
.hero-scene{position:relative;min-height:400px;padding-top:90px;border:3px solid #d1c49f;border-radius:36px;background:linear-gradient(#c2e2e4 0 48%,#e3d6ad 48% 51%,#d6b777 51%);box-shadow:inset 0 0 0 10px #fff8e599,0 11px 0 #b7b89e;overflow:hidden}
.hero-scene:before{content:"";position:absolute;inset:20px 0 auto;height:46px;border-block:2px solid #ffffff66;background:repeating-linear-gradient(90deg,transparent 0 68px,#fff8 69px 71px)}
.departure{position:absolute;left:27px;top:28px;z-index:3;display:grid;grid-template-columns:auto auto;gap:2px 14px;padding:11px 15px;border:2px solid #6e8f91;border-radius:13px;background:#1e5962;color:#fff;box-shadow:0 6px 0 #17454b44}.departure span,.departure small{font-size:9px;letter-spacing:1px}.departure b{font-size:19px}.departure small{grid-column:1/-1;color:#d9f0e9}
.boarding-pass{position:absolute;right:21px;bottom:25px;z-index:8;display:grid;grid-template-columns:1fr auto;width:190px;padding:13px 15px;border:2px dashed #a0784f;border-radius:7px;background:#f7e4a9;box-shadow:0 7px 12px #50381727;transform:rotate(4deg)}.boarding-pass b{font:900 20px Georgia}.boarding-pass i{font-style:normal;font-weight:900}.boarding-pass small{grid-column:1/-1;margin-top:5px;font-size:8px;letter-spacing:1px}
.suitcase{--case:#c96f54;position:relative;display:block;width:290px;height:205px;margin:50px auto 0}.case-handle{position:absolute;left:105px;top:-23px;width:80px;height:45px;border:12px solid #765545;border-bottom:0;border-radius:25px 25px 0 0}.case-lid,.case-body{position:absolute;left:0;width:100%;border:5px solid #744f3e;border-radius:29px;background:#d87959;box-shadow:0 9px 0 #a35842}.case-lid{top:0;height:65px;transform-origin:bottom;transform:translateY(-25px) rotate(-5deg)}.case-lid:after{content:"";position:absolute;inset:14px 24px;border:3px dashed #f3c89b;border-radius:15px}.case-body{top:49px;display:flex;height:144px;align-items:center;justify-content:center;gap:7px;padding:18px 12px;background:#e18a65}.case-body:after{content:"";position:absolute;left:17px;right:17px;bottom:10px;height:8px;border-radius:8px;background:#c5684f}
.suitcase .item-icon{z-index:2;transform:rotate(-3deg)}.suitcase .item-icon:nth-child(2){transform:translateY(5px) rotate(4deg)}.suitcase .item-icon:nth-child(3){transform:rotate(2deg)}
.suitcase.is-compact{width:120px;height:76px;margin:6px auto 0}.suitcase.is-compact .case-handle{left:42px;top:-9px;width:36px;height:19px;border-width:6px}.suitcase.is-compact .case-lid,.suitcase.is-compact .case-body{border-width:3px;border-radius:14px;box-shadow:0 4px 0 #a35842}.suitcase.is-compact .case-lid{height:29px;transform:translateY(-8px) rotate(-3deg)}.suitcase.is-compact .case-lid:after{inset:6px 10px;border-width:1px}.suitcase.is-compact .case-body{top:21px;height:56px;gap:1px;padding:4px}.suitcase.is-compact .case-body:after{display:none}.suitcase.is-compact .item-icon{width:31px}.suitcase.is-compact .item-icon svg{width:29px;height:29px}
.suitcase.is-open .case-lid{transform:translateY(-33px) rotate(-8deg)}
.how-note{display:flex;align-items:center;gap:15px;margin:22px 0;padding:16px 23px;border:2px solid #e3c979;border-radius:24px;background:#fff3c8}.how-note>span{display:grid;width:45px;height:45px;place-items:center;border-radius:50%;background:#e2b854;color:#fff;font-size:25px}.how-note p{margin:0}.how-note strong,.how-note small{display:block}.how-note small{margin-top:4px;color:#7d765f;font-weight:800}
.routes-section{margin-top:45px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.section-heading h2{margin:0;font:900 38px/1 Georgia,serif}
.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.route-card{--accent:#3e91ad;padding:22px;border:3px solid var(--line);border-radius:28px;background:var(--paper);box-shadow:0 8px 0 #dcd3b9}.route-card.sun{--accent:#e2a33c}.route-card.season{--accent:#5b84a5}.route-card.trail{--accent:#4b9474}.route-head,.route-foot{display:flex;align-items:center;justify-content:space-between}.route-head>span{display:grid;width:55px;height:55px;place-items:center;border-radius:18px;background:var(--accent);color:#fff;font:900 30px Georgia}.route-head>b{color:var(--muted);font-size:12px}.route-card>.eyebrow{margin-top:18px;color:var(--accent)}.route-card h3{margin:0;font-size:25px}.route-card>p:not(.eyebrow){min-height:60px;color:var(--muted);font-weight:800;line-height:1.45}.tag-strip{display:flex;gap:6px;margin:15px 0}.tag-strip i{display:grid;width:39px;height:35px;place-items:center;border-radius:10px;background:#edf1e9;color:var(--accent);font-size:10px;font-style:normal;font-weight:900}.route-foot{padding-top:16px;border-top:1px dashed #d5cab1}.route-foot>span{color:#e7a82c}.route-foot button{min-height:46px;padding:10px 17px;border:0;border-radius:14px;background:var(--accent);box-shadow:0 5px 0 #173f3a38;color:#fff;font-weight:900;cursor:pointer}
.game-shell{padding:29px;border:3px solid var(--line);border-radius:36px;background:var(--paper);box-shadow:var(--shadow)}
.progress-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.progress-row strong,.progress-row small{display:block}.progress-row>div>strong{font-size:25px}.progress-row>div>small{margin-top:5px;color:var(--muted);font-weight:800}.progress-row>span{display:grid;width:75px;height:70px;place-items:center;border:3px solid #d3c8aa;border-radius:22px;background:#f5e5af;font:900 27px Georgia}.progress-row>span small{font:900 10px "Trebuchet MS"}
.trip-board{display:grid;grid-template-columns:1.1fr .9fr 1.25fr;min-height:170px;border:3px solid #c6d8c8;border-radius:28px;background:#eff5ec;overflow:hidden}.destination{position:relative;padding:24px 27px;background:#2b6c79;color:#fff}.destination>span{font-size:10px;font-weight:900;letter-spacing:2px}.destination h1{margin:12px 0 3px;font:900 34px/1 Georgia}.destination p{margin:0;color:#d9ece9;font-weight:900}.destination i{position:absolute;right:18px;bottom:15px;padding:8px;border:2px dashed #fff8;border-radius:50%;font-style:normal;font-weight:900;transform:rotate(-8deg)}
.weather-card{display:flex;align-items:center;gap:7px;padding:18px;border-right:2px dashed #c7cfbd}.weather-card>span{display:grid;width:73px;height:73px;place-items:center;border-radius:23px;background:#fff5cd}.weather-card svg{width:60px;height:52px;fill:#ecc24c;stroke:#386f77;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.weather-card .cloud{fill:#d6e7e5}.weather-card .snowcap{fill:#fff}.weather-card b,.weather-card strong{display:block}.weather-card b{font-size:26px}.weather-card strong{margin-top:5px;color:var(--muted);font-size:12px}
.day-plan{display:flex;flex-direction:column;justify-content:center;padding:23px}.day-plan span{color:#a97741;font-size:10px;font-weight:900;letter-spacing:2px}.day-plan p{margin:10px 0 0;font:900 19px/1.35 Georgia}
.question-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:24px 0 13px}.question-row h2{margin:0;font:900 31px/1.1 Georgia}.hint-button:disabled{opacity:.7}
.hint-note{display:flex;gap:10px;min-height:58px;margin:0 0 15px;padding:14px 18px;border:2px solid #e7c662;border-radius:17px;background:#fff4c8}.hint-note p{margin:0;color:#716a54;font-weight:800}.hint-note.is-hidden{visibility:hidden}
.kit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.kit-card{--kit:#d87959;min-height:325px;padding:15px;border:3px solid #ddd3bb;border-radius:25px;background:#fffdfa;box-shadow:0 7px 0 #d9d0b8;color:var(--ink);text-align:left;cursor:pointer}.kit-card.blue{--kit:#4f9db5}.kit-card.green,.kit-card.leaf,.kit-card.jungle,.kit-card.forest{--kit:#58956f}.kit-card.yellow,.kit-card.sand,.kit-card.ochre{--kit:#c6914d}.kit-card.brick,.kit-card.coral{--kit:#cf715c}.kit-card.navy,.kit-card.ice,.kit-card.slate{--kit:#647f96}.kit-card.violet{--kit:#7d729a}.kit-card.teal{--kit:#4e908d}.kit-card .case-lid,.kit-card .case-body{background:var(--kit)}.kit-card .case-body{background:color-mix(in srgb,var(--kit) 82%,#fff)}.kit-card .case-lid,.kit-card .case-body{border-color:#534b42}.kit-top{position:relative;display:block;min-height:92px}.kit-top>b{position:absolute;right:5px;top:0;display:grid;width:37px;height:37px;place-items:center;border-radius:50%;background:#40926b;color:#fff;font-size:23px}.kit-top>b:empty{display:none}.kit-card>strong,.kit-card>small{display:block;text-align:center}.kit-card>strong{min-height:44px;font-size:18px}.kit-card>small{color:var(--muted);font-size:11px;font-weight:900}.kit-card.wrong{border-color:#e58d82;background:#fff0ec}.kit-card.correct{border-color:#66a982;background:#eef8ec;box-shadow:0 7px 0 #a9c9ad}.kit-card:disabled{opacity:1}.item-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:12px}
.item-icon{display:grid;min-width:0;justify-items:center}.item-icon svg{width:54px;height:49px;fill:var(--item);stroke:#514c43;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.item-icon .detail{fill:none;stroke:#fff9;stroke-width:3}.item-icon small{max-width:86px;color:#647773;font-size:9px;font-weight:900;text-align:center;line-height:1.15}.item-icon.compact{min-width:0;width:62px}.item-icon.compact svg{width:48px;height:43px}
.feedback{display:flex;min-height:83px;align-items:center;gap:15px;margin-top:16px;padding:15px 18px;border:2px solid #d9d2bd;border-radius:21px;background:#f6f5eb}.feedback>span{font:900 30px Georgia}.feedback p{flex:1;margin:0}.feedback strong,.feedback small{display:block}.feedback small{margin-top:4px;color:var(--muted);font-weight:800}.feedback.error{border-color:#e29a8e;background:#fff0ec}.feedback.success{border-color:#83b69b;background:#eef8ec}.compact{min-width:165px}
.result-card,.journal-head,.qa-report{max-width:900px;margin:35px auto;padding:43px;border:3px solid var(--line);border-radius:39px;background:var(--paper);box-shadow:var(--shadow);text-align:center}.result-stamp{display:inline-flex;align-items:center;gap:12px;padding:13px 23px;border-radius:18px;background:#275f6b;color:#fff;letter-spacing:2px}.result-stamp span{font-size:28px}.result-card h1,.journal-head h1,.qa-report h1{margin:22px 0 12px;font:900 52px/1 Georgia}.result-card>p:not(.eyebrow),.journal-head p{color:var(--muted);font-weight:800}.stars span{color:#ded7c2;font-size:55px}.stars .earned{color:#edb43c;text-shadow:0 5px 0 #c88918}.result-stats,.result-actions{display:flex;justify-content:center;gap:13px}.result-stats{margin:25px 0}.result-stats>span{min-width:145px;padding:13px;border-radius:17px;background:#eef3e8}.result-stats b,.result-stats small{display:block}.result-stats b{font-size:27px}.result-stats small{color:var(--muted);font-weight:900}.result-tags{display:flex;justify-content:center;gap:7px;margin:20px 0 28px}.result-tags i{min-width:110px;padding:10px;border:2px dashed #d3b576;border-radius:12px;background:#fff0bc;font-style:normal}.result-tags b,.result-tags small{display:block}.result-tags small{margin-top:3px;color:#8b7357;font-size:9px}
.journal-head{display:flex;max-width:none;align-items:center;justify-content:space-between;text-align:left}.journal-head>div{max-width:650px}.journal-head>strong{display:grid;width:120px;height:100px;place-items:center;border:3px solid #cfbd92;border-radius:25px;background:#fff1bf}.journal-head b,.journal-head small{display:block}.journal-head b{font-size:31px}.journal-head small{font-size:10px}.journal-back{margin-bottom:20px}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.journal-card{position:relative;min-height:230px;padding:20px;border:3px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:0 7px 0 #ddd4bc}.journal-card>span{position:absolute;right:16px;top:14px;color:#b69c66;font:900 22px Georgia}.journal-card>small{display:block;padding-right:43px;color:#6c8a83;font-size:10px;font-weight:900;letter-spacing:.5px}.journal-card h3{margin:13px 0 5px;font-size:22px}.journal-card>p{margin:0;color:#a97741;font-weight:900}.journal-card>div{display:flex;margin:8px 0}.journal-card .item-icon{width:43px}.journal-card .item-icon svg{width:38px}.journal-card em{display:block;color:var(--muted);font-size:11px;font-style:normal;font-weight:800;line-height:1.35}.journal-card.locked{opacity:.62;background:#f1efe7}.journal-card.locked:after{content:"?";display:grid;width:55px;height:55px;margin:25px auto 0;place-items:center;border-radius:18px;background:#c7c0ad;color:#fff;font:900 28px Georgia}
.qa-active{background:#f5f2e5}.qa-report{text-align:left}.qa-report>div{display:grid;gap:7px;margin:22px 0}.qa-report>div>p{display:flex;gap:12px;margin:0;padding:11px;border-radius:12px;background:#edf5e9}.qa-report .fail{background:#ffebe6}.qa-report b{font-size:20px}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding:38px}.hero-copy{text-align:center}.hero-copy>p:not(.eyebrow){margin-inline:auto}.hero-actions,.hero ul{justify-content:center}.hero-scene{width:min(620px,100%);margin:auto}.route-grid,.journal-grid{grid-template-columns:1fr 1fr}.trip-board{grid-template-columns:1fr 1fr}.day-plan{grid-column:1/-1;border-top:2px dashed #c7cfbd}.kit-grid{grid-template-columns:1fr}.kit-card{display:grid;min-height:0;grid-template-columns:150px 1fr;align-items:center}.kit-top{grid-row:1/4}.item-row{margin:0}.kit-card>strong,.kit-card>small{text-align:left}}
@media(max-width:700px){.app{width:min(1120px,calc(100% - 20px));padding-top:8px}.topbar{min-height:58px;margin-bottom:10px}.brand-mark{width:48px;height:48px}.brand strong{font-size:17px}.brand small,.sound-button b{display:none}.sound-button{width:48px;padding:0;justify-content:center}.back-button{margin-left:4px;padding-inline:10px;font-size:12px}.hero{min-height:0;padding:30px 17px;border-radius:29px}.hero h1{font-size:55px}.hero-copy>p:not(.eyebrow){font-size:15px}.hero-actions{flex-direction:column}.hero-actions button{width:100%}.hero ul{gap:6px}.hero li{min-width:0;flex:1;padding:9px 5px}.hero-scene{min-height:320px;padding-top:65px}.hero-scene>.suitcase{transform:scale(.78);transform-origin:top center}.departure{left:14px;top:18px}.boarding-pass{right:12px;bottom:16px}.how-note{align-items:flex-start;padding:14px}.section-heading{align-items:flex-start;flex-direction:column}.section-heading h2{font-size:31px}.journal-button{width:100%}.route-grid,.journal-grid{grid-template-columns:1fr}.game-shell{padding:17px 10px;border-radius:28px}.progress-row{align-items:flex-start}.progress-row>div>strong{font-size:20px}.progress-row>span{width:61px;height:58px;flex:0 0 auto}.trip-board{grid-template-columns:1fr}.destination{min-height:150px}.weather-card{border-right:0}.day-plan{grid-column:auto}.question-row{align-items:stretch;flex-direction:column}.question-row h2{font-size:27px}.hint-button{width:100%}.hint-note{display:block}.hint-note p{margin-top:5px}.kit-card{grid-template-columns:115px 1fr;padding:12px}.kit-card>strong{font-size:16px}.item-icon small{font-size:8px}.feedback{align-items:flex-start;flex-wrap:wrap}.feedback .compact{width:100%}.result-card,.journal-head,.qa-report{margin:20px auto;padding:27px 14px;border-radius:29px}.result-card h1,.journal-head h1,.qa-report h1{font-size:38px}.result-stats,.result-tags{flex-wrap:wrap}.result-stats>span{min-width:95px;flex:1}.result-actions{flex-direction:column}.result-actions button{width:100%}.journal-head{display:block}.journal-head>strong{margin:18px auto 0}.journal-card{min-height:0}}
@media(max-width:390px){.brand{gap:7px}.brand strong{font-size:15px}.back-button{max-width:96px}.hero h1{font-size:49px}.hero-scene{min-height:290px}.hero-scene>.suitcase{margin-left:-12px;transform:scale(.67)}.boarding-pass{width:170px}.trip-board .destination h1{font-size:29px}.kit-card{grid-template-columns:100px 1fr}.kit-card .suitcase.is-compact{transform:scale(.82)}.item-icon svg{width:47px}.item-icon small{max-width:70px}.route-foot button{padding-inline:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
