:root{color-scheme:dark;--bg:#111114;--surface:#1b1b21;--text:#f5f5f8;--muted:#b0afb9;--line:#33333e;--accent:#9175ff;--purple:#7956ed;--radius:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic","Apple SD Gothic Neo",sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #b5a2ff;outline-offset:5px}img{max-width:100%}h1,h2,h3,p{margin:0}button{cursor:pointer}.skip{position:fixed;top:-100px;left:16px;z-index:99;background:white;color:black;padding:10px}.skip:focus{top:10px}.site-header{max-width:1360px;margin:auto;min-height:100px;display:flex;align-items:center;gap:40px;padding:22px 40px;border-bottom:1px solid var(--line)}.wordmark{font-size:28px;line-height:1;font-weight:900;letter-spacing:-1.6px;white-space:nowrap}.brand-dot{color:var(--accent)}.site-header nav{display:flex;gap:30px;margin-left:auto}.site-header nav a{color:var(--muted);font-size:15px;font-weight:600;position:relative;padding:8px 0}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--text)}.site-header nav a[aria-current]:after{content:"";position:absolute;height:3px;left:0;right:0;bottom:0;background:var(--accent);border-radius:3px}.header-studio{border:1px solid #555260;padding:10px 16px;border-radius:9px;font-size:14px;white-space:nowrap}.header-studio span{margin-left:14px}.home-hero{max-width:1360px;margin:auto;padding:54px 40px 0;display:grid;grid-template-columns:1.04fr 1fr;column-gap:28px;position:relative}.hero-copy{padding:25px 0 45px;align-self:center}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:750;color:var(--muted);display:block}.hero-copy .eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:24px;color:#d1ceda}.small-dot{width:8px;height:8px;background:var(--accent);border-radius:50%}.hero-copy h1{font-size:clamp(40px,4.8vw,68px);letter-spacing:-3px;line-height:1.2;font-weight:800;word-break:keep-all}.hero-copy h1>span{color:var(--accent)}.hero-copy p{color:var(--muted);margin-top:25px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:32px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:14px 20px;border-radius:9px;font-weight:650;font-size:15px;transition:background .15s,transform .15s}.button.primary{background:#8968f5;color:white}.button.primary:hover{background:#9c80ff;transform:translateY(-2px)}.button.outline{border:1px solid #77717f}.text-link{font-size:14px;font-weight:650;white-space:nowrap}.text-link:hover{color:var(--accent)}.hero-portrait{position:relative;min-height:535px;overflow:hidden;background:#a48be6;border-radius:24px 24px 5px 5px;isolation:isolate}.hero-portrait:before{content:"";position:absolute;inset:30px;border:1px solid #efe8ff66;border-radius:220px 220px 0 0;z-index:-1}.hero-portrait img{position:absolute;bottom:-5%;height:108%;width:auto;max-width:none;left:50%;transform:translateX(-50%);object-fit:contain}.portrait-word{position:absolute;left:24px;top:17px;font-size:clamp(44px,5.4vw,78px);font-weight:900;letter-spacing:-4px;line-height:1;color:#39225433}.portrait-caption{position:absolute;bottom:18px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:17px;font-weight:700;text-shadow:0 1px 8px #000}.portrait-caption span{font-size:11px;letter-spacing:2px;font-weight:600}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:24px 0;font-size:11px;letter-spacing:1.6px;color:var(--muted)}.hero-bottom a{font-size:13px;letter-spacing:0}.section{max-width:1360px;margin:auto;padding:72px 40px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.section-heading h2{font-size:32px;line-height:1.35;letter-spacing:-1px;margin-top:9px}.section-heading .eyebrow{color:var(--accent)}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.game-card,.studio-card{padding:27px;border-radius:16px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .18s,border-color .18s}.game-card:hover,.studio-card:hover{transform:translateY(-4px);border-color:#a28bd3}.game-top{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#d6cfea}.game-top>span:last-child{font-size:25px}.game-card h3{font-size:23px;line-height:1.3;letter-spacing:-.6px}.game-card p,.studio-card p{font-size:14px;color:var(--muted);line-height:1.7;margin:12px 0 24px}.game-action{font-size:14px;font-weight:700;display:flex;justify-content:space-between;margin-top:auto;padding-top:18px;border-top:1px solid #ffffff24}.tone-0{background:#282133;border-color:#473858}.tone-1{background:#20272a}.tone-2{background:#292222}.taste-motif{position:relative;height:140px;display:flex;justify-content:center;align-items:center;margin:8px 0 20px}.taste-motif span{width:94px;height:116px;border:1px solid #b8a3e5;border-radius:9px;display:grid;place-items:center;font-size:13px;font-weight:700;box-shadow:0 6px 18px #0002;background:#ede6fd;color:#362348;transform:rotate(-13deg)}.taste-motif span+span{margin-left:-16px;background:#a280dc;transform:rotate(11deg);color:#21132f}.game-type{font-size:49px;letter-spacing:-2px;font-weight:850;height:168px;display:flex;align-items:center;justify-content:space-between;color:#d0d7d6}.game-type span{color:#819e96;font-weight:400}.game-thumb{width:100%;height:145px;object-fit:cover;border-radius:8px;margin:18px 0}.studio-card{background:#7753dc;color:white;border-color:transparent;justify-content:space-between;min-height:360px}.studio-card .eyebrow,.studio-card p{color:#f0eaff}.studio-card h3{font-size:32px;line-height:1.3;letter-spacing:-1px;margin-top:27px}.archive-section{border-top:1px solid var(--line)}.record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}.record-card{min-width:0}.record-image{display:block;position:relative;background:#25252e;border-radius:12px;overflow:hidden;aspect-ratio:16/9}.record-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.record-image:hover img{transform:scale(1.03)}.play-mark{position:absolute;right:12px;bottom:12px;background:#17141fdd;border:1px solid #ffffff44;width:35px;height:35px;display:grid;place-items:center;border-radius:50%}.record-info{padding-top:17px}.meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;gap:15px}.meta>span{color:#c3acef}.record-info h3{font-size:19px;font-weight:650;line-height:1.5;margin-top:9px;word-break:keep-all}.record-info p{color:var(--muted);font-size:14px;margin-top:10px}.image-fallback{padding:25px;display:block;font-size:30px;line-height:1.2;letter-spacing:-1px;font-weight:800;color:#b09ccd}.workshop-banner{max-width:1280px;margin:0 auto 64px;background:#211d29;border-top:1px solid #514258;border-bottom:1px solid #514258;padding:40px;display:flex;justify-content:space-between;align-items:center;gap:25px}.workshop-banner h2{font-size:27px;line-height:1.4;letter-spacing:-.8px;margin-top:12px}.site-footer{max-width:1360px;margin:auto;display:flex;align-items:center;gap:35px;padding:32px 40px 45px;border-top:1px solid var(--line)}.site-footer>span{font-size:13px;color:var(--muted)}.site-footer>a:last-child{font-size:13px;color:var(--muted);margin-left:auto}.site-footer .wordmark{font-size:22px}.page-main{min-height:70vh}.page-heading{margin-bottom:46px}.page-heading .eyebrow{color:var(--accent)}.page-heading h1{font-size:clamp(35px,4.1vw,56px);letter-spacing:-2px;line-height:1.3;margin:15px 0}.page-heading p{color:var(--muted)}.archive-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:24px;margin-bottom:26px;border-bottom:1px solid var(--line)}.filter-tabs{display:flex;gap:12px;flex-wrap:wrap}.filter-tabs a{padding:8px 14px;background:var(--surface);border:1px solid var(--line);border-radius:30px;font-size:14px;white-space:nowrap}.filter-tabs a[aria-current]{background:#e9e0fc;color:#30213d;border-color:#e9e0fc}.filter-tabs span{margin-left:5px;opacity:.7}.search{display:flex;gap:5px}.search input{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:10px 12px;color:white;max-width:230px;width:100%;min-width:0;font-size:14px}.search button{background:#383044;color:white;border:0;border-radius:7px;padding:9px 13px;font-size:14px;white-space:nowrap}.empty-state{padding:55px 25px;border:1px dashed var(--line);border-radius:14px;text-align:center;color:var(--muted)}.empty-state h2{font-size:22px;margin-bottom:15px}.small-banner{border:1px solid var(--line);border-radius:14px;padding:30px;margin-top:40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.small-banner h2{font-size:22px}.small-banner p{color:var(--muted);margin-top:5px;font-size:14px}.project-row{display:grid;grid-template-columns:70px 1fr 45px;gap:24px;align-items:center;padding:30px 0;border-top:1px solid var(--line)}.project-row:last-child{border-bottom:1px solid var(--line)}.project-num{color:#80778f;font-size:17px}.project-row h2{font-size:26px;letter-spacing:-.8px;margin:5px 0}.project-row p{color:var(--muted);font-size:15px}.project-arrow{font-size:30px;color:var(--accent)}.project-row:hover h2{color:var(--accent)}@media(min-width:1600px){.home-hero{padding-top:70px}.hero-portrait{min-height:565px}}@media(max-width:1000px){.site-header{gap:22px;padding-inline:26px}.site-header nav{gap:20px}.header-studio{font-size:12px;padding:8px 10px}.home-hero{padding-inline:26px;gap:20px}.hero-copy h1{font-size:48px}.hero-portrait{min-height:510px}.hero-actions{gap:16px}.section{padding:55px 26px}.game-grid{gap:15px}.game-card,.studio-card{padding:21px}.studio-card h3{font-size:27px}.workshop-banner{margin-inline:26px}.site-footer{padding-inline:26px}}@media(max-width:720px){.site-header{padding:20px;flex-wrap:wrap;gap:18px}.wordmark{font-size:25px}.site-header nav{order:3;width:100%;justify-content:space-between;gap:15px}.site-header nav a{font-size:14px}.header-studio{margin-left:auto}.home-hero{display:flex;flex-direction:column;padding:34px 20px 0;gap:0}.hero-copy{width:100%;padding:5px 0 32px}.hero-copy .eyebrow{margin-bottom:18px}.hero-copy h1{font-size:clamp(38px,9.5vw,58px);letter-spacing:-1.8px}.hero-copy h1 br:nth-child(2){display:none}.hero-copy p{font-size:15px;margin-top:20px}.hero-portrait{min-height:390px;width:100%;border-radius:18px 18px 4px 4px}.hero-portrait img{height:117%;bottom:-12%}.portrait-word{font-size:64px}.hero-bottom{font-size:9px;gap:12px;letter-spacing:.7px;padding:19px 0}.hero-bottom a{font-size:11px;white-space:nowrap}.section{padding:44px 20px}.section-heading{gap:15px;align-items:flex-start}.section-heading h2{font-size:25px}.section-heading>.text-link{font-size:12px;margin-top:25px}.game-grid,.record-grid{grid-template-columns:1fr;gap:22px}.game-card,.studio-card{padding:25px}.game-card{min-height:340px}.studio-card{min-height:310px}.record-image{max-height:none}.record-info h3{font-size:20px}.workshop-banner{margin:0 20px 38px;padding:28px;display:block}.workshop-banner h2{font-size:23px}.workshop-banner .button{margin-top:25px}.site-footer{padding:27px 20px;gap:18px;flex-wrap:wrap}.site-footer>span{font-size:12px}.site-footer>a:last-child{margin-left:0;width:100%}.page-main{padding-top:35px}.page-heading{margin-bottom:30px}.page-heading h1{letter-spacing:-1.4px}.archive-toolbar{align-items:stretch;flex-direction:column}.search input{max-width:none}.small-banner{padding:25px;display:block}.small-banner .button{margin-top:22px}.project-row{grid-template-columns:30px 1fr 25px;gap:12px}.project-row h2{font-size:22px}.project-row p{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.home-games{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.record-grid:has(>.record-card:only-child){grid-template-columns:minmax(0,620px)}.lobby{max-width:800px}.lobby-panel{padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:16px;margin-top:30px}.lobby-panel h2{font-size:25px}.lobby-panel p{color:var(--muted);margin:10px 0 24px}.room-links{margin-top:26px;display:grid;gap:18px}.room-link-row{display:grid;gap:7px}.room-link-row label{font-size:14px;color:var(--muted)}.room-link-row input{padding:12px;background:#111114;color:#ddd;border:1px solid var(--line);border-radius:7px;width:100%;font-size:14px}.room-link-row>a{font-size:14px;color:var(--accent)}.lobby-step{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.lobby-step span{color:var(--accent);font-weight:700}.lobby-help{margin-top:30px;color:var(--muted);font-size:14px}@media(max-width:720px){.home-games{grid-template-columns:1fr}.lobby-panel{padding:24px}}

/* Shared public content frame. Full-screen home hero / OBS / game canvas are excluded. */
:root{--q-content-width:1180px;--q-page-gutter:24px;--q-frame-width:calc(var(--q-content-width) + 2 * var(--q-page-gutter))}
body:not([data-qa-admin]) :is(main.page-main,main.moon-section,main.item-detail,main.about-page,main.roulette-page,.spark-hero,.spark-how,.spark-playlists,.story-hero,.story-body,.q-content-frame),
body:not([data-qa-admin]) > :is(.site-header,.site-footer){
 box-sizing:border-box;width:100%!important;max-width:var(--q-frame-width)!important;margin-left:auto!important;margin-right:auto!important;padding-left:var(--q-page-gutter)!important;padding-right:var(--q-page-gutter)!important;min-width:0;
}
@media(max-width:720px){:root{--q-page-gutter:18px}}

.site-header{gap:26px}.site-header nav{gap:24px}.header-social{display:flex;align-items:center;gap:16px;flex-shrink:0;border-left:1px solid #ffffff35;padding-left:22px}.header-social a{font-size:12px;font-weight:600;white-space:nowrap;color:inherit;padding:8px 0}.header-social a:hover{color:#d8c3ef}.header-social a span{font-size:10px;opacity:.7;margin-left:3px}
@media(max-width:1100px) and (min-width:721px){.site-header{flex-wrap:wrap;gap:12px 22px}.site-header nav{order:3;width:100%;justify-content:flex-end;margin:0}.header-social{margin-left:auto}.home-hero{padding-top:170px}}
@media(max-width:720px){.header-social{margin-left:auto;gap:12px;padding-left:0;border:0}.header-social a{font-size:11px}.header-social a span{display:none}.site-header nav{order:3;gap:12px}.site-header nav a{font-size:12px}}
.header-social{gap:6px}.header-social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:9px;border-radius:50%;color:#f2eaf5;transition:background .15s,color .15s}.header-social a:hover{background:#ffffff18;color:#e2c7f0}.header-social svg{width:22px;height:22px;display:block}.header-social a:focus-visible{outline:2px solid #e2c7f0;outline-offset:2px}@media(max-width:720px){.header-social{gap:2px}.header-social a{width:36px;height:36px;padding:8px}.header-social svg{width:20px;height:20px}}

/* Shared navigation: reserve scrollbar width before content loads. */
html{scrollbar-gutter:stable;scroll-padding-top:160px}
@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}
body:has(>.site-header){overflow-x:clip!important}
body>.site-header{position:sticky!important;top:0!important;z-index:100!important;background:#17131e!important;box-shadow:0 1px 0 #ffffff12}
.back-to-top{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:90;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid #b6a0cf70;border-radius:50%;background:#241b30;color:#f5ecff;box-shadow:0 4px 18px #0005;font-size:24px;line-height:1}
.back-to-top:hover{background:#493456}.back-to-top:focus-visible{outline:3px solid #cfaff0;outline-offset:4px}
@media(max-width:720px){.back-to-top{width:44px;height:44px;right:14px;bottom:max(18px,env(safe-area-inset-bottom))}html{scroll-padding-top:180px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Header has its own palette, independent of light public-page themes. */
body>.site-header{--text:#f5f5f8;--muted:#b0afb9;--accent:#9175ff;--icon-cutout:#17131e;color:#f5f5f8!important;border-color:#33333e!important}
body>.site-header .header-social{border-color:#ffffff35!important}
body>.site-header .header-social a{color:#f2eaf5!important}
body>.site-header .header-social a:hover{color:#e2c7f0!important;background:#ffffff18!important}
