:root{--catalog-bg:#101119;--catalog-panel:#191c27;--catalog-panel-raised:#202330;--catalog-line:#ffffff1a;--catalog-text:#f6f7fb;--catalog-muted:#a0a5b4;--catalog-accent:#7b82ff;--catalog-green:#62d49a}*{box-sizing:border-box}body{background:var(--catalog-bg);color:var(--catalog-text)}a{color:inherit;text-decoration:none}.catalog-shell{width:min(100% - 32px,720px);min-height:100dvh;padding:20px 0 calc(92px + env(safe-area-inset-bottom));margin:0 auto}.catalog-header{justify-content:space-between;align-items:center;min-height:44px;display:flex}.brand{align-items:center;gap:10px;font-size:18px;font-weight:600;display:inline-flex}.brand-mark{background:var(--catalog-accent);color:#fff;border-radius:11px;place-items:center;width:34px;height:34px;font-size:17px;display:grid}.top-nav{order:3;align-items:center;gap:7px;display:flex}.top-nav>a:not(.profile-link){display:none}.top-nav a{align-items:center;min-block-size:44px;transition:color .16s;display:inline-flex}.top-nav a:hover,.top-nav a:focus-visible{color:var(--catalog-text)}.profile-link{border:1px solid var(--catalog-line);background:var(--catalog-panel);min-height:40px;color:var(--catalog-text);border-radius:12px;align-items:center;gap:8px;padding:6px 10px 6px 7px;font-size:13px;font-weight:500;display:inline-flex}.profile-avatar{color:#cfd3ff;background:#303548;border-radius:9px;place-items:center;width:27px;height:27px;font-size:12px;display:grid}.profile-tickets{color:var(--catalog-muted);font-variant-numeric:tabular-nums}.catalog-intro{padding:48px 0 34px}.eyebrow{color:var(--catalog-accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:600}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}h1{letter-spacing:-.045em;max-width:560px;margin-bottom:16px;font-size:clamp(38px,8vw,62px);font-weight:600;line-height:1.02}.intro-copy{max-width:500px;color:var(--catalog-muted);margin-bottom:24px;font-size:16px;line-height:1.5}.live-summary{border:1px solid var(--catalog-line);background:var(--catalog-panel);min-height:38px;color:var(--catalog-muted);border-radius:11px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:inline-flex}.live-summary strong{color:var(--catalog-text);font-variant-numeric:tabular-nums;font-size:16px}.live-dot{background:var(--catalog-green);border-radius:50%;width:7px;height:7px;display:inline-block}.catalog-section{margin-top:28px}.section-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px;display:flex}h2{letter-spacing:-.03em;margin-bottom:0;font-size:23px;font-weight:500}.section-heading .eyebrow{margin-bottom:8px}.section-count{color:var(--catalog-muted);font-size:12px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.game-card{border:1px solid var(--catalog-line);background:var(--catalog-panel);border-radius:15px;transition:border-color .16s,transform .16s;overflow:hidden}.game-card:hover,.game-card:focus-visible{border-color:#7b82ffb3;transform:translateY(-2px)}.game-cover{aspect-ratio:1.36;background:#4d496f;place-items:center;display:grid;position:relative;overflow:hidden}.game-cover img{object-fit:cover;width:100%;height:100%}.cover-letter{color:#fff;letter-spacing:-.08em;font-size:80px;font-weight:600}.game-card-1 .game-cover{background:#28565d}.game-card-2 .game-cover{background:#704a4f}.game-card-3 .game-cover{background:#3c5a49}.cover-art{color:#ffffffe6;background:#ffffff1f;border:1px solid #ffffff47;border-radius:22px;place-items:center;width:70px;height:70px;font-size:38px;font-weight:500;display:grid;box-shadow:0 12px 28px #0000002e}.live-badge{color:var(--catalog-text);background:#101119cc;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;font-size:11px;font-weight:500;display:inline-flex;position:absolute;bottom:9px;left:9px}.game-meta{padding:12px 13px 14px}.game-meta h3{letter-spacing:-.02em;margin-bottom:5px;font-size:16px;font-weight:500}.game-meta p{min-height:34px;color:var(--catalog-muted);margin-bottom:10px;font-size:12px;line-height:1.4}.game-action{color:#c9ccff;justify-content:space-between;align-items:center;font-size:12px;font-weight:500;display:flex}.game-action span:last-child{color:var(--catalog-muted);font-weight:400}.live-section{margin-top:38px}.player-strip{flex-wrap:wrap;gap:10px;display:flex}.player{border:1px solid var(--catalog-line);background:var(--catalog-panel);border-radius:11px;align-items:center;gap:9px;min-width:176px;padding:9px 10px;display:flex}.player-avatar{color:#cfd3ff;background:#303548;border-radius:9px;place-items:center;width:30px;height:30px;font-size:13px;font-weight:500;display:grid}.player strong,.player small{display:block}.player strong{font-size:12px;font-weight:500}.player small{color:var(--catalog-muted);margin-top:2px;font-size:10px}.empty-live{color:var(--catalog-muted);margin-bottom:0;font-size:13px}.catalog-footer{border-top:1px solid var(--catalog-line);color:var(--catalog-muted);justify-content:space-between;margin-top:48px;padding-top:16px;font-size:11px;display:flex}.game-page{max-width:960px;margin:0 auto;padding:28px 32px 48px}.game-page-copy{padding:72px 0 28px}.game-page-copy h1{margin-bottom:14px}.game-frame{border:1px solid var(--catalog-line);background:#15171c;border-radius:16px;width:100%;height:min(68dvh,680px);display:block}.game-coming{border:1px dashed var(--catalog-line);min-height:280px;color:var(--catalog-muted);background:var(--catalog-panel);border-radius:16px;place-items:center;display:grid}.workshop-shell{max-width:720px}.workshop-copy{padding:52px 0 26px}.workshop-copy h1,.workshop-empty h1{margin-bottom:16px}.workshop-empty{padding:72px 0 56px}.workshop-auth{max-width:560px}.workshop-auth-mark{background:var(--catalog-accent);color:#fff;border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:28px;font-size:22px;font-weight:600;display:grid}.workshop-auth h1{margin-bottom:16px}.workshop-auth-note{color:var(--catalog-text);margin:0;font-size:13px}.auth-spinner{width:28px;height:28px;accent-color:var(--catalog-accent);margin-top:20px;display:block}.workshop-button{background:var(--catalog-accent);color:#fff;border-radius:11px;align-items:center;min-height:42px;padding:0 16px;font-size:13px;font-weight:500;display:inline-flex}.workshop-projects{margin-top:16px}.workshop-project-list{gap:10px;display:grid}.workshop-project{border:1px solid var(--catalog-line);background:var(--catalog-panel);border-radius:13px;padding:15px 16px}.workshop-project strong{font-size:15px;font-weight:500}.workshop-project p{color:var(--catalog-muted);margin:6px 0 0;font-size:12px}.workshop-form{border-top:1px solid var(--catalog-line);gap:12px;margin-top:32px;padding-top:28px;display:grid}.workshop-form label{color:var(--catalog-muted);font-size:12px}.workshop-form input,.workshop-form textarea{border-color:var(--catalog-line);background:var(--catalog-panel);color:var(--catalog-text);border-radius:11px}.workshop-form textarea{min-height:280px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.workshop-form button{background:var(--catalog-accent);color:#fff;border-radius:11px;min-height:42px;font-size:13px;font-weight:500}.workshop-status{color:var(--catalog-muted);font-size:12px}.workshop-preview{border:1px solid var(--catalog-line);background:#fff;border-radius:12px;width:100%;min-height:320px}@media (max-width:760px){.catalog-shell{padding:20px 0 calc(92px + env(safe-area-inset-bottom))}.game-page{padding:20px 16px 36px}.section-count{text-align:right}.game-page-copy{padding:56px 0 24px}.game-frame{height:66dvh}}.bottom-nav{z-index:10;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));border:1px solid var(--catalog-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#191c27f0;border-radius:16px;grid-template-columns:repeat(2,1fr);gap:4px;width:min(100% - 32px,420px);margin:auto;padding:4px;display:grid;position:fixed;left:16px;box-shadow:0 12px 35px #00000047}.bottom-nav a{min-height:40px;color:var(--catalog-muted);border-radius:11px;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:500;display:flex}.bottom-nav a[aria-current=page]{background:var(--catalog-panel-raised);color:var(--catalog-text)}.bottom-nav svg{width:17px;height:17px}@media (prefers-reduced-motion:reduce){.auth-spinner{animation-duration:6s}}@media (min-width:760px){.catalog-shell,.game-page{width:min(100% - 64px,960px)}.top-nav>a:not(.profile-link){min-height:40px;color:var(--catalog-muted);align-items:center;font-size:13px;display:inline-flex}.catalog-intro{padding:84px 0 44px}.game-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.bottom-nav{left:auto;right:50%;transform:translate(50%)}}.catalog-profile{border:1px solid var(--catalog-line);background:var(--catalog-panel);border-radius:14px;align-items:center;gap:12px;margin-top:28px;padding:12px;display:flex}.catalog-profile .profile-avatar{border-radius:12px;width:42px;height:42px;font-size:18px}.catalog-profile-name{gap:3px;display:grid}.catalog-profile-name strong{font-size:15px;font-weight:600}.catalog-profile-name small{color:var(--catalog-muted);font-size:12px}.catalog-auth-error{color:#ffd0c9;border:1px solid #a35a52;border-radius:10px;margin:16px 0 0;padding:12px;font-size:13px}.catalog-auth-error button{color:inherit;background:0 0;margin-left:8px;padding:0;font-weight:600;text-decoration:underline}.catalog-profile+.catalog-intro{padding-top:32px}.featured-game{aspect-ratio:16/9;background:#34313f;border-radius:18px;align-items:end;gap:16px;min-height:190px;padding:20px;display:flex;position:relative;overflow:hidden}.featured-game>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.featured-game-shade{background:linear-gradient(#0000,#0a0c12e0);position:absolute;inset:35% 0 0}.featured-game-details{gap:4px;margin-right:auto;display:grid;position:relative}.featured-game-details strong{font-size:clamp(24px,6vw,36px);line-height:1}.featured-game-details small{font-size:13px}.featured-game-play{color:#1b1b21;background:#f8f5ed;border-radius:10px;place-items:center;min-height:44px;padding:0 18px;font-size:13px;font-weight:600;display:grid;position:relative}.featured-game:focus-visible,.game-card:focus-visible,.bottom-nav a:focus-visible{outline-offset:3px;outline:2px solid #fff}@media (max-width:360px){.featured-game{min-height:168px;padding:14px}.featured-game-play{padding:0 12px}}
