/* A game lobby: animated cast, real loading state, and accessible utility windows. */
.collection-card svg{width:27px;height:27px;display:block}
@media(min-width:760px) and (min-height:601px){#account-dialog{max-width:720px;padding:23px 30px}#account-dialog h2{font-size:26px;margin:6px 0}#account-dialog>.eyebrow{margin:5px 0}#account-dialog>.dialog-lead{margin:8px 0;font-size:11px}#account-dialog .profile-name{display:grid;grid-template-columns:70px 1fr;align-items:center;margin-top:15px}#account-dialog .profile-name input{padding:9px 12px}#account-dialog .result-stats{margin:13px 0}#account-dialog .collection-note{margin:10px 0}#account-dialog .collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0}#account-dialog .collection-card{padding:10px}#account-dialog .collection-card>span{margin:8px 0}#account-dialog #legacy-records:empty{display:none}}
.keepsake-count{display:flex;align-items:center;gap:7px;padding:12px 14px;border:1px solid #dfc795;border-radius:30px;background:#fff8e8ed;color:#846039;font-size:15px;box-shadow:0 3px 12px #58345516}.keepsake-count b{font-size:12px;white-space:nowrap}.collection-note{font-size:12px;line-height:1.9;color:#84667c;margin:15px 0}.collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}.collection-card{padding:14px;border:1px solid #d9c4d0;border-radius:12px;background:#fff9f0;text-align:center}.collection-card b{display:block;color:#79566e;font-size:12px;font-weight:500}.collection-card>span{display:flex;justify-content:center;gap:9px;margin:12px 0}.collection-card i{display:grid;place-items:center;width:30px;height:34px;border:1px dashed #c9b7c5;border-radius:12px 12px 16px 16px;font-style:normal;font-size:21px;color:#cbbdca;background:#eee5eb}.collection-card i.found{background:var(--stamp-color);border:1px solid #c5a66a;color:#79586e;box-shadow:0 2px 8px #b98aaf30}.collection-card small{font-size:9px;color:#9a7a8c}.level-detail .map-keepsakes{font-size:10px;color:#a27c4e;margin:5px 0}.touch-attack{--attack-ready:100%;background:conic-gradient(#e8cb84 var(--attack-ready),#665379 0)!important;box-shadow:inset 0 0 0 5px #ffffffaa}
@media(orientation:landscape) and (max-height:600px){.keepsake-count{padding:7px 10px;font-size:12px;gap:4px}.keepsake-count b{font-size:9px}.collection-note{font-size:10px;margin:8px 0}.collection-card{padding:9px}.collection-card>span{margin:7px 0}.collection-card b{font-size:10px}}@media(max-width:700px){.hud-right{flex-wrap:wrap;max-width:180px;justify-content:flex-end}.keepsake-count{order:2}.collection-grid{gap:7px}}
.route-row{display:flex;align-items:center;gap:7px;margin-top:5px;font-size:8px;color:#8c7084}.route-row>div{height:4px;flex:1;min-width:65px;overflow:hidden;border-radius:8px;background:#cbb7c655}.route-row>div>span{height:100%;width:0;display:block;background:linear-gradient(90deg,#b78ab2,#c69f63)}.route-row>span{min-width:27px;text-align:right}.mechanic-brief{margin-top:14px;padding:13px 17px;background:#e8dfed99;border:1px solid #cfb9d2;border-radius:10px}.mechanic-brief>b{font-size:13px;color:#765474}.mechanic-brief p{font-size:11px;line-height:1.8;margin:6px 0 0;color:#81667b}@media(orientation:landscape) and (max-height:600px){.mechanic-brief{padding:8px 12px;margin-top:8px}.mechanic-brief>b{font-size:11px}.mechanic-brief p{font-size:10px}.route-row{margin-top:3px;font-size:7px}}
.stage-orbit,.stage-spark{pointer-events:none}.lobby-launch{position:relative;z-index:5}.home-backdrop{translate:calc(var(--mx) * -1) calc(var(--my) * -1)}.featured{max-height:390px}
.party-member{padding:0;border:0;background:none}.party-member img{width:100%;height:100%;object-fit:contain}.party-member span{display:block;font-size:9px;color:#e5cde5;letter-spacing:.1em}.party-0{left:0}.party-1{left:18%;bottom:28%}.party-2{right:18%;bottom:28%}.party-3{right:0}#lobby-sparks{position:absolute;inset:0;pointer-events:none;z-index:7}
.home-screen{height:100svh;min-height:710px;padding:25px 42px;color:#fff5eb;background:#251c43;--mx:0;--my:0}.home-backdrop{filter:brightness(.54) saturate(1.3);transform:scale(1.05) translate(calc(var(--mx)*-1),calc(var(--my)*-1));transition:transform .6s ease-out}.home-screen:before{background:radial-gradient(ellipse at 50% 35%,#c6a4e53d,transparent 60%),linear-gradient(0deg,#201631f2 0%,#32244855 38%,#241b4077 100%)}.home-screen:after{content:'';position:absolute;inset:10px;border:1px solid #cdb18a40;pointer-events:none;border-radius:9px;z-index:-1}.masthead{position:relative;z-index:3;height:40px}.brand-mark,.brand-mark span{color:#ecd7ad}.brand-mark span{font:11px Georgia,serif;letter-spacing:.2em}.edition-tag{font-size:10px;letter-spacing:.18em;color:#cfbfdb}.masthead .quiet{color:#f2e0ef;border:1px solid #ba9eba66;border-radius:20px;background:#33234480;padding:9px 16px}.home-content{position:absolute;top:80px;bottom:210px;left:16%;right:16%;width:auto;height:auto;max-height:none;min-height:0;display:flex;flex-direction:column;margin:0;gap:0}.intro{padding:0;text-align:center;flex-shrink:0}.intro .eyebrow{color:#debf8e;font-size:9px;letter-spacing:.4em;margin:0 0 8px}h1{font-family:var(--serif);font-size:clamp(52px,5.7vw,90px);font-weight:600;letter-spacing:.1em;line-height:1.18;margin:0 auto;color:#f3daee;text-shadow:0 2px 0 #9f718c,0 -1px 0 #fff3db,0 0 35px #c6a4e54d}h1 span{display:inline;margin:0}h1 i{color:#f0d29a;font-size:.3em;right:-.8em;top:.55em;text-shadow:0 0 15px #ebc882}.subtitle{font-size:12px;letter-spacing:.22em;color:#e1c9dc;margin:12px 0 0}.character-stage{min-height:185px;flex:1;width:100%;height:auto;isolation:isolate}.stage-orbit{bottom:17%;height:19%;width:83%;border:1px solid #e2bfaa99;background:radial-gradient(ellipse,#d2b6e24d,#8765b044 50%,transparent 70%);box-shadow:0 0 30px #cbadf340,inset 0 0 24px #ffe0ba26;transform:rotate(-3deg)}.stage-orbit:before,.stage-orbit:after{content:'';position:absolute;border:1px solid #e1caee44;border-radius:50%;inset:-45% 7%;transform:rotate(5deg)}.stage-orbit:after{inset:-75% 15%;border-style:dashed;opacity:.6;transform:rotate(-8deg)}.featured{width:34%;height:91%;bottom:15%;left:33%;right:auto;object-fit:contain;z-index:3;filter:drop-shadow(0 12px 11px #15102580) drop-shadow(0 0 24px #e2caff26);cursor:pointer;pointer-events:auto;transition:filter .25s}.featured:hover{filter:drop-shadow(0 12px 11px #15102580) drop-shadow(0 0 30px #ffdaaf7a)}.character-caption{bottom:-1%;z-index:4;pointer-events:none;text-align:center;width:100%;right:auto}.character-caption>span{font-size:8px;color:#dfc68d}.character-caption h2{color:#fff1e1;font-size:20px;margin:5px 0;letter-spacing:.22em}.character-caption p{color:#d5bfda;font-size:10px;margin:5px 0}.lobby-party{position:absolute;inset:0;z-index:1}.party-member{position:absolute;height:62%;width:24%;bottom:23%;object-fit:contain;filter:drop-shadow(0 10px 9px #1b123166);opacity:.93;cursor:pointer;animation:companion-float 4s ease-in-out infinite;animation-delay:calc(var(--i)*-.8s);transition:filter .2s}.party-member:hover{filter:drop-shadow(0 0 15px #fff0bd99);opacity:1}.lobby-launch{flex-shrink:0;text-align:center;padding:15px 0 0;min-height:90px}.start-group{justify-content:center;flex-direction:row;margin:0;gap:15px}.start-group .primary{min-width:215px;background:linear-gradient(135deg,#efdbb9,#d8b486);color:#56394f;border:1px solid #ffe8bc;border-radius:7px 22px 7px 22px;box-shadow:0 0 24px #ddba8540,0 8px 25px #180d3640;font-size:16px;letter-spacing:.15em;font-weight:600;padding:15px 24px}.start-group .primary span{margin-left:18px}.start-group .primary:hover{box-shadow:0 0 40px #f3ce9970}.start-group .secondary{background:#493751b3;color:#f4e6e6;border-color:#bba0a5;border-radius:7px 22px 7px 22px;padding:15px 20px}.small-note{color:#c6b1c6;font-size:10px;display:block;margin:12px 0 0}.roster-wrap{position:absolute;bottom:65px;left:50%;transform:translateX(-50%);width:min(730px,70%);margin:0;z-index:4}.roster-heading{color:#ead9de;font-size:10px}.roster-heading small{color:#c2adc7;font-size:9px}.hero-picker{gap:11px}.hero-card{background:linear-gradient(135deg,#8d779237,#241c3977);border:1px solid #ad8ea64d;min-height:88px;padding:3px 5px 8px;backdrop-filter:blur(10px);box-shadow:none;color:#dfcde1}.hero-card img{height:59px}.hero-card strong{font-size:11px}.hero-card small{color:#bb9dba}.hero-card[aria-pressed=true]{background:linear-gradient(135deg,#b398a969,#67476399);border-color:#e2bb83;box-shadow:0 0 22px #c7a77929;color:#ffe6bc}.hero-card[aria-pressed=true]:after{color:#ffe0a3}.utility-rail{position:absolute;right:32px;top:125px;display:flex;flex-direction:column;gap:12px;z-index:5}.utility-rail button{width:72px;min-height:75px;background:#33264380;border:1px solid #c6a5ba66;border-radius:12px;color:#ead7e8;display:grid;justify-items:center;gap:3px;padding:9px 5px;backdrop-filter:blur(10px)}.utility-rail button:hover{background:#65456899;border-color:#e7c68e}.utility-rail button>span{font-size:22px;color:#ecd1a5;line-height:1.1}.utility-rail b{font-size:10px;font-weight:400}.utility-rail small{font-size:6px;letter-spacing:.12em;color:#bfa7c9}.lobby-guide{position:absolute;left:42px;bottom:235px;display:flex;flex-direction:column;gap:13px;font-size:10px;color:#d8c5dc;border-left:1px solid #dcbca066;padding-left:17px;max-width:180px}.lobby-guide>b{color:#ecd3ac;font-weight:500;font-size:12px}.lobby-guide span{display:flex;align-items:center;gap:9px}.lobby-guide kbd{min-width:53px;text-align:center;background:#89718d3d;border:1px solid #ad92b244;border-radius:5px;padding:5px;color:#fff3df;font-family:inherit;font-size:9px}.lobby-guide small{font-size:8px;color:#b49bbb;line-height:1.7}.home-footer{position:absolute;bottom:21px;left:42px;right:42px;margin:0;max-width:none;color:#b5a0bd;font-size:9px;letter-spacing:.05em;align-items:center}.home-footer button{background:transparent;color:#d4b9bd;font-size:9px;padding:0;letter-spacing:.05em}.home-screen .sparkles{opacity:.6}.lobby-aurora{position:absolute;left:17%;right:17%;top:18%;height:45%;border-radius:50%;background:radial-gradient(ellipse,#dd9dcc19,transparent 60%);filter:blur(15px);animation:aurora-breathe 7s ease-in-out infinite;z-index:-1}.loading-panel{width:min(420px,100%);margin:0 auto;color:#dfc8df}.loading-panel>div:first-child{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.05em}.loading-panel b{color:#f4d9a5;font-weight:400}.loading-track{height:9px;border:1px solid #b79cb366;border-radius:10px;background:#160e2780;margin:10px 0;padding:2px;overflow:hidden}.loading-track>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#c891b9,#e9d5a4,#bfdfdc);border-radius:10px;box-shadow:0 0 13px #f0d5ac;transition:width .3s}.loading-panel small{font-size:9px;color:#b59ec1}.is-loading .small-note{opacity:.4}.lobby-spark{position:absolute;left:var(--x);top:var(--y);color:#ffe6b5;font-size:22px;pointer-events:none;animation:lobby-burst .8s forwards;z-index:6}.utility-dialog{max-width:540px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 0;border-bottom:1px solid #ddcbbb;font-size:13px}.setting-row span small{display:block;color:#9d8290;font-size:10px;line-height:1.8;margin-top:6px}.setting-row input[type=checkbox],.help-start-options input{accent-color:#a56b94;width:19px;height:19px;flex-shrink:0}.setting-row input[type=range]{accent-color:#ac769f;width:140px}.utility-dialog>.secondary{margin-top:22px}.profile-name{display:flex;flex-direction:column;gap:10px;font-size:12px;margin-top:25px}.profile-name input{font:inherit;border:1px solid #ccb5c0;border-radius:7px;background:#fffaf3;padding:14px;color:#654d63;outline-color:#a37aa7}.notice-entry{padding:20px 0;border-top:1px solid #dcc8b8;margin-top:20px}.notice-entry>span{font-size:10px;letter-spacing:.15em;color:#b38b71}.notice-entry h3{font:500 19px var(--serif);line-height:1.7}.notice-entry p{font-size:12px;line-height:2;color:#947887}.help-start-options{display:flex;justify-content:space-between;align-items:center;gap:15px}.help-start-options label{display:flex;align-items:center;gap:7px;font-size:11px;color:#937688}.hud .help-play{font-family:Georgia,serif}.home-screen.reduced-motion *,body.reduced-motion .home-screen *{animation:none!important;transition:none!important}body.no-effects .sparkles,body.no-effects .stage-spark,body.no-effects .lobby-aurora{display:none}@keyframes companion-float{50%{transform:translateY(-8px) rotate(2deg)}}@keyframes aurora-breathe{50%{transform:scale(1.2);opacity:.4}}@keyframes lobby-burst{to{opacity:0;transform:translateY(-55px) scale(.35) rotate(80deg)}}
@media(max-width:1000px){.home-screen{padding:20px 25px}.utility-rail{right:20px}.lobby-guide{left:24px;max-width:138px;padding-left:10px;font-size:9px}.home-content{left:17%;right:17%}.home-footer{left:25px;right:25px}.hero-picker{gap:7px}.hero-card img{height:54px}.hero-card{min-height:83px}.roster-wrap{width:68%}}
@media(orientation:landscape) and (max-height:600px){.home-screen{height:100svh;min-height:340px;padding:9px 25px}.masthead{height:27px}.masthead .quiet{font-size:9px;padding:6px 11px}.brand-mark{font-size:20px}.brand-mark span{font-size:8px}.edition-tag{font-size:8px}.utility-rail{top:67px;right:14px;gap:7px}.utility-rail button{width:49px;min-height:50px;padding:5px;border-radius:8px;gap:2px}.utility-rail button>span{font-size:17px}.utility-rail b{font-size:8px}.utility-rail small{font-size:5px}.home-content{top:43px;bottom:110px;left:19%;right:17%;min-height:0;max-height:none}.intro{padding:0}.intro .eyebrow{font-size:6px;margin-bottom:2px;letter-spacing:.3em}h1{font-size:39px;line-height:1.13;margin:0 auto}.subtitle{font-size:8px;letter-spacing:.15em;margin:4px 0 0}.character-stage{min-height:75px;height:auto}.featured{height:105%;width:31%;left:34.5%;bottom:9%;right:auto}.party-member{height:75%;bottom:9%}.stage-orbit{height:26%;bottom:4%}.character-caption{bottom:-8%;right:-32px;width:100px;left:auto;text-align:center}.character-caption>span{font-size:6px}.character-caption h2{font-size:13px;margin:3px 0}.character-caption p{display:none}.stage-spark{font-size:18px}.lobby-launch{padding-top:4px;min-height:38px}.start-group{margin:0;gap:9px}.start-group .primary{min-width:155px;padding:9px 13px;font-size:11px;letter-spacing:.08em}.start-group .secondary{padding:9px 12px;font-size:9px}.small-note{display:none}.loading-panel{width:280px}.loading-panel>div:first-child{font-size:8px}.loading-track{height:7px;margin:5px 0}.loading-panel small{display:none}.roster-wrap{bottom:32px;width:60%;max-width:620px}.roster-heading{font-size:8px;margin-bottom:4px}.roster-heading small{font-size:6px}.hero-card{min-height:55px;padding:2px 3px 4px}.hero-card img{height:36px}.hero-card strong{font-size:8px}.hero-card small{font-size:6px}.home-footer{display:flex;left:25px;right:25px;bottom:12px;font-size:6px}.home-footer button{font-size:6px}.lobby-guide{left:20px;bottom:115px;max-width:130px;gap:9px;font-size:8px}.lobby-guide>b{font-size:10px}.lobby-guide kbd{font-size:7px;min-width:40px;padding:4px}.lobby-guide small{font-size:6px}.help-grid{grid-template-columns:1fr 1fr;gap:0 20px}.help-grid p{grid-template-columns:72px 1fr;font-size:11px;gap:4px 10px;margin:7px 0}.help-grid span{font-size:9px}.help-grid kbd{font-size:10px;padding:10px 4px}.help-note{font-size:10px;margin:12px 0;padding-top:12px}.help-start-options label{font-size:9px}.utility-dialog{padding:23px 30px}.setting-row{padding:11px 0}.setting-row small{font-size:9px}.hud-right{gap:7px}.hud-right .round{height:31px;width:31px;font-size:16px}.hud-middle{padding:4px 10px}}
@media(prefers-reduced-motion:reduce){.lobby-party *, .lobby-aurora,.lobby-spark{animation:none!important}.lobby-spark{display:none}}
