.trip-status{margin-top:18px;border-radius:9px;background:#f1f4eb;border:1px solid #e4eadf;padding:13px 14px;min-height:54px}.trip-ready{display:flex;align-items:center;justify-content:space-between;gap:10px}.trip-ready b{font:600 12px var(--display)}.trip-ready span{font-size:10px;color:#7d887d}.trip-active{display:grid;grid-template-columns:1fr auto;gap:5px 12px;align-items:center}.trip-active strong{font:600 13px var(--display)}.trip-active small{font-size:10px;color:#758175}.trip-progress{height:5px;background:#dce4d7;border-radius:5px;overflow:hidden;grid-column:1/-1;margin-top:4px}.trip-progress i{height:100%;display:block;background:#6c966b;transition:width .5s linear}.puzzle-button{background:#fff;border:1px solid #e1e6dc;border-radius:6px;color:#466348;font:700 9px var(--sans);padding:7px 10px;cursor:pointer;grid-column:1/-1;justify-self:start;margin-top:5px}.crew-trips{font-size:10px;color:#788379;margin-top:13px;display:flex;flex-wrap:wrap;gap:5px}.crew-trip-chip{border:1px solid #e7e5dc;background:#fffdf8;border-radius:20px;padding:5px 8px}.powerup-head{border-top:1px solid #eeeae1;margin-top:15px;padding-top:12px;display:flex;justify-content:space-between;font-size:8px;font-weight:800;letter-spacing:1px;color:#8c958c}.powerup-head small{font:700 9px var(--sans);letter-spacing:0}.powerups{display:flex;flex-direction:column;gap:6px;margin-top:9px}.powerup-card{border:1px solid #e8e5dc;border-radius:7px;background:#faf8f2;color:var(--ink);padding:8px 9px;display:grid;grid-template-columns:23px 1fr;gap:1px 6px;text-align:left;cursor:pointer}.powerup-card.selected{border-color:#84a58a;background:#edf5ec;box-shadow:0 0 0 2px #315b4510}.powerup-card:disabled{cursor:default;opacity:.8}.powerup-card>span{grid-row:span 2;font-size:14px}.powerup-card b{font:700 10px var(--display)}.powerup-card small{font-size:8px;color:#7d887e;line-height:1.3}.powerup-empty{font-size:9px;color:#92998f;margin:0}.puzzle-modal{position:fixed;inset:0;background:#19231f9c;display:grid;place-items:center;padding:18px;z-index:10}.puzzle-card{position:relative;width:min(100%,380px);background:#fffdf8;border:1px solid var(--line);border-radius:14px;padding:30px;text-align:center;box-shadow:0 20px 70px #0003}.puzzle-card h2{font:600 25px var(--display);letter-spacing:-1px;margin:8px 0}.puzzle-card p{color:#7f897f;font-size:12px;line-height:1.5}.puzzle-close{position:absolute;right:13px;top:10px;border:0;background:transparent;font-size:25px;color:#758078;cursor:pointer}.puzzle-sequence{display:flex;justify-content:center;gap:10px;min-height:48px;align-items:center;margin:20px 0}.puzzle-sequence span{display:grid;place-items:center;width:42px;height:42px;border-radius:9px;background:#eef2e8;font-size:22px}.puzzle-input{display:flex;justify-content:center;gap:8px;margin:20px 0}.puzzle-symbol{width:48px;height:48px;border:1px solid #e5e5da;background:#f6f4ed;border-radius:9px;font-size:23px;cursor:pointer}.puzzle-symbol:hover{border-color:#8ba88d}.puzzle-message{min-height:16px;font-size:11px;font-weight:700;color:#528057}.puzzle-message.wrong{color:#b7523b}
@media(max-width:700px){.trip-status{margin-top:13px;padding:11px}.right-rail{align-items:stretch}.stash-panel .powerup-card small{font-size:7px}.powerup-card{padding:7px 6px;grid-template-columns:19px 1fr;gap:1px 4px}.powerup-card>span{font-size:12px}.powerup-card b{font-size:9px}}
.header-actions{display:flex;align-items:center;gap:20px}.theme-toggle{width:33px;height:33px;border:1px solid #384641;border-radius:50%;background:#202b28;color:#ffdda4;font:20px var(--sans);display:grid;place-items:center;cursor:pointer}.theme-toggle:hover{background:#2d3935}
body:not(.light-mode){--ink:#e6ece8;--muted:#a0aaa3;--paper:#111916;--card:#1b2421;--line:#303a35;--green:#78a985;background:#111916;color:#e6ece8;color-scheme:dark}
body:not(.light-mode) .paper-grain{opacity:.08}
body:not(.light-mode) .topbar{border-color:#303a35}
body:not(.light-mode) .brand{color:#e6ece8}body:not(.light-mode) .brand span:last-child{color:#a0aaa3}
body:not(.light-mode) .top-note,body:not(.light-mode) .eyebrow{color:#a3aea6}
body:not(.light-mode) .hero-copy .eyebrow{color:#9bc3a0}
body:not(.light-mode) .hero-copy h1 em{color:#a2c5a5}
body:not(.light-mode) .hero-copy>p{color:#a9b4ad}
body:not(.light-mode) .game-facts small,body:not(.light-mode) .home-foot{color:#89968d}
body:not(.light-mode) .lobby-card,body:not(.light-mode) .lobby-panel,body:not(.light-mode) .order-panel,body:not(.light-mode) .stash-panel,body:not(.light-mode) .island-panel,body:not(.light-mode) .result-panel{background:#1b2421;border-color:#303a35;box-shadow:0 18px 50px #0002}
body:not(.light-mode) .lobby-card label,body:not(.light-mode) .lobby-card .eyebrow{color:#a0aaa3}
body:not(.light-mode) .lobby-card input,body:not(.light-mode) .join-row input{background:#131b18;border-color:#38443e;color:#edf3ef}
body:not(.light-mode) .lobby-card input::placeholder,body:not(.light-mode) .join-row input::placeholder{color:#78857d}
body:not(.light-mode) .divider{color:#87938a}body:not(.light-mode) .divider:before,body:not(.light-mode) .divider:after{background:#303a35}
body:not(.light-mode) .panel-top p,body:not(.light-mode) .launch-tip{color:#a1aca4}
body:not(.light-mode) .team-box.ember{background:#30241f;border-color:#51392d}body:not(.light-mode) .team-box.tide{background:#1d2b36;border-color:#2d4657}
body:not(.light-mode) .team-box.ember .team-box-head{color:#f09a70}body:not(.light-mode) .team-box.tide .team-box-head{color:#82b8e8}
body:not(.light-mode) .player-chip{background:#252f2b;color:#dce5df}
body:not(.light-mode) .launch-row,body:not(.light-mode) .stash-grid>div{border-color:#303a35}
body:not(.light-mode) .score-card{background:#1b2421;border-color:#303a35}
body:not(.light-mode) .score-card>small,body:not(.light-mode) .timer-label,body:not(.light-mode) .room-code-box small,body:not(.light-mode) .order-footer small,body:not(.light-mode) .stash-grid small{color:#9aa59d}
body:not(.light-mode) .timer-track{background:#35413b}
body:not(.light-mode) .event-banner{background:#222e27;border-color:#35473a;color:#b6d1b5}
body:not(.light-mode) .live-pill{color:#9fd3a4}
body:not(.light-mode) .site-card{background:#202a26;border-color:#35413b;color:#e3ebe6}
body:not(.light-mode) .site-card:hover{background:#28342f;border-color:#587260}
body:not(.light-mode) .site-card:disabled:hover{background:#202a26;border-color:#35413b}
body:not(.light-mode) .site-card small,body:not(.light-mode) .gather-hint,body:not(.light-mode) .trip-ready span,body:not(.light-mode) .trip-active small,body:not(.light-mode) .crew-trips{color:#9ba79e}
body:not(.light-mode) .trip-status{background:#202c25;border-color:#344439}
body:not(.light-mode) .trip-progress{background:#35443a}
body:not(.light-mode) .puzzle-button{background:#29382e;border-color:#405745;color:#b3d5b4}
body:not(.light-mode) .crew-trip-chip{background:#202a26;border-color:#35413b;color:#cad6ce}
body:not(.light-mode) .order-title span{background:#393329}
body:not(.light-mode) .cost-pill{background:#29332e;color:#c4d0c7}
body:not(.light-mode) .cost-pill.ready{background:#26392a;color:#a8d4ac}
body:not(.light-mode) .order-footer{border-color:#303a35}
body:not(.light-mode) .my-team-pill{background:#3a2b24;color:#f09a70}
body:not(.light-mode) .my-team-pill.tide-pill{background:#243340;color:#82b8e8}
body:not(.light-mode) .powerup-head{border-color:#303a35;color:#a2ada5}
body:not(.light-mode) .powerup-card{background:#202a26;border-color:#35413b;color:#e3ebe6}
body:not(.light-mode) .powerup-card.selected{background:#293b2f;border-color:#66856b}
body:not(.light-mode) .powerup-card small,body:not(.light-mode) .powerup-empty{color:#9ba79e}
body:not(.light-mode) .result-panel p,body:not(.light-mode) .result-scores small{color:#a1aca4}
body:not(.light-mode) .result-scores div{background:#232d29}
body:not(.light-mode) .puzzle-card{background:#1b2421;border-color:#39443e;color:#e6ece8}
body:not(.light-mode) .puzzle-card p{color:#a1aca4}
body:not(.light-mode) .puzzle-sequence span{background:#2a362e}
body:not(.light-mode) .puzzle-symbol{background:#232d29;border-color:#39443e;color:#e6ece8}
body:not(.light-mode) .toast{background:#e6ece8;color:#1b2421}
body.light-mode .theme-toggle{background:#fffdf8;border-color:#e7e2d6;color:#59685c}
@media(max-width:700px){.header-actions{gap:12px}.theme-toggle{width:30px;height:30px;font-size:18px}}
.return-session{background:#f1efe7;border:1px solid #e8e3d8;border-radius:9px;padding:16px;margin:0 0 21px}.return-session h3{font:600 17px var(--display);letter-spacing:-.5px;margin:7px 0 2px}.return-session p{font-size:11px;color:#78837a;margin:0 0 11px}.return-session .button{min-height:39px}.return-session .divider{margin:14px 0 0}.return-error{color:#b7523b!important;min-height:0;margin-top:8px!important}
.voyage-map{height:205px;position:relative;overflow:hidden;border-radius:10px;margin:15px 0 6px;background:radial-gradient(ellipse at 50% 72%,#25565b 0%,#183b42 42%,#142c35 100%);isolation:isolate}.voyage-map:before,.voyage-map:after{content:"";position:absolute;left:-10%;width:120%;height:50px;border:1px solid #96d5d022;border-color:#96d5d022 transparent transparent;border-radius:50%;transform:rotate(-4deg);z-index:-1}.voyage-map:before{top:36px}.voyage-map:after{top:106px;transform:rotate(4deg)}.map-heading{position:absolute;top:12px;left:14px;right:14px;z-index:4;display:flex;justify-content:space-between;align-items:center;color:#a8c9c3;font-size:8px;font-weight:800;letter-spacing:1.2px}.map-heading b{color:#d7e6dc;font-size:8px}.map-routes{position:absolute;inset:0;width:100%;height:100%;z-index:0}.map-routes path{fill:none;stroke:#8cc9b74f;stroke-width:2;stroke-dasharray:5 6}.map-node{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;gap:3px;transform:translate(-50%,-50%);color:#d9e6df;text-align:center;white-space:nowrap}.map-node>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#27484a;border:1px solid #a4d6bd72;box-shadow:0 0 0 5px #93d5bb12;font-size:18px}.map-node small{font-size:7px;letter-spacing:.8px;font-weight:800;text-shadow:0 1px 4px #071719}.camp-node{left:50%;top:34%}.camp-node>span{background:#9f6640;border-color:#f4bd78a8;box-shadow:0 0 0 5px #f4bd7820}.grove-node{left:18.3%;top:75%}.quarry-node{left:81.7%;top:75%}.crystal-node{left:50%;top:84%}.trip-markers{position:absolute;inset:0;z-index:3;pointer-events:none}.trip-marker{position:absolute;left:50%;top:34%;width:25px;height:25px;border:2px solid #eaf6ee;border-radius:50%;display:grid;place-items:center;color:#fff;font:800 9px var(--sans);box-shadow:0 0 0 4px #ffffff24,0 4px 10px #0006;transform:translate(-50%,-50%);animation-duration:40s;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-iteration-count:1;animation-fill-mode:both}.trip-marker.ember{background:#e9794b}.trip-marker.tide{background:#438ed1}.trip-marker.grove{animation-name:route-grove}.trip-marker.quarry{animation-name:route-quarry}.trip-marker.crystal{animation-name:route-crystal}@keyframes route-grove{0%,100%{left:50%;top:34%}18%,82%{left:18.3%;top:75%}}@keyframes route-quarry{0%,100%{left:50%;top:34%}18%,82%{left:81.7%;top:75%}}@keyframes route-crystal{0%,100%{left:50%;top:34%}18%,82%{left:50%;top:84%}}
body:not(.light-mode) .return-session{background:#202a26;border-color:#35413b}body:not(.light-mode) .return-session p{color:#a0aaa3}body:not(.light-mode) .return-session .divider:before,body:not(.light-mode) .return-session .divider:after{background:#35413b}
body.light-mode .voyage-map{background:radial-gradient(ellipse at 50% 72%,#397c80 0%,#22616a 44%,#214b5a 100%)}
.team-customize{display:grid;grid-template-columns:1.2fr .8fr;gap:7px;margin-top:13px;padding-top:11px;border-top:1px solid #ffffff55}.team-customize label{display:block;font-size:7px;letter-spacing:1px;font-weight:800;color:#8c786a}.team-customize input,.team-customize select{width:100%;height:32px;margin-top:5px;border:1px solid #e1d9cd;border-radius:5px;padding:0 7px;background:#fffdf8;color:#28332d;font:600 10px var(--sans);outline:none}.team-box.tide .team-customize label{color:#70899b}.team-customize input:focus,.team-customize select:focus{border-color:#86a78c;box-shadow:0 0 0 2px #315b4515}.team-emblem{font-size:17px;vertical-align:-2px}.team-symbol{font-size:16px;line-height:1}
body:not(.light-mode) .team-customize{border-color:#46534b}body:not(.light-mode) .team-customize label{color:#d2a48d}body:not(.light-mode) .team-box.tide .team-customize label{color:#9fc3df}body:not(.light-mode) .team-customize input,body:not(.light-mode) .team-customize select{background:#1b2421;border-color:#46534b;color:#e6ece8}
@media(max-width:430px){.team-box{padding:11px 8px}.team-customize{grid-template-columns:1fr;gap:5px}.team-customize input,.team-customize select{height:29px}.team-box-head{gap:4px}.team-box-head>span:last-child{font-size:8px}}
.team-box-head>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-card>div span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-team-pill{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.map-routes .island-shape{fill:#456f4d;stroke:#9ab67b;stroke-width:3;stroke-dasharray:none;filter:drop-shadow(0 5px 4px #081a1d99)}.map-routes .island-detail{fill:none;stroke:#c0cc88;stroke-width:2;stroke-dasharray:none;opacity:.37}.map-routes .region-line{fill:none;stroke:#d8d39a;stroke-width:1.5;stroke-dasharray:3 5;opacity:.52}.map-routes .route-line{fill:none;stroke:#e7d58d;stroke-width:2;stroke-dasharray:4 5;opacity:.75}
.camp-node{left:50%;top:78%}.grove-node{left:21%;top:48%}.quarry-node{left:79%;top:47%}.crystal-node{left:50%;top:40%}.map-node>span{background:#294a3a;border-color:#c4d391a8;box-shadow:0 0 0 4px #d1dfa21c}.camp-node>span{background:#9f6640;border-color:#f4bd78a8;box-shadow:0 0 0 5px #f4bd7820}.trip-marker{left:50%;top:78%}@keyframes route-grove{0%,100%{left:50%;top:78%}18%,82%{left:21%;top:48%}}@keyframes route-quarry{0%,100%{left:50%;top:78%}18%,82%{left:79%;top:47%}}@keyframes route-crystal{0%,100%{left:50%;top:78%}18%,82%{left:50%;top:40%}}
@media(max-width:700px){.game-columns{display:flex;flex-direction:column}.right-rail{display:contents}.order-panel{order:-2}.island-panel{order:-1}.stash-panel{order:0}}
.event-banner.tiebreak-banner{background:#3b2c17;border-color:#765a29;color:#f2d68f}.tiebreak-banner span{color:#ffd36b}.tiebreak-banner+.game-columns .order-panel{border-color:#8d6b32;box-shadow:0 0 0 2px #e6bc6033}
.puzzle-button{font-size:12px;min-height:48px;padding:11px 16px;border-radius:8px;margin-top:7px;box-shadow:0 2px 0 #d9e3d5;transition:transform .15s,box-shadow .15s}.puzzle-button:hover{transform:translateY(-1px);box-shadow:0 4px 0 #d9e3d5}.puzzle-button:active{transform:translateY(1px);box-shadow:0 1px 0 #d9e3d5}
.puzzle-symbol.puzzle-choice{font:700 17px var(--display)}
.puzzle-sequence.count-grid{display:grid;grid-template-columns:repeat(3,42px);justify-content:center;gap:8px;min-height:0}
.island-panel .powerup-head{margin-top:17px}.island-panel .powerup-card{padding:10px 11px;grid-template-columns:28px 1fr;gap:2px 8px}.island-panel .powerup-card>span{font-size:17px}.island-panel .powerup-card b{font-size:11px}.island-panel .powerup-card small{font-size:9px}
.puzzle-sequence.count-grid.count-answer{display:flex;justify-content:center}
.ready-row{display:flex;align-items:center;gap:12px;margin:-5px 0 18px}.ready-row .button{min-height:38px;padding:0 16px;font-size:11px}.ready-row .button.ready-confirmed{background:#e7f1e6;border-color:#c8dfc7;color:#386341}.ready-row>span{font-size:10px;font-weight:700;color:var(--muted)}.player-chip{display:inline-flex;align-items:center;gap:8px}.player-chip small{font-size:7px;letter-spacing:.6px;font-weight:800;color:#a16a53}.player-chip.is-ready small{color:#54855d}
body:not(.light-mode) .ready-row .button.ready-confirmed{background:#293b2f;border-color:#496a50;color:#b3d5b4}body:not(.light-mode) .player-chip small{color:#db9d82}body:not(.light-mode) .player-chip.is-ready small{color:#91c899}
.tutorial-panel{max-width:700px;margin:48px auto;padding:0 10px}.tutorial-card{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:clamp(24px,5vw,42px);box-shadow:0 18px 50px #42504112}.tutorial-top{display:flex;justify-content:space-between;align-items:center}.tutorial-top span{font-size:9px;font-weight:800;letter-spacing:1px;color:#819084}.tutorial-card h2{font:600 clamp(25px,5vw,36px)/1.15 var(--display);letter-spacing:-1px;margin:22px 0 10px}.tutorial-card p{max-width:560px;color:var(--muted);font-size:14px;line-height:1.7;margin:0}.tutorial-actions{display:flex;align-items:center;gap:10px;margin-top:30px}.tutorial-actions .button{min-height:44px;padding:0 17px}.tutorial-actions .button:disabled{opacity:.4;cursor:not-allowed}.tutorial-skip{margin-left:auto;border:0;background:transparent;color:var(--muted);font:600 11px var(--sans);padding:10px;cursor:pointer}.tutorial-wait-time{margin-top:24px;padding-top:17px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.tutorial-wait-time b{font:700 18px var(--display);color:var(--ink)}
body:not(.light-mode) .tutorial-card{background:#1b2421;border-color:#303a35;box-shadow:0 18px 50px #0002}body:not(.light-mode) .tutorial-top span{color:#a0aaa3}body:not(.light-mode) .tutorial-wait-time{border-color:#303a35}
@media(max-width:480px){.tutorial-panel{margin:28px auto;padding:0}.tutorial-actions{flex-wrap:wrap;gap:8px}.tutorial-actions .button{flex:1}.tutorial-skip{width:100%;margin:0;text-align:center}}
