*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--text:#0c2030;--muted:#4a7090;--subtle:#6a90aa;--blue:#1a6fba;--blue-hi:#1a8fc4;--ice:#1a8fc4;--ice-dim:#1a8fc41f;--green:#1ab464;--panel-bg:#dcf0ffb8;--r-sm:8px;--r-md:12px;--r-lg:18px}body{color:var(--text);background:#a8d8f5;width:100vw;height:100vh;font-family:Segoe UI,system-ui,sans-serif;overflow:hidden}.hidden{display:none!important}#game-container{z-index:0;position:fixed;inset:0}#game-container canvas{display:block;width:100%!important;height:100%!important}#landing{z-index:40;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.landing-inner{text-align:center;flex-direction:column;align-items:center;gap:18px;width:min(420px,92vw);display:flex}.landing-title{-webkit-user-select:none;user-select:none;width:clamp(280px,70vw,640px);height:auto}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.landing-result{margin:0}.landing-ice-earned{background:var(--ice-dim);color:var(--ice);border:1px solid #76c6f04d;border-radius:99px;align-items:center;gap:6px;padding:5px 16px;font-size:.95rem;font-weight:800;animation:.35s cubic-bezier(.34,1.56,.64,1) pop;display:inline-flex}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.lp-preview-wrap{cursor:pointer;border-radius:16px;width:180px;height:220px;position:relative;overflow:hidden}.lp-canvas{border-radius:16px;width:180px;height:220px;display:block}.lp-customize-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;letter-spacing:.06em;text-transform:uppercase;opacity:0;-webkit-user-select:none;user-select:none;background:#081c388c;padding:8px 0 10px;font-size:.72rem;font-weight:700;transition:opacity .18s;position:absolute;bottom:0;left:0;right:0}.lp-preview-wrap:hover .lp-customize-overlay{opacity:1}.landing-controls-area{flex-direction:column;align-items:stretch;gap:10px;width:100%;display:flex}.landing-username-row{align-items:center;gap:10px;width:100%;display:flex}.landing-username-input{border-radius:var(--r-sm);min-width:0;color:var(--text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#dcf0ffa6;border:1px solid #1a8fc447;outline:none;flex:1;padding:10px 13px;font-family:inherit;font-size:.9rem;font-weight:600;transition:border-color .15s}.landing-username-input::placeholder{color:var(--muted)}.landing-username-input:focus{border-color:#1a8fc499}.landing-balance{color:var(--ice);white-space:nowrap;flex-shrink:0;font-size:.82rem;font-weight:700}.landing-actions{gap:10px;width:100%;display:flex}.landing-hint{color:var(--muted);letter-spacing:.04em;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px 4px;font-size:.72rem;display:flex}.hint-key{color:var(--text);background:#1a6fba21;border:1px solid #1a6fba3d;border-radius:5px;padding:3px 7px;font-family:inherit;font-size:.7rem;font-weight:700;display:inline-block}.hint-sep{color:var(--muted);margin-right:6px;font-size:.68rem}.btn-primary{background:var(--blue);color:#fff;border-radius:var(--r-md);letter-spacing:.05em;cursor:pointer;border:none;flex:1;padding:14px 0;font-family:inherit;font-size:1rem;font-weight:800;transition:background .15s,transform .1s}.btn-primary:hover{background:var(--blue-hi);transform:translateY(-2px)}.btn-primary:active{transform:none}.btn-secondary{color:var(--text);border-radius:var(--r-md);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#dcf0ff99;border:1px solid #1a8fc438;padding:14px 22px;font-family:inherit;font-size:.9rem;font-weight:700;transition:border-color .15s}.btn-secondary:hover{border-color:#1a8fc473}#lobby{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#a8d8f552;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lobby-inner{text-align:center}.lobby-penguin{margin-bottom:20px;font-size:3.5rem;animation:2s ease-in-out infinite bob;display:block}.lobby-status{color:var(--text);margin-bottom:8px;font-size:1rem;font-weight:700}.lobby-queue{color:var(--muted);font-size:.76rem}#hud{z-index:20;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.hud-phase-label{text-transform:uppercase;letter-spacing:.14em;color:var(--text);background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #1a8fc42e;border-radius:99px;padding:5px 20px;font-size:.78rem;font-weight:800}.hud-timer-wrap{background:#1a6fba26;border-radius:99px;width:180px;height:5px;overflow:hidden}.hud-timer-bar{background:var(--blue);border-radius:99px;height:100%;transition:width .1s linear}.hud-info{color:var(--muted);letter-spacing:.08em;font-size:.68rem;font-weight:700}#shop{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#a8d8f54d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shop-inner{background:var(--panel-bg);border-radius:var(--r-lg);border:1px solid #1a8fc433;width:94vw;max-width:640px;max-height:88vh;padding:24px 28px 28px;overflow-y:auto;box-shadow:0 16px 48px #00000024}.shop-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.shop-header h2{letter-spacing:.06em;text-transform:uppercase;color:var(--text);flex:1;font-size:1.2rem;font-weight:900}.shop-balance{color:var(--ice);font-size:.85rem;font-weight:700}.shop-close-btn{cursor:pointer;color:var(--muted);border-radius:var(--r-sm);background:0 0;border:none;padding:4px;font-size:1rem;line-height:1;transition:color .15s}.shop-close-btn:hover{color:var(--text)}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;display:grid}.skin-card{border-radius:var(--r-md);background:#1a6fba0d;border:2px solid #1a6fba24;flex-direction:column;align-items:center;padding:14px 8px 10px;transition:border-color .15s;display:flex}.skin-card--active{border-color:var(--ice);background:#1a8fc41f}.skin-card:not(.skin-card--active):hover{border-color:#1a8fc461}.skin-preview{border-radius:var(--r-sm);justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 10px;font-size:1.7rem;display:flex}@keyframes skin-pulse{0%,to{background:#4ad}50%{background:#adf}}@keyframes skin-flicker{0%{background:#c10}30%{background:#f40}60%{background:#f70}80%{background:#c10}to{background:#f30}}@keyframes skin-disco{0%{background:#ff1a1a}16%{background:#ffff1a}33%{background:#0f0}50%{background:#1ab2ff}66%{background:#93f}83%{background:#ff1a8c}to{background:#ff1a1a}}@keyframes skin-ghost{0%,to{opacity:.4;background:#346}50%{opacity:.9;background:#89b}}@keyframes skin-rainbow{0%{background:#ff1a1a}14%{background:#ffdd1a}28%{background:#0f0}42%{background:#00e6e6}57%{background:#33f}71%{background:#d3f}85%{background:#f39}to{background:#ff1a1a}}.skin-preview--pulse{animation:1.4s ease-in-out infinite skin-pulse}.skin-preview--flicker{animation:.6s steps(3,end) infinite skin-flicker}.skin-preview--disco{animation:1.5s linear infinite skin-disco}.skin-preview--ghost{animation:2.2s ease-in-out infinite skin-ghost}.skin-preview--rainbow{animation:2s linear infinite skin-rainbow}.skin-badge{letter-spacing:.06em;color:var(--ice);text-align:center;text-transform:uppercase;margin:-6px auto 4px;font-size:.55rem;font-weight:800;display:block}.skin-name{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:10px;font-size:.6rem;font-weight:700}.skin-btn{border-radius:var(--r-sm);letter-spacing:.04em;cursor:pointer;border:none;width:100%;padding:6px 0;font-family:inherit;font-size:.66rem;font-weight:800;transition:opacity .12s}.skin-buy-btn{background:var(--blue);color:#fff}.skin-buy-btn:hover:not([disabled]){opacity:.8}.skin-equip-btn{background:var(--green);color:#fff}.skin-equip-btn:hover{opacity:.8}.skin-active-btn{color:var(--ice);cursor:default;background:#1a8fc41f}.skin-btn--disabled,.skin-btn[disabled]{opacity:.25;cursor:not-allowed}#game-over{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:60;background:#b4dcff14;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#game-over.hidden{display:none}.go-panel{background:var(--panel-bg);border-radius:var(--r-lg);text-align:center;border:1px solid #1a6fba38;flex-direction:column;align-items:center;gap:1.2rem;width:90vw;max-width:400px;padding:2.4rem 2.8rem;display:flex;box-shadow:0 12px 40px #00000042}.go-heading{font-size:1.1rem;font-weight:700}.go-outcome{letter-spacing:-.01em;font-size:1.7rem;font-weight:900;display:inline-block}.go-outcome--win{color:var(--green)}.go-outcome--loss{color:var(--ice)}.go-ice-earned{color:var(--ice);letter-spacing:-.02em;font-size:2rem;font-weight:900}.go-scoreboard{flex-direction:column;gap:.44rem;width:100%;display:flex}.go-row{border-radius:var(--r-sm);background:#1a6fba0f;justify-content:space-between;align-items:center;padding:.44rem .9rem;font-size:.88rem;font-weight:600;display:flex}.go-row--winner{background:#1aba6424}.go-row--me{outline:2px solid #1a6fba61}.go-row-name{color:var(--text)}.go-row-ice{color:var(--ice);font-weight:800}.go-actions{gap:.8rem;width:100%;display:flex}.go-actions .btn-secondary,.go-actions .btn-primary{flex:1;padding:.7rem 0;font-size:.88rem}.go-countdown-wrap{background:#1a6fba26;border-radius:99px;width:100%;height:5px;overflow:hidden}.go-countdown-bar{background:var(--blue);border-radius:99px;width:100%;height:100%;transition:width .1s linear}.go-countdown-label{color:var(--subtle);margin:0;font-size:.72rem}
