.eyebrow{display:block;font-family:var(--sc);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--gilt);margin-bottom:12px}
.text-button{border:0;background:none;color:var(--ember);padding:10px 0;font-weight:700;cursor:pointer;text-align:left;min-height:44px}
.text-button:hover{text-decoration:underline;text-underline-offset:4px}
.actions{flex-wrap:wrap}
.btn{min-height:40px}.btn.small{min-height:34px}.btn:disabled{cursor:not-allowed;opacity:.55}
.btn.primary{color:var(--panel)}
input[type=email],input[type=search]{background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-sm);padding:10px 12px;min-width:0}
h1,h2,p,dd{overflow-wrap:anywhere}
.welcome{max-width:1200px;margin:0 auto}.welcome-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:26px 0}
.welcome-brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:20px}
.welcome-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center;padding:65px 0 80px}
.welcome-hero h1{font-size:clamp(42px,5.2vw,68px);line-height:1.13;letter-spacing:-.03em;margin-bottom:24px}
.welcome-hero p{font-size:19px;line-height:1.65;max-width:50ch;color:var(--muted)}
.welcome-hero .actions{justify-content:flex-start;margin-top:28px}.welcome-hero .btn{padding:12px 20px;font-size:17px}
.welcome-hero .welcome-note{font-size:14px;margin-top:18px}
.welcome-portal{position:relative;min-height:360px;display:grid;place-content:center;text-align:center;isolation:isolate}
.welcome-portal::before{content:"";position:absolute;inset:20px 0;border-radius:50%;z-index:-1;background:radial-gradient(ellipse,var(--gold-glow),transparent 65%);border:1px solid var(--hair);transform:rotate(-15deg)}
.portal-door{width:220px;height:270px;margin:18px auto;border:1px solid var(--gilt);border-radius:120px 120px 10px 10px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 20%,var(--glow),transparent 70%),var(--panel);box-shadow:0 0 70px var(--gold-glow),inset 0 0 50px var(--gold-glow)}
.portal-stars{letter-spacing:16px;color:var(--gilt);font-size:23px}.portal-caption{font-family:var(--serif);font-style:italic;color:var(--muted);line-height:1.7}
.welcome-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;list-style:none;padding:26px 0;margin:0;border-top:1px solid var(--rule)}
.welcome-steps li{display:flex;align-items:flex-start;gap:16px}.welcome-steps li>span{color:var(--gilt);font-family:var(--serif);font-size:28px}
.welcome-steps h2{font-size:20px;margin:4px 0 8px}.welcome-steps h2::after{display:none}.welcome-steps p{color:var(--muted);margin:0;line-height:1.6}
.welcome-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--hair);padding:20px 0;color:var(--muted)}
.auth-card .form input{width:100%}.auth-back{margin-top:20px}.auth-card{max-width:460px}
.home-heading{padding:20px 0}.home-heading h1{font-size:clamp(32px,4vw,48px)}
.continue-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:28px;margin-bottom:22px;background:radial-gradient(ellipse at top right,var(--ember-soft),transparent 80%),var(--panel)}
.continue-card h2{font-size:28px;margin:12px 0}.continue-card h2::after{display:none}.continue-card p{color:var(--muted);max-width:65ch;margin-bottom:0}
.home-options .panel{padding:26px}.home-options h2{margin:14px 0}.home-icon{font-size:28px;color:var(--gilt)}
.home-options p{color:var(--muted);max-width:50ch}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin:28px 0 16px}
.section-heading h2{margin:0}.adventure-library h2{font-size:23px;margin:18px 0 22px}.sheet-card p{margin:6px 0 16px}
.nav-fold{margin:12px 10px;border:1px solid var(--hair);border-radius:10px}.nav-fold summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--muted);padding:12px}
.nav-fold h4{margin-top:12px}.nav-fold button{font-size:13.5px}.nav-group button{padding:10px 12px}.nav-group h4{margin-top:20px}
.nav-hint{margin:20px 22px 0;color:var(--muted);font-size:12px}.library-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:24px 0}
.topbar-more{position:relative}.topbar-more summary{list-style:none;user-select:none}.topbar-more summary::-webkit-details-marker{display:none}.topbar-menu{position:absolute;right:0;top:calc(100% + 8px);width:230px;display:grid;gap:16px;padding:18px;border:1px solid var(--rule);border-radius:12px;background:var(--panel);box-shadow:var(--shadow-lg)}
.library-heading h1{font-size:clamp(30px,4vw,46px);margin-bottom:10px}.library-heading p{margin-bottom:0}
.library-tabs{display:flex;gap:6px;border-bottom:1px solid var(--rule);margin-bottom:24px;overflow:auto;padding-bottom:10px}.library-tabs .btn{white-space:nowrap}
.library-help{margin:26px 0;color:var(--muted);font-size:14px}.library-help summary{cursor:pointer}
.starter-intro{padding:18px 22px;margin:0 0 22px}.starter-intro h2{font-size:23px;margin:0 0 6px}.starter-intro h2::after{display:none}.starter-intro p{margin:0;color:var(--muted)}
.starter-genres{gap:8px}.starter-genres .btn{min-height:38px}.starter-search{max-width:none;margin:18px 0}.starter-search input{font-size:16px;padding:13px 16px}
.world-card{padding:0;gap:0;border-top:0}.world-cover{height:118px;display:flex;align-items:center;justify-content:space-between;padding:24px 28px;position:relative;overflow:hidden;border-bottom:1px solid var(--hair);background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--world-accent,var(--gilt)) 20%,transparent),transparent 68%),linear-gradient(135deg,var(--panel2),var(--panel3))}
.world-cover::before{content:"";position:absolute;width:220px;height:220px;right:-70px;border:1px solid color-mix(in srgb,var(--world-accent,var(--gilt)) 45%,transparent);border-radius:50%;box-shadow:0 0 0 30px var(--hair),0 0 0 60px var(--hair)}
.world-cover .world-emblem{font-size:44px;position:relative;color:var(--world-accent,var(--gilt));padding:0}.world-cover .tag{position:relative;background:var(--panel);color:var(--ink)}
.world-card-body{padding:22px;display:flex;flex-direction:column;flex:1;gap:12px}.world-card h2{margin:0;font-size:25px}.world-card h2::after{display:none}.world-card-body p{margin:0}.world-card-body>.muted{font-size:13px}
.world-card .actions{padding-top:8px;gap:8px}.world-card .world-more{margin-top:8px;color:var(--muted);font-size:13px}.world-more summary{cursor:pointer;padding:8px 0}.world-more .actions{margin-top:0}
.worlds-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,285px),1fr))}.catalog-card{padding:24px}
.setup-steps{display:flex;gap:18px;list-style:none;padding:0;margin:0 0 24px;color:var(--muted);font-size:13px}.setup-steps .current{color:var(--ember);font-weight:700}
.setup-options{display:grid;gap:12px;margin:20px 0;border:0;padding:0}.setup-options legend{margin-bottom:12px;font-weight:700}.setup-option{display:flex;align-items:flex-start;gap:12px;padding:18px;border:1px solid var(--rule);border-radius:12px;cursor:pointer;background:var(--panel)}
.setup-option:has(input:checked){border-color:var(--ember);box-shadow:0 0 0 1px var(--ember);background:var(--ember-soft)}
.setup-option input{margin-top:5px;accent-color:var(--ember)}.setup-option b{display:block;margin-bottom:6px}.setup-option small{display:block;color:var(--muted);line-height:1.55;font-size:14px}
.setup-review{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.setup-review .panel{box-shadow:none}.setup-review p{margin:0;color:var(--muted)}
.setup-details{margin:18px 0}.setup-details summary{cursor:pointer;font-weight:700;padding:12px 0}.setup-details .grid{margin-top:14px}
.world-editor-section{grid-column:1/-1;border-top:1px solid var(--hair);padding:12px 0}.world-editor-section summary{cursor:pointer;font-weight:700;color:var(--gilt);padding:8px 0}.world-editor-section .form{margin-top:12px}
.visibility-note{padding:18px;border:1px solid var(--rule);border-radius:12px;margin:20px 0}.visibility-note p{margin:8px 0;font-size:13px}
.getting-started{padding-left:22px;margin:0;line-height:1.9}.story-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:8px 0 22px}.story-heading h1{font-size:clamp(25px,3vw,34px);margin:8px 0}.story-heading .tag{font-size:11px}
.story-heading p{margin:0;color:var(--muted)}.story-heading .btn{white-space:nowrap}.play-scene{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;color:var(--muted);font-size:13px;padding:4px 0 14px}
.adventure-layout{grid-template-columns:minmax(0,1fr) 290px;gap:22px}.adventure-story .lm-log{padding:clamp(18px,3vw,36px);height:clamp(240px,calc(100dvh - 455px),560px);max-height:none;min-height:240px}
.lm-log{overflow-anchor:none}.lm-msg.gm{max-width:68ch}.lm-msg.you{max-width:54ch;margin-top:12px;margin-bottom:24px;padding:14px 18px}.lm-msg.gm p{margin-bottom:1em}
.lm-chip{display:block;max-width:100%;width:fit-content;border-radius:10px;font-size:12px;padding:6px 12px}.lm-chip summary{cursor:pointer}.lm-chip p{max-width:65ch;overflow-wrap:anywhere;margin:10px 0 4px}
.adventure-settings{margin:16px 0 0;font-size:14px}.adventure-settings summary{min-height:26px}.lm-bar .lm-set{flex-direction:column;align-items:flex-start}.lm-bar select{max-width:100%;font-size:14px}.lm-cost{margin:16px 0 4px;line-height:1.6}
.play-compose{position:sticky;bottom:12px;z-index:2;border:1px solid var(--rule);border-radius:14px;padding:14px;background:var(--panel);margin-top:12px;box-shadow:var(--shadow)}
.play-compose .lm-compose{margin:0}.play-compose textarea{border:0;background:transparent;padding:4px;min-height:66px;font-size:17px}.play-compose textarea:focus{box-shadow:none;outline:none}.play-compose:focus-within{border-color:var(--ember)}
.compose-help{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;color:var(--muted);font-size:12px}.compose-help .text-button{font-size:12px;min-height:24px;padding:0}
.context-tabs{display:flex;gap:6px;margin-bottom:14px}.context-tabs .btn{flex:1}.play-context{min-width:0;position:sticky;top:86px}.context-toggle{display:none}.adventure-aside{max-height:76vh;overflow:auto;padding:1px 4px 5px 1px;scrollbar-width:thin}
.adventure-aside .panel h2{font-size:22px;margin:4px 0 14px}.adventure-aside dd{max-width:140px;text-align:right}.adventure-aside .text-button{font-size:14px}.journal-section{padding:12px 0;border-bottom:1px solid var(--hair)}
.journal-section p{font-size:13px;margin:0}.journal-section ul{font-size:13px;color:var(--muted);padding-left:18px;margin:0}.context-contents .rc-row input{width:100%}
.play-retry{border-left:3px solid var(--ember);margin:14px 0}.play-retry p{margin:0 0 8px}.play-retry .muted{font-size:13px}
@media(max-width:1100px){.adventure-layout{grid-template-columns:1fr}.play-context{position:static}.context-toggle{display:flex;width:100%;justify-content:space-between;margin:6px 0}.context-contents{display:none;padding:12px 0}.play-context.is-open .context-contents{display:block}.adventure-aside{max-height:none;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.welcome-hero{gap:24px}.welcome-portal{min-height:300px}}
@media(max-width:600px){.welcome-bar{padding:18px 0}.welcome-brand{font-size:17px}.welcome-hero{grid-template-columns:1fr;padding:36px 0 40px;gap:24px}.welcome-hero p{font-size:17px}.welcome-portal{display:none}.welcome-steps{grid-template-columns:1fr;gap:22px}.welcome-footer{font-size:13px}.topbar #worldLibrary{display:none}.topbar .toggle{font-size:12px}.home-options .panel,.continue-card{padding:22px}.library-heading{margin-top:16px}.setup-review{grid-template-columns:1fr}.setup-steps{gap:12px;font-size:12px}.story-heading{align-items:flex-start}.story-heading .btn{font-size:12px;padding:6px 10px}.adventure-story .lm-log{max-height:52vh;min-height:280px}.adventure-story .lm-msg.gm{font-size:17px;line-height:1.75}.lm-compose{align-items:stretch}.lm-compose .btn{height:auto;padding:8px 12px}.compose-help{font-size:11px}.btn.small{min-height:40px}.worlds-grid,.grid{grid-template-columns:minmax(0,1fr)}.world-cover{height:105px}.world-cover .world-emblem{font-size:40px}.lm-bar select{width:100%}.lm-bar .lm-set{width:100%}.auth{padding-top:40px}}
@media(max-width:600px){.adventure-story .lm-log{height:clamp(180px,calc(100dvh - 510px),340px);max-height:none;min-height:180px}.play-compose{bottom:env(safe-area-inset-bottom,8px)}.adventure-actions .btn{min-height:44px}}
@media(max-width:600px){.topbar #newCamp{display:none}.topbar #campSel{flex:1;max-width:none;min-width:120px;width:120px}.topbar>.grow{display:none}}
