#expansion-panel{z-index:20;background:#10385ba8;backdrop-filter:blur(9px)}
.mode-fab{position:absolute;z-index:3;left:50%;bottom:clamp(72px,10vh,96px);transform:translateX(-50%);min-height:34px;padding:6px 15px;border:2px solid #d8f7ff;border-radius:999px;background:#145d91d9;color:#fff;font:600 .78rem Fredoka,'Trebuchet MS',sans-serif;box-shadow:0 3px #083e67;text-shadow:0 1px #073958}.mode-fab:disabled{opacity:.55}
.expansion-dialog{width:min(1080px,100%);height:min(650px,100%);overflow:auto;padding:18px;border:3px solid #cff6ff;border-radius:24px;background:linear-gradient(145deg,#eafdfff5,#cbeef5f2);box-shadow:0 10px #0c4e7290,0 24px 60px #062b4f80;color:#123d5b}
.expansion-dialog .collection-header{grid-template-columns:auto 1fr auto}.expansion-dialog h2,.expansion-dialog h3{color:#123d5b}.expansion-dialog header small{color:#39809d;font-weight:700;letter-spacing:.12em}
.expansion-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0 14px;padding:5px;border-radius:15px;background:#1d78a3}.expansion-tabs button{min-height:40px;border:0;border-radius:11px;background:transparent;color:#e9fbff;font-weight:600}.expansion-tabs button[aria-selected=true]{background:#fff;color:#145273;box-shadow:0 3px #0e4a6b60}
.mode-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.mode-card{min-width:0;min-height:116px;padding:11px 8px;border:2px solid #9bd9e7;border-radius:15px;background:#f9feff;color:#174660;text-align:center;touch-action:manipulation}.mode-card:hover{border-color:#63b9d1;background:#f1fbfe}.mode-card:focus-visible{outline:3px solid #167ca8;outline-offset:2px}.mode-card b{display:block;margin:3px 0 6px;font-size:1rem}.mode-card small{display:block;color:#547486;font-size:.76rem;line-height:1.25;overflow-wrap:anywhere}.mode-card[aria-pressed=true]{border-color:#ffbd24;background:linear-gradient(#fffced,#fff2b6);box-shadow:0 0 0 2px #fff,0 5px #b3762b70}.mode-card[aria-pressed=true]:hover{background:linear-gradient(#fffced,#ffef9f)}.mode-icon{display:block;font-size:1.5rem;line-height:1}
.arena-options{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:14px 0}.arena-options label{font-weight:600}.arena-options select,.social-grid input{display:block;width:100%;min-height:42px;margin-top:5px;padding:8px 12px;border:2px solid #74c3dc;border-radius:11px;background:#fff;color:#183f59;font:inherit}.feature-note{min-height:1.4em;margin:8px 0;color:#426c82}.expansion-pane>.primary{display:block;width:min(400px,100%);margin:10px auto 0;padding:12px}

.solo-worlds{margin:18px 0 4px;border:2px solid #9bd9e7;border-radius:18px;background:#ebfaff;color:#174660}
.solo-worlds>summary{padding:13px 16px;font-weight:800;cursor:pointer;touch-action:manipulation}
.solo-worlds>summary small{display:block;margin-top:2px;font-size:.78rem;font-weight:500;color:#4d7486}
.solo-worlds>summary:focus-visible{outline:3px solid #167ca8;outline-offset:2px}
.solo-world-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 12px 12px}
.solo-world-card{min-width:0;padding:12px;border:1px solid #abd9e2;border-radius:13px;background:#fff;display:flex;flex-direction:column;gap:10px}
.solo-world-card h3{margin:0;font-size:1.02rem}.solo-world-card p{margin:4px 0 0;color:#517589;font-size:.82rem}
.solo-world-card .solo-world-progress{margin-top:8px;padding:6px 8px;border-radius:8px;background:#eef8fc;color:#275c75;font-weight:700;font-size:.77rem}
.solo-world-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:auto}
.solo-world-book{display:block;margin:0 12px 12px;padding:10px 16px;min-height:44px}
.solo-world-actions button{min-width:0;min-height:42px;padding:6px 8px;white-space:normal;line-height:1.2;touch-action:manipulation}
@media(max-width:680px){.solo-world-grid{grid-template-columns:1fr}.solo-world-actions button{min-height:46px}}
.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.achievement-card{padding:15px;border:2px solid #9bcfe0;border-radius:15px;background:#fff;color:#42697c;opacity:.7}.achievement-card.earned{border-color:#ffc53c;background:linear-gradient(#fffef4,#fff1b7);color:#173f58;opacity:1}.achievement-card b{display:block;font-size:1.08rem}.achievement-card span{float:right;font-size:1.6rem}.achievement-card p{margin:6px 0 0;font-size:.82rem}
.social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.social-grid article{padding:15px;border:2px solid #aadce8;border-radius:15px;background:#fff}.social-grid p{font-size:.8rem;color:#55798a}.social-grid button{width:100%;margin-top:8px}.friend-code{display:block;padding:11px;border-radius:10px;background:#153f63;color:#fff;font-size:1.35rem;letter-spacing:.08em;text-align:center}.social-grid form{display:flex;gap:6px}.social-grid form input{min-width:0}.social-grid form button{width:auto}.friend-row{margin-top:6px;padding:7px 9px;border-radius:8px;background:#e8f7fb;font-weight:600}
.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.stat-card{padding:11px 5px;border-radius:13px;background:#fff;text-align:center}.stat-card b{display:block;font-size:1.4rem;color:#0b6b98}.stat-card span{font-size:.72rem;color:#547486}.match-history{display:grid;gap:6px}.history-row{display:grid;grid-template-columns:1fr repeat(4,auto);gap:10px;padding:8px 11px;border-radius:9px;background:#fff;font-size:.82rem}.history-empty{text-align:center;color:#5e7e8e}
.tutorial-dialog{width:min(850px,100%);color:#fff}.tutorial-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0}.tutorial-steps article{padding:15px;border:2px solid #7bcbe5;border-radius:14px;background:#0c5d8bbf}.tutorial-steps b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffd02f;color:#654000}.tutorial-steps h3{margin:8px 0 4px}.tutorial-steps p{margin:0}
#spectator-bar{position:fixed;z-index:17;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 24px);width:max-content;gap:9px;align-items:center;padding:8px 11px;border:2px solid #dffaff;border-radius:13px;background:#123e63dc;box-shadow:0 5px 18px #082a49aa;color:#fff}#spectator-bar[hidden],#spectator-bar button[hidden]{display:none}#spectator-bar span{font-size:.65rem;color:#ffd650;letter-spacing:.1em}#spectator-bar button{padding:6px 10px;border:1px solid #b8ecfb;border-radius:8px;background:#208fbd;color:#fff;font:inherit;font-size:.75rem}
#shell #death .result-actions{grid-template-columns:minmax(120px,1fr) repeat(4,auto)}#shell #death .result-actions button{min-width:0;padding-inline:13px}
@media(max-width:820px) and (orientation:landscape){.mode-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(orientation:landscape) and (max-height:600px){.expansion-dialog{height:100%;padding:10px 14px}.mode-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.mode-card{min-height:82px;padding:6px}.mode-card b{margin:2px 0 3px;font-size:.88rem}.mode-card small{font-size:.64rem;line-height:1.15}.mode-icon{font-size:1.15rem}.arena-options{margin:8px 0}.achievement-card,.social-grid article{padding:9px}.expansion-tabs{margin:5px 0 8px}.stats-grid{grid-template-columns:repeat(6,1fr)}}
@media(orientation:portrait){.expansion-dialog{height:100%;max-height:100%}.mode-cards{grid-template-columns:1fr 1fr}.mode-card{min-height:108px}.social-grid,.achievement-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.expansion-tabs{grid-template-columns:1fr 1fr}.tutorial-steps{grid-template-columns:1fr}.history-row{grid-template-columns:1fr 1fr}#shell #death .result-actions{grid-template-columns:1fr 1fr}}

/* Photo Booth only opens from the menu; its canvas is also the exported image. */
.collection-book .collection-photo-button{width:max-content;max-width:100%;margin:12px 0;padding:9px 16px}
#selected-snake{transition:transform .18s ease-out}@media(prefers-reduced-motion:reduce){#selected-snake{transition:none}}
#lobby .equipped-stage #menu-snake-growth{padding:0;border:0;background:transparent;color:#fff;cursor:pointer;touch-action:manipulation}#menu-snake-growth:focus-visible{outline:3px solid #fff7b1;outline-offset:-4px}#menu-snake-growth-label{position:absolute;right:12px;bottom:8px;padding:5px 10px;border-radius:12px;background:#0c4b70d9;color:#fff;font-size:.8rem;font-weight:700;pointer-events:none}
.catalog-tools{display:flex;flex-wrap:wrap;gap:9px;margin:8px 0}.catalog-tools label{display:grid;gap:4px;min-width:0;flex:1 1 160px;font-size:.8rem;font-weight:700}.catalog-tools input,.catalog-tools select{width:100%;min-width:0;padding:8px;border:1px solid #8bdbe5;border-radius:9px;background:#e9fcff;color:#173d59;font:inherit}
.design-sharing{margin:12px 0;padding:12px;border:1px solid #8bdbe5;border-radius:12px;background:#1d5268}.design-sharing summary{cursor:pointer;font-weight:700}.design-sharing p{font-size:.85rem;line-height:1.35}.design-sharing label{display:grid;gap:4px;margin:8px 0;font-size:.85rem}.design-sharing input{width:100%;min-width:0;padding:9px;border:1px solid #8bdbe5;border-radius:9px;background:#ecfcff;color:#173d59;font:inherit}.design-sharing button{width:100%;min-height:38px;margin:4px 0;font-size:.9rem}
.creator-challenges{margin:12px 0;padding:12px;border:1px solid #8bdbe5;border-radius:12px;background:#1d5268;color:#fff}.creator-challenges summary{cursor:pointer;font-weight:700}.creator-challenges p{font-size:.85rem;line-height:1.35}.creator-challenges label{display:grid;gap:4px}.creator-challenges select{width:100%;padding:8px;border-radius:8px;background:#ecfcff;color:#173d59}.creator-challenges button{width:100%;min-height:38px}#creator-challenge-stamps{display:flex;flex-wrap:wrap;gap:6px}.creator-stamp{padding:5px 8px;border:1px dashed #9ac5c8;border-radius:10px;color:#d9f0e8}.creator-stamp.earned{border-style:solid;background:#2b806e;color:#fff}
.snake-home{margin:14px 0;border:1px solid #9bd9dd;border-radius:16px;background:linear-gradient(135deg,#185b70,#234762);padding:12px}.snake-home summary{cursor:pointer;font-weight:700;font-size:1.1rem}.snake-home-room{display:grid;grid-template-columns:minmax(150px,240px) 1fr;gap:16px;margin-top:12px}.snake-home-room>div:first-child{text-align:center}.snake-home-room canvas{display:block;width:100%;height:auto;max-height:220px;object-fit:contain}.snake-home-room h4{margin:0 0 8px}.snake-home-room h4:not(:first-child){margin-top:14px}.snake-home-favorites,.snake-home-trophies{display:flex;flex-wrap:wrap;gap:7px}.snake-home-keepsake{padding:7px 10px;border-radius:12px;background:#377c85;color:#fff}.snake-home-hint{color:#d9f0e8}@media(max-width:520px){.snake-home-room{grid-template-columns:1fr}.snake-home-room>div:first-child{max-width:200px;margin:auto}}
.photo-dialog{width:min(900px,100%);max-height:100%;overflow:auto;padding:16px;border:3px solid #c8eef9;border-radius:19px;background:#e7f9fb;color:#173d59;box-shadow:0 12px 35px #061e3b88}
.photo-dialog #photo-canvas{display:block;width:100%;height:auto;margin:12px auto;border-radius:13px;box-shadow:0 4px 15px #275b7890}
.photo-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0}
.photo-choices label{display:grid;gap:4px;font-weight:700}.photo-choices select{width:100%;min-width:0;padding:9px;border:2px solid #8ecade;border-radius:9px;background:#fff;color:#173d59;font:inherit}
#photo-save{max-width:320px;margin:auto;font-size:1rem}#photo-status{text-align:center;margin:8px 0 0}
@media(max-width:600px){.photo-dialog{padding:10px}.photo-choices{grid-template-columns:1fr 1fr}.photo-choices label:last-child{grid-column:1/-1}}
