/* Refines the accepted character-and-choice entrance. Native theme and shared artwork remain authoritative. */
.device[data-route=play]{--scene-panel:#0c1c2e52;--scene-line:#ffffff38}
.device[data-route=play] .status{color:#fff;text-shadow:0 1px 10px #0004}
.device[data-route=play] .home-indicator{background:#fff}
.game-lobby{position:absolute;inset:0;overflow:hidden;background:#000;color:#fff;isolation:isolate}
.lobby-art{position:absolute;inset:0 0 112px;width:100%;height:calc(100% - 112px);object-fit:cover;object-position:50% 18%;z-index:-3;pointer-events:none;animation:lobby-reveal .48s cubic-bezier(.2,.6,.25,1) both}
.story-breakfast .lobby-art{object-position:78% center}
.story-beneath .lobby-art{object-position:50% 8%}
.lobby-shade{position:absolute;inset:0 0 112px;z-index:-2;background:linear-gradient(180deg,#0005 0%,transparent 25%,transparent 38%,#0006 55%,#000d 79%,#000f 100%);pointer-events:none}
.play-catalog-head{position:absolute;top:70px;left:24px;right:24px;z-index:4;color:#fff}
.play-catalog-head .app-heading{margin:0;min-height:48px}
.play-catalog-head .app-heading h1{color:#fff}
.play-catalog-head .heading-actions{flex:1;margin-left:8px;gap:8px}
.play-catalog-head .heading-actions>.icon-btn{margin-left:auto;background:var(--scene-panel);color:#fff;border:1px solid var(--scene-line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.play-catalog-head .heading-actions>.icon-btn:active{background:#ffffff26}
.lobby-genre-menu{position:relative;font-size:14px;color:#ffffffd6}
.lobby-genre-menu summary{list-style:none;display:flex;align-items:center;gap:7px;min-height:44px;padding:10px 8px;border:0;border-radius:20px;background:none;cursor:pointer}
.lobby-genre-menu summary::-webkit-details-marker{display:none}
.lobby-genre-menu summary svg{width:10px;height:10px;transform:rotate(90deg);opacity:.8}
.lobby-genre-menu[open] summary{color:#fff}
.lobby-genre-menu[open] summary svg{transform:rotate(-90deg)}
.lobby-genre-options{position:absolute;left:0;top:calc(100% + 8px);width:160px;padding:5px;background:#0c1c2eeb;border:1px solid #ffffff26;border-radius:16px;box-shadow:0 10px 32px #0004;color:#fff;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.lobby-genre-options button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:11px;background:none;color:#ffffffbf;font-size:14px;text-align:left}
.lobby-genre-options button[aria-pressed=true]{background:#ffffff14;color:#fff}
.lobby-genre-options button svg{width:15px;height:15px}
.lobby-dialogue{position:absolute;left:24px;right:24px;bottom:286px;animation:dialogue-reveal .24s ease-out .06s both}
.lobby-book{margin:0 0 10px;color:#ffffffbf;font-size:13px;font-weight:400;line-height:19px;letter-spacing:.05px}
.lobby-dialogue h2{max-width:340px;margin:0 0 18px;color:#fff;font:400 29px/1.23 Georgia,serif;letter-spacing:-.35px;text-wrap:balance;text-shadow:0 2px 18px #0002}
.lobby-replies{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:100%;padding-top:3px}
.lobby-replies button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;min-width:0;min-height:104px;padding:4px 0 16px;border:0;border-radius:0;background:none;color:#ffffffe6;font:400 17px/24px Georgia,serif;text-align:center;box-shadow:none;transition:color .18s,transform .18s}
.lobby-replies button:after{content:'';position:absolute;left:calc(50% - 22px);right:auto;width:44px;bottom:0;height:1px;background:#ffffff45;transition:background .18s,transform .18s;transform-origin:left}
.lobby-reply-icon{display:block;flex:0 0 44px;width:44px;height:44px;object-fit:contain;opacity:.9;pointer-events:none}
.lobby-replies button>span{min-width:0;white-space:nowrap}
.lobby-replies button:active{transform:translateY(2px);color:#fff}
.lobby-replies button:active:after{background:#fff;transform:scaleX(.9)}
.lobby-continue{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;padding:13px 16px;border:1px solid #ffffff52;border-radius:13px;background:var(--scene-panel);color:#fff;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);font-size:15px;font-weight:500;line-height:22px;transition:background .16s,transform .16s}
.lobby-continue:active{background:#ffffffe6;color:var(--primary);transform:translateY(1px)}
.lobby-stories{position:absolute;left:24px;right:24px;bottom:128px;display:flex;align-items:flex-start;gap:12px}
.lobby-stories button{display:flex;flex:0 0 calc((100% - 24px)/3);flex-direction:column;align-items:stretch;gap:10px;width:calc((100% - 24px)/3);padding:0;border:0;background:none;color:#ffffffa6;text-align:left;transition:color .18s}
.lobby-thumb{display:block;width:100%;height:88px;overflow:hidden;border:1px solid #ffffff26;border-radius:10px;background:#ffffff12;opacity:.76;transition:border-color .18s,opacity .18s,transform .18s}
.lobby-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 18%;pointer-events:none}
.lobby-stories button[aria-pressed=true]{color:#fff}
.lobby-stories button[aria-pressed=true] .lobby-thumb{border-color:#fffffff2;opacity:1;transform:translateY(-2px);box-shadow:0 4px 12px #0003}
.lobby-story-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:34px;font-size:12px;font-weight:400;line-height:17px;letter-spacing:0}
.lobby-stories button[aria-pressed=true] .lobby-story-name{font-weight:500}
.lobby-stories button:active .lobby-thumb{opacity:1;transform:scale(.98)}
.game-lobby button:focus-visible,.play-catalog-head button:focus-visible,.lobby-genre-menu summary:focus-visible{outline:2px solid #fff;outline-offset:4px}
.lobby-genre-options button:focus-visible{outline-color:#fff;outline-offset:-2px}
@media(hover:hover){.lobby-continue:hover{background:#ffffff1d;border-color:#ffffff8c}.lobby-replies button:hover{color:#fff}.lobby-replies button:hover:after{background:#ffffffd9}.lobby-stories button:hover{color:#fff}.lobby-stories button:hover .lobby-thumb{opacity:1}}
@keyframes lobby-reveal{from{opacity:.72;transform:scale(1.012)}to{opacity:1;transform:scale(1)}}
@keyframes dialogue-reveal{from{opacity:.3}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.game-lobby *{animation:none!important;transition:none!important}}

/* Immersive Play uses a dark variant of the shared tab bar. */
.device[data-route=play] .tabbar{background:#0c1c2e99;border-color:#ffffff1f;box-shadow:0 6px 20px #0002}
.device[data-route=play] .tabbar button{color:#ffffff8c}
.device[data-route=play] .tabbar button[aria-current=page]{background:#ffffff17;color:#fff}
.device[data-route=play] .tabbar button:active{background:#ffffff17;color:#fff}
.device[data-route=play] .tabbar button:focus-visible{outline:2px solid #fff;outline-offset:-3px}

/* A quiet, uninterrupted character entrance. */
.play-catalog-head .app-heading h1{font-size:26px;letter-spacing:-.45px}
.lobby-book{font-size:12px;letter-spacing:.12px;color:#ffffffa6;margin-bottom:12px}
.lobby-dialogue h2{margin-bottom:23px;font-size:30px;letter-spacing:-.45px}
.lobby-replies{gap:28px}
.lobby-replies button{gap:12px;color:#ffffffd9}
.lobby-reply-icon{opacity:.88}
.lobby-replies button:after{width:32px;left:calc(50% - 16px);background:#ffffff38}
.lobby-thumb{border-color:#ffffff14;opacity:.68;border-radius:8px}
.lobby-stories button[aria-pressed=true] .lobby-thumb{border-color:#ffffffb3;box-shadow:none}
.lobby-story-name{font-size:12px;line-height:17px;text-wrap:balance}
.device[data-route=play] .tabbar{border-color:#ffffff17;background:#0c1c2e88}

.lobby-reply-icon{transition:transform .18s ease,opacity .18s ease}
.lobby-replies button:focus-visible .lobby-reply-icon{opacity:1}
@media(hover:hover){.lobby-replies button:hover .lobby-reply-icon{opacity:1;transform:translateY(-2px)}}
.lobby-replies button:active .lobby-reply-icon{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.lobby-replies button:hover .lobby-reply-icon{transform:none}}

/* Story voice and interface labels use distinct, consistent type roles. */
.lobby-dialogue{font-kerning:normal;font-variant-ligatures:common-ligatures}
.lobby-book{font:400 12px/18px 'Avenir Next',-apple-system,sans-serif;letter-spacing:.15px;color:#ffffffb3;margin-bottom:13px}
.lobby-dialogue h2{font:400 35px/1.12 'Baskerville','Iowan Old Style','Palatino Linotype',serif;letter-spacing:-.4px;margin-bottom:24px;text-wrap:balance;text-shadow:0 2px 16px #0002}
.lobby-replies button{font:italic 400 19px/25px 'Baskerville','Iowan Old Style','Palatino Linotype',serif;letter-spacing:0;color:#ffffffe6;gap:13px}
.lobby-story-name{font-family:'Avenir Next',-apple-system,sans-serif;font-size:12px;line-height:17px;letter-spacing:0;text-wrap:balance}

/* Response labels remain clear, upright interface actions. */
.lobby-replies button{font:400 16px/24px 'Avenir Next',-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:0;font-variant-ligatures:none}
