:root{color:#183e50;font-synthesis:none;background:#f8f8f1;font-family:ui-rounded,Avenir Next,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #ffb52e}header{border-bottom:1px solid #dce6e2;justify-content:space-between;align-items:center;height:98px;padding:0 5%;display:flex}.brand{color:#123b4b;letter-spacing:-1px;align-items:center;gap:12px;font-size:22px;font-weight:950;line-height:1;text-decoration:none;display:flex}.brand small{letter-spacing:8px;margin-top:7px;font-size:11px;display:block}.brand-icon{color:#fff;background:#ffbd3e;border-radius:16px;padding:9px 13px;font-size:37px;box-shadow:0 4px #e99422}.resources{gap:12px;display:flex}.resources>span{background:#fff;border:1px solid #dfe5df;border-radius:30px;padding:10px 18px;font-size:16px}.eyebrow{letter-spacing:2px;color:#618380;font-size:10px;font-weight:850}main{grid-template-columns:1.15fr 1fr;max-width:1440px;margin:auto;display:grid}.world{background:radial-gradient(at 50% 52%,#b0f3e3 0,#d8f6e9 44%,#edf7e9 75%);min-height:820px;position:relative;overflow:hidden}.world-title{z-index:1;pointer-events:none;padding:44px 8% 0;position:relative}h1{letter-spacing:-3px;margin:16px 0 15px;font-size:clamp(38px,4.5vw,66px);font-weight:900;line-height:1.02}p{line-height:1.6}.world-title p{color:#597977;font-size:13px}#scene{touch-action:pan-y;height:490px;margin-top:-40px}#scene canvas{width:100%;height:100%;display:block}.destination{background:#ffffffd9;border:1px solid #fff;border-radius:22px;flex-wrap:wrap;justify-content:space-between;align-items:center;margin:-20px 8% 0;padding:22px 24px;display:flex;position:relative;box-shadow:0 12px 40px #1d8c7a12}.destination h2{letter-spacing:-1px;margin:7px 0 15px;font-size:24px}.destination h2 span{color:#ffba35}.star-count{color:#ac791f;background:#fff0c8;border-radius:12px;padding:10px;font-size:14px;font-weight:800}.progress{background:#e6eee5;border-radius:9px;width:100%;height:7px;overflow:hidden}.progress i{background:#00a78e;height:100%;transition:width .5s;display:block}.destination p{color:#6e8582;margin-bottom:0;font-size:11px}.world-footer{color:#668783;justify-content:space-between;align-items:center;margin:24px 8%;font-size:10px;display:flex}.quiet{color:#62817c;background:0 0;font-size:11px}.game{background:#fffdf8;min-width:0;padding:32px 9% 20px}.tabs{border-bottom:1px solid #e2e7de;gap:30px;margin-bottom:28px;display:flex}.tabs button{color:#8b9b94;background:0 0;padding:10px 3px 16px;font-size:14px;font-weight:750}.tabs button.selected{color:#058d7a;border-bottom:3px solid #05a78d}.level-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}h2{letter-spacing:-.8px;font-size:24px;line-height:1.2}.level-heading h2{margin:10px 0 18px}.level-heading .eyebrow{letter-spacing:1.3px;font-size:8px}.pill{white-space:nowrap;background:#fff0c8;border-radius:20px;padding:9px;font-size:12px;font-weight:750}#goal{color:#66817b;justify-content:space-between;margin:0 0 16px;font-size:12px;display:flex}#board{aspect-ratio:1;touch-action:manipulation;background:#123e50;border:5px solid #285a65;border-radius:20px;grid-template-columns:repeat(8,1fr);gap:4px;padding:11px;display:grid;box-shadow:0 7px #0c303c,0 14px 25px #153c5115}.cell{background:#214e5e;border-radius:5px;min-width:0;padding:0;position:relative;box-shadow:inset 0 2px #ffffff09}.block{background:linear-gradient(145deg,var(--light),var(--color));border:1px solid #ffffff3d;box-shadow:inset 0 3px #ffffff70,inset 0 -4px #0002,0 2px #0003}.block:after{content:"";border:1px solid #ffffff25;border-radius:3px;position:absolute;inset:5px}.ghost{opacity:.5;background:#a4efc7}.c1{--light:#ae8aff;--color:#7954df}.c2{--light:#ffcb53;--color:#f5a523}.c3{--light:#66e4ce;--color:#1fb6a6}.c4{--light:#ff9b9c;--color:#eb6583}.c5{--light:#7cc6ff;--color:#4595e8}#tray{gap:12px;height:100px;margin-top:24px;display:flex}.piece{touch-action:manipulation;background:#f2f4ed;border:2px solid #0000;border-radius:14px;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.piece.selected{background:#e9f6ed;border-color:#20af8e;transform:translateY(-3px)}.piece:disabled{opacity:.25}.mini{width:88px;height:88px;position:relative}.mini i{border-radius:4px;width:21px;height:21px;position:absolute}.help{text-align:center;color:#79918c;margin:15px 0;font-size:11px}.primary{color:#65400e;background:linear-gradient(#ffcc62,#ffb63b);border-radius:14px;width:100%;padding:16px;font-size:16px;font-weight:850;transition:transform .15s;box-shadow:0 4px #db9326}.primary:active{transform:translateY(3px);box-shadow:0 1px #db9326}.how{color:#04a18a;justify-content:space-between;gap:8px;margin-top:28px;font-size:10px;display:flex}.how b{color:#71817d;margin-top:7px;font-size:9px;font-weight:500;display:block}.dev-note{color:#8a9990;letter-spacing:1px;text-align:center;border-top:1px solid #e5e9df;margin-top:28px;padding-top:20px;font-size:8px;line-height:1.9}.dev-note span{letter-spacing:0;font-size:10px}footer{color:#82988e;border-top:1px solid #dce6e2;justify-content:space-between;align-items:center;padding:25px 5%;font-size:10px;display:flex}footer>span:first-child{letter-spacing:2px;font-weight:850}#toast{color:#fff;z-index:10;opacity:0;pointer-events:none;text-align:center;background:#123f50;border-radius:18px;max-width:90vw;padding:16px 25px;font-size:14px;transition:all .25s;position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);box-shadow:0 10px 40px #0003}#toast.show{opacity:1;transform:translate(-50%)}.build-intro{color:#738a80;font-size:12px}#attractions{gap:9px;display:grid}.attraction{background:#f3f5ed;border:1px solid #e5eadc;border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.attraction .icon{width:38px;font-size:27px}.attraction strong{font-size:12px}.attraction small{color:#d7a32f;letter-spacing:3px;margin-top:6px;display:block}.attraction button{color:#11775f;background:#d4efdf;border-radius:10px;margin-left:auto;padding:11px;font-size:12px;font-weight:800}.attraction button:disabled{opacity:.45}.attraction em{font-size:9px;font-style:normal}.build-intro+#attractions{margin-bottom:20px}dialog{color:#214b53;border:0;border-radius:24px;width:90%;max-width:450px;padding:30px;box-shadow:0 20px 100px #0005}dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#073e50aa}dialog p{font-size:13px}[hidden]{display:none!important}@media (width>=1500px){main{border-left:1px solid #dde8df;border-right:1px solid #dde8df}}@media (width<=760px){header{height:78px;padding:0 5%}.brand{font-size:16px}.brand small{letter-spacing:6px;font-size:8px}.brand-icon{border-radius:12px;padding:8px 10px;font-size:24px}.resources{gap:6px}.resources>span{padding:8px 10px;font-size:12px}main{flex-direction:column;display:flex}.world{min-height:0}.world-title{padding-top:24px}.world-title h1{letter-spacing:-2px;font-size:40px}.world-title p{margin-bottom:0;font-size:11px}#scene{height:340px;margin-top:-35px}.destination{margin:-12px 6% 0;padding:17px 20px}.destination h2{font-size:21px}.world-footer{margin:15px 7%}.game{padding:23px 6% 26px}.tabs{margin-bottom:22px}.level-heading h2{font-size:23px}#board{max-width:440px;margin:auto}#tray{max-width:440px;margin-left:auto;margin-right:auto}footer{gap:15px;font-size:8px}footer>span:nth-child(2){display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}#tray .piece{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;flex:0 145px}#tray{justify-content:center}.drag-piece{z-index:20;pointer-events:none;opacity:.8;position:fixed;transform:none}#pieceTools{justify-content:center;gap:10px;margin-top:10px;display:flex}#pieceTools button{color:#126d61;background:#e5f2e9;border-radius:10px;padding:12px;font-size:13px;font-weight:750}#pieceTools button:disabled{opacity:.5;cursor:default}.board-frame{position:relative}#boardReward{color:#fff;text-align:center;pointer-events:none;z-index:2;background:#123e50;border:2px solid #ffcf63;border-radius:16px;width:max-content;max-width:85%;padding:14px 20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #0005}#boardReward strong,#boardReward span{display:block}#boardReward span{color:#ffcf63;margin-top:5px;font-weight:850}#pieceTools button[aria-pressed=true]{color:#65400e;background:#ffcf63}#pieceTools button{place-items:center;min-width:48px;min-height:48px;display:grid}#pieceTools svg{width:24px;height:24px}#pieceTools{gap:14px;margin:14px 0 16px}#pieceTools button{border:1px solid var(--tool-edge);background:linear-gradient(155deg,var(--tool-light),var(--tool-color) 72%);width:56px;height:53px;color:var(--tool-ink);box-shadow:inset 0 2px 0 #fff9,inset 0 -3px 0 #0001,0 4px 0 var(--tool-edge),0 7px 12px #123e5024;border-radius:16px;padding:0;transition:transform .15s,filter .15s,box-shadow .15s}#rotate{--tool-light:#b8ffe8;--tool-color:#52d8b0;--tool-edge:#299e85;--tool-ink:#075a50}#trash{--tool-light:#ffd3e1;--tool-color:#f991b2;--tool-edge:#ca658b;--tool-ink:#803051}#hammer{--tool-light:#fff1b4;--tool-color:#ffc65b;--tool-edge:#ce902b;--tool-ink:#734710}#pieceTools svg{filter:drop-shadow(0 1px #fff9);width:28px;height:28px}@media (hover:hover){#pieceTools button:hover{filter:brightness(1.06);transform:translateY(-2px)}}#pieceTools button:active{box-shadow:inset 0 2px 0 #fff9,0 1px 0 var(--tool-edge);transform:translateY(3px)}#pieceTools button[aria-pressed=true]{outline-offset:3px;outline:3px solid #9b6017}#rotate,#hammer{position:relative}#rotateCount,#hammerCount{color:#fff;background:#075a50;border-radius:12px;min-width:20px;padding:2px 4px;font-size:11px;position:absolute;top:-5px;right:-5px}#buildView .level-heading h2{margin-bottom:5px;font-size:clamp(24px,3vw,34px)}#buildView .build-intro{max-width:40ch;margin:0 0 20px}.attraction{--card:#e4f8ef;--tile:#7fdbc0;border:1px solid color-mix(in srgb,var(--tile) 30%,white);background:linear-gradient(110deg,var(--card),#fffdf7 76%);border-radius:19px;gap:13px;padding:11px 13px;box-shadow:0 3px 8px #214b530c}.attraction:is([data-attraction="0"],[data-attraction="5"]){--card:#f9e9ff;--tile:#cea3f3}.attraction:is([data-attraction="2"],[data-attraction="6"]){--card:#e4f5ff;--tile:#89cff5}.attraction:is([data-attraction="3"],[data-attraction="7"]){--card:#fff0de;--tile:#ffbf87}.attraction .icon{background:linear-gradient(150deg,#ffffffab,var(--tile));height:46px;box-shadow:inset 0 2px 0 #fff9,0 3px 0 color-mix(in srgb,var(--tile) 74%,#183e50);border-radius:14px;flex:0 0 46px;place-items:center;font-size:25px;display:grid}.attraction strong{font-size:clamp(11px,2.7vw,14px);line-height:1.2;display:block}.attraction small{letter-spacing:0;color:#aabbb6;gap:4px;margin-top:6px;font-size:14px;display:flex}.attraction small .earned{color:#ad7000;text-shadow:0 1px #fff}.attraction button{white-space:nowrap;color:#663f12;background:linear-gradient(#ffe8a1,#ffc860);flex:none;min-height:42px;padding:8px 10px;box-shadow:inset 0 1px #fffa,0 3px #d99d36}.attraction button:disabled{box-shadow:none}#energyCountdown{color:#49706a;font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:4px;font-size:.8em;font-weight:750}#energyReward{color:#205c50;background:#e8f6ee;border-radius:12px;margin:0 0 16px;padding:10px 12px;font-size:12px}#energyReward>div{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}#energyRewardBar{accent-color:#068d75;width:100%;height:10px;margin-top:6px;display:block}#hammerCount{background:#734710}@media (width<=760px){header{gap:8px;height:62px;padding-inline:4%}.brand{gap:6px;font-size:14px}.brand-icon{padding:7px 8px;font-size:19px}.brand small{letter-spacing:4px;margin-top:4px}.resources{gap:4px}.resources>span{white-space:nowrap;padding:6px 7px;font-size:11px}.game{order:-1;padding:10px 4% 16px}.tabs{margin-bottom:10px}.tabs button{min-height:38px;padding:7px 5px 9px}#puzzleView .level-heading h2{margin:4px 0 8px;font-size:20px}#puzzleView .level-heading .eyebrow,#puzzleView .how{display:none}#goal{margin-bottom:6px}#energyReward{margin-bottom:8px;padding:6px 9px}#energyRewardBar{height:8px;margin-top:3px}#board{border-width:4px;border-radius:15px;gap:3px;max-width:min(440px,max(250px,100svh - 320px));padding:7px}#tray{height:65px;margin-top:12px}#pieceTools{margin:8px 0}#pieceTools button{width:48px;height:48px}.help{margin:8px 0}.dev-note{margin-top:14px;padding-top:10px}}#app[data-view=puzzle] main{max-width:560px;display:block}#app[data-view=puzzle] .game{padding:10px clamp(12px,4vw,26px)}#app[data-view=puzzle] :is(.dev-note,.how,footer){display:none}#app[data-view=puzzle] #board{max-width:min(100%,450px,max(180px,100svh - 324px));margin-inline:auto}#app[data-view=puzzle] #tray{height:65px;margin-top:10px}#app[data-view=puzzle] .tabs{margin-bottom:10px}#app[data-view=puzzle] header{height:62px}@media (width<=760px){#buildView .world{border-radius:18px;margin:0 -4px 18px}#buildView .world-title{display:none}#buildView #scene{height:260px;margin-top:0}}@media (height<=650px){#app[data-view=puzzle] #board{max-width:min(100%,max(160px,100svh - 290px))}#app[data-view=puzzle] #goal{margin-bottom:5px}#app[data-view=puzzle] #tray{height:62px}#app[data-view=puzzle] #pieceTools{margin:6px 0}}.resources .level-resource{white-space:nowrap;flex-direction:column;justify-content:center;gap:3px;line-height:1.1;display:flex}#levelMeter{accent-color:#078e78;width:58px;height:7px;display:block}@media (width<=760px){#levelMeter{width:36px;height:6px}.resources .level-resource{padding-inline:6px}}.game-nav{position:relative}#puzzleScore{color:#78500e;white-space:nowrap;background:#fff0c8;border-radius:9px;padding:5px 8px;font-size:12px;position:absolute;top:6px;right:0}body{background:radial-gradient(at 14% 0,#ffe6c4,#0000 45%),radial-gradient(at 90% 20%,#c0f3e8,#0000 52%),#fff8ed;min-height:100svh}header{background:#fffaf1e8;border-bottom-color:#e7dfcf}.brand small{color:#a65944}.brand-icon{color:#784620;background:linear-gradient(145deg,#fff3af,#ffc453 58%,#ffa77f);box-shadow:inset 0 2px #fff9,0 3px #de953b}.resources>span{background:linear-gradient(145deg,#fff,#fff6e5);border-color:#eedfcb}#app[data-view=puzzle] .game{border-radius:0 0 24px 24px;box-shadow:0 14px 34px #236a6820}.tabs button.selected{color:#087865;border-color:#3bc7aa}#puzzleScore{border:1px solid #f4d28c}#energyReward{background:linear-gradient(110deg,#def8ee,#e6f4ff);border:1px solid #b8e7da}.piece{background:linear-gradient(145deg,#fff4df,#ffebec)}.piece.selected{background:linear-gradient(145deg,#fff4df,#d7f8ef);border-color:#30aa94}#boardReward{color:#563632;background:linear-gradient(145deg,#fffaf0,#ffecd6);border-color:#ffc66e}#boardReward span{color:#7d490e}.brand-wordmark{white-space:nowrap;justify-items:start;gap:3px;display:grid}.brand-wordmark strong{letter-spacing:-.055em;color:#087b76;text-shadow:0 1px #fff,0 2px #b9eee0;font-weight:1000}.brand-wordmark em{color:#ad4361;text-shadow:0 1px #fff,0 2px #ffd0dc;font-style:normal}.brand .brand-wordmark small{color:#75410d;letter-spacing:.28em;background:linear-gradient(#ffe69b,#ffbe59);border-radius:5px;margin:0;padding:3px 6px 3px 8px;transform:rotate(-4deg);box-shadow:0 2px #d48a3f}@media (width<=760px){.brand .brand-wordmark small{padding:2px 4px 2px 6px;font-size:8px}}@media (width<=360px){.brand{font-size:12px}.brand-icon{padding:5px 6px;font-size:15px}}#attractions{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;gap:12px;padding:4px 2px 12px;display:flex;overflow-x:auto}#attractions .attraction{scroll-snap-align:start;flex:0 0 min(252px,86%)}#app[data-view=build] :is(.dev-note,footer){display:none}@media (width<=760px){#buildView .world{margin-bottom:8px}#buildView #scene{height:clamp(145px,34svh,255px)}#buildView .destination{margin-top:-9px;padding:10px 12px}#buildView .destination h2{margin:4px 0 8px}#buildView .destination p{display:none}#buildView .world-footer{margin:7px 6%}#buildView .level-heading h2{margin:4px 0;font-size:20px}#buildView .build-intro{margin:0 0 6px}}:root{color:#222c65}.brand-wordmark strong,.brand-wordmark em{color:#ffe26f;paint-order:stroke fill;-webkit-text-stroke:3px #273b87;text-shadow:0 3px #d77433,0 5px #273b87}.resources>span{background:linear-gradient(#fffef7,#ffeccc);border:2px solid #6079d0;box-shadow:inset 0 1px #fff,0 2px #38529d}.game-nav{background:linear-gradient(#4d79d9,#304ca4);border:2px solid #35499a;border-radius:13px;margin-bottom:12px;box-shadow:inset 0 2px #9ed7ff88,0 3px #273675}#app[data-view] .tabs{border:0;gap:3px;margin:0;padding:3px}.tabs button{color:#fff;border:2px solid #0000;border-radius:8px;min-height:34px;padding:6px 12px;font-weight:900}.tabs button.selected{color:#153c70;background:linear-gradient(#b4fbff,#59d9f4);border:2px solid #dff;box-shadow:inset 0 1px #fff,0 2px #263d83}#puzzleScore{color:#59370e;background:#ffe178;font-weight:850;top:50%;right:6px;transform:translateY(-50%)}#board{background:#98bbea;border:5px solid #5277c9;box-shadow:0 0 0 2px #344b9d,inset 0 0 0 2px #c4e3ff,0 6px #344b9d}.cell{background:linear-gradient(145deg,#e2f4ff,#b9d7f4);box-shadow:inset 0 1px #fff}.block{background:linear-gradient(150deg,var(--light),var(--color) 68%);box-shadow:inset 0 3px #fffc,inset 0 -5px #1c21524d,0 1px 2px #26366a80}.ghost{background:#53d8ae}.invalid{background:#f37f8b}#energyReward{color:#273972;background:linear-gradient(#f7fcff,#e0eaff);border:2px solid #7493d5}#energyRewardBar,#levelMeter{accent-color:#ffac23}#boardReward{border:3px solid #485bb2;box-shadow:0 4px #263c82,0 0 24px #ffe174}#boardReward strong{font-size:clamp(16px,4.5vw,24px);font-weight:950}.destination{background:#fff9ed;border:2px solid #5377c9;box-shadow:0 3px #364a98}.destination .progress{background:#d1def3;height:9px}.destination .progress i{background:linear-gradient(#ffe873,#ffab20)}#attractions .attraction{background:linear-gradient(135deg,#fffdf4,#f2ebff);border:2px solid #5d7acb;box-shadow:0 3px #354996}.attraction .icon{border:1px solid #fffc}.attraction button:not(:disabled){color:#164f32;background:linear-gradient(#b0f781,#63cc54);box-shadow:inset 0 2px #d9ffbb,0 3px #3a943f}@media (width<=760px){#buildView #scene{height:clamp(145px,37svh,285px)}#attractions .attraction{flex-basis:min(192px,75%);grid-template-columns:auto 1fr;gap:6px 8px;display:grid}#attractions .attraction button{grid-column:1/-1;width:100%;min-height:32px}#attractions .icon{width:38px;height:38px;font-size:22px}}#singleBlock{--tool-light:#dff1ff;--tool-color:#86bbff;--tool-edge:#5178c6;--tool-ink:#243f84;position:relative}#singleBlockCount{color:#fff;background:#243f84;border-radius:12px;min-width:20px;padding:2px 4px;font-size:11px;position:absolute;top:-5px;right:-5px}#pieceTools #singleBlock[aria-pressed=true]{outline-color:#243f84}#friendsDialog form,#friendsDialog li{margin:10px 0}#friendsDialog label{gap:4px;display:grid}#friendsDialog input,#friendsDialog button{border-radius:8px;padding:8px}#friendsDialog button{color:#174457;background:#dcf4ee;margin:4px}@media (width<=420px){#app[data-view] .tabs #friendsOpen{padding-inline:6px}}#friendsDialog{background:linear-gradient(145deg,#f1fbff,#fff4e2);border:3px solid #6688d3;max-height:90svh;padding:22px;overflow-y:auto}#friendsDialog>h2{text-align:center;color:#253f80;margin:0 0 12px;font-weight:950}#friendsStatus:not(:empty){color:#66491a;background:#fff0b9;border-radius:10px;padding:10px}#friendsPanel .friend-code-card{text-align:center;background:linear-gradient(#d5f6ff,#dce9ff);border:2px solid #719fda;border-radius:16px;padding:15px}.friend-code-card small{letter-spacing:2px;color:#526d99;font-size:9px;font-weight:800}.friend-code-card h3{margin:5px 0;font-size:16px}.friend-code{letter-spacing:1px;color:#28487d;font-size:21px;display:block}#friendsDialog .friend-code-card p{margin:7px 0 0;font-size:11px}#friendsDialog button{border:1px solid #a4d4cc;min-height:42px;font-weight:800}#friendsDialog input{color:#253f70;background:#fff;border:2px solid #b4c7e3;width:100%;min-height:44px;font-size:16px}#friendsPanel>form{background:#fff9f0;border:1px solid #ebd9ba;border-radius:12px;padding:12px}#friendsPanel>form button{color:#62401a;background:linear-gradient(#ffe598,#ffc75d);border-color:#dba348;width:100%}.friends-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-top:16px;display:flex}.friend-list{margin:0;padding:0;list-style:none}#friendsDialog .friend-card{background:#fff;border:1px solid #cedceb;border-radius:14px;align-items:center;gap:10px;padding:12px;display:flex}.friend-avatar{color:#7d3456;background:linear-gradient(#ffcda4,#f5a5c9);border:2px solid #fff;border-radius:12px;flex:0 0 40px;place-items:center;height:40px;font-size:21px;font-weight:900;display:grid;box-shadow:0 2px #d0a4c7}.friend-card>div{flex:1;min-width:0}.friend-card strong{overflow-wrap:anywhere;font-size:13px;display:block}.friend-card small{color:#577c79;margin-top:4px;font-size:10px;display:block}.friend-card button{font-size:11px}.friend-card>span:last-child:not(.friend-avatar){color:#7a7284;font-size:11px}.friends-empty{text-align:center;border:2px dashed #bfd8e5;border-radius:14px;padding:18px;font-size:13px}.friend-island progress{accent-color:#ffbf43;width:100%}.friend-island ul{padding:0;list-style:none}.friend-island li{background:#fff;border-radius:10px;justify-content:space-between;gap:8px;padding:10px;font-size:12px;display:flex}.friend-island li span{color:#a26b10;white-space:nowrap}#attractions{gap:8px}#attractions .attraction{border-radius:14px;flex:0 0 168px;grid-template-columns:34px 1fr;align-content:start;gap:6px 8px;padding:10px;display:grid}#attractions .attraction .icon{border-radius:10px;flex-basis:34px;width:34px;height:34px;font-size:21px}#attractions .attraction strong{font-size:11px;line-height:1.2}#attractions .attraction small{gap:3px;margin-top:4px;font-size:13px}#attractions .attraction button{grid-column:1/-1;width:100%;min-height:30px;margin:0;padding:5px 7px;font-size:11px}#attractions .attraction.completed{align-content:center}.friend-island-scene{background:radial-gradient(#d5fff0,#9be2ed);border-radius:16px;width:100%;height:260px;overflow:hidden}.friend-island-scene canvas{width:100%;height:100%;display:block}#renameDialog label{gap:8px;display:grid}#islandNameInput{font:inherit;border:2px solid #b4c7e3;border-radius:10px;padding:10px;font-size:16px}#renameForm{margin-bottom:18px}#destinationName{overflow-wrap:anywhere}.visit-actions{gap:10px;margin:12px 0;display:flex}#friendsOpen{position:relative}.friends-badge{color:#fff;background:#df466a;border:1px solid #fff;border-radius:12px;min-width:18px;padding:2px 5px;font-size:10px;line-height:14px;position:absolute;top:-6px;right:-6px}#friendNotification{z-index:30;color:#253f70;width:min(360px,90vw);font:inherit;background:#fff5db;border:2px solid #6893d8;border-radius:16px;padding:14px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 6px 25px #214b5344}.friend-tally{background:#fff;border:1px solid #b4c7e3;border-radius:12px;margin:12px 0;padding:12px}.friend-tally h3{margin:0;font-size:14px}.friend-tally strong,.friend-tally span{font-size:12px;display:block}#friendsPanel details li{border-bottom:1px solid #d0dfeb;padding:8px;font-size:12px}#friendsPanel details small{color:#587580;font-size:10px;display:block}.unread-event{background:#fff0bd;border-radius:8px}.friends-settings{border-top:2px solid #c8dded;margin-top:20px;padding-top:16px}.friends-settings>h3{margin:0 0 12px;font-size:15px}#friendsDialog .friends-settings>form{background:#fff9f0;border:1px solid #ebd9ba;border-radius:12px;padding:12px}#friendsDialog .friends-settings>form button{color:#62401a;background:linear-gradient(#ffe598,#ffc75d);border-color:#dba348;width:100%}#friendsDialog{border-radius:20px;width:94%;max-width:390px;padding:14px}#friendsDialog>h2{margin-bottom:8px;font-size:21px}#friendsDialog button{min-height:36px;padding:7px 9px;font-size:12px}#friendsDialog .friend-card{gap:8px;padding:8px}.friend-avatar{flex-basis:32px;height:32px;font-size:17px}.friend-card small{margin-top:2px}.friends-toolbar{margin-top:0}.friends-toolbar h3{font-size:13px}#friendsPanel .friend-code-card{border-radius:12px;padding:10px}.friend-code{font-size:17px}#friendsDialog .friend-code-card p{margin-top:5px;font-size:10px}.friend-code-card h3{font-size:14px}.friend-tally{margin:8px 0;padding:8px}.friend-tally p{margin:5px 0}#friendsPanel details li{padding:5px}.friends-settings{margin-top:12px;padding-top:10px}.friends-settings>summary{cursor:pointer;font-size:13px;font-weight:800}#friendsDialog input{min-height:40px}.friend-card{flex-wrap:wrap}.friend-controls{flex-basis:100%;font-size:12px}.friend-controls summary{cursor:pointer;color:#5c6f88}.friend-controls label{gap:4px;margin-top:8px;display:grid}.friend-controls textarea,.friend-controls select{font:inherit;box-sizing:border-box;border:1px solid #b4c7e3;border-radius:8px;width:100%;max-width:100%;padding:8px;font-size:16px}.friend-controls textarea{min-height:70px}.friends-settings a{color:#285b9c;overflow-wrap:anywhere;font-size:12px}.friends-settings details{margin-top:12px;font-size:13px}.game[aria-busy=true] :is(#board,#tray,#pieceTools,#attractions,#upgradeAll,#next){pointer-events:none;opacity:.7}:root{color:#244c59;background:#e6faf5}header{background:linear-gradient(160deg,#f4fffa,#b8f2e9);border-bottom:2px solid #72c7bf}.brand{flex-shrink:0;gap:7px}.brand-icon{box-shadow:none;background:0 0;width:49px;height:53px;padding:0;transform:rotate(-6deg)}.brand-icon svg{filter:drop-shadow(0 2px #fff);width:100%;height:100%;display:block}.brand-wordmark{gap:4px;transform:rotate(-3deg)}.brand-wordmark strong,.brand-wordmark em{letter-spacing:-1.2px;color:#ffdc72;-webkit-text-stroke:2px #275566;paint-order:stroke fill;text-shadow:0 2px #e49940,0 4px #275566;font-size:22px;font-weight:1000}.brand-wordmark em{color:#ff9887}.brand .brand-wordmark small{letter-spacing:.43em;color:#285d65;background:linear-gradient(#fff8d9,#ffdf87);justify-self:center;padding:3px 8px 3px 12px;font-size:9px;transform:rotate(3deg);box-shadow:0 2px #e1ae58}.resources>span{color:#244c59;border-color:#78bcb9;box-shadow:inset 0 1px #fff,0 2px #4b9698}.game{background:radial-gradient(at 5% 5%,#fff1da,#0000 55%),linear-gradient(155deg,#fffcf1,#ddf7f2)}.game-nav{background:linear-gradient(#4dbcb7,#269a9e);border-color:#337c89;box-shadow:inset 0 2px #c7fff5aa,0 3px #337c89}.tabs button.selected{color:#574b37;background:linear-gradient(#fff3c2,#ffd379);border-color:#fff9df;box-shadow:inset 0 1px #fff,0 2px #99744d}#puzzleScore{color:#70513b;background:#ffdc91}#board{background:#8bd4ce;border-color:#58acae;box-shadow:0 0 0 2px #337c89,inset 0 0 0 2px #d8fff6,0 6px #337c89}.cell{background:linear-gradient(145deg,#effcf5,#c9eae3)}.block{background:linear-gradient(150deg,var(--light),var(--color) 68%)}.destination,.attraction{border-color:#69b7b2;box-shadow:0 4px #377d88}.world{background:radial-gradient(at 50% 45%,#a5eee2,#d8f7ec 60%,#fff1d5)}@media (width<=760px){.brand-icon{width:35px;height:40px}.brand-wordmark strong,.brand-wordmark em{letter-spacing:-1px;font-size:17px}.brand .brand-wordmark small{padding:2px 6px 2px 9px;font-size:7px}.brand{gap:3px}}@media (width<=360px){.brand-icon{width:27px;height:35px}.brand-wordmark strong,.brand-wordmark em{font-size:15px}}.island-guide{z-index:8;background:#fff9e9f5;border:2px solid #69b7b2;border-radius:16px;width:min(92vw,410px);padding:10px 14px;font-size:12px;position:fixed;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 4px 15px #244c5933}.island-guide strong{color:#285d65;display:block}.island-guide p{margin:4px 0;font-size:11px;line-height:1.4}.island-guide button{color:#285d65;background:#d6f4e9;border-radius:8px;padding:5px 10px;font-size:11px}.flying-coin{z-index:20;pointer-events:none;font-size:24px;animation:.75s cubic-bezier(.3,.1,.7,1) both coin-journey;position:fixed}@keyframes coin-journey{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}20%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.5)}}.all-clear #board{animation:1.2s ease-out perfect-glow}.clear-spark{pointer-events:none;z-index:5;border-radius:3px;width:9px;height:14px;animation:1.2s ease-out forwards clear-burst;position:absolute;top:50%;left:50%}@keyframes clear-burst{0%{opacity:1;transform:rotate(var(--angle)) translateY(0)}to{opacity:0;transform:rotate(var(--angle)) translateY(var(--travel)) rotate(180deg)}}@keyframes perfect-glow{25%{box-shadow:0 0 0 5px #ffdc73,0 0 45px #ffdc73}to{box-shadow:0 0 0 2px #337c89,0 6px #337c89}}@media (prefers-reduced-motion:reduce){.all-clear #board,.clear-spark{animation:none}}#pointTrack{background:linear-gradient(120deg,#fff5d4,#ffe6bf);border:1px solid #d2ab5f;border-radius:12px;margin:0 0 9px;padding:7px 10px;font-size:10px}#pointTrack>div{justify-content:space-between;align-items:center;gap:5px;display:flex}#pointTrack progress{accent-color:#f4ad32;width:100%;height:8px;margin:4px 0;display:block}#dailyGift{color:#225d62;background:#c5eee2;border-radius:8px;padding:4px 8px;font-size:10px;font-weight:800}#dailyGift:disabled{opacity:.55}.weekly-party{background:#effbf5;border:2px solid #79beba;border-radius:15px;margin-bottom:12px;padding:12px;font-size:12px}.weekly-party h3{margin:0}.weekly-party p{font-size:10px}.weekly-party progress{accent-color:#e9ac31;width:100%;display:block}.weekly-party li{padding:4px}.weekly-party button{background:#ffda7c;border-radius:9px;padding:8px}.weekly-party button:disabled{opacity:.5}@media (width<=760px){#app[data-view=puzzle] #board{max-width:min(100%,43dvh,370px);max-height:none}#pointTrack{margin-bottom:7px;padding:5px 8px}}body:has(.island-guide:not([hidden])) #toast{bottom:120px}.adult-gate{color:#244c59;background:#fffaf0;border:2px solid #79beba;border-radius:24px;max-width:500px;margin:8vh auto;padding:30px}.adult-gate h1{letter-spacing:-1px;font-size:38px}.adult-gate p{font-size:14px}.adult-gate label{align-items:center;gap:10px;margin:22px 0;font-size:15px;display:flex}.adult-gate input{width:22px;height:22px}.adult-gate button{color:#244c59;background:#ffda7c;border-radius:12px;width:100%;margin:10px 0;padding:14px;font-weight:800;display:block}.adult-gate button:disabled{opacity:.45}.adult-gate #adultLeave{background:#e0f3ee}.adult-gate a{color:#236570}@media (width<=540px){.adult-gate{margin:5vh 4%;padding:24px}}.adult-gate form label{display:block}.adult-gate form input{border:1px solid #79beba;border-radius:8px;width:100%;height:42px;margin-top:6px;padding:8px;display:block}.independent-signout{padding:4px;font-size:10px}.friend-invite{background:#f0fbf6;border:1px solid #79beba;border-radius:12px;margin-bottom:12px;padding:10px}.friend-invite summary{cursor:pointer;color:#285d65;font-size:13px;font-weight:850}.friend-invite>p{font-size:11px;line-height:1.5}.friend-invite .friend-code-card{margin:8px 0;padding:12px}.friend-invite .friend-code{font-size:19px}.attraction .build-price-tier{color:#526e76;white-space:normal;margin-top:4px;font-size:9px;line-height:1.3;display:block}#board .cell:not(.block){background:linear-gradient(145deg,#fff8df,#efdbac);box-shadow:inset 0 1px #fff9}#friendsDialog button.friend-gift:disabled{color:#505a61;box-shadow:none;cursor:default;background:#e5e8ea;border-color:#c8cdd1}.c6{--light:#c1e985;--color:#72a939}.c7{--light:#ffc092;--color:#c96742}.c8{--light:#edabdf;--color:#ad4b91}.c9{--light:#bac8e8;--color:#566a9b}#pieceTools button{grid-template-rows:auto auto;gap:2px;width:auto;min-width:60px;height:auto;min-height:58px;padding:6px 5px 5px}#pieceTools .tool-label{color:inherit;white-space:nowrap;background:0 0;padding:0;font-size:10px;line-height:1.15;position:static}@media (width<=380px){#pieceTools{gap:6px}}
