:root{font-family:DM Sans,sans-serif;color:#fff8e8;background:#188f9f;font-synthesis:none;--cream: #fff5dc;--ink: #173f37;--gold: #ffce72;--wood: #70442a}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ee963f;outline-offset:5px}button{color:inherit}button:active{transform:translateY(2px)}[hidden]{display:none!important}#game,#game canvas,.vignette{position:fixed;inset:0;width:100%;height:100%}.vignette{pointer-events:none;background:linear-gradient(90deg,rgba(4,43,44,.42),transparent 75%),linear-gradient(0deg,rgba(8,54,54,.5),transparent 30%)}body.playing .vignette{background:linear-gradient(0deg,#173c3b77,transparent 23%)}header{position:absolute;top:27px;left:3%;right:3%;display:flex;align-items:center;justify-content:space-between;gap:22px;z-index:3}.brand{display:flex;align-items:center;gap:10px;color:var(--cream);text-decoration:none;font:900 20px/.9 Outfit,sans-serif;letter-spacing:1px;filter:drop-shadow(0 3px 1px #173f3744)}.brand-symbol{font-size:49px;color:var(--gold);line-height:1}.brand-sub{display:block;font-size:13px;letter-spacing:4px;margin-top:6px}nav{display:flex;padding:5px 7px;background:linear-gradient(175deg,#885b39,#684027);border:1px solid #d6a56390;border-radius:12px;box-shadow:0 5px #452c22,0 10px 22px #102b3844;gap:5px}nav button{border:0;background:none;padding:12px 22px;font-weight:700;font-size:13px;border-radius:7px;color:#ffe8bb}nav button.active,nav button:hover{background:var(--cream);color:var(--ink);box-shadow:0 2px #342a202a}nav button span{padding-left:13px}.round{border:1px solid #e8dfb46b;border-radius:50%;background:#194840b8;width:47px;height:47px;font-size:23px}.round:hover{background:#2f6850}.top-note{position:absolute;right:3.5%;top:116px;display:flex;align-items:center;gap:8px;font-size:9px;font-weight:700;letter-spacing:1.8px}.live-dot{height:6px;width:6px;background:#f3d587;border-radius:50%;box-shadow:0 0 15px #ffeda9}.welcome{position:absolute;left:6%;top:30%;z-index:2;max-width:530px;animation:arrive .8s both}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:800;color:var(--gold);margin-bottom:19px}h1{font:900 clamp(50px,6.2vw,91px) / .98 "Outfit",sans-serif;letter-spacing:-3px;margin:0;text-shadow:0 5px 15px #123c3833}h1 em{font-style:normal;color:var(--gold)}.welcome p{font-size:14px;line-height:1.8;color:#f0f3dce8;margin:25px 0}.primary{border:1px solid #ffdf91;background:var(--gold);color:#3e321e;border-radius:9px;box-shadow:0 5px #a47132,0 10px 20px #06393233;font-weight:800;padding:17px 24px;display:inline-flex;align-items:center;gap:46px;transition:background .2s}.primary:hover{background:#ffe1a0}.primary>span:last-child{font-size:23px;line-height:1}.text-button{display:block;background:none;border:0;padding:22px 0 10px;color:#fff6dc;font-size:12px}.text-button span{margin-left:15px}.start-note{font-size:8px;letter-spacing:2px;opacity:.65;margin-top:24px}footer{position:absolute;left:3.5%;right:3.5%;bottom:26px;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.7px;z-index:2}footer b{color:var(--gold);font-size:17px;margin-left:20px}footer button{background:none;border:0;font-size:10px;padding:8px}#loading{position:absolute;bottom:90px;right:5%;font-size:10px;width:165px;text-align:right;letter-spacing:1px}#loading>div{height:3px;background:#fff4;margin-top:10px;border-radius:4px;overflow:hidden}#loading i{display:block;width:8%;height:100%;background:var(--gold);transition:width .3s}#hud{position:absolute;inset:0;pointer-events:none}#hud button{pointer-events:auto}.quest{position:absolute;left:3.5%;top:122px;display:flex;align-items:center;gap:13px;background:#173d34d9;border:1px solid #d7d0a73d;border-radius:10px;padding:15px 18px;box-shadow:0 6px 20px #173a2822}.quest-icon{font-size:28px;color:var(--gold)}.quest b{font-size:9px;letter-spacing:1.6px}.quest p{margin:5px 0 0;font-size:10px;color:#dbe4c7}.quest strong{font:700 24px Outfit;padding-left:20px;color:var(--gold)}.quest strong span{font-size:14px;color:#ebedd299}.location{position:absolute;bottom:125px;left:3.5%}.location span{display:block;font-size:8px;letter-spacing:2px;opacity:.75;margin-bottom:6px}.location b{font:700 24px Outfit}.speed{position:absolute;right:4%;bottom:81px;width:108px;text-align:center;border-radius:50%;height:108px;border:3px solid #fff6d944;border-top-color:var(--gold);background:#143d3770;padding-top:14px}.speed strong{font:800 46px/.95 Outfit;display:block}.speed>span{font-size:9px;letter-spacing:2px}.speed small{position:absolute;right:0;bottom:0;border-radius:50%;background:var(--gold);color:var(--ink);padding:6px 9px;font-weight:900}.drive-help{position:absolute;bottom:28px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:10px}kbd{display:inline-block;background:#fff6de;color:var(--ink);border-radius:4px;box-shadow:0 2px #b0b6a6;padding:4px 7px;font:700 10px DM Sans}.drive-help i{height:13px;width:1px;background:#ffffff40;margin:0 9px}.drive-help button{border:0;background:none;font-size:10px;padding:0}.map-button{position:absolute;left:3.5%;bottom:40px;border:1px solid #bcbf9166;background:#17443a;border-radius:8px;padding:13px 15px;display:flex;align-items:center;gap:13px;font-size:11px}.map-button>span{font-size:23px;color:var(--gold)}.interaction{position:absolute;left:50%;bottom:110px;transform:translate(-50%);display:flex;align-items:center;gap:40px;text-align:left;background:linear-gradient(140deg,#8c5a32,#5c3725);border:2px solid #d1a569;border-radius:12px;padding:17px 22px;box-shadow:0 6px #392a20,0 10px 30px #102b3866;animation:arrive .3s}.interaction small{font-size:7px;color:#f5d496;letter-spacing:1.6px;display:block}.interaction b{display:block;font:800 26px Outfit;margin:3px 0}.interaction em{font-size:10px;font-style:normal;color:#f4debd}.interaction kbd{font-size:21px;padding:10px;text-align:center;min-width:46px}.interaction kbd span{display:block;font-size:7px;margin-top:4px}dialog{color:#254336;background:var(--cream);border:1px solid #fff8e8;border-radius:20px;padding:43px;width:min(740px,calc(100% - 32px));max-height:85dvh;box-shadow:0 15px #153b3255,0 30px 100px #082e4480}dialog::backdrop{background:#082f3d80;backdrop-filter:blur(7px)}.close{position:absolute;right:19px;top:14px;width:33px;height:33px;border:1px solid #173f3720;color:#244434;background:transparent;border-radius:50%;font-size:23px}dialog .eyebrow{color:#a17435}dialog h2{font:800 43px/.98 Outfit;letter-spacing:-1.5px;margin:0 0 20px}dialog p{font-size:14px;line-height:1.75;color:#597062}.panel-tag{font-size:10px;font-weight:700;letter-spacing:1px;border-bottom:1px solid #b1b59066;padding-bottom:18px;margin-bottom:26px}.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.entry{border-radius:12px;border:1px solid #d8d9b9;padding:22px;background:#eee9cc}.entry h3{font:700 21px Outfit;margin:0 0 12px}.entry p{font-size:12px}.entry a,dialog a{color:#176d57}.entry-icon{font-size:35px;margin-bottom:16px;display:block}.chips{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.chips span{font-size:10px;padding:6px 9px;background:#dfe4c8;border-radius:4px}.subtle{font-size:11px!important;color:#748071!important}.mixer-row{display:grid;grid-template-columns:90px 1fr 38px;gap:15px;align-items:center;margin:25px 0;font-size:13px}.mixer-row input{accent-color:#248263;width:100%}.mixer-row output{text-align:right;font-variant-numeric:tabular-nums}.toggle-line{display:flex;align-items:center;justify-content:space-between;margin:25px 0;border-top:1px solid #d4d9b8;padding-top:20px;font-size:12px}.toggle-line input{accent-color:#278366;width:19px;height:19px}.secondary{border:1px solid #b6c5a5;background:#e5e8ce;color:#204936;border-radius:7px;padding:12px 17px;font-size:12px;font-weight:700}.credits{font-size:12px;line-height:1.8}.credits>div{padding:12px 0;border-bottom:1px solid #d2d8bb}.credits strong{display:block}.map-list{display:grid;gap:10px}.map-list button{display:flex;text-align:left;align-items:center;justify-content:space-between;border:1px solid #c2c9a3;background:#e7ead2;color:#294b39;border-radius:9px;padding:17px}.map-list b{font:700 19px Outfit}.map-list span{font-size:11px}.map-list small{display:block;font-size:10px;color:#72816b;margin-top:4px}#toast{position:absolute;top:105px;left:50%;transform:translate(-50%,-20px);background:#fff2cc;color:#204433;border-radius:30px;padding:11px 22px;font-size:12px;font-weight:700;opacity:0;transition:.3s;pointer-events:none;z-index:10}#toast.visible{opacity:1;transform:translate(-50%)}.touch-controls{display:none}.fallback #game{background:radial-gradient(ellipse at 70% 50%,#409b86,#163f40)}.fallback .welcome{top:25%}body.playing .top-note{display:none}@keyframes arrive{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@media(max-width:800px){header{top:18px;left:5%;right:5%;gap:10px}.brand{font-size:16px}.brand-sub{font-size:10px}.brand-symbol{font-size:37px}nav{position:fixed;top:86px;left:5%;right:5%;justify-content:space-around;gap:0}nav button{font-size:11px;padding:12px 9px}nav button span{display:none}.top-note{display:none}.welcome{left:7%;top:30%}h1{font-size:65px}.welcome p{font-size:12px;max-width:300px}.eyebrow{font-size:8px}.start-note{margin-top:18px}footer>span:first-child{display:none}footer{font-size:8px}.quest{top:150px;left:5%;padding:10px}.quest p{font-size:9px}.quest strong{padding-left:10px}.location{left:5%;bottom:115px}.location b{font-size:20px}.drive-help{display:none}.map-button{left:5%;bottom:48px}.speed{right:5%;bottom:52px;transform:scale(.85);transform-origin:bottom right}.interaction{bottom:190px;max-width:90%;gap:24px}.interaction b{font-size:23px}dialog{padding:34px 23px}dialog h2{font-size:35px}.panel-grid{grid-template-columns:1fr}.touch-controls{display:flex;position:absolute;left:5%;right:5%;bottom:210px;justify-content:space-between;pointer-events:none}.touch-controls>div{display:flex;gap:8px}.touch-controls button{width:51px;height:51px;border-radius:50%;border:1px solid #fcf4db66;background:#174b4288;color:#fff7e6;font-size:25px;touch-action:none;user-select:none}.touch-controls button.pressed{background:#d5b965}#loading{bottom:80px;right:7%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.projects-list{display:grid;gap:28px}.project-row{display:grid;grid-template-columns:145px 1fr;gap:22px;padding-bottom:25px;border-bottom:1px solid #d2d7b9}.project-art{min-height:180px;border-radius:10px;background:linear-gradient(150deg,#427865,#a8ba6e);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.project-art:after{content:"";position:absolute;width:180px;height:100px;background:#e8d69c;border-radius:50%;bottom:-80px;rotate:-15deg;box-shadow:0 -10px #56765255}.project-art>span{font:700 88px Outfit;color:#ffe3a2;text-shadow:0 9px 0 #17433640}.project-art small{position:absolute;top:12px;left:14px;font-size:10px;letter-spacing:1px;color:#fff7db}.art-1{background:linear-gradient(150deg,#166d7a,#51b6af)}.art-2{background:linear-gradient(150deg,#a65b37,#e89960)}.project-row h3{font:800 24px Outfit;margin:8px 0 0}.project-row p{font-size:12px;margin:9px 0;line-height:1.65}.project-type{font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:#7a815f;font-weight:700}.project-link{font-size:11px;color:#216346;font-weight:800;background:none;border:0;padding:0}.panel-intro{margin-bottom:27px}.timeline{margin-top:29px}.timeline article{display:flex;gap:22px;padding:23px 0;border-top:1px solid #d0d6b7}.timeline article>span{font:700 16px Outfit;color:#a59d65}.timeline h3{font:700 24px Outfit;margin:0}.timeline p{font-size:13px;margin:8px 0 13px}.timeline small{font-size:8px;letter-spacing:1.7px;color:#768165}.contact-card{background:#e1e8c9;padding:26px;margin:26px 0 19px;border-radius:12px}.contact-card>span{font-size:9px;letter-spacing:1.7px;color:#778767;display:block}.contact-card>a{font:600 clamp(19px,4vw,31px) "Outfit";display:block;margin:15px 0;text-decoration:none;overflow-wrap:anywhere}.contact-card p{font-size:11px;margin:0;max-width:390px}.contact-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #c8d2b4;margin-top:32px;padding-top:20px;font-size:9px;letter-spacing:1.7px}.contact-bottom>span:last-child{font-size:30px}.share{margin-top:24px}.now-playing{display:flex;align-items:center;gap:17px;background:#1f5342;color:#fff2d3;padding:20px;border-radius:12px;margin:25px 0 30px}.now-playing>span{font-size:35px;color:#ffcd72}.now-playing small,.now-playing b,.now-playing em{display:block}.now-playing small{font-size:8px;letter-spacing:1.8px;color:#f4cf82;margin-bottom:5px}.now-playing b{font:600 20px Outfit}.now-playing em{font-style:normal;font-size:10px;opacity:.7;margin-top:6px}.sound-actions{display:flex;justify-content:space-between;gap:10px;align-items:center}.text-dark{border:0;background:none;color:#2a624b;font-size:10px}.social-links{display:flex;gap:20px;margin-top:25px}.social-links a{font-weight:700;font-size:13px}.touch-hop{font-size:18px!important}.fallback .top-note{display:none}@media(max-width:550px){.project-row{grid-template-columns:95px 1fr;gap:16px}.project-art{min-height:155px}.project-art>span{font-size:61px}.project-row h3{font-size:21px}.project-row p{font-size:11px}.chips span{font-size:8px;padding:5px}.sound-actions{align-items:flex-start;flex-direction:column}.contact-card{padding:21px}.touch-controls{bottom:200px}.welcome{top:28%}h1{font-size:58px}header .brand-symbol{font-size:31px}.start-note{font-size:7px}.welcome p{line-height:1.65}.quest{max-width:85%}}@media(max-height:680px)and (min-width:801px){.welcome{top:25%}h1{font-size:65px}.welcome p{margin:17px 0}.start-note{margin-top:12px}.text-button{padding-top:17px}}.adventure-hud{position:absolute;right:38px;top:112px;display:grid;gap:9px;width:230px;color:#ffedbd;pointer-events:auto}.keepsakes,.rally-info{background:#254b40e8;border:1px solid #caa96373;box-shadow:0 4px 15px #152f292b;border-radius:12px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px}.adventure-hud span{font-size:9px;letter-spacing:1.1px;font-weight:800}.keepsakes strong{font-size:19px;white-space:nowrap}.rally-info{display:grid;gap:8px}.rally-info button{background:#ecca82;color:#3d4530;border:0;border-radius:6px;padding:7px 10px;font:700 11px inherit;cursor:pointer;text-align:left}.rally-info button:hover{background:#ffe1a0}@media(max-width:750px){.adventure-hud{top:211px;right:20px;width:181px;gap:5px}.keepsakes,.rally-info{padding:8px 10px}.adventure-hud span{font-size:8px}.keepsakes strong{font-size:16px}.rally-info button{padding:6px}.rally-info{gap:5px}}@media(max-height:650px){.adventure-hud{top:104px;right:20px}.rally-info{display:none}}#camera-button{position:absolute;bottom:105px;left:3%;padding:9px 14px;color:#fff0c8;background:#254b40e8;border:1px solid #caa96373;border-radius:9px;font-size:11px;pointer-events:auto}@media(max-width:750px){#camera-button{bottom:154px;left:20px;font-size:10px;padding:8px 10px}}@media(max-height:650px){#camera-button{bottom:98px}}body.rally-active #interact{display:none!important}#night-toggle{margin-left:auto;flex-shrink:0}header nav{margin-left:auto}#audio-toggle{flex-shrink:0}.night .vignette{background:linear-gradient(90deg,#040c2360,transparent 72%),linear-gradient(0deg,#040c2370,transparent 25%)}.night.playing .vignette{background:linear-gradient(0deg,#040c2377,transparent 22%)}.night nav{background:linear-gradient(170deg,#473e4c,#282837)}.night .quest,.night .keepsakes,.night .rally-info,.night #camera-button{background:#111d37e8;border-color:#8e85a966}#camera-button{bottom:175px}@media(max-width:800px){#night-toggle{margin-left:auto;width:42px;height:42px}#camera-button{bottom:156px}header nav{margin-left:0}}@media(max-width:800px){.interaction{bottom:280px;max-width:80%;padding:14px 18px;gap:16px}.interaction small{font-size:7px}.interaction b{font-size:20px}.interaction em{font-size:10px}.interaction kbd{padding:10px 13px}}
