@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/dm-sans-latin-9fea608a947e.woff2') format('woff2')}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:500 600;font-display:swap;src:url('/fonts/fredoka-latin-99d6c78e0437.woff2') format('woff2')}
:root{font-family:'DM Sans',sans-serif;color:#193e36;background:#faf8f0;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #eaa44c;outline-offset:4px}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}header{height:91px;max-width:1320px;margin:auto;padding:0 45px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dedfd2}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#193e36;font-size:24px;font-weight:700}.brand-icon{background:#214d40;color:#f1d68e;width:39px;height:39px;border-radius:50%;display:grid;place-items:center}.brand-sub{font-size:10px;letter-spacing:2px;margin-left:8px}.header-note{font-size:12px;color:#65756a;display:flex;gap:9px;align-items:center}.header-note i{width:7px;height:7px;border-radius:50%;background:#83a379}.sound{border:1px solid #dcded3;background:transparent;padding:10px 15px;border-radius:30px;color:#526a5b;font-size:13px}main{max-width:1230px;padding:0 30px;margin:auto}.lobby{display:grid;grid-template-columns:1fr 1.12fr;gap:0 42px;padding-top:64px}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:700;color:#718563}.intro{padding-top:16px}h1{font-family:'Fredoka',sans-serif;font-weight:500;font-size:clamp(45px,5.3vw,72px);letter-spacing:-2px;line-height:1.08;margin:22px 0}h1 em{font-style:normal;color:#68815b}.intro p{color:#768174;font-size:16px;line-height:1.8}.tags{display:flex;flex-wrap:wrap;gap:18px;font-size:11px;color:#51684f;margin-top:30px}.island-preview{position:relative;align-self:center;transform:rotate(-2deg);border:9px solid #fffefa;box-shadow:0 15px 40px #264b3812;border-radius:35% 35% 17px 17px;overflow:hidden;background:#b3d8d6}.island-preview canvas{display:block;width:100%;height:auto}.map-label{position:absolute;top:22px;left:26px;font-size:9px;letter-spacing:2px;color:#375c57}.adventure-note{position:absolute;bottom:18px;left:22px;background:#fffdf2f0;border-radius:12px;padding:12px 18px;display:flex;align-items:center;gap:14px;font-size:10px;color:#77806b;box-shadow:0 5px 15px #35604c10}.adventure-note>span{font-size:32px;color:#b78d3e}.adventure-note strong{display:block;color:#284f40;font-size:14px;margin-top:3px}.boarding{grid-column:1/-1;margin-top:47px;border:1px solid #dedfd2;background:#fffdf7;border-radius:21px;padding:27px 31px;display:grid;grid-template-columns:180px 1fr 300px;gap:22px;align-items:center}.boarding-title{display:flex;gap:11px;align-items:center}.step{width:29px;height:29px;border-radius:50%;background:#edf0df;display:grid;place-items:center;font-size:12px}.boarding h2{font-size:17px;margin:0 0 5px}.boarding p{font-size:11px;color:#819078;margin:0}.characters{display:flex;gap:10px}.character{background:transparent;border:1px solid #e1e3d6;border-radius:12px;display:flex;align-items:center;gap:9px;padding:14px 10px;color:#365247;flex:1;text-align:left}.character.selected{border-color:#66855d;background:#eef1e4}.avatar{width:39px;height:44px;display:grid;place-items:center;border-radius:16px 16px 12px 12px;color:white;font-family:'Fredoka';font-size:23px;box-shadow:inset 0 -6px #0001}.lucas{background:#568fa4}.lauge{background:#d38c4e}.character strong{font-size:14px}.character small{display:block;font-size:9px;margin-top:4px;color:#819078}.tick{display:none;margin-left:auto;color:#66855d}.selected .tick{display:block}.primary{border:0;background:#214f3d;color:#fffcf0;border-radius:10px;padding:16px 20px;font-weight:600;font-size:13px;box-shadow:0 4px 0 #153b2c;display:flex;align-items:center;justify-content:space-between;gap:24px}.primary:hover{background:#32634d}.boarding-actions>.primary{width:100%}.or{display:block;text-align:center;color:#9aa08e;font-size:10px;margin:14px 0 10px}form{display:flex;gap:8px}input{min-width:0;width:50%;border:1px solid #dfe3d4;border-radius:8px;background:#fafaf2;padding:11px;text-transform:uppercase;letter-spacing:2px;font-size:11px}.join{flex:1;border:1px solid #dfe3d4;background:transparent;border-radius:8px;font-size:12px;color:#365b46}.error{color:#aa493a!important;grid-column:1/-1;min-height:0}.error:empty{display:none}.bottom-note{grid-column:1/-1;display:flex;justify-content:space-between;color:#9aa08e;font-size:9px;letter-spacing:1.7px;padding:28px 4px 45px}footer{border-top:1px solid #dedfd2;max-width:1230px;padding:23px 30px;margin:0 auto;display:flex;justify-content:space-between;color:#9a9e8e;font-size:9px;letter-spacing:1px}footer span:nth-child(2){letter-spacing:0;font-size:11px}#game{max-width:1000px;margin:32px auto}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.game-heading h2{font-family:'Fredoka';font-size:29px;font-weight:500;margin:8px 0 19px}.room-code{background:#edf0e3;border:1px dashed #91a17f;border-radius:12px;padding:12px 16px;color:#53724c;font-size:10px;letter-spacing:1px}.room-code strong{font-size:21px;letter-spacing:4px;display:block;color:#214f3d;margin-top:5px}.mission{background:#fffdf7;border:1px solid #e1e4d6;border-radius:13px;display:flex;align-items:center;gap:15px;padding:14px 20px;margin-bottom:16px}.mission>span:first-child{font-size:29px;color:#c59737}.mission div{flex:1}.mission strong{font-size:14px;display:block}.mission div span{display:block;font-size:12px;color:#7c8774;margin-top:4px}#score{font-size:18px;color:#a88430;white-space:nowrap}.board{position:relative;border:7px solid #fffdf5;border-radius:20px;overflow:hidden;box-shadow:0 15px 35px #264b3810;background:#b3d8d6}#world{width:100%;display:block;touch-action:none}.connection{position:absolute;top:15px;left:50%;transform:translateX(-50%);background:#fff9e7;padding:14px;border-radius:10px;font-size:12px;white-space:nowrap}.game-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}.player-status{display:flex;align-items:center;gap:7px;font-size:11px}.dot{width:9px;height:9px;border-radius:50%}.blue{background:#568fa4}.orange{background:#d38c4e}.controls-hint{font-size:11px;color:#89917d}.win{position:absolute;inset:0;background:#fffdf0ec;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.win>span{font-size:65px}.win h2{font-family:'Fredoka';font-size:42px;margin:10px}.win p{color:#6c8066}.win strong{color:#be922f;margin:0 0 25px}.win button{display:block}.sound:hover,.join:hover{background:#edf0df}@media(max-width:1000px){.boarding{grid-template-columns:1fr 1.5fr}.boarding-actions{grid-column:1/-1;display:flex;gap:15px;align-items:center}.boarding-actions>.primary{width:45%}.boarding-actions .or{white-space:nowrap}.boarding-actions form{flex:1}.character small{font-size:10px}}@media(max-width:650px){header{height:73px;padding:0 20px}.header-note,.brand-sub{display:none}main{padding:0 18px}.lobby{padding-top:26px;gap:20px;grid-template-columns:1fr}.intro{padding-top:0}h1{font-size:51px;margin:14px 0}.intro p{font-size:14px;line-height:1.6}.tags{margin-top:18px;gap:13px;font-size:10px}.island-preview{max-width:430px;width:100%;margin:auto;transform:rotate(-1deg)}.boarding{margin-top:0;padding:20px;grid-template-columns:1fr;gap:17px}.characters{gap:10px}.boarding-actions{grid-column:auto;display:block}.boarding-actions>.primary{width:100%}.boarding-actions .or{margin:17px 0 12px}.bottom-note{padding:4px 0 20px;font-size:8px;line-height:1.8;gap:20px}footer{padding:20px;font-size:8px}footer span:nth-child(2){display:none}.game-heading h2{font-size:22px}.room-code{padding:9px;font-size:8px}.room-code strong{font-size:17px;letter-spacing:2px}.mission{padding:12px;gap:10px}.mission div span{font-size:10px}.mission strong{font-size:12px}#score{font-size:13px}.board{border-width:4px;border-radius:12px}.game-footer{flex-wrap:wrap;justify-content:center}.player-status{width:100%;justify-content:center}.controls-hint{font-size:10px}.win h2{font-size:27px}.win>span{font-size:35px}.win p{font-size:11px;margin:3px}.win strong{margin:8px;font-size:12px}.win .primary{padding:12px}#game{margin-top:22px}}
.mode-picker{grid-column:1/-1;display:flex;gap:14px;margin-top:35px}.mode{flex:1;display:grid;grid-template-columns:35px 1fr;gap:3px 10px;text-align:left;border:1px solid #dfe3d4;background:#fffdf7;border-radius:14px;padding:18px 23px;color:#365247}.mode>span{grid-row:1/3;align-self:center;font-size:27px;color:#899e6f}.mode strong{font-size:15px}.mode small{font-size:11px;color:#7c8873}.mode.selected{border-color:#66855d;background:#eef1e4;box-shadow:inset 0 0 0 1px #66855d}.mode-picker+.boarding{margin-top:18px}#leave{flex:0 0 auto;padding:10px 13px;font-size:10px}@media(max-width:650px){.mode-picker{margin-top:0;gap:9px}.mode{padding:14px 11px;grid-template-columns:24px 1fr;gap:3px 5px}.mode strong{font-size:12px}.mode small{font-size:9px}.mode>span{font-size:22px}.mode-picker+.boarding{margin-top:0}}
.avatar.lauge{background:#f0e8cc;box-shadow:none;object-fit:contain}.dot.orange{background:#c5a66b}
.avatar.lucas{background:#eee9da;box-shadow:none;object-fit:contain}.dot.blue{background:#b9a38d}
.loot{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.loot #coins{font-size:12px;color:#aa8232;white-space:nowrap}.win{background:#fffdf0ed;overflow:hidden}.win .trophy{font-size:38px}.win #celebration{width:min(90%,520px);height:auto;max-height:150px}.win h2{margin:5px 10px}.win p{margin:8px}.win #win-stars{margin:10px 0 5px}.win #win-loot{font-size:12px;color:#8c7946;margin-bottom:19px}.win .primary{z-index:1}.win:not([hidden]){animation:treasure-arrives .45s ease-out}@keyframes treasure-arrives{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media(max-width:650px){.win #celebration{max-height:70px;width:240px}.win .trophy{display:none}.win h2{font-size:24px}.win p{margin:3px}.win #win-stars{font-size:11px;margin:5px 0}.win #win-loot{font-size:10px;margin-bottom:8px}.win .primary{padding:10px 16px}.loot #coins{font-size:10px}}@media(prefers-reduced-motion:reduce){.win:not([hidden]){animation:none}}
.loot #key-count{font-size:11px;color:#73805c;white-space:nowrap}@media(max-width:650px){.loot{gap:2px}.loot #key-count{font-size:10px}}

.travel-map{grid-column:1/-1;margin-top:35px}.travel-heading{position:relative}.travel-heading h2{font-family:'Fredoka';font-size:27px;font-weight:500;margin:8px 0}.travel-heading p{font-size:12px;color:#7b8875;margin:0 0 20px}.destinations{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.destination{border:1px solid #dce3d2;background:#fffdf7;border-radius:16px;padding:12px;text-align:left;color:#294f40;display:flex;flex-direction:column;gap:7px;min-width:0}.destination.selected{border-color:#63845d;box-shadow:inset 0 0 0 1px #63845d;background:#f1f4e6}.destination-art{width:100%;height:66px;border-radius:9px;display:grid;place-items:center;font-family:serif;font-size:42px;overflow:hidden}.island-art{background:radial-gradient(ellipse at 50% 80%,#a7bd7d 0 30%,#e1d5a4 31% 36%,#b7d8d2 37%);color:#fff3b5}.faroes-art{background:linear-gradient(145deg,transparent 35%,#66876f 36% 57%,transparent 58%),linear-gradient(35deg,#a8bfa7 45%,#ccdedb 46%);color:#edf6f1}.mountain-art{background:#e8ded1;color:#ab977f}.snow-art{background:#e0ecef;color:#9bbac3}.destination strong{font-size:15px}.destination small{font-size:10px;color:#7c8873;line-height:1.5}.destination-state{font-size:10px;color:#618355;margin-top:auto;padding-top:6px}.coming{opacity:.62}.coming .destination-state{color:#92917e}.travel-map+.mode-picker{margin-top:22px}@media(max-width:650px){.travel-map{margin-top:3px}.destinations{grid-template-columns:repeat(2,1fr);gap:10px}.destination{padding:11px}.destination-art{height:55px}.travel-heading h2{font-size:24px}.destination strong{font-size:14px}.travel-map+.mode-picker{margin-top:0}}
.route-progress{display:flex;gap:8px;margin:0 0 13px}.route-progress span{flex:1;text-align:center;padding:9px 5px;border-radius:9px;background:#eeeee1;color:#849075;font-size:11px;border:1px solid #dce1cd}.route-progress span.current{background:#fff4cf;border-color:#d3b568;color:#816831}.route-progress span.done{background:#e7efda;border-color:#9ab381;color:#547049}@media(max-width:650px){.route-progress{gap:5px}.route-progress span{font-size:9px;padding:8px 3px}}
.win #sheep-reward{width:100px;height:63px;flex-shrink:0}.win #sheep-reward[hidden]{display:none}@media(max-width:650px){.win #sheep-reward{width:65px;height:40px}.win:has(#sheep-reward:not([hidden])) #celebration{max-height:45px}.win:has(#sheep-reward:not([hidden])) h2{font-size:21px}.win:has(#sheep-reward:not([hidden])) p{font-size:10px}}
@media(max-width:650px){.win:has(#sheep-reward:not([hidden])) p{display:none}.win:has(#sheep-reward:not([hidden])) #celebration{max-height:40px}.win #sheep-reward{height:36px}.win:has(#sheep-reward:not([hidden])) h2{margin:4px 8px}}

/* Game information stays in the normal flow on desktop. */
#game{display:flex;flex-direction:column}
#game-details{display:contents}
.game-heading{order:0}.mission{order:1}.route-progress{order:2}
.board{order:3}.game-footer{order:4}
.game-tools,.mobile-playbar,.mobile-options{display:none}
@media(max-width:900px), (pointer:coarse) and (max-width:1200px){
  body.playing{overflow:hidden;overscroll-behavior:none}
  body.playing>header,body.playing>footer{display:none}
  body.playing main{padding:0;max-width:none}
  body.playing #game{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;margin:0;z-index:20;background:#b3d8d6;isolation:isolate}
  #game .board{position:absolute;inset:0;border:0;border-radius:0;box-shadow:none}
  #game #world{width:100%;height:100%;display:block}
  .game-tools{position:absolute;z-index:4;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:center;gap:10px;pointer-events:none}
  #mobile-area{font-family:'Fredoka',sans-serif;font-size:17px;color:#294f40;background:#fffdf0e8;border:1px solid #fffdf0;padding:10px 14px;border-radius:24px;box-shadow:0 3px 14px #193e3610}
  #menu-toggle{pointer-events:auto;min-height:44px;border:1px solid #fffdf0;border-radius:24px;padding:10px 15px;background:#fffdf0f5;color:#294f40;font-size:20px;box-shadow:0 3px 14px #193e3610}
  #menu-toggle span{font-size:12px;margin-left:5px;vertical-align:middle}
  #menu-toggle[aria-expanded=true]{background:#214f3d;color:#fffdf0;border-color:#214f3d}
  #game-details{display:none}
  #game.menu-open #game-details{display:flex;flex-direction:column;position:absolute;z-index:3;top:calc(max(12px,env(safe-area-inset-top)) + 55px);right:max(12px,env(safe-area-inset-right));left:max(12px,env(safe-area-inset-left));max-height:calc(100% - 140px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:18px;border-radius:20px;background:#fffdf7fa;border:1px solid #e1e4d6;box-shadow:0 12px 45px #193e3633;overflow-y:auto;overscroll-behavior:contain}
  .game-heading{min-height:34px;gap:8px}
  .game-heading .eyebrow{font-size:8px;letter-spacing:1px}
  .game-heading h2{font-size:21px;margin:7px 0 14px}
  .room-code{padding:8px;font-size:8px}.room-code strong{font-size:16px;letter-spacing:2px}
  .mission{padding:12px 10px;margin-bottom:12px;gap:8px;border-radius:12px}
  .mission>span:first-child{font-size:23px}
  .mission strong{font-size:13px}
  .mission div span{font-size:11px;line-height:1.45;margin-top:4px}
  .loot{flex:0 0 auto!important;gap:4px}
  #score{font-size:14px}.loot #coins,.loot #key-count{font-size:10px}
  .route-progress{margin-bottom:12px;gap:4px}
  .route-progress span{padding:8px 2px;font-size:9px}
  .game-footer{order:4;margin-top:3px;gap:12px;justify-content:space-between;flex-wrap:wrap}
  .player-status{width:auto;font-size:11px;gap:5px}
  .controls-hint{display:none}
  #leave{min-height:44px;padding:10px;font-size:11px}



  .mobile-options{order:6;display:flex;gap:10px;margin-top:15px}
  .mobile-options button{min-height:44px;padding:10px;font-size:12px}
  .mobile-playbar{position:absolute;z-index:2;bottom:max(14px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:center;gap:10px;pointer-events:none}
  .mobile-playbar>span{background:#fffdf0da;color:#476147;padding:9px 12px;border-radius:20px;font-size:10px}
  #map-view{pointer-events:auto;border:1px solid #fffdf0;border-radius:24px;background:#fffdf0f5;color:#315741;padding:11px 14px;font-size:12px;min-height:44px;box-shadow:0 3px 14px #193e3610}
  #map-view[aria-pressed=true]{background:#214f3d;color:#fffdf0;border-color:#214f3d}
  #game:has(.win:not([hidden])) .mobile-playbar{display:none}
  .connection{top:80px;z-index:2;max-width:90%;white-space:normal;text-align:center}
  .win{padding:70px 16px;overflow-y:auto}
  .win #celebration,.win:has(#sheep-reward:not([hidden])) #celebration{width:min(95%,360px);max-height:150px}
  .win #sheep-reward{width:110px;height:69px}
  .win h2,.win:has(#sheep-reward:not([hidden])) h2{font-size:30px;margin:10px}
  .win p,.win:has(#sheep-reward:not([hidden])) p{display:block;font-size:12px}
  .win #win-stars{font-size:17px;margin:12px 0}
  .win #win-loot{font-size:12px;max-width:90%;margin:8px 0 22px}
  .win .primary{min-height:44px}
}
@media(max-height:500px) and (orientation:landscape) and (max-width:900px){
  #game.menu-open #game-details{left:auto;width:min(420px,calc(100% - 24px));max-height:calc(100% - 85px);padding:14px}
  .mobile-playbar>span{display:none}
  .mobile-playbar{justify-content:flex-end}
  .win{padding:50px 15px 12px}
  .win #celebration,.win:has(#sheep-reward:not([hidden])) #celebration{max-height:65px}
  .win #sheep-reward{width:70px;height:44px}
  .win h2,.win:has(#sheep-reward:not([hidden])) h2{font-size:24px;margin:4px}
  .win p,.win:has(#sheep-reward:not([hidden])) p{display:none}
  .win #win-stars,.win #win-loot{font-size:11px;margin:4px}
}

.fishing-notice{position:fixed;z-index:25;left:50%;bottom:28px;transform:translateX(-50%);max-width:90%;padding:12px 20px;border:1px solid #e3d7ac;border-radius:24px;background:#fff7dff5;box-shadow:0 5px 22px #193e3620;color:#456249;font-size:14px;pointer-events:none;text-align:center}
#fish-count{font-size:11px;color:#537b78;white-space:nowrap}
@media(max-width:900px), (pointer:coarse) and (max-width:1200px){.fishing-notice{bottom:calc(max(14px,env(safe-area-inset-bottom)) + 60px);font-size:12px;padding:11px 16px;min-width:220px}}

/* A held finger belongs to the game, never to text selection or an iOS callout. */
#game,#game *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
#game input,#game textarea{-webkit-user-select:text;user-select:text}
#world{touch-action:none;-webkit-user-drag:none}
#game button{touch-action:manipulation}

/* Keep the room code readable without triggering mobile input focus zoom. */
#code{font-size:16px;line-height:1.3;min-height:44px}

.mountain-progress{order:2;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.mountain-progress span{flex:1;padding:9px 7px;border:1px solid #dce0ca;border-radius:9px;text-align:center;color:#8a947c;background:#eeefe2;font-size:11px;white-space:nowrap}
.mountain-progress span.done{background:#e8efda;color:#5a754d;border-color:#a9bc90}
.mountain-progress span.current{background:#fff3cf;color:#856d36;border-color:#d5b976}
.mountain-tip{display:none}
.mountain-game #world{aspect-ratio:1000/650}
.mountain-game .mobile-playbar{display:flex;order:2;justify-content:space-between;align-items:center;margin:0 0 12px;gap:12px;font-size:12px;color:#738368}
.mountain-game #map-view{border:1px solid #c9d4bb;border-radius:24px;background:#edf1e1;color:#315741;padding:10px 14px;font-size:12px;min-height:44px}
.mountain-game #map-view[aria-pressed=true]{background:#214f3d;color:#fffdf0}
@media(max-width:900px), (pointer:coarse) and (max-width:1200px){
  .mountain-game .mobile-playbar{margin:0}
  .mountain-game #world{aspect-ratio:auto}
  .mountain-tip{display:block;position:absolute;z-index:2;left:max(12px,env(safe-area-inset-left));top:calc(max(12px,env(safe-area-inset-top)) + 54px);max-width:calc(100% - 24px);background:#fff7def0;color:#625e3d;border:1px solid #f6e9bc;border-radius:18px;padding:9px 13px;min-height:36px;font-size:12px;box-shadow:0 3px 14px #193e3610}
  #game.menu-open .mountain-tip{visibility:hidden}
  .mountain-progress span{font-size:9px;min-width:28%;padding:7px 4px}
}

@media(max-width:900px), (pointer:coarse) and (max-width:1200px){
  .mountain-game #mobile-area::before{content:'DOLOMITTERNE';display:block;font:600 8px sans-serif;letter-spacing:1.5px;color:#7d816b;line-height:14px}
}
/* Cliff hops fill the play surface; the whole scene is the jump control. */
.cliff-game .board{height:730px;isolation:isolate}
#game.cliff-game #world,.cliff-game .mobile-playbar{display:none}
#cliff-hop{position:absolute;inset:0;background:#d1ded0;z-index:1;overflow:hidden;touch-action:none}
#cliff-canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-5px}
.cliff-heading{position:absolute;left:25px;top:22px;pointer-events:none;color:#2b5144}
.cliff-heading .eyebrow{font-size:9px;letter-spacing:2px}
.cliff-heading h2{font-size:24px;margin:6px 0 8px;font-weight:600}
#cliff-stars{color:#a57c32;letter-spacing:3px;font-size:20px;text-shadow:0 1px #fff7e5}
.cliff-route{height:4px;width:145px;background:#ffffff65;border-radius:4px;margin-top:10px;overflow:hidden}
.cliff-route i{display:block;background:#487859;height:100%;width:0;transition:width .35s}
.cliff-bottom{position:absolute;left:15px;right:15px;bottom:20px;display:flex;align-items:center;flex-direction:column;gap:12px;pointer-events:none;color:#2d5143;text-align:center}
#cliff-message{font-size:15px;background:#fff9e4e3;padding:10px 18px;border-radius:30px;box-shadow:0 3px 15px #3b4d3010}
#cliff-help{font-size:11px;background:#f8f4dbbf;padding:4px 12px;border-radius:16px;color:#526653}
.cliff-power{height:11px;width:175px;background:#fff9ddc9;border:2px solid #f7f1d8;border-radius:12px;position:relative;margin-bottom:10px}
.cliff-power>i{display:block;height:100%;width:0;background:#dfb75c;border-radius:10px}
.cliff-power.good>i{background:#8bab58}
.cliff-power>span{display:block;position:absolute;left:0;right:0;top:13px;font-size:8px;color:#fff3cf}
.cliff-power b{float:right;font-weight:400}
#cliff-friend{position:absolute;top:27px;right:24px;font-size:11px;max-width:210px;background:#fff7d9cc;padding:8px 12px;border-radius:25px;pointer-events:none;color:#43604c}
.cliff-game .connection{z-index:6}
.cliff-game .win{z-index:5}
#game.menu-open #cliff-hop{pointer-events:none}
@media(max-width:900px), (pointer:coarse) and (max-width:1200px){
 .cliff-game .board{height:100dvh}
 .cliff-heading{top:calc(82px + env(safe-area-inset-top));left:18px}
 .cliff-heading h2{font-size:22px;margin:6px 0}
 .cliff-heading .eyebrow{font-size:8px;letter-spacing:1.5px}
 .cliff-bottom{bottom:max(20px,env(safe-area-inset-bottom));gap:12px}
 #cliff-message{font-size:12px;padding:10px 14px;max-width:100%;line-height:1.4}
 #cliff-help{font-size:10px}
 #cliff-friend{top:calc(183px + env(safe-area-inset-top));left:18px;right:auto;font-size:10px;max-width:270px;padding:6px 10px}
}
@media(max-height:520px) and (orientation:landscape){
 .cliff-heading{top:72px;left:18px}.cliff-heading .eyebrow,.cliff-heading h2{display:none}#cliff-stars{font-size:15px}.cliff-route{width:90px;margin-top:4px}
 .cliff-bottom{bottom:8px;gap:6px}.cliff-power{position:absolute;left:20px;bottom:10px;width:130px}#cliff-message{font-size:11px;padding:7px 12px}#cliff-help{display:none}#cliff-friend{top:75px;left:auto;right:20px;padding:5px 9px}
}
/* The ski slope uses the whole scene as a steering surface. */
.ski-game .board{height:730px;isolation:isolate}
#game.ski-game #world,.ski-game .mobile-playbar{display:none}
#ski-run{position:absolute;inset:0;z-index:1;overflow:hidden;background:#e2eeed;touch-action:none}
#ski-canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-5px}







.ski-ready{position:absolute;left:50%;top:50%;transform:translate(-50%,-40%);width:min(310px,85%);padding:25px 24px;background:#fffdf0f0;color:#3c6270;border:1px solid #dae4dc;border-radius:26px;text-align:center;box-shadow:0 10px 40px #446c7820}
.ski-ready>span{font-size:37px;color:#8bafbc}
.ski-ready h3{font-size:26px;margin:8px 0}
.ski-ready p{font-size:13px;line-height:1.7;margin:12px 0 18px;color:#748b88}
#ski-start{border:0;border-radius:14px;min-height:48px;background:#4a7685;color:#fffbed;padding:13px 22px;font-weight:600;font-size:14px;touch-action:manipulation}
.ski-tip{position:absolute;bottom:22px;left:12px;right:12px;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;text-align:center}
#ski-message{font-size:13px;border-radius:25px;background:#fffbeddf;padding:9px 16px;color:#4d7580}
#ski-help{font-size:10px;background:#e9f2edc9;padding:4px 10px;border-radius:15px;color:#7d9291}
#ski-friend{position:absolute;right:24px;top:24px;max-width:215px;border-radius:25px;background:#fffcedd9;color:#78918b;padding:8px 12px;font-size:11px;pointer-events:none}
.ski-game .connection{z-index:6}.ski-game .win{z-index:5}
#game.menu-open #ski-run{pointer-events:none}
@media(max-width:900px), (pointer:coarse) and (max-width:1200px){
 .ski-game .board{height:100dvh}
 #ski-friend{top:calc(82px + env(safe-area-inset-top));right:15px;font-size:9px;max-width:110px;padding:7px 9px}
 .ski-ready{padding:20px 23px}.ski-ready h3{font-size:24px}.ski-ready p{font-size:12px}.ski-tip{bottom:max(20px,env(safe-area-inset-bottom))}#ski-message{font-size:12px}#ski-help{font-size:9px}
}
@media(max-height:520px) and (orientation:landscape){
 #ski-friend{top:77px;right:18px}.ski-tip{bottom:10px}#ski-help{display:none}
 .ski-ready{top:50%;padding:14px 20px;width:270px}.ski-ready>span{display:none}.ski-ready h3{font-size:20px;margin:0}.ski-ready p{font-size:11px;margin:8px 0}#ski-start{min-height:44px;padding:10px 18px;font-size:13px}
}







/* Lille Vildmose: an open walking scene with binoculars and a shared album. */
.mose-art{background:linear-gradient(160deg,#d9e3bf 15%,#8fafa0 16% 38%,#bbcc99 39% 70%,#9dbca8 71%);color:#f8f1c7}
.watch-game .board{height:740px;isolation:isolate}
#game.watch-game #world,.watch-game .mobile-playbar{display:none}
#birdwatch{position:absolute;inset:0;z-index:1;overflow:hidden;background:#b9c69c;touch-action:none}
#watch-canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-5px}
.watch-notice{position:absolute;left:50%;bottom:92px;transform:translateX(-50%);max-width:calc(100% - 24px);padding:9px 15px;border-radius:18px;background:#fffbeddf;color:#45654d;font-size:12px;text-align:center;pointer-events:none;width:max-content}
.watch-toolbar{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:9px;white-space:nowrap}
.watch-toolbar button{min-height:46px;border:1px solid #e7e7cf;border-radius:24px;background:#fffdf1ed;padding:11px 17px;color:#3e624a;box-shadow:0 4px 15px #263d2512;font-size:12px;touch-action:manipulation}
.watch-toolbar button[aria-pressed=true]{background:#506f4f;color:#fff8df;border-color:#506f4f}
.watch-toolbar b{font-size:10px;margin-left:4px;font-weight:500;color:#9c8547}
.watch-panel{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);background:#fffdf1f7;border:1px solid #e2e4cd;color:#36563f;border-radius:28px;box-shadow:0 20px 80px #2b462956;padding:28px;text-align:center;width:min(440px,calc(100% - 28px));max-height:calc(100% - 100px);overflow:auto;overscroll-behavior:contain}
.watch-panel h2{font-family:'Fredoka',sans-serif;font-size:30px;font-weight:500;margin:10px 0}
.watch-panel p{font-size:13px;line-height:1.6;color:#7b886b;margin:12px 0}
.watch-panel small{font-size:10px;line-height:1.5;color:#889678;display:block;margin-top:13px}
.watch-close{position:absolute;right:8px;top:8px;width:44px;height:44px;border:0;border-radius:50%;color:#658064;background:transparent;font-size:27px}
.watch-optics{margin-top:20px;background:radial-gradient(ellipse at 28% 50%,#c5d5b0 0 44%,transparent 45%),radial-gradient(ellipse at 72% 50%,#c5d5b0 0 44%,transparent 45%);border-radius:35%;overflow:hidden}
.watch-optics canvas{width:100%;display:block;height:auto}
#watch-observe{border:0;border-radius:14px;background:#426b4d;color:#fff8df;min-height:48px;padding:13px 20px;font-size:13px;font-weight:600;touch-action:manipulation}
#watch-observe:disabled{background:#b2bd83;opacity:1;cursor:default}
.watch-focus{height:5px;width:180px;max-width:90%;margin:14px auto 0;background:#e2e8cc;border-radius:5px;overflow:hidden}
.watch-focus i{display:block;height:100%;width:0;background:#b8a15c;transition:width .05s linear}
.watch-album{width:min(670px,calc(100% - 24px))}
.watch-pages{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.watch-pages article{border:1px dashed #d8ddc6;border-radius:15px;background:#f3f2e5;padding:9px 10px 13px;display:flex;flex-direction:column;align-items:center}
.watch-pages article.found{background:#eff3df;border-style:solid;border-color:#aab989}
.watch-pages canvas{display:block;width:100%;max-width:150px;height:auto}
.watch-pages h3{font-size:14px;margin:0 0 7px}.watch-pages p{font-size:10px;margin:0 0 10px;flex:1}.watch-pages span{font-size:9px;color:#8d8f75}.watch-pages .found span{color:#92803d}
.watch-game .connection{z-index:6}.watch-game .win{z-index:5}
#game.menu-open #birdwatch{pointer-events:none}
@media(max-width:900px), (pointer:coarse) and (max-width:1200px){
 .watch-game .board{height:100dvh}.watch-toolbar{bottom:max(20px,env(safe-area-inset-bottom));gap:6px}.watch-toolbar button{padding:11px 13px;font-size:11px}.watch-notice{bottom:85px;font-size:11px;max-width:calc(100% - 30px)}
 .watch-panel{padding:26px 20px 20px}.watch-panel h2{font-size:25px}.watch-pages{grid-template-columns:repeat(2,1fr)}
}
@media(max-height:520px) and (orientation:landscape){
 .watch-toolbar{bottom:10px}.watch-notice{bottom:67px}.watch-panel{max-height:calc(100% - 30px)}.watch-lens{display:grid;grid-template-columns:1fr 1fr;column-gap:15px;width:min(560px,calc(100% - 120px));padding:20px}.watch-lens>.eyebrow,.watch-lens>h2{grid-column:1/-1}.watch-optics{grid-row:3/7;grid-column:1;margin:0}.watch-lens p{margin:3px 0 9px;font-size:11px}.watch-lens h2{font-size:20px}.watch-lens small{font-size:9px}
}

#watch-toggle-map{min-height:42px;padding:8px 16px;border:1px solid #b9c49b;border-radius:22px;background:#eef1df;color:#4d6b48;font-size:12px;margin:2px 0 12px}
#watch-map{display:block;width:100%;height:auto;border:1px solid #c5ccae;border-radius:15px;background:#e9ead4}
.watch-panel #watch-map-help{font-size:11px;line-height:1.6;color:#6d7f60}

/* Golf has broad fairways and airborne shots rather than minigolf walls. */
.golf-art{background:radial-gradient(ellipse at 65% 30%,#c4d99d 0 23%,transparent 24%),linear-gradient(135deg,#91ad74 25%,#bad58c 26% 67%,#91ad74 68%);color:#b56d55}
.golf-game .board{height:760px;isolation:isolate}
#game.golf-game #world,.golf-game .mobile-playbar{display:none}
#golf-round{position:absolute;inset:0;z-index:1;overflow:hidden;background:#8ba671;touch-action:none}
#golf-canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-5px}
.golf-heading{position:absolute;top:24px;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;color:#335b36;width:calc(100% - 34px);text-shadow:0 1px #dce8c655}
.golf-heading strong{display:block;font-family:'Fredoka',sans-serif;font-size:20px;font-weight:500}.golf-heading span{font-size:11px;display:block;margin-top:5px;color:#45653e}
.golf-toolbar{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:15px;width:max-content;max-width:calc(100% - 24px)}
.golf-toolbar button{min-height:46px;border:1px solid #d7e2bf;border-radius:25px;padding:11px 16px;background:#fffcebeb;color:#48623c;font-size:12px;touch-action:manipulation;box-shadow:0 4px 15px #32533210}
.golf-toolbar>div{min-width:110px;background:#edf4d8d9;border-radius:18px;padding:10px 14px;color:#4b633c;pointer-events:none}.golf-toolbar strong{display:block;font-size:12px}.golf-toolbar span{display:block;font-size:10px;margin-top:4px;color:#71815b}
.golf-message{position:absolute;bottom:103px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);width:max-content;padding:9px 15px;border-radius:22px;background:#fff8dddf;color:#526b40;font-size:12px;text-align:center;pointer-events:none}
.golf-power{position:absolute;bottom:153px;left:50%;transform:translateX(-50%);height:9px;width:180px;max-width:50%;border-radius:9px;background:#e9f0cc;pointer-events:none}
.golf-power i{display:block;height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,#6b9457,#c5b366)}.golf-power span{position:absolute;top:-22px;left:0;right:0;text-align:center;font-size:11px;color:#3f6037}
.golf-next{position:absolute;z-index:2;left:50%;top:47%;transform:translate(-50%,-50%);width:min(340px,calc(100% - 36px));padding:30px 23px;background:#fffdeff5;border:1px solid #e0e4c6;border-radius:28px;box-shadow:0 15px 60px #35532e44;text-align:center;color:#42623b}
.golf-next>span{font-size:43px;color:#b58252}.golf-next h2{font-family:'Fredoka',sans-serif;font-size:34px;font-weight:500;margin:9px 0}.golf-next p{font-size:12px;line-height:1.7;color:#7d896b;margin-bottom:22px}.golf-next button{border:0;border-radius:13px;background:#4c7146;color:#fff5da;padding:14px 17px;min-height:46px;font-weight:600;font-size:12px}
.golf-game .connection{z-index:6}.golf-game .win{z-index:5}#game.menu-open #golf-round{pointer-events:none}
@media(max-width:900px), (pointer:coarse) and (max-width:1200px){.golf-game .board{height:100dvh}.golf-heading{top:calc(82px + env(safe-area-inset-top))}.golf-heading strong{font-size:16px}.golf-heading span{font-size:10px}.golf-toolbar{bottom:max(23px,env(safe-area-inset-bottom));gap:10px}.golf-toolbar button{font-size:11px;padding:11px 14px}.golf-message{font-size:11px}.golf-next{padding:25px 23px}}
@media(max-height:520px) and (orientation:landscape){.golf-heading{top:72px}.golf-heading strong{font-size:14px}.golf-heading span{font-size:9px}.golf-toolbar{bottom:10px}.golf-message{bottom:76px;font-size:10px;padding:6px 12px}.golf-power{bottom:119px}.golf-next{padding:15px 20px;width:310px}.golf-next>span{display:none}.golf-next h2{font-size:26px;margin:3px}.golf-next p{margin:7px 0 12px}}

/* The beach is the play surface; the small glass is the shared collection. */
.amber-art{background:linear-gradient(164deg,#86b4b5 0 35%,#f5edd2 36% 42%,#dfcba2 43% 72%,#c6ba86 73%);color:#b98744}
.amber-game .board{height:760px;isolation:isolate;background:#e8d5ac}
#game.amber-game #world,.amber-game .mobile-playbar{display:none}
#amber-hunt{position:absolute;inset:0;z-index:1;overflow:hidden;background:#e8d5ac;touch-action:none}
#amber-canvas{width:100%;height:100%;display:block;touch-action:none;outline-offset:-5px}
.amber-heading{position:absolute;top:25px;left:50%;transform:translateX(-50%);text-align:center;color:#4e6b65;pointer-events:none;width:calc(100% - 140px)}
.amber-heading strong{font-family:'Fredoka',sans-serif;display:block;font-weight:500;font-size:23px}.amber-heading span{font-size:11px;display:block;margin-top:6px}
#amber-jar{position:absolute;right:18px;top:75px;background:transparent;border:0;padding:0 5px;color:#655c44;min-width:60px;min-height:72px;font-size:11px;border-radius:12px;touch-action:manipulation}#amber-jar canvas{display:block;width:52px;height:64px}#amber-jar b{display:block;font-size:10px;margin-top:1px;font-weight:600}
.amber-toolbar{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:flex;gap:9px;width:max-content;max-width:calc(100% - 20px)}
.amber-toolbar button{min-height:46px;padding:11px 16px;border:1px solid #e2d7b9;border-radius:24px;background:#fffaeae8;color:#62694e;font-size:12px;white-space:nowrap;touch-action:manipulation;box-shadow:0 4px 16px #7766440c}
.amber-toolbar button[aria-pressed=true]{background:#756882;color:#fff5e0;border-color:#756882}
.amber-notice{position:absolute;bottom:92px;left:50%;transform:translateX(-50%);max-width:calc(100% - 28px);width:max-content;padding:9px 15px;border-radius:20px;background:#fff7e2de;color:#726b50;text-align:center;font-size:12px;pointer-events:none}
.amber-panel{position:absolute;z-index:3;top:49%;left:50%;transform:translate(-50%,-50%);width:min(430px,calc(100% - 28px));max-height:calc(100% - 100px);overflow:auto;overscroll-behavior:contain;background:#fff9ebf7;border:1px solid #e4dac0;border-radius:28px;padding:30px 25px 25px;color:#5b654e;text-align:center;box-shadow:0 20px 75px #53483144}
.amber-panel h2{font-family:'Fredoka',sans-serif;font-weight:500;font-size:30px;margin:10px 0 0}.amber-panel>.eyebrow{font-size:9px;letter-spacing:1.8px}.amber-panel p{font-size:12px;line-height:1.7;color:#85816b;margin:8px 0 18px}
.amber-panel>canvas{display:block;max-width:100%;height:auto;margin:0 auto}.amber-inspect>canvas{width:260px}.amber-collection>canvas{width:155px;margin-top:7px}
.amber-panel button{min-height:44px;border:1px solid #d9d3b8;border-radius:13px;padding:11px 15px;background:#f3edda;color:#62694f;font-size:12px;touch-action:manipulation}.amber-panel button.amber-close{position:absolute;top:7px;right:8px;border:0;background:transparent;padding:6px;min-width:44px;font-size:27px;color:#8f8b74}
.amber-inspect>div{display:flex;gap:9px;justify-content:center;margin-top:13px}#amber-keep,#amber-continue{background:#5c7560;border-color:#5c7560;color:#fff9e7}#amber-inspect-lamp[aria-pressed=true]{background:#e5d9ea;border-color:#b9a9c4;color:#786284}
.amber-collected-names{display:grid;gap:6px;margin:6px 0 18px;font-size:11px;color:#a39c83}.amber-collected-names .found{color:#ab7f3f}
.amber-game .connection{z-index:6}.amber-game .win{z-index:5}#game.menu-open #amber-hunt{pointer-events:none}
@media(max-width:900px), (pointer:coarse) and (max-width:1200px){.amber-game .board{height:100dvh}.amber-heading{top:calc(85px + env(safe-area-inset-top))}.amber-heading strong{font-size:20px}.amber-heading span{font-size:10px;line-height:1.5}.amber-toolbar{bottom:max(23px,env(safe-area-inset-bottom));gap:6px}.amber-toolbar button{font-size:11px;padding:11px 13px}.amber-notice{font-size:11px;bottom:87px}#amber-jar{top:calc(83px + env(safe-area-inset-top));right:11px}.amber-panel{padding:29px 21px 22px}.amber-panel h2{font-size:27px}}
@media(max-height:520px) and (orientation:landscape){.amber-heading{top:72px}.amber-heading strong{font-size:16px}.amber-heading span{font-size:9px}.amber-toolbar{bottom:10px}.amber-notice{bottom:66px;padding:6px 12px;font-size:10px}#amber-jar{top:70px}.amber-panel{max-height:calc(100% - 30px);padding:22px}.amber-inspect>canvas{width:160px}.amber-panel h2{font-size:23px}.amber-panel p{margin:5px 0 10px}.amber-collection>canvas{width:85px}.amber-collected-names{grid-template-columns:1fr 1fr;font-size:9px;gap:4px;margin:8px 0 12px}}
.amber-dusk .amber-heading{color:#f5ebce}.amber-dusk #amber-jar{color:#f5ebce}
.amber-inspect>canvas{touch-action:none;cursor:crosshair;border-radius:35%;outline-offset:-3px}.amber-find-tools{flex-wrap:wrap}.amber-panel button:disabled{cursor:default;opacity:.48}.amber-find-tools #amber-brush{background:#ecddbd;border-color:#dac8a3;color:#7e6a46;font-size:11px}.amber-find-tools #amber-inspect-lamp{font-size:11px}
.amber-inspect>canvas:focus-visible{outline:2px solid #ceaa60;outline-offset:-3px}
.game-loading .board::after{content:'';position:absolute;inset:0;z-index:4;background:#faf8f0ed;pointer-events:none}.game-loading .connection{z-index:7}#connection[role=button]{cursor:pointer;white-space:normal;text-align:center;max-width:calc(100% - 30px)}#connection[role=button]:focus-visible{outline:3px solid #eaa44c;outline-offset:4px}
.faroes-game #score{font-size:12px;color:#81916d}.faroes-game .route-progress span{font-size:12px}.faroes-game .route-progress span.current{background:#edf3dc;border-color:#9bad76;color:#476440}
@media(max-width:900px), (pointer:coarse) and (max-width:1200px){.faroes-game #mountain-tip{font-size:12px;background:#fffae9f0;color:#385d43;border-color:#dce3bc;max-width:calc(100% - 30px)}.faroes-game.menu-open #mountain-tip{visibility:hidden}.faroes-game .route-progress span{font-size:10px}}
.amber-choice{grid-column:1/-1;margin-top:26px}.amber-choice h2{font-family:'Fredoka',sans-serif;font-size:24px;font-weight:500;margin:0 0 14px}.amber-choice>div{display:grid;grid-template-columns:1fr 1fr;gap:16px}.amber-choice button{position:relative;overflow:hidden;padding:0;border:3px solid transparent;border-radius:22px;background:#fffdf4;color:#415b4b;text-align:left;box-shadow:0 0 0 1px #dce0d0;touch-action:manipulation}.amber-choice canvas{display:block;width:100%;height:auto}.amber-choice button>span{display:block;padding:16px 19px}.amber-choice strong{display:block;font-size:19px}.amber-choice small{display:block;font-size:12px;margin-top:5px;color:#7a816c}.amber-choice b{position:absolute;right:13px;top:13px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fffbea;color:transparent;border:2px solid #c6c4ae}.amber-choice button.selected{border-color:#5e805a;box-shadow:0 0 0 2px #5e805a22}.amber-choice .selected b{background:#5e805a;border-color:#5e805a;color:white}.amber-choice button[data-amber-time=night]{background:#253c53;color:#fff1cf}.amber-choice button[data-amber-time=night] small{color:#d1d7de}.amber-choice+.mode-picker{margin-top:22px}
.amber-night .amber-heading,.amber-night #amber-jar{color:#fff0cf}.amber-night .amber-notice{background:#172a40e8;color:#f3e2bd;border:1px solid #a3b4ca40}.amber-night .amber-toolbar button{background:#20364ceF;border-color:#72849b;color:#f7ebcd}.amber-night .amber-toolbar button[aria-pressed=true]{background:#76618f;border-color:#b39ec7}
@media(max-width:650px){.amber-choice{margin-top:5px}.amber-choice>div{gap:11px}.amber-choice h2{font-size:22px}.amber-choice button{border-radius:16px}.amber-choice button>span{padding:12px 10px}.amber-choice strong{font-size:16px}.amber-choice small{font-size:10px;line-height:1.5}.amber-choice b{top:8px;right:8px;width:25px;height:25px;font-size:13px}}

/* RC cars: the sketched L-shaped house, one car per player. */
.drift-art{background:linear-gradient(145deg,#c6d3c2 0 30%,#cdb58e 31% 58%,#989f96 59%);color:#486b65}
.drift-game .board{height:780px;isolation:isolate;background:#dce5df}
#game.drift-game #world,.drift-game .mobile-playbar{display:none}
#drift-house{position:absolute;inset:0;z-index:1;overflow:hidden;touch-action:none;background:#dce5df}
#drift-canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-4px}
.drift-heading{position:absolute;top:22px;left:50%;transform:translateX(-50%);text-align:center;color:#33594d;pointer-events:none;width:calc(100% - 30px)}
.drift-heading strong{display:block;font:500 24px Fredoka,sans-serif}.drift-heading span{display:block;margin-top:5px;font-size:12px}
.drift-steps{display:flex;justify-content:center;gap:8px;margin-top:9px}.drift-steps i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:11px;font-style:normal;background:#eef1df;color:#85917c}.drift-steps .done{background:#edd8a0;color:#9e7b31}.drift-steps .next{box-shadow:0 0 0 2px #d0aa57;color:#937030}
.drift-toolbar{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:9px;width:max-content;max-width:calc(100% - 20px)}
.drift-toolbar button{min-height:44px;border:1px solid #cbd5c4;border-radius:24px;padding:10px 15px;background:#fff9e9ed;color:#486855;font-size:12px;touch-action:manipulation}.drift-bonus{font-size:11px;white-space:nowrap;color:#486855;background:#f5f2e2dd;padding:10px;border-radius:18px}
.drift-tip{position:absolute;bottom:83px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 26px);padding:8px 14px;background:#fff9e9e8;border-radius:20px;font-size:12px;text-align:center;color:#60715c;pointer-events:none}
.drift-game .connection{z-index:6}.drift-game .win{z-index:5}#game.menu-open #drift-house{pointer-events:none}
@media(max-width:900px),(pointer:coarse) and (max-width:1200px){.drift-game .board{height:100dvh}.drift-heading{top:calc(82px + env(safe-area-inset-top))}.drift-heading strong{font-size:19px}.drift-heading span{font-size:11px}.drift-steps{gap:6px;margin-top:7px}.drift-toolbar{gap:5px}.drift-toolbar button{font-size:11px;padding:10px 12px}.drift-bonus{font-size:10px;padding:8px}.drift-tip{font-size:11px}}
@media(max-height:520px) and (orientation:landscape){.drift-heading{top:69px}.drift-heading strong{font-size:15px}.drift-heading span{font-size:10px}.drift-steps{display:none}.drift-toolbar{bottom:9px}.drift-tip{bottom:62px;font-size:10px;padding:5px 10px}}
.drift-clock{position:absolute;top:22px;right:18px;min-width:86px;padding:8px 11px;border-radius:15px;background:#fff9e9ec;color:#486855;text-align:center;pointer-events:none;font-variant-numeric:tabular-nums}
.drift-clock>span,.drift-clock small{display:block;font-size:9px}.drift-clock strong{display:block;font:500 22px Fredoka,sans-serif;font-variant-numeric:tabular-nums;margin:2px 0}.drift-clock.finished{background:#e8efd5;color:#416c49}.drift-game .drift-heading{width:calc(100% - 210px)}
@media(max-width:900px),(pointer:coarse) and (max-width:1200px){.drift-clock{top:calc(82px + env(safe-area-inset-top));right:12px;min-width:80px;padding:7px 9px}.drift-clock strong{font-size:20px}.drift-game .drift-heading{left:18px;transform:none;width:calc(100% - 130px);text-align:left}.drift-game .drift-steps{justify-content:flex-start}}
@media(max-height:520px) and (orientation:landscape){.drift-clock{top:69px;padding:5px 9px}.drift-clock strong{font-size:18px}.drift-clock>span{display:none}}
.drift-speed-bonus{display:block;max-width:105px;margin-top:5px;padding-top:5px;border-top:1px solid #cdb77766;font-size:10px;font-weight:600;line-height:1.4;color:#a47c2e}

.drift-stick{position:absolute;z-index:2;width:128px;height:128px;border:2px solid #fffbea99;border-radius:50%;background:#183e3820;box-shadow:0 2px 12px #173e3818;transform:translate(-50%,-50%);pointer-events:none}
.drift-stick::before{content:'';position:absolute;inset:52px;border:1px solid #fffbea88;border-radius:50%}
.drift-stick>i{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px;border-radius:50%;background:currentColor;border:3px solid #fff6dfcc;box-shadow:0 3px 10px #20382c30}
