:root{--ink:#1d2433;--paper:#fff;--sun:#ffd84a;--sun-deep:#c9a21f;--grass:#4cbb4a;--font:ui-rounded, "SF Pro Rounded", "Arial Rounded MT Bold", "Nunito", system-ui, sans-serif;--top:calc(env(safe-area-inset-top) + 8px);--left:calc(env(safe-area-inset-left) + 12px);--right:calc(env(safe-area-inset-right) + 12px);--bottom:calc(env(safe-area-inset-bottom) + 14px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;font-family:var(--font);color:var(--ink);overscroll-behavior:none;background:#9fd8f5;margin:0;overflow:hidden}#app{touch-action:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}#game{width:100%;height:100%;display:block}#hud,#labels{pointer-events:none;transition:opacity .2s;position:absolute;inset:0;overflow:hidden}#app.menu #hud,#app.menu #labels{opacity:0;visibility:hidden}button{cursor:pointer;pointer-events:auto;touch-action:manipulation;color:var(--ink);border:0;padding:0;font-family:inherit}#xp{top:var(--top);left:var(--left);right:var(--right);background:#1d24338c;border:2px solid #fff;border-radius:99px;height:16px;position:absolute;overflow:hidden}#xp i{background:linear-gradient(90deg,#4dabf7,#b197fc);width:0;height:100%;transition:width .15s;display:block}#xp span{color:#fff;text-align:center;font-size:11px;font-weight:900;line-height:12px;position:absolute;inset:0}#stats{top:calc(var(--top) + 24px);left:var(--left);flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:absolute}#score,#tier,#chip{background:#ffffffeb;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-weight:900;display:flex;box-shadow:0 3px #00000026}#score{font-size:20px}#score .stars{border-left:2px solid #dfe5ee;margin-left:4px;padding-left:8px;font-size:15px}#tier{border-radius:16px;flex-direction:column;align-items:flex-start;gap:2px;padding:5px 12px 6px;font-size:13px}.tier-row{align-items:center;gap:6px;font-size:17px;display:flex}.bar{background:#dfe5ee;border-radius:99px;width:84px;height:9px;overflow:hidden}.bar i{background:var(--grass);border-radius:99px;width:0;height:100%;transition:width .2s;display:block}#chip{color:#fff;opacity:0;background:#1f2a44;font-size:13px;transition:opacity .2s,transform .2s;transform:translateY(-6px)}#chip.show{opacity:1;transform:none}#jewels{background:#ffffffeb;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:16px;display:none;box-shadow:0 3px #00000026}#jewels.show{display:flex}#jewels i{background:#d8d2c4;border-radius:3px;width:13px;height:13px;transform:rotate(45deg);box-shadow:inset 0 0 0 2px #0000001f}#jewels.royal{background:#ffe28a;animation:1.2s ease-in-out infinite alternate royal-glow}@keyframes royal-glow{to{box-shadow:0 0 14px #ffd23c,0 3px #00000026}}#magics{gap:5px;display:flex}#magics .magic{background:#ffffffeb;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:19px;display:flex;position:relative;overflow:hidden;box-shadow:0 3px #00000026}#magics .magic i{background:#7c4dff;height:4px;position:absolute;bottom:0;left:0}#corner{top:calc(var(--top) + 24px);right:var(--right);flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute}#minimap{opacity:.92;border:3px solid #fff;border-radius:12px;width:95px;height:100px;box-shadow:0 3px #00000026}#buttons{align-items:center;gap:8px;display:flex}#buttons button{touch-action:none;background:#ffffffeb;border-radius:50%;width:48px;height:48px;font-size:19px;box-shadow:0 3px #00000026}#buttons #pause-btn{background:#ffd43b;border:4px solid #fff;width:66px;height:66px;font-size:30px;box-shadow:0 5px #0003}#board{background:#1d243373;border-radius:10px;flex-direction:column;gap:3px;width:118px;padding:6px;display:flex}#board i{color:#fff;text-align:left;white-space:nowrap;text-shadow:0 1px 1px #0009;border-radius:99px;min-width:14px;height:14px;padding:0 5px;font-size:9.5px;font-style:normal;font-weight:900;line-height:14px;transition:width .4s;display:block}#board i.me{outline:2px solid #fff}#dash{right:calc(var(--right) + 10px);bottom:calc(var(--bottom) + 14px);background:var(--sun);width:76px;height:76px;box-shadow:0 5px 0 var(--sun-deep);touch-action:none;border-radius:50%;font-size:34px;transition:transform 60ms,box-shadow 60ms;position:absolute}#dash.on{box-shadow:0 1px 0 var(--sun-deep);transform:translateY(4px)}#dash em{background:var(--ink);color:#fff;white-space:nowrap;border-radius:99px;padding:1px 9px;font-size:12px;font-style:normal;font-weight:900;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}#dash.off{filter:grayscale();opacity:.75;background:#cfd6df;box-shadow:0 5px #9aa5b1}#dash.teach{animation:.9s ease-in-out infinite nudge}@keyframes nudge{50%{transform:scale(1.12)}}#dash-hint{right:calc(var(--right) + 96px);bottom:calc(var(--bottom) + 34px);border:2.5px solid var(--ink);white-space:nowrap;opacity:0;background:#fff;border-radius:14px;padding:8px 14px;font-size:15px;font-weight:900;transition:opacity .2s,transform .2s;position:absolute;transform:translate(10px)}#dash-hint.show{opacity:1;animation:.9s ease-in-out infinite point;transform:none}@keyframes point{50%{transform:translate(6px)}}#banner{color:#fff;text-align:center;white-space:nowrap;-webkit-text-stroke:2.5px var(--ink);paint-order:stroke fill;text-shadow:0 5px #00000040;opacity:0;font-size:clamp(30px,9.5vw,54px);font-weight:900;position:absolute;top:36%;left:50%;transform:translate(-50%)scale(.6)}#banner-sub{-webkit-text-stroke:0;margin-top:2px;font-size:1.15em}#banner.show{animation:2.2s ease-out forwards banner}@keyframes banner{0%{opacity:0;transform:translate(-50%)scale(.4)}12%{opacity:1;transform:translate(-50%)scale(1.15)}20%{transform:translate(-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-20px)scale(1)}}#count{color:#fff;-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-shadow:0 6px #00000040;font-size:clamp(70px,24vw,130px);font-weight:900;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}#tray{left:var(--left);bottom:var(--bottom);flex-wrap:wrap;gap:5px;max-width:60vw;display:flex;position:absolute}.perk{text-align:center;background:#ffffffe6;border-radius:10px;width:34px;height:34px;font-size:19px;line-height:34px;position:relative;box-shadow:0 2px #00000026}.perk i{background:var(--ink);color:#fff;border-radius:99px;min-width:15px;height:15px;font-size:10px;font-style:normal;font-weight:900;line-height:15px;position:absolute;bottom:-4px;right:-4px}#toast{white-space:nowrap;opacity:0;background:#fffffff2;border-radius:99px;align-items:center;gap:8px;padding:6px 18px 6px 10px;font-size:17px;font-weight:900;display:flex;position:absolute;bottom:24%;left:50%;transform:translate(-50%)}#toast span{font-size:34px}#toast.show{animation:1.4s ease-out forwards toast}@keyframes toast{0%{opacity:0;transform:translate(-50%,20px)scale(.4)}18%{opacity:1;transform:translate(-50%)scale(1.2)}30%{transform:translate(-50%)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-30px)scale(1)}}.tag{color:#fff;white-space:nowrap;will-change:transform;background:#1d243399;border-radius:99px;padding:1px 7px;font-size:11px;font-weight:800;position:absolute;top:0;left:0}.popup,#bubble{will-change:transform;position:absolute;top:0;left:0}.popup{color:var(--sun);-webkit-text-stroke:1.5px var(--ink);paint-order:stroke fill;white-space:nowrap;font-size:22px;font-weight:900}.popup.bad{color:#ff6b6b;font-size:28px}.popup.fun{color:#fff;font-size:30px}#bubble{background:var(--paper);border:2.5px solid var(--ink);text-align:center;opacity:0;border-radius:14px;width:max-content;max-width:min(240px,62vw);padding:8px 12px;font-size:14px;font-weight:700;line-height:1.25;transition:opacity .15s}#bubble:after{content:"";background:var(--paper);border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);width:12px;height:12px;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)rotate(45deg)}#bubble.show{opacity:1}#stick{pointer-events:none;opacity:0;width:0;height:0;transition:opacity .12s;position:absolute;top:0;left:0}#stick.on{opacity:1}#stick:before{content:"";background:#ffffff38;border:3px solid #ffffffb3;border-radius:50%;width:124px;height:124px;margin:-62px;position:absolute}#stick.burst:before{border-color:var(--sun);background:#ffd84a4d}#stick.burst i{background:var(--sun)}#stick i{background:#ffffffe6;border-radius:50%;width:52px;height:52px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px #0003}.screen{padding:calc(var(--top) + 12px) 16px calc(var(--bottom) + 8px);text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;visibility:hidden;background:#1f2a449e;flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:opacity .25s,visibility 0s .25s;display:flex;position:absolute;inset:0}.screen.show{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .25s}.screen:not(.show) button,.screen:not(.show) input{pointer-events:none}.big-buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:34px 30px;margin-bottom:18px;display:flex}.title{color:#fff;-webkit-text-stroke:2.5px var(--ink);paint-order:stroke fill;text-shadow:0 4px #00000040;margin:0;font-size:clamp(30px,9vw,46px);font-weight:900}small{font-size:11px;font-weight:800}.round{background:#fff;border-radius:50%;width:84px;height:84px;font-size:40px;position:relative;box-shadow:0 6px #0000004d}.round.go{background:var(--sun);box-shadow:0 6px 0 var(--sun-deep)}.round.huge{width:124px;height:124px;font-size:62px;animation:1.6s ease-in-out infinite pulse}.round.small{width:46px;height:46px;font-size:20px;box-shadow:0 4px #0000004d}.round:active{animation:none;transform:translateY(4px);box-shadow:0 2px #0000004d}.round em{background:var(--ink);color:#fff;white-space:nowrap;border-radius:99px;padding:2px 9px;font-size:13px;font-style:normal;font-weight:900;position:absolute;bottom:-16px;left:50%;transform:translate(-50%)}@keyframes pulse{50%{transform:scale(1.07)}}.big-icon{font-size:84px;animation:.5s ease-in-out 3 ring}@keyframes ring{25%{transform:rotate(-16deg)}75%{transform:rotate(16deg)}}#start h1{color:#fff;letter-spacing:-1px;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 6px #00000040;margin:0;font-size:clamp(44px,14vw,84px);font-weight:900}#start h1 span{color:#8be36a}#me-card{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}#mode-wrap,#stage-wrap{flex-direction:column;align-items:center;gap:6px;display:flex}.pick-label{color:#ffffffeb;letter-spacing:.5px;text-shadow:0 2px #00000047;margin:0;font-size:15px;font-weight:900}#start #play{width:152px;height:152px;margin:6px 0 24px;font-size:76px}#start #play:before{content:"";pointer-events:none;border:4px solid #ffffff8c;border-radius:50%;animation:1.8s ease-out infinite play-ring;position:absolute;inset:-10px}@keyframes play-ring{0%{opacity:.7;transform:scale(.92)}to{opacity:0;transform:scale(1.22)}}#start-extras{justify-content:center;align-items:center;gap:34px;margin-top:2px;margin-bottom:10px;display:flex}#start-shop .wallet{border:2px solid var(--ink);white-space:nowrap;background:#fff;border-radius:99px;padding:2px 8px;font-size:12px;font-weight:900;line-height:1.2;position:absolute;top:-13px;left:50%;transform:translate(-50%)}#mode-pick,#stage-pick{justify-content:center;align-items:stretch;gap:8px;margin:2px 0 -2px;display:flex}#mode-pick .mode,#stage-pick .stage{border:2.5px solid var(--ink);color:var(--ink);font-family:var(--font);cursor:pointer;background:#ffffffeb;border-radius:14px;flex-direction:column;align-items:center;gap:1px;padding:7px 16px 5px;font-size:24px;line-height:1;transition:transform 80ms,background .12s;display:flex;box-shadow:0 3px #1d243340}#mode-pick .mode em,#stage-pick .stage em{font-size:13px;font-style:normal;font-weight:800}#mode-pick .mode:active,#stage-pick .stage:active{transform:translateY(2px);box-shadow:0 1px #1d243340}#mode-pick .mode.on,#stage-pick .stage.on{background:var(--sun);box-shadow:0 3px 0 var(--sun-deep)}#stage-pick .stage.common.on{background:#7ac74f;box-shadow:0 3px #4e8b2f}#stage-pick .stage.london.on{color:#fff;background:#e8423f;box-shadow:0 3px #a3201d}#stage-pick .stage .lock{color:#1c4fa3;margin-top:2px;font-size:11px;font-weight:900;display:none}#stage-pick .stage.locked .lock{display:block}#stage-pick .stage.shake{animation:.3s shake}#mode-pick .mode.god.on{color:#fff;background:#b06bff;box-shadow:0 3px #6f2fc0}#mode-pick .mode[hidden]{display:none}#mode-pick .mode.god.reveal{animation:2.2s ease-out god-reveal}@keyframes god-reveal{0%{opacity:0;transform:scale(.4)rotate(-12deg)}35%{opacity:1;transform:scale(1.25)rotate(6deg)}55%{transform:scale(.95)rotate(-3deg)}70%{transform:scale(1.1)rotate(2deg);box-shadow:0 0 0 7px #b06bff80}to{transform:scale(1);box-shadow:0 3px #6f2fc0}}#best,#shop-stars{white-space:nowrap;background:#ffffffeb;border-radius:99px;align-items:center;gap:16px;padding:5px 16px;font-size:20px;font-weight:900;display:flex}#shop-stars .coin{align-items:center;gap:5px;display:inline-flex}#cards h2{color:var(--sun);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 5px #00000040;margin:0;font-size:clamp(44px,14vw,72px);font-weight:900}#cards-row{gap:10px;width:min(100%,560px);display:flex}.card{background:#fff;border:5px solid #9aa5b1;border-radius:20px;flex-direction:column;flex:1;align-items:center;gap:8px;min-width:0;padding:16px 6px 12px;animation:.35s backwards deal;display:flex;box-shadow:0 7px #00000040}.card:nth-child(2){animation-delay:80ms}.card:nth-child(3){animation-delay:.16s}@keyframes deal{0%{opacity:0;transform:translateY(40px)scale(.8)}}.card:active{transform:translateY(5px);box-shadow:0 2px #00000040}.card.rare{background:#eef7ff;border-color:#4dabf7}.card.epic{background:#f6f0ff;border-color:#b197fc}.card.legendary{background:linear-gradient(160deg,#fff8e1,#ffe6a1);border-color:#f0a500}.card-icon{font-size:clamp(44px,15vw,64px);line-height:1}.card-name{align-items:center;min-height:2.2em;font-size:clamp(11px,3.4vw,15px);font-weight:900;line-height:1.1;display:flex}.card-hint{white-space:nowrap;background:#1d243314;border-radius:99px;padding:3px 8px;font-size:clamp(15px,4.6vw,20px)}.card-cost{color:#fff;white-space:nowrap;background:#1c4fa3;border-radius:99px;margin-top:2px;padding:2px 12px;font-size:clamp(13px,4vw,17px);font-weight:900}.pips{gap:4px;display:flex}.pips i{background:#d5dbe3;border-radius:50%;width:9px;height:9px}.pips i.on{background:var(--grass)}.pips i.new{background:var(--sun);box-shadow:0 0 0 2px var(--sun-deep);animation:.8s ease-in-out infinite pulse}.tap-hint{font-size:40px;animation:1s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-10px)}}#results-grid{grid-template-columns:1fr 1fr;gap:10px;width:min(100%,320px);display:grid}#results-grid div{background:#ffffffeb;border-radius:16px;grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:8px;padding:8px 10px 6px;font-size:24px;font-weight:900;display:grid}#results-grid small{opacity:.7;grid-column:1/-1}#r-earned{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;display:flex}#r-stars{color:var(--sun);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 5px #00000040;align-items:center;gap:8px;font-size:clamp(44px,14vw,68px);font-weight:900;display:flex}#r-gems{color:#74c0fc;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 5px #00000040;align-items:center;gap:8px;font-size:clamp(32px,10vw,50px);font-weight:900;display:flex}#r-gems.hide{display:none}.item-hint{opacity:.75;margin-top:1px;font-size:12px;font-weight:800}#shop{background:#1f2a44e6;justify-content:flex-start;gap:12px}#shop-top{justify-content:space-between;align-items:center;gap:8px;width:min(100%,520px);display:flex}#shop-tabs{gap:10px;display:flex}#shop-tabs button{background:#ffffff59;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;width:86px;height:64px;font-size:28px;line-height:1.1;display:flex}#shop-tabs button.on{background:#fff;box-shadow:0 4px #0000004d}#shop-grid{touch-action:pan-y;flex:1;grid-template-columns:repeat(3,1fr);grid-auto-rows:min-content;gap:10px;width:min(100%,520px);padding:12px 12px 10px;display:grid;overflow-y:auto}.item{touch-action:pan-y;background:#fff;border:4px solid #0000;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:104px;padding:10px 4px;display:flex;position:relative;box-shadow:0 5px #0000004d}.item.locked{background:#cfd6df}.item.picked{border-color:var(--sun)}.item.wearing:after{content:"✔";background:var(--grass);color:#fff;border-radius:50%;width:26px;height:26px;font-size:15px;font-weight:900;line-height:26px;position:absolute;top:-8px;right:-8px}.item.shake{animation:.3s shake}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.item-icon{font-size:40px;line-height:1}.item-name{font-size:11px;font-weight:900;line-height:1.1}.price{background:var(--ink);color:#fff;border-radius:99px;padding:2px 9px;font-size:13px;font-weight:900}.mini-snake{flex-direction:row-reverse;align-items:center;display:flex}.mini-snake i{border-radius:50%;width:15px;height:15px;margin-left:-4px;box-shadow:inset 0 -2px #0000002e}.mini-snake i.head{width:22px;height:20px;position:relative}.mini-snake i.head:before,.mini-snake i.head:after{content:"";border:1.5px solid var(--ink);background:#fff;border-radius:50%;width:6px;height:6px;position:absolute;top:3px}.mini-snake i.head:before{right:3px}.mini-snake i.head:after{top:11px;right:3px}#shop-actions{flex-direction:column;align-items:center;gap:8px;display:flex}#shop-buy{background:var(--sun);width:min(100%,320px);height:64px;box-shadow:0 6px 0 var(--sun-deep);border-radius:99px;justify-content:center;align-items:center;gap:10px;font-size:28px;font-weight:900;display:none}#shop-sell{color:#4a5568;background:#e7ebf0;border-radius:99px;justify-content:center;align-items:center;gap:8px;width:min(100%,260px);height:44px;font-size:18px;font-weight:800;display:none;box-shadow:0 4px #b8c0cb}#shop-sell.show{display:flex}#shop-sell:active{transform:translateY(3px);box-shadow:0 1px #b8c0cb}#shop-buy.show{display:flex}#shop-buy.poor{background:#cfd6df;box-shadow:0 6px #9aa5b1}#shop-buy:active{box-shadow:0 2px 0 var(--sun-deep);transform:translateY(4px)}@media (orientation:landscape){#board,.tap-hint{display:none}#start,#results{flex-flow:wrap}#start h1{width:100%}#shop-grid{grid-template-columns:repeat(6,1fr);width:min(100%,860px)}}.pill-button{background:var(--sun);height:56px;box-shadow:0 6px 0 var(--sun-deep);border-radius:99px;padding:0 24px;font-size:20px;font-weight:900}.pill-button:active{box-shadow:0 2px 0 var(--sun-deep);transform:translateY(4px)}#room-pill{top:calc(var(--top) + 24px);color:#fff;background:#1d243399;border-radius:99px;padding:4px 12px;font-size:15px;font-weight:900;display:none;position:absolute;left:50%;transform:translate(-50%)}#room-pill.show{display:block}#start.busy button{pointer-events:none}#start.busy>:not(#play){opacity:.25;transition:opacity .15s}#start.busy #play{animation:.7s ease-in-out infinite spin-in}@keyframes spin-in{50%{opacity:.7;transform:scale(.92)}}#build{bottom:calc(var(--bottom) - 8px);right:var(--right);color:#ffffff8c;font-size:10px;font-weight:700;position:absolute}.name-pill{background:#ffffffeb;border-radius:99px;padding:8px 18px;font-size:17px;font-weight:900;box-shadow:0 4px #00000040}.name-big{color:var(--sun);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;font-size:clamp(26px,8vw,40px);font-weight:900}.chips{touch-action:pan-y;flex-wrap:wrap;justify-content:center;gap:6px;width:min(100%,560px);max-height:24vh;padding:4px;display:flex;overflow-y:auto}.chip{touch-action:pan-y;background:#ffffffd9;border-radius:99px;padding:7px 12px;font-size:14px;font-weight:800}.chip.on{background:var(--sun);box-shadow:0 3px 0 var(--sun-deep)}#name-input{width:min(88%,340px);height:66px;color:var(--ink);font:900 26px/1 var(--font);text-align:center;pointer-events:auto;-webkit-user-select:text;user-select:text;touch-action:manipulation;background:#fffffff5;border:4px solid #fff;border-radius:18px}#name-input::placeholder{color:#c3cad4}#unlock-splash{z-index:9999;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.us-veil{background:radial-gradient(circle at 50% 45%,#14280f00,#08120680);animation:2.6s ease-out forwards us-veil;position:absolute;inset:0}@keyframes us-veil{0%{opacity:0}18%,70%{opacity:1}to{opacity:0}}.us-rays{opacity:0;background:repeating-conic-gradient(#ffde5a00 0deg,#ffe47d8c 3deg,#ffde5a00 8deg);border-radius:50%;width:220vmax;height:220vmax;margin:auto;animation:1.9s ease-out .66s forwards us-rays;position:absolute;inset:0}@keyframes us-rays{0%{opacity:0;transform:scale(.15)rotate(0)}25%{opacity:.9}to{opacity:0;transform:scale(2.4)rotate(48deg)}}.us-flash{opacity:0;background:radial-gradient(circle,#fffffff2,#fff0be00 70%);border-radius:50%;width:44vmax;height:44vmax;margin:auto;animation:.6s ease-out .68s forwards us-flash;position:absolute;inset:0}@keyframes us-flash{0%{opacity:.95;transform:scale(.1)}to{opacity:0;transform:scale(3.2)}}.us-lock{filter:drop-shadow(0 6px 14px #00000059);width:140px;height:168px;animation:.5s cubic-bezier(.2,1.5,.4,1) both us-lock-in,.16s ease-in-out .5s us-shake,.34s ease-in .7s forwards us-lock-break;position:absolute}@keyframes us-lock-in{0%{opacity:0;transform:scale(0)rotate(-20deg)}70%{opacity:1;transform:scale(1.15)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes us-shake{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-5px)rotate(-4deg)}75%{transform:translate(5px)rotate(4deg)}}@keyframes us-lock-break{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.3)rotate(35deg)}}.us-burst{width:0;height:0;margin:auto;position:absolute;inset:0}.us-burst>*{position:absolute;top:0;left:0}.us-shard{clip-path:polygon(50% 0,100% 60%,30% 100%,0 40%);opacity:0;background:linear-gradient(135deg,#ffe98a,#e0a613);width:16px;height:16px;margin:-8px;animation:1s ease-out .7s forwards us-shard}@keyframes us-shard{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--tx), var(--ty)) rotate(var(--rot));opacity:0}}.us-spark{opacity:0;background:radial-gradient(circle,#fff6c9,#ffcf3e 60%,#ffcf3e00 100%);border-radius:50%;width:9px;height:9px;margin:-4.5px;animation:.95s ease-out forwards us-spark}@keyframes us-spark{0%{opacity:1;transform:translate(0)scale(1.2)}to{transform:translate(var(--tx), var(--ty)) scale(.2);opacity:0}}.us-bit{opacity:0;line-height:1;animation:1.5s ease-out forwards us-bit}@keyframes us-bit{0%{opacity:0;transform:translate(0)scale(.2)rotate(0)}20%{opacity:1}to{transform:translate(var(--tx), var(--ty)) scale(1) rotate(var(--rot));opacity:0}}.us-bfly{opacity:0;margin:-20px;font-size:clamp(26px,7vw,40px);line-height:1;animation:2s ease-out forwards us-bfly}@keyframes us-bfly{0%{opacity:0;transform:translateY(22vh)rotate(0)}25%{opacity:1}to{transform:translate(var(--x), -45vh) rotate(0deg);opacity:0}}.us-rays.ul-late{animation-delay:1.7s}.us-flash.ul-late{animation-delay:1.72s}.ul-gate{perspective:400px;width:170px;height:92px;animation:2s ease-out forwards ul-gate;position:absolute}.ul-gate:before,.ul-gate:after{content:"";background:linear-gradient(#c9d0dc,#8d96a8);border:3px solid #1d2433;border-radius:6px;width:20px;height:84px;position:absolute;top:10px;left:-16px}.ul-gate:after{left:auto;right:-16px}@keyframes ul-gate{0%{opacity:0;transform:scale(0)}15%,70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.ul-paddle{transform-origin:0;background:linear-gradient(#ff6a5c,#d8343b);border:3px solid #1d2433;border-radius:10px 4px 4px 10px;width:76px;height:58px;animation:.3s ease-in .72s forwards ul-open-l;position:absolute;top:26px;left:6px}.ul-paddle.ul-r{transform-origin:100%;border-radius:4px 10px 10px 4px;animation-name:ul-open-r;left:auto;right:6px}@keyframes ul-open-l{to{transform:rotateY(80deg)}}@keyframes ul-open-r{to{transform:rotateY(-80deg)}}.ul-light{z-index:1;background:#ff4d4d;border:3px solid #1d2433;border-radius:50%;width:18px;height:18px;animation:.2s step-end .55s forwards ul-beep;position:absolute;top:0;left:-14px}@keyframes ul-beep{to{background:#3fe06b;box-shadow:0 0 14px #3fe06b}}.ul-ticket{z-index:2;text-align:center;opacity:0;background:linear-gradient(135deg,#fff1a8,#ffcf3e 55%,#e0a613);border:2.5px solid #b9860c;border-radius:8px;width:74px;height:46px;font-size:24px;line-height:42px;animation:1s ease-out forwards ul-ticket;position:absolute;box-shadow:0 4px 12px #00000059}@keyframes ul-ticket{0%{opacity:1;transform:translate(-60vw,-80px)rotate(-12deg)}50%{opacity:1;transform:translate(-90px,-70px)rotate(0)}65%{opacity:1;transform:translate(-90px,-64px)rotate(0)}to{opacity:0;transform:translate(-90px,-100px)scale(.6)}}.ul-train{opacity:0;font-size:clamp(44px,12vw,72px);line-height:1;animation:.7s ease-in 1.02s forwards ul-train;position:absolute}@keyframes ul-train{0%{opacity:1;transform:translate(-70vw,110px)}to{opacity:1;transform:translate(70vw,110px)}}.ul-ben{filter:drop-shadow(0 6px 14px #00000059);opacity:0;width:72px;height:240px;animation:1.9s cubic-bezier(.2,1.3,.4,1) 1.45s forwards ul-ben;position:absolute}@keyframes ul-ben{0%{opacity:1;transform:translateY(70vh)}20%{opacity:1;transform:translateY(0)}27%{transform:translateY(0)rotate(-2deg)}34%{transform:translateY(0)rotate(2deg)}41%,75%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(0)}}.us-veil.ul-veil{animation-duration:3.4s}@media (prefers-reduced-motion:reduce){#unlock-splash{display:none}}@font-face{font-family:Fredoka;src:url(/hd/TemplateData/Fredoka-Bold.ttf);font-weight:700;font-display:block}#version{top:var(--top);right:var(--right);z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fff3;border:2px solid #fff9;border-radius:99px;grid-template-columns:1fr 1fr;padding:4px;display:grid;position:absolute;box-shadow:0 4px #0000002e}#version:before{content:"";background:#fff;border-radius:99px;width:calc(50% - 4px);height:calc(100% - 8px);transition:transform .22s cubic-bezier(.3,1.5,.55,1),background .22s;position:absolute;top:4px;left:4px;box-shadow:0 3px #00000029}#version.to-hd:before{background:linear-gradient(#ffe066,#ffc61a);transform:translate(100%)}#version .ver{color:#fff;min-width:94px;font:900 15px var(--font);text-shadow:0 2px #00000040;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:8px 14px;transition:color .22s,transform .12s;display:flex;position:relative}#version .ver:active{transform:scale(.94)}#version .ver em{font-style:normal}#version .ver[aria-checked=true]{color:var(--ink);text-shadow:none}#version .ver b{color:var(--ink);text-shadow:none;background:#ffd43b;border-radius:7px;padding:1px 7px;font-size:14px;position:relative;overflow:hidden;transform:rotate(-6deg);box-shadow:0 2px #00000038}#version .ver b:after{content:"";background:linear-gradient(110deg,#0000 30%,#ffffffd9 50%,#0000 70%);animation:3.2s ease-in-out 1s infinite hd-shine;position:absolute;inset:0;transform:translate(-120%)}#version .sparkle{animation:1.6s ease-in-out infinite twinkle;display:inline-block}@keyframes hd-shine{0%,70%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes twinkle{50%{opacity:.6;transform:scale(.7)rotate(20deg)}}#version .ver.nope{opacity:.5}#version .nah-note{background:var(--ink);color:#fff;font:900 12px var(--font);white-space:nowrap;opacity:0;pointer-events:none;border-radius:10px;padding:5px 11px;font-style:normal;position:absolute;top:calc(100% + 8px);right:0}#version.nah{animation:.4s ease-in-out nah}#version.nah .nah-note{animation:2s forwards note}@keyframes nah{25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes note{10%,80%{opacity:1;transform:translateY(0)}0%{opacity:0;transform:translateY(-4px)}to{opacity:0}}#warp{z-index:100;clip-path:circle(0 at var(--x) var(--y));background:linear-gradient(#5fb8f5 0%,#9fd8ff 55%,#dff3ff 100%);transition:clip-path .5s cubic-bezier(.6,0,.35,1);position:fixed;inset:0}#warp.open{clip-path:circle(150vmax at var(--x) var(--y))}#warp .warp-middle{flex-direction:column;justify-content:center;align-items:center;gap:30px;padding:0 16px 14vh;display:flex;position:absolute;inset:0}#warp .warp-logo{font-family:Fredoka, var(--font);letter-spacing:-.02em;white-space:nowrap;color:#fff;text-shadow:0 7px #14284659,0 0 34px #ffffff80;font-size:min(15vw,124px);font-weight:700}#warp .warp-logo b{color:#7ddc5c;text-shadow:0 7px #0a3c148c;font-weight:700}#warp .warp-logo sup{color:#222638;vertical-align:super;text-shadow:0 3px #0003;background:#ffd43b;border-radius:.5em;margin-left:.2em;padding:.1em .45em;font-size:.28em;display:inline-block;transform:rotate(-8deg)}#warp .warp-bar{background:#1e462847;border-radius:23px;width:min(80vw,560px);height:46px;box-shadow:inset 0 3px 8px #00000040,0 2px #ffffff73}@media (max-aspect-ratio:3/4){#warp .warp-middle{padding-bottom:8vh}}@media (prefers-reduced-motion:reduce){#version:before,#warp{transition:none}#version .ver b:after,#version .sparkle{animation:none}}.camera-flash{pointer-events:none;z-index:40;opacity:0;background:radial-gradient(#fff0 40%,#fffffff2 100%);position:fixed;inset:0}.camera-flash.show{animation:.6s ease-out camera-flash}@keyframes camera-flash{0%{opacity:1}to{opacity:0}}.tube-whoosh{pointer-events:none;z-index:41;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.tube-whoosh.show{animation:1.9s ease-in forwards tube-fade;display:flex}.tube-tunnel{background:repeating-radial-gradient(circle,#1b1d24 0 22px,#3a3f4c 22px 30px,#1b1d24 30px 52px,#e8b04a 52px 55px);animation:1.2s cubic-bezier(.4,0,1,1) forwards tube-rush;position:absolute;inset:-40%}.tube-card{opacity:0;background:#fffaf0;border:4px solid #1d2a5c;border-radius:18px;padding:8px;animation:1.9s ease-out forwards tube-card;position:relative;transform:scale(.6);box-shadow:0 8px 30px #00000073}.tube-map{width:min(62vw,300px);height:auto;display:block}.tube-line{fill:none;stroke:#c9c3b4;stroke-width:5px;stroke-linejoin:round}.tube-trip{stroke:#dc241f;stroke-width:6px;stroke-linecap:round}.tube-stop{fill:#fff;stroke:#1d2a5c;stroke-width:3px}.tube-stop.here{fill:#dc241f}.tube-train{fill:#1d2a5c;stroke:#fff;stroke-width:2px}.tube-name{fill:#1d2a5c;text-anchor:middle;paint-order:stroke;stroke:#fffaf0;stroke-width:3px;font:800 11px/1 system-ui,sans-serif}.tube-name.to{fill:#dc241f}@keyframes tube-rush{0%{opacity:0;transform:scale(.4)}20%{opacity:1}to{opacity:1;transform:scale(3.2)}}@keyframes tube-card{0%,25%{opacity:0;transform:scale(.6)}40%{opacity:1;transform:scale(1.04)}50%,85%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes tube-fade{0%,80%{opacity:1}to{opacity:0}}.pin{filter:drop-shadow(0 2px 2px #00000080);pointer-events:none;font-size:26px;line-height:1;animation:1s ease-in-out infinite alternate pin-bob;position:absolute;top:0;left:0}@keyframes pin-bob{0%{margin-top:0}to{margin-top:-8px}}.stamp{z-index:42;pointer-events:none;opacity:0;position:fixed;top:40%;left:50%;transform:translate(-50%,-50%)}.stamp.show{animation:2.1s ease-out forwards stamp-slam}.stamp-ink{background:#fffaeb;border:6px double #c81e28;border-radius:22px;flex-direction:column;align-items:center;gap:2px;padding:10px 16px 12px;display:flex;transform:rotate(-9deg);box-shadow:0 0 0 3px #c81e2859,0 8px 24px #00000040}.stamp-ink canvas{width:110px;height:110px}.stamp-ink b{letter-spacing:1px;color:#c81e28;white-space:nowrap;font-size:24px;font-weight:900}@keyframes stamp-slam{0%{opacity:0;transform:translate(-50%,-50%)scale(2.4)}12%{opacity:1;transform:translate(-50%,-50%)scale(.92)}18%{transform:translate(-50%,-50%)scale(1.04)}24%,80%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}#start-album[hidden]{display:none}#album{background:#1f2a44e6;justify-content:flex-start;gap:10px}#album-top{justify-content:space-between;align-items:center;gap:8px;width:min(100%,860px);display:flex}#album-top .title{font-size:clamp(26px,8vw,40px)}#album-count{background:#ffffffeb;border-radius:99px;padding:5px 14px;font-size:20px;font-weight:900}#album-board{touch-action:pan-y;background:radial-gradient(circle at 20% 30%,#5a371940 0 2px,#0000 3px) 0 0/23px 19px,radial-gradient(circle at 70% 60%,#ffebc840 0 1.5px,#0000 2.5px) 0 0/17px 21px,#c99a62;border:8px solid #8a5a32;border-radius:16px;flex:1;grid-template-columns:repeat(2,1fr);grid-auto-rows:min-content;gap:18px 14px;width:min(100%,860px);padding:18px 14px;display:grid;overflow-y:auto;box-shadow:inset 0 0 18px #3c230f73}.postcard{transform:rotate(var(--tilt,0deg));filter:drop-shadow(0 5px 4px #28190a66);background:0 0;border-radius:10px;padding:0;transition:transform .12s;position:relative}.postcard canvas{aspect-ratio:3/2;width:100%;height:auto;display:block}.postcard:before{content:"";z-index:1;background:radial-gradient(circle at 35% 35%,#ff9a9a,#d8342c 60%,#8a1a14);border-radius:50%;width:16px;height:16px;margin-left:-8px;position:absolute;top:-7px;left:50%;box-shadow:0 2px 2px #00000059}.postcard.rare:before{background:radial-gradient(circle at 35% 35%,#fff3b0,#f2c230 60%,#a57d10)}.postcard.missing{filter:drop-shadow(0 3px 2px #28190a40)}.postcard:active,.postcard:hover{transform:rotate(0)scale(1.04)}.postcard:focus-visible,#album-close:focus-visible,#postcard-zoom-close:focus-visible,#start-album:focus-visible{outline:4px solid var(--sun);outline-offset:3px}.album-divider{text-align:center;letter-spacing:6px;grid-column:1/-1;font-size:22px}#postcard-zoom{z-index:45;perspective:1200px;opacity:0;visibility:hidden;pointer-events:none;background:#141a2cc7;justify-content:center;align-items:center;padding:16px;transition:opacity .2s,visibility 0s .2s;display:flex;position:fixed;inset:0}#postcard-zoom.show{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s}#postcard-zoom-card{aspect-ratio:3/2;width:min(100%,640px,150vh - 180px);transform-style:preserve-3d;position:relative}#postcard-zoom.show #postcard-zoom-card{animation:.75s cubic-bezier(.3,1.4,.5,1) both postcard-flip}#postcard-zoom-card .front,#postcard-zoom-card .back{backface-visibility:hidden;border-radius:18px;width:100%;height:100%;position:absolute;inset:0;box-shadow:0 14px 30px #00000073}#postcard-zoom-card .back{background:#fffaf0;border:3px solid #2b2118;transform:rotateY(180deg)}.back-stamp{aspect-ratio:4/5;border:3px dashed #d8342c;justify-content:center;align-items:center;width:14%;font-size:clamp(20px,5vw,40px);font-style:normal;display:flex;position:absolute;top:8%;right:6%}.back-line{background:#b9ad95;height:3px;position:absolute;left:52%;right:8%}.back-line:nth-child(2){top:45%}.back-line:nth-child(3){top:60%}.back-line:nth-child(4){top:75%}#postcard-zoom-close{top:calc(var(--top) + 8px);right:var(--right);position:absolute}@keyframes postcard-flip{0%{transform:rotateY(180deg)scale(.5)}to{transform:rotateY(0)scale(1)}}@media (orientation:landscape){#album-board{grid-template-columns:repeat(4,1fr)}}@media (orientation:landscape) and (min-width:1100px){#album-board{grid-template-columns:repeat(5,1fr)}}@media (prefers-reduced-motion:reduce){.stamp.show{animation-name:stamp-fade}#postcard-zoom.show #postcard-zoom-card{animation:none}}@keyframes stamp-fade{0%{opacity:0}8%,80%{opacity:1}to{opacity:0}}
