@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&display=swap";:root{--paper-0: #ffffff;--paper-50: #f9f9f9;--paper-100: #f4f4f4;--paper-200: #ececec;--paper-300: #e5e5e5;--paper-400: #d0d0d0;--ink-500: #5d5d5d;--ink-600: #6b6b6b;--ink-700: #333333;--ink-950: #0d0d0d;--night-950: #181818;--night-900: #212121;--night-850: #2a2a2a;--night-800: #303030;--night-700: #3a3a3a;--night-600: #4a4a4a;--mist-100: #ececec;--mist-200: #cfcfcf;--mist-400: #b4b4b4;--mist-500: #9a9a9a;--stone-950: #080a0c;--stone-900: #101418;--stone-850: #171c21;--gem-50: #e6edff;--gem-200: #a9c0ff;--gem-300: #8fb0ff;--gem-400: #5f8bff;--gem-500: #2350e0;--gem-700: #1a3db0;--gem-800: #142f8a;--gem-900: #1c2a52;--ember-700: #c2410c;--ember-400: #ff8a5c;--moss-700: #2f6b1e;--moss-400: #8fcf6a;--violet-700: #6941c6;--violet-300: #b79bff;--red-700: #c62828;--red-400: #ff6b6b;--font-sans: ui-sans-serif, -apple-system, "Segoe UI", "Noto Sans KR", sans-serif;--font-display: var(--font-sans);--font-mono: ui-monospace, "SFMono-Regular", Consolas, "Noto Sans KR", monospace;--fs-caption: 12px;--fs-small: 13px;--fs-body-sm: 14px;--fs-body: 15px;--fs-lead: 16px;--radius-sm: 10px;--radius-md: 18px;--radius-lg: 24px;--radius-pill: 999px;--color-bg: var(--paper-0);--color-sidebar: var(--paper-50);--color-surface: var(--paper-100);--color-surface-raised: var(--paper-200);--color-screen: var(--stone-900);--color-scrim: color-mix(in srgb, var(--ink-950) 40%, transparent);--color-line: var(--paper-300);--color-line-strong: var(--paper-400);--color-text: var(--ink-950);--color-text-soft: var(--ink-700);--color-text-muted: var(--ink-500);--color-text-placeholder: var(--ink-600);--color-on-screen: #ffffff;--accent: var(--gem-700);--accent-strong: var(--gem-800);--accent-fill: var(--gem-500);--accent-fill-hover: var(--gem-700);--on-accent: #ffffff;--accent-soft: var(--gem-50);--accent-line: color-mix(in srgb, var(--gem-500) 50%, transparent);--heat: var(--ember-700);--heat-soft: color-mix(in srgb, var(--ember-700) 10%, transparent);--success: var(--moss-700);--danger: var(--red-700);--tier-public: var(--moss-700);--tier-login: var(--ink-500);--tier-subscriber: var(--gem-700);--tier-member: var(--violet-700);--tier-private: var(--ember-700);--hall-bg: #fff1d6;--hall-text: #7a4a00;--sidebar-width: 260px;--topbar-height: 0px;color-scheme:light}:root[data-theme=dark]{--color-bg: var(--night-900);--color-sidebar: var(--night-950);--color-surface: var(--night-850);--color-surface-raised: var(--night-800);--color-screen: var(--stone-950);--color-scrim: color-mix(in srgb, #000 60%, transparent);--color-line: var(--night-700);--color-line-strong: var(--night-600);--color-text: var(--mist-100);--color-text-soft: var(--mist-200);--color-text-muted: var(--mist-400);--color-text-placeholder: var(--mist-500);--accent: var(--gem-300);--accent-strong: var(--gem-200);--accent-fill: var(--gem-500);--accent-fill-hover: var(--gem-400);--accent-soft: var(--gem-900);--accent-line: color-mix(in srgb, var(--gem-400) 55%, transparent);--heat: var(--ember-400);--heat-soft: color-mix(in srgb, var(--ember-400) 14%, transparent);--success: var(--moss-400);--danger: var(--red-400);--tier-public: var(--moss-400);--tier-login: var(--mist-400);--tier-subscriber: var(--gem-300);--tier-member: var(--violet-300);--tier-private: var(--ember-400);--hall-bg: #3d2e12;--hall-text: #ffd58a;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg: var(--night-900);--color-sidebar: var(--night-950);--color-surface: var(--night-850);--color-surface-raised: var(--night-800);--color-screen: var(--stone-950);--color-scrim: color-mix(in srgb, #000 60%, transparent);--color-line: var(--night-700);--color-line-strong: var(--night-600);--color-text: var(--mist-100);--color-text-soft: var(--mist-200);--color-text-muted: var(--mist-400);--color-text-placeholder: var(--mist-500);--accent: var(--gem-300);--accent-strong: var(--gem-200);--accent-fill: var(--gem-500);--accent-fill-hover: var(--gem-400);--accent-soft: var(--gem-900);--accent-line: color-mix(in srgb, var(--gem-400) 55%, transparent);--heat: var(--ember-400);--heat-soft: color-mix(in srgb, var(--ember-400) 14%, transparent);--success: var(--moss-400);--danger: var(--red-400);--tier-public: var(--moss-400);--tier-login: var(--mist-400);--tier-subscriber: var(--gem-300);--tier-member: var(--violet-300);--tier-private: var(--ember-400);--hall-bg: #3d2e12;--hall-text: #ffd58a;color-scheme:dark}}:root{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--color-bg);font-size:var(--fs-body);line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}h1,h2,p{margin-top:0}:focus-visible{outline:2px solid var(--accent-fill);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-text) 22%,transparent) transparent}::-webkit-scrollbar{width:8px;height:8px;background:transparent}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{border-radius:8px;background:color-mix(in srgb,var(--color-text) 22%,transparent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}p,h1,h2,.bubble,.post-text{word-break:keep-all;overflow-wrap:anywhere}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:var(--radius-pill);font-size:var(--fs-body-sm);font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s}.button.small{min-height:36px;padding:0 14px;font-size:var(--fs-small)}.button-primary{background:var(--accent-fill);color:var(--on-accent)}.button-primary:hover:not(:disabled){background:var(--accent-fill-hover)}.button-quiet{border-color:var(--color-line);background:var(--color-bg);color:var(--color-text)}.button-quiet:hover{border-color:var(--color-line-strong)}.button-disabled{border:1px dashed var(--color-line-strong);background:var(--color-sidebar);color:var(--color-text-muted);cursor:not-allowed}.soon-badge{padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-surface-raised);font-size:var(--fs-caption)}.icon-button{width:44px;height:44px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:12px;background:transparent;color:var(--color-text)}.icon-button:hover{background:var(--color-surface)}.round-button{width:40px;height:40px;flex:none;display:inline-grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--color-bg);color:var(--color-text)}.round-button.quiet{background:transparent}.round-button:hover:not(:disabled),.round-button.is-active{background:var(--color-surface)}.pill-button{min-height:40px;padding:0 14px;border:0;border-radius:var(--radius-pill);background:var(--color-bg);color:var(--color-text);font-size:var(--fs-body-sm);white-space:nowrap}.pill-button:hover{background:var(--color-surface-raised)}.pill-button.is-liked{color:var(--heat)}.send-button{width:40px;height:40px;flex:none;display:inline-grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--accent-fill);color:var(--on-accent)}.send-button:hover:not(:disabled){background:var(--accent-fill-hover)}.text-button,.text-action{min-height:32px;padding:0 8px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-muted);font-size:var(--fs-small)}.text-button:hover,.text-action:hover{background:var(--color-surface);color:var(--color-text)}.text-button.danger:hover,.text-action.danger:hover{color:var(--danger)}.text-action.is-liked{color:var(--heat)}.avatar{width:32px;height:32px;flex:none;display:inline-grid;place-items:center;border-radius:50%;background:var(--accent-fill);color:var(--on-accent);font-size:var(--fs-small);font-weight:600}.avatar-empty{background:var(--color-surface-raised);color:var(--color-text-muted)}.live-dot{width:8px;height:8px;display:inline-block;border-radius:50%;background:var(--success)}.empty-note{margin:0;color:var(--color-text-muted);font-size:var(--fs-body-sm)}.empty-box{margin:0;padding:24px;border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);text-align:center}.section-label{margin:0 0 14px;color:var(--color-text-muted);font-size:var(--fs-small);font-weight:500}.toast{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:60;max-width:380px;padding:12px 16px;border-radius:14px;background:var(--color-text);color:var(--color-bg);font-size:var(--fs-body-sm);box-shadow:0 8px 28px #0000002e}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100dvh;display:flex;padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left)}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.brand{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:600}.brand img{width:28px;height:28px;display:block}.topbar{display:none}.sidebar{position:sticky;top:0;z-index:20;width:var(--sidebar-width);height:100dvh;flex:none;display:flex;flex-direction:column;padding:calc(10px + env(safe-area-inset-top)) 10px 10px;border-right:1px solid var(--color-line);background:var(--color-sidebar)}.sidebar-head{min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 4px 0 8px}.sidebar-close{display:none}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:18px;padding:6px 0 12px}.side-group{display:flex;flex-direction:column;gap:2px}.side-heading{margin:0 10px 6px;color:var(--color-text-muted);font-size:var(--fs-small);font-weight:500}.side-link{min-height:40px;display:flex;align-items:center;gap:10px;padding:0 10px;border-radius:var(--radius-sm);font-size:var(--fs-body-sm)}.side-link:hover{background:var(--color-surface-raised)}.side-link.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.side-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-badge{flex:none;color:var(--color-text-muted);font-size:var(--fs-caption);font-weight:400}.side-link.is-active .side-badge{color:var(--accent)}.sidebar-foot{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--color-line)}.account-button{min-height:52px;display:flex;align-items:center;gap:10px;padding:0 10px;border:0;border-radius:var(--radius-sm);background:transparent;text-align:left}.account-button:hover{background:var(--color-surface-raised)}.account-copy{min-width:0;display:grid}.account-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-body-sm);font-weight:500}.account-copy small{color:var(--color-text-muted);font-size:var(--fs-caption)}.account{position:relative}.account-button{width:100%}.account-button>svg{flex:none;margin-left:auto;color:var(--color-text-muted);transition:transform .15s}.account-button:not(.is-open)>svg{transform:rotate(180deg)}.account-button.is-open{background:var(--color-surface-raised)}.account-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:5;display:flex;flex-direction:column;gap:2px;padding:6px;border:1px solid var(--color-line);border-radius:16px;background:var(--color-bg);box-shadow:0 -8px 28px #00000024}.account-menu button{min-height:42px;display:flex;align-items:center;gap:10px;padding:0 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-size:var(--fs-body-sm);text-align:left}.account-menu button:hover{background:var(--color-surface)}.account-menu-rule{height:1px;margin:2px 6px;background:var(--color-line)}.settings-dialog{width:min(720px,calc(100% - 32px));max-width:none;height:min(540px,calc(100dvh - 32px));max-height:none;padding:0;border:0;border-radius:var(--radius-lg);background:var(--color-bg);color:var(--color-text);box-shadow:0 24px 64px #00000047;overflow:hidden}.settings-dialog[open]{display:flex;flex-direction:column}.settings-dialog::backdrop{background:#00000073}.settings-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 24px;border-bottom:1px solid var(--color-line)}.settings-head h2{margin:0;font-size:18px;font-weight:600}.settings-body{flex:1;min-height:0;display:flex}.settings-tabs{width:180px;flex:none;display:flex;flex-direction:column;gap:2px;padding:12px 8px;border-right:1px solid var(--color-line)}.settings-tabs button{min-height:40px;display:flex;align-items:center;gap:10px;padding:0 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-size:var(--fs-body-sm);text-align:left}.settings-tabs button:hover{background:var(--color-surface)}.settings-tabs button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.settings-panels{flex:1;min-width:0;overflow-y:auto;padding:4px 24px 24px;background:transparent}.settings-panel{display:none}.settings-panel.is-active{display:block}.settings-section-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.setting-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;border-bottom:1px solid var(--color-line)}.setting-row:last-child{border-bottom:0}.setting-profile{flex-wrap:nowrap;justify-content:flex-start}.setting-copy{flex:1 1 220px;min-width:0}.setting-copy strong{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:600}.setting-copy p{margin:4px 0 0;color:var(--color-text-muted);font-size:var(--fs-small);line-height:1.55}.status-badge{padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--fs-caption);font-weight:500}.status-badge.is-on{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.avatar-large{width:44px;height:44px;font-size:16px}.button-danger{border-color:color-mix(in srgb,var(--danger) 40%,transparent);background:var(--color-bg);color:var(--danger)}.button-danger:hover{border-color:var(--danger)}.settings-dialog .theme-switch{margin:0;flex:none}.settings-dialog .theme-switch button{min-height:34px;padding:0 12px;font-size:var(--fs-small)}.inline-code{padding:1px 6px;border-radius:var(--radius-sm);background:var(--color-surface-raised);color:var(--color-text-soft);font-family:var(--font-mono);font-size:.92em;overflow-wrap:anywhere}.setting-input{width:100%;min-height:40px;margin-top:10px;padding:0 12px;border:1px solid var(--color-line);border-radius:var(--radius-sm);outline:0;background:var(--color-bg);color:var(--color-text);font-size:var(--fs-body-sm)}.setting-input:focus{border-color:var(--accent-line)}.key-reveal{align-items:flex-start}.key-value{display:block;margin-top:10px;padding:10px 12px;border:1px solid var(--accent-line);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--color-text);font-family:var(--font-mono);font-size:var(--fs-small);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.key-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.revoked-keys{display:block;color:var(--color-text-muted);font-size:var(--fs-small)}.revoked-keys summary{cursor:pointer}.revoked-keys p{margin:8px 0 0}.cli-login .code-display{margin:8px 0 12px;font-family:var(--font-mono);font-size:34px;font-weight:600;letter-spacing:.12em;color:var(--color-text)}.cli-login .code-input{max-width:220px;margin:0 0 12px;text-align:center;font-family:var(--font-mono);font-size:20px;letter-spacing:.12em;text-transform:uppercase}@media(max-width:640px){.settings-dialog{width:100%;height:100dvh;margin:0;border-radius:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.settings-head{padding-left:16px}.settings-body{flex-direction:column}.settings-tabs{display:none}.settings-panels{padding:8px 16px 32px;display:flex;flex-direction:column;gap:20px}.settings-panel{display:block;padding:0 16px;border-radius:var(--radius-md);background:var(--color-surface)}.settings-section-title{position:static;width:auto;height:auto;clip:auto;margin:0 -16px;padding:0 4px 8px;color:var(--color-text-muted);font-size:var(--fs-small);font-weight:500;background:var(--color-bg)}.setting-row{border-bottom-color:var(--color-line-strong)}.settings-dialog .theme-switch{width:100%}.settings-dialog .theme-switch button{flex:1;min-height:38px}}.theme-switch{display:flex;gap:2px;margin:2px 4px;padding:3px;border-radius:var(--radius-pill);background:var(--color-surface-raised)}.theme-switch button{flex:1;white-space:nowrap;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 6px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-muted);font-size:var(--fs-caption)}.theme-switch button:hover{color:var(--color-text)}.theme-switch button[aria-pressed=true]{background:var(--color-bg);color:var(--accent);font-weight:600;box-shadow:0 1px 2px #0000001f}.sidebar-scrim{display:none}@media(max-width:900px){:root{--topbar-height: 56px}.app-shell{flex-direction:column}.topbar{position:sticky;top:0;z-index:30;height:calc(var(--topbar-height) + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:8px;padding:env(safe-area-inset-top) 12px 0 4px;background:color-mix(in srgb,var(--color-bg) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:50;width:min(300px,86vw);height:auto;border-right:0;border-radius:0 20px 20px 0;box-shadow:8px 0 32px #0000001f;transform:translate(-105%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.sidebar.is-open{transform:none;visibility:visible;transition:transform .22s ease}.sidebar-close{display:inline-grid}.side-link{min-height:46px;font-size:var(--fs-body)}.sidebar-scrim{position:fixed;inset:0;z-index:40;display:block;background:var(--color-scrim);opacity:0;pointer-events:none;transition:opacity .22s}.sidebar-scrim.is-open{opacity:1;pointer-events:auto}.drawer-open,.drawer-open body{overflow:hidden}}.home-page{width:100%;max-width:820px;height:calc(100dvh - var(--topbar-height) - env(safe-area-inset-top));min-height:480px;margin:0 auto;display:flex;flex-direction:column;gap:16px;padding:clamp(28px,9vh,88px) 24px 16px}.home-head{flex:none;display:flex;flex-direction:column;gap:18px}.home-head h1{margin:0;text-align:center;font-size:clamp(22px,3.2vw,30px);font-weight:600;line-height:1.35}.search-field{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 18px;border:1px solid var(--color-line);border-radius:28px;background:var(--color-bg);color:var(--color-text-muted);box-shadow:0 4px 16px #0000000d}.search-field:focus-within{border-color:var(--accent-line)}.search-field input{flex:1;min-width:0;min-height:42px;border:0;outline:0;background:transparent;color:var(--color-text);font-size:var(--fs-lead)}.search-field input::placeholder{color:var(--color-text-placeholder)}.search-clear{width:36px;height:36px;flex:none;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--color-surface);color:var(--color-text-soft)}.tag-chips{min-width:0;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;overflow-x:auto;padding-bottom:6px;background:transparent}.tag-chips>*{flex:none}.tag-chips-label{margin-right:4px;white-space:nowrap;color:var(--color-text-muted);font-size:var(--fs-small)}.chip{min-height:38px;padding:0 14px;border:1px solid var(--color-line);border-radius:var(--radius-pill);background:var(--color-bg);font-size:var(--fs-body-sm);white-space:nowrap}.chip:hover{border-color:var(--color-line-strong)}.chip[aria-pressed=true]{border-color:var(--accent-fill);background:var(--accent-fill);color:var(--on-accent);font-weight:500}.result-count{margin:0;color:var(--color-text-muted);font-size:var(--fs-small)}.home-results{flex:1;min-height:0;overflow-y:auto;margin:0 -6px;padding:2px 6px 6px;overscroll-behavior:contain}.home-hint{flex:none;margin:0;color:var(--color-text-muted);font-size:var(--fs-caption);text-align:center}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.game-tile{display:flex;flex-direction:column;gap:10px;padding:8px;border-radius:var(--radius-md);background:var(--color-surface);transition:background .15s}.game-tile:hover{background:var(--color-surface-raised)}.game-tile-art{position:relative;aspect-ratio:16 / 10;display:grid;place-items:center;border-radius:12px;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--gem-400) 55%,transparent),transparent 60%),var(--color-screen);background-size:cover;background-position:center}.game-tile:nth-child(3n+2) .game-tile-art:not([style]){background-image:radial-gradient(circle at 60% 35%,color-mix(in srgb,var(--ember-700) 60%,transparent),transparent 60%)}.game-tile:nth-child(3n) .game-tile-art:not([style]){background-image:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--moss-700) 70%,transparent),transparent 60%)}.tile-badge{position:absolute;left:8px;top:8px;padding:3px 8px;border-radius:var(--radius-pill);background:#0d0d0d9e;color:#fff;font-size:var(--fs-caption)}.tile-play{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--accent-fill);color:var(--on-accent);box-shadow:0 4px 14px #00000040}.game-tile-copy{display:grid;gap:2px;padding:0 4px 4px}.game-tile-copy strong{font-size:var(--fs-body);font-weight:600}.game-tile-copy span{color:var(--accent);font-size:var(--fs-small)}@media(max-width:640px){.home-page{padding:20px 16px 12px;gap:14px}.home-head h1{text-align:left}.tag-chips{padding-bottom:2px;scrollbar-width:none}.tag-chips::-webkit-scrollbar{display:none}.tag-chips-label{display:none}.chip{min-height:40px}.game-grid{grid-template-columns:1fr;gap:4px}.game-tile{flex-direction:row;align-items:center;gap:12px;background:transparent}.game-tile-art{width:76px;aspect-ratio:4 / 3;flex:none;border-radius:10px}.tile-badge{display:none}.tile-play{width:30px;height:30px}}.game-page{width:100%;max-width:860px;margin:0 auto;padding:28px 24px 0;display:flex;flex-direction:column;gap:20px;flex:1}.game-card{border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}.game-card-head{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 20px}.game-card-head h1{flex:1;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:600}.game-card-actions{display:flex;gap:6px}.game-screen{background:var(--color-surface)}.game-screen-frame{position:relative;height:min(72dvh,720px);min-height:320px;background:var(--color-screen)}.game-screen-frame iframe{position:absolute;inset:0;width:100%;height:100%;display:block;border:0;background:#000}.play-screen{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:12px;padding:24px;color:var(--color-on-screen);text-align:center}.play-screen p{max-width:420px;margin:0;font-size:var(--fs-body)}.play-screen-kicker{padding:4px 10px;border-radius:var(--radius-pill);background:#ffffff24;font-size:var(--fs-caption)}.game-screen:fullscreen{display:flex;flex-direction:column;background:#000}.game-screen:-webkit-full-screen{display:flex;flex-direction:column;width:100%;height:100%;background:#000}.game-screen:fullscreen .game-screen-frame,.game-screen:-webkit-full-screen .game-screen-frame{flex:1;height:auto;min-height:0}.game-screen.is-pseudo-fullscreen{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#000}.game-screen.is-pseudo-fullscreen .game-screen-frame{flex:1;height:auto;min-height:0}.player-locked,.player-locked body{overflow:hidden;overscroll-behavior:none}.game-info{display:flex;flex-direction:column;gap:12px;padding:18px 22px 22px}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.tag{padding:4px 10px;border-radius:var(--radius-pill);background:var(--color-bg);color:var(--accent);font-size:var(--fs-small)}.access-tag{--tier: var(--color-text-muted);color:var(--tier)}.access-tag.public{--tier: var(--tier-public)}.access-tag.login{--tier: var(--tier-login)}.access-tag.subscriber{--tier: var(--tier-subscriber)}.access-tag.member{--tier: var(--tier-member)}.access-tag.private{--tier: var(--tier-private)}.game-description{margin:0;line-height:1.75;white-space:pre-line}.game-stats{margin:0;color:var(--color-text-muted);font-size:var(--fs-small)}.callout{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:16px 18px;border-radius:var(--radius-md);background:var(--accent-soft)}.callout>div{flex:1 1 260px}.callout strong{color:var(--accent)}.callout p{margin:4px 0 0;color:var(--color-text-soft);font-size:var(--fs-small)}.game-comments{flex:1;display:flex;flex-direction:column}.game-comments .comment-thread{flex:1}.comment-thread{display:flex;flex-direction:column;gap:14px}.bubble-list,.bubble-replies{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}.bubble-group{display:flex;flex-direction:column;gap:8px}.bubble-replies{gap:8px;padding-left:28px}.bubble-item{max-width:min(78%,560px);align-self:flex-start;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.bubble-replies .bubble-item{max-width:min(84%,520px)}.bubble-item.is-mine{align-self:flex-end;align-items:flex-end}.bubble-replies li{display:flex;flex-direction:column}.bubble-meta{padding:0 12px;color:var(--color-text-muted);font-size:var(--fs-caption)}.bubble{margin:0;padding:10px 16px;border-radius:18px 18px 18px 6px;background:var(--color-surface-raised);line-height:1.55}.is-mine .bubble{border-radius:18px 18px 6px;background:var(--accent-fill);color:var(--on-accent)}.bubble-actions{display:flex;gap:2px;padding:0 4px}.composer{display:flex;flex-direction:column;gap:6px;padding:6px;border:1px solid var(--color-line);border-radius:26px;background:var(--color-bg);box-shadow:0 4px 16px #0000000d}.composer:focus-within{border-color:var(--accent-line)}.composer-row{display:flex;align-items:center;gap:4px}.composer-row input:not([type=file]){flex:1;min-width:0;min-height:40px;padding:0 8px 0 14px;border:0;outline:0;background:transparent;font-size:var(--fs-body)}.composer-row input::placeholder{color:var(--color-text-placeholder)}.composer-context{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 4px 0 14px;color:var(--color-text-muted);font-size:var(--fs-small)}.composer-context button,.attach-chip button{width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--color-text-muted)}.composer-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:2px 2px 0}.attach-chip{max-width:100%;display:inline-flex;align-items:center;gap:6px;padding:2px 2px 2px 10px;border-radius:var(--radius-pill);background:var(--color-surface);font-size:var(--fs-small)}.comment-thread .composer{margin-top:4px}.comment-thread.is-docked .composer{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));margin-top:auto}.comment-thread.is-docked{padding-bottom:16px}.comment-thread.is-docked .bubble-list,.comment-thread.is-docked .empty-note{margin-bottom:12px}.community-page{width:100%;max-width:760px;margin:0 auto;flex:1;display:flex;flex-direction:column;padding:20px 24px 0}.page-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.page-bar h1{margin:0;font-size:22px;font-weight:600}.segmented{display:flex;gap:4px;padding:4px;border-radius:var(--radius-pill);background:var(--color-surface)}.segmented button{min-height:36px;padding:0 14px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-text-muted);font-size:var(--fs-body-sm)}.segmented button[aria-pressed=true]{background:var(--color-bg);color:var(--accent);font-weight:600;box-shadow:0 1px 2px #00000014}.feed{flex:1;display:flex;flex-direction:column}.notice-box{margin:0 0 8px;padding:12px 16px;border-radius:14px;background:var(--color-surface);color:var(--color-text-muted);font-size:var(--fs-small);line-height:1.6}.post{display:flex;gap:12px;padding:16px 4px;border-bottom:1px solid var(--color-line)}.post:last-child{border-bottom:0}.post .avatar{width:36px;height:36px;background:var(--color-text);color:var(--color-bg)}.post-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.post-meta strong{font-weight:600}.post-meta time{color:var(--color-text-muted);font-size:var(--fs-small)}.hall-badge{padding:2px 8px;border-radius:var(--radius-pill);background:var(--hall-bg);color:var(--hall-text);font-size:var(--fs-caption)}.post-text{margin:0;line-height:1.7}.post-image{display:block;max-width:min(100%,420px);max-height:380px;border-radius:16px;object-fit:cover}.post-actions{display:flex;flex-wrap:wrap;gap:2px;margin-left:-8px}.post .comment-thread{margin-top:4px;padding:12px;border-radius:var(--radius-md);background:var(--color-sidebar)}.game-link{align-self:flex-start;max-width:100%;min-width:min(100%,300px);display:flex;align-items:center;gap:12px;padding:8px;border:1px solid var(--color-line);border-radius:16px}.game-link:hover{border-color:var(--color-line-strong)}.game-link-thumb{width:56px;height:42px;flex:none;border-radius:10px;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--gem-400) 55%,transparent),transparent 60%),var(--color-screen);background-size:cover;background-position:center}.game-link-copy{flex:1;min-width:0;display:grid}.game-link-copy strong{font-size:var(--fs-body-sm);font-weight:600}.game-link-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-size:var(--fs-caption)}.game-link-play{min-height:36px;flex:none;display:inline-flex;align-items:center;gap:6px;padding:0 14px;border-radius:var(--radius-pill);background:var(--accent-fill);color:var(--on-accent);font-size:var(--fs-small);font-weight:500}.composer-dock{position:sticky;bottom:0;display:flex;flex-direction:column;gap:8px;padding:10px 0 calc(14px + env(safe-area-inset-bottom));background:transparent}.composer-note{margin:0;color:var(--color-text-muted);font-size:var(--fs-caption);text-align:center}.game-picker{width:min(320px,100%);display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg);box-shadow:0 8px 28px #0000001a}.game-picker input{min-height:40px;margin-bottom:4px;padding:0 12px;border:0;outline:0;border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--fs-body-sm)}.game-picker-list{max-height:240px;overflow-y:auto;margin:0;padding:0;list-style:none}.picker-option{width:100%;min-height:44px;display:flex;align-items:center;gap:10px;padding:0 8px;border:0;border-radius:var(--radius-sm);background:transparent;text-align:left;font-size:var(--fs-body-sm)}.picker-option:hover,.picker-option[aria-pressed=true]{background:var(--color-surface)}.picker-option svg{color:var(--accent)}.picker-thumb{width:28px;height:22px;flex:none;border-radius:6px;background:var(--color-screen);background-size:cover;background-position:center}.picker-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.about-page{width:100%;max-width:720px;margin:0 auto;padding:32px 24px 48px;display:flex;flex-direction:column;gap:40px}.about-hero{display:flex;flex-direction:column;gap:16px}.about-art{position:relative;height:clamp(180px,30vh,260px);display:grid;place-items:center;border-radius:var(--radius-lg);overflow:hidden;background:radial-gradient(circle at 50% 40%,#1d2a4d,var(--color-screen) 70%)}.about-art>img{width:96px;height:96px}.gem-forge,.gem-forge canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.about-hero h1{margin:8px 0 0;font-size:clamp(26px,4vw,34px);font-weight:600;line-height:1.3}.about-lede{margin:0;color:var(--color-text-soft);font-size:var(--fs-lead);line-height:1.8}.about-actions{display:flex;flex-wrap:wrap;gap:8px}.about-section{display:flex;flex-direction:column;gap:12px}.about-section h2{margin:0;font-size:18px;font-weight:600}.step-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.step-grid li{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:var(--radius-md);background:var(--color-surface)}.step-grid span{color:var(--accent);font-size:var(--fs-small);font-weight:600}.step-grid p{margin:0;color:var(--color-text-soft);font-size:var(--fs-body-sm);line-height:1.6}.tier-table{margin:0;padding:0;list-style:none;border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.tier-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:14px 18px;border-bottom:1px solid var(--color-line)}.tier-row:last-child{border-bottom:0}.tier-row strong{min-width:130px;font-weight:600}.tier-row>span:last-child{flex:1 1 220px;color:var(--color-text-soft);font-size:var(--fs-body-sm)}.tier-dot{width:10px;height:10px;border-radius:50%;background:var(--tier, var(--color-text-muted))}.tier-row.public{--tier: var(--tier-public)}.tier-row.login{--tier: var(--tier-login)}.tier-row.subscriber{--tier: var(--tier-subscriber)}.tier-row.member{--tier: var(--tier-member)}.about-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:20px;border-top:1px solid var(--color-line);color:var(--color-text-muted);font-size:var(--fs-small)}.about-foot a{text-decoration:underline}.page-container{width:100%;max-width:1080px;margin:0 auto;padding:32px 24px 64px}.page-heading{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px 32px;margin-bottom:32px}.page-heading h1{margin:0;font-size:clamp(26px,4vw,34px);font-weight:600}.heading-note{margin:0;color:var(--color-text-muted);font-size:var(--fs-body-sm);line-height:1.65}.eyebrow{margin:0 0 8px;color:var(--accent);font-size:var(--fs-caption);font-weight:600;letter-spacing:.06em}.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:12px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--color-line)}.section-title-row .eyebrow{margin-bottom:6px}.section-title-row h2{margin:0;font-size:20px;font-weight:600}.comment-rule,.empty-comments{color:var(--color-text-muted);font-size:var(--fs-small)}.action-button{min-height:36px;padding:0 12px;border:1px solid var(--color-line);border-radius:var(--radius-pill);background:var(--color-bg);color:var(--color-text);font-size:var(--fs-small)}.action-button:hover{border-color:var(--color-line-strong)}.action-button.danger:hover{border-color:var(--danger);color:var(--danger)}.field-group{display:grid;gap:8px}.field-group label,.field-label{font-size:var(--fs-small);font-weight:600}.field-group input,.field-group select,.field-group textarea{width:100%;border:1px solid var(--color-line);border-radius:var(--radius-sm);outline:0;background:var(--color-bg);color:var(--color-text);font-size:var(--fs-body-sm)}.field-group input,.field-group select{min-height:44px;padding:0 12px}.field-group textarea{min-height:96px;padding:10px 12px;resize:vertical;line-height:1.5}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{border-color:var(--accent-line)}.field-group ::placeholder{color:var(--color-text-placeholder)}.field-hint{color:var(--color-text-muted);font-size:var(--fs-caption)}.duplicate-alert{margin-top:4px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--heat-soft)}.duplicate-alert strong{color:var(--heat);font-size:var(--fs-small)}.duplicate-alert p{margin:4px 0 0;color:var(--color-text-soft);font-size:var(--fs-small)}.drop-field{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;border:1px dashed var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-sidebar);color:var(--color-text-soft);font-size:var(--fs-body-sm)!important;font-weight:400!important;cursor:pointer}.drop-field:hover{border-color:var(--accent-fill)}.drop-field small{color:var(--color-text-muted);font-size:var(--fs-caption)}.drop-field input{display:none}.upload-status{display:flex;align-items:center;gap:10px;color:var(--color-text-muted);font-size:var(--fs-small)}.spinner-dot{width:8px;height:8px;display:inline-block;border:1px solid var(--accent-fill);border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}.aside-note{padding:18px;border-radius:var(--radius-md);background:var(--color-surface)}.aside-note ol{margin:12px 0 0;padding-left:18px;color:var(--color-text-soft);font-size:var(--fs-small);line-height:2}.mini-game{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--color-line);font-size:var(--fs-body-sm)}.mini-game small{color:var(--color-text-muted);font-size:var(--fs-caption)}.admin-panel{min-width:0;padding-top:20px;border-top:1px solid var(--color-line)}.storage-report{display:grid;gap:10px}.storage-total{margin:0;color:var(--color-text-muted);font-size:var(--fs-small)}.storage-total strong{color:var(--color-text);font-size:22px}.orphan-box{display:grid;gap:6px;margin-top:8px;padding:14px;border-radius:var(--radius-sm);background:var(--color-surface)}.orphan-box code{color:var(--color-text-soft);font-family:var(--font-mono);font-size:var(--fs-caption);overflow-wrap:anywhere}.orphan-box small{color:var(--color-text-muted);font-size:var(--fs-caption)}.orphan-box .action-button{justify-self:start}.privacy-body{max-width:760px;color:var(--color-text-soft);font-size:var(--fs-body-sm);line-height:1.8}.privacy-body h2{margin:36px 0 10px;color:var(--color-text);font-size:18px}.privacy-body ul{padding-left:20px}.privacy-body li{margin:6px 0}.privacy-body strong,.privacy-body a{color:var(--color-text)}.privacy-body a{text-decoration:underline}.center-state{flex:1;min-height:60dvh;display:grid;place-content:center;justify-items:center;gap:4px;padding:40px 24px;text-align:center}.center-state h1{margin:12px 0 6px;font-size:26px;font-weight:600}.center-state p{max-width:340px;margin:0 0 16px;color:var(--color-text-muted);line-height:1.7}.state-symbol{color:var(--accent);font-size:28px}.spinner-large{width:28px;height:28px;display:block;border:2px solid var(--accent-fill);border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@media(max-width:640px){input,select,textarea,.composer-row input:not([type=file]),.search-field input,.game-picker input{font-size:16px!important}.game-page{padding:4px 12px 0;gap:16px}.game-card{border-radius:20px}.game-card-head{padding:6px 6px 6px 16px}.game-card-head h1{font-size:16px}.pill-button{min-height:36px;padding:0 12px;font-size:var(--fs-small)}.round-button{width:36px;height:36px}.game-screen-frame{height:68dvh}.game-info{padding:16px}.bubble-item{max-width:84%}.bubble-replies{padding-left:16px}.community-page{padding:8px 16px 0}.page-bar h1{font-size:18px}.segmented{width:100%}.segmented button{flex:1}.about-page{padding:16px 16px 40px;gap:32px}.page-container{padding:20px 16px 48px}.toast{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));max-width:none}}@media(hover:none){.side-link:hover:not(.is-active),.icon-button:hover,.account-button:hover{background:transparent}.game-tile:hover{background:var(--color-surface)}}@media(max-width:640px)and (hover:none){.game-tile:hover{background:transparent}}.manage-page{width:100%;max-width:980px;margin:0 auto;padding:20px 24px 48px;display:flex;flex-direction:column}.manage-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.manage-toolbar .search-field{flex:1 1 320px}.manage-list-view .result-count{margin-bottom:8px}.manage-items{margin:0;padding:0;list-style:none;border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.manage-item{display:flex;align-items:center;gap:4px;padding-right:8px;border-bottom:1px solid var(--color-line)}.manage-item:last-child{border-bottom:0}.manage-item-main{flex:1;min-width:0;min-height:68px;display:flex;align-items:center;gap:14px;padding:10px 8px 10px 12px;border:0;background:transparent;color:var(--color-text);text-align:left}.manage-item-main:hover{background:var(--color-surface)}.manage-item-main>svg{flex:none;color:var(--color-text-muted)}.manage-thumb{width:64px;height:44px;flex:none;border-radius:10px;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--gem-400) 55%,transparent),transparent 60%),var(--color-screen);background-size:cover;background-position:center}.manage-item-copy{flex:1;min-width:0;display:grid;gap:2px}.manage-item-copy strong{font-weight:600}.manage-item-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-size:var(--fs-small)}.manage-item-copy .manage-error{white-space:normal}.manage-delete:hover:not(:disabled){color:var(--danger)}.manage-error{color:var(--heat)!important;font-size:var(--fs-caption);overflow-wrap:anywhere}.manage-editor-view{display:flex;flex-direction:column;gap:12px}.editor-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}.editor-head h2{margin:0;font-size:18px;font-weight:600}.editor-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px 32px;align-items:start}.manage-fields{display:flex;flex-direction:column;gap:20px;min-width:0}.editor-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;padding-top:16px;border-top:1px solid var(--color-line)}.editor-actions .upload-status{margin:0 auto 0 0}.editor-actions .button-danger{margin-right:auto}.editor-actions .upload-status+.button-danger{margin-right:0}.cover-preview{position:relative;aspect-ratio:16 / 10;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--color-screen);background-size:cover;background-position:center;color:var(--color-text-muted);font-size:var(--fs-small)}.cover-preview em{position:absolute;left:8px;top:8px;padding:2px 8px;border-radius:var(--radius-pill);background:var(--accent-fill);color:var(--on-accent);font-size:var(--fs-caption);font-style:normal}.build-state{display:flex;flex-direction:column;align-items:flex-start;gap:6px;color:var(--color-text-muted);font-size:var(--fs-small)}.field-group .text-button{justify-self:start}.account-menu a{min-height:42px;display:flex;align-items:center;padding:0 10px;border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--fs-body-sm)}.account-menu a:hover{background:var(--color-surface)}.account-learn{position:relative}.account-learn>button{width:100%}.account-menu button.is-active{background:var(--color-surface)}.account-menu-chevron{margin-left:auto;display:inline-flex;color:var(--color-text-muted)}.account-flyout{position:absolute;left:100%;bottom:-6px;z-index:6;padding-left:12px}.account-submenu{width:200px;display:flex;flex-direction:column;gap:2px;padding:6px;border:1px solid var(--color-line);border-radius:14px;background:var(--color-bg);box-shadow:8px 8px 28px #00000024}.account-submenu a{justify-content:space-between}.account-submenu a span{color:var(--color-text-muted)}@media(max-width:900px){.account-flyout{position:static;padding:0}.account-submenu{width:auto;margin:0 0 2px 28px;padding:0 0 0 8px;border:0;border-left:1px solid var(--color-line);border-radius:0;box-shadow:none;background:transparent}.account-menu-chevron{transform:rotate(90deg)}}.editor-back{margin-left:-10px}@media(max-width:760px){.editor-grid{grid-template-columns:1fr}.manage-page{padding:8px 16px 40px}.manage-toolbar .button{flex:1 1 100%}}
