:root{color:#182033;background:#f7fbff;font-family:Inter,MiSans,HarmonyOS Sans SC,Segoe UI,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg-base: #f7fbff;--surface: rgba(255, 255, 255, .78);--surface-strong: rgba(255, 255, 255, .93);--surface-tint: rgba(232, 246, 255, .72);--border: rgba(128, 176, 214, .34);--border-strong: rgba(98, 154, 202, .48);--text-main: #182033;--text-muted: #5f6f86;--text-soft: #7b8ba3;--primary: #2f8fd3;--primary-strong: #1673b8;--primary-soft: #dff3ff;--accent-pink: #ff79b7;--accent-lilac: #a88cff;--accent-gold: #ffc95a;--warning-bg: #fff7dc;--warning-border: #f4cb65;--warning-text: #72510a;--error-bg: #fff0f4;--error-border: #f0a6b8;--error-text: #8a2440;--shadow-soft: 0 18px 45px rgba(46, 86, 128, .12);--shadow-card: 0 10px 28px rgba(46, 86, 128, .1);--shadow-hover: 0 16px 36px rgba(47, 143, 211, .16);--ease-standard: cubic-bezier(.2, .8, .2, 1);--duration-fast: .14s;--duration-normal: .22s}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 12% 8%,rgba(97,216,255,.32),transparent 30%),radial-gradient(circle at 84% 12%,rgba(255,121,183,.22),transparent 28%),radial-gradient(circle at 72% 84%,rgba(168,140,255,.2),transparent 32%),linear-gradient(135deg,#f7fbff,#eef7ff 42%,#fff3f7)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;opacity:.46;background-image:radial-gradient(circle,rgba(47,143,211,.22) 1px,transparent 1.5px),linear-gradient(115deg,transparent 0 44%,rgba(255,255,255,.42) 45%,transparent 49% 100%);background-size:38px 38px,100% 100%;-webkit-mask-image:linear-gradient(to bottom,black 0%,black 72%,transparent 100%);mask-image:linear-gradient(to bottom,black 0%,black 72%,transparent 100%)}body:after{content:"";position:fixed;top:80px;right:-120px;z-index:-1;width:460px;height:460px;pointer-events:none;border:1px solid rgba(47,143,211,.16);border-radius:50%;box-shadow:inset 0 0 0 42px #ffffff1f,0 0 80px #ff79b724}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid rgba(47,143,211,.42);outline-offset:3px}.app-shell{position:relative;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:32px 0 64px}.topbar{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px;padding:26px 28px;overflow:hidden;border:1px solid rgba(255,255,255,.78);border-radius:22px;background:linear-gradient(135deg,#ffffffd1,#e8f6ff94);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.debug-shell{width:min(1260px,calc(100% - 40px))}.debug-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px;border-bottom:1px solid var(--border);padding:8px 0 22px}.debug-topbar h1{font-size:clamp(2rem,4vw,3.1rem)}.debug-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.topbar:before{content:"";position:absolute;top:-80px;right:120px;width:270px;height:270px;border-radius:50%;background:radial-gradient(circle,rgba(255,201,90,.42),rgba(255,121,183,.16) 44%,transparent 68%)}.topbar:after{content:"✦ ✧ ✦";position:absolute;right:32px;bottom:18px;color:#2f8fd34d;font-size:38px;letter-spacing:12px}.hero-copy,.icon-button{position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--primary-strong);font-size:.9rem;font-weight:800}h1,h2,h3,p{margin:0}h1{margin-top:10px;color:var(--text-main);font-size:clamp(2.5rem,6vw,4rem);line-height:1.02;letter-spacing:0}h1 span{color:var(--primary-strong);text-shadow:0 8px 24px rgba(47,143,211,.16)}.subtitle{margin-top:12px;color:var(--text-muted);font-size:1rem;line-height:1.6}.icon-button,.text-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;gap:8px;border:1px solid var(--border-strong);border-radius:12px;background:#ffffffd1;color:#17394f;padding:0 18px;font-weight:700;cursor:pointer;box-shadow:0 8px 22px #2e568014;transition:border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.icon-button:hover,.text-link:hover{border-color:#2f8fd394;background:#fffffff5;box-shadow:var(--shadow-hover);transform:translateY(-1px)}.icon-button:active,.text-link:active,.feed-item:active,.game-tab:active,.overview-row:active{transform:scale(.99)}.icon-button:disabled{cursor:wait;opacity:.72}.icon-button:disabled svg,.loading-state svg{animation:spin .9s linear infinite}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:28px}.metric{min-height:96px;border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:18px 20px;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.metric span{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.82rem;font-weight:700}.metric span svg{color:var(--accent-pink)}.metric strong{display:block;margin-top:11px;color:var(--text-main);font-size:1.5rem;line-height:1}.status-banner,.loading-state{display:flex;align-items:center;gap:12px;border-radius:14px;margin-bottom:18px;padding:14px 16px;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.status-banner.warning{border:1px solid var(--warning-border);background:#fff7dce6;color:var(--warning-text)}.status-banner.error{border:1px solid var(--error-border);background:#fff0f4eb;color:var(--error-text)}.status-banner p{margin-top:3px;font-size:.92rem;line-height:1.55}.loading-state{border:1px solid var(--border);background:var(--surface-strong);color:var(--text-muted)}.section-block,.up-section{margin-top:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-heading h2,.up-header h2{color:var(--text-main);font-size:1.38rem;line-height:1.25;letter-spacing:0}.avatar{width:48px;height:48px;border-radius:12px;object-fit:cover;background:#e7eef5;flex:0 0 auto;box-shadow:inset 0 0 0 1px #ffffffe6,0 8px 20px #2e56801f}.avatar.fallback{display:inline-flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--primary),var(--accent-lilac));font-weight:800}.overview-heading span{color:var(--text-soft);font-size:.9rem;font-weight:800}.overview-list{display:grid;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface-strong);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.overview-row{display:grid;grid-template-columns:max-content max-content minmax(0,1fr);align-items:center;gap:12px;min-height:58px;width:100%;border:0;border-bottom:1px solid rgba(128,176,214,.2);background:transparent;color:inherit;padding:12px 16px;text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.overview-row:last-child{border-bottom:0}.overview-row:hover{background:#dff3ff8c}.overview-time,.overview-source{border-radius:999px;padding:4px 9px;font-size:.82rem;font-weight:850;white-space:nowrap}.overview-time{background:#dff3ffe6;color:var(--primary-strong)}.overview-source{background:#f8f0ffe6;color:#6550b8}.overview-row strong{overflow:hidden;color:var(--text-main);font-size:.94rem;text-overflow:ellipsis;white-space:nowrap}.overview-empty{border:1px dashed var(--border-strong);border-radius:16px;background:var(--surface-strong);color:var(--text-muted);padding:18px;text-align:center;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.debug-log-list{display:grid;gap:10px}.debug-log-row{border:1px solid var(--border);border-left-width:5px;border-radius:10px;background:#ffffffe6;padding:14px 16px;box-shadow:0 8px 20px #2e568012}.debug-log-row.info{border-left-color:var(--primary)}.debug-log-row.warning{border-left-color:var(--warning-border)}.debug-log-row.error{border-left-color:var(--error-border)}.debug-log-row header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.debug-log-row header>div{display:flex;align-items:center;min-width:0;gap:10px}.debug-log-row strong{overflow-wrap:anywhere;color:var(--text-main)}.debug-log-row time{flex:0 0 auto;color:var(--text-soft);font-size:.82rem;font-weight:800}.debug-event{flex:0 0 auto;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);padding:4px 9px;font-size:.78rem;font-weight:850}.debug-log-row.warning .debug-event{background:var(--warning-bg);color:var(--warning-text)}.debug-log-row.error .debug-event{background:var(--error-bg);color:var(--error-text)}.debug-log-row p{margin-top:10px;color:var(--text-main);line-height:1.55;overflow-wrap:anywhere}.debug-log-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.debug-log-meta span{border:1px solid rgba(128,176,214,.34);border-radius:999px;background:#f7fbffd1;color:var(--text-muted);padding:4px 8px;font-size:.78rem;font-weight:800}.debug-url{display:block;margin-top:10px;color:var(--primary-strong);font-size:.82rem;font-weight:750;overflow-wrap:anywhere}.group-stack{display:grid;gap:28px;margin-top:32px}.game-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.game-tab{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;min-height:82px;gap:8px;border:1px solid var(--border);border-radius:16px;background:var(--surface-strong);color:var(--text-main);padding:16px 18px;text-align:left;cursor:pointer;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.game-tab:hover{border-color:#2f8fd37a;background:#fffffff5;box-shadow:var(--shadow-hover);transform:translateY(-1px)}.game-tab.active{border-color:#2f8fd3ad;background:linear-gradient(135deg,#dff3fffa,#f8f0fff0);box-shadow:0 0 0 3px #2f8fd31a,var(--shadow-hover)}.game-tab:disabled{cursor:not-allowed;opacity:.58;transform:none}.game-tab span,.game-tab strong{display:block;max-width:100%;overflow-wrap:anywhere}.game-tab span{font-size:1rem;font-weight:850}.game-tab strong{color:var(--text-muted);font-size:.86rem}.up-section{scroll-margin-top:18px}.up-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.up-title{display:flex;align-items:center;min-width:0;gap:14px}.up-title .avatar{width:52px;height:52px}.up-title p{margin-top:5px;color:var(--text-muted);font-size:.9rem}.item-list{display:grid;gap:12px}.feed-item{display:grid;grid-template-columns:minmax(0,1fr) 160px;width:100%;text-align:left;color:inherit;cursor:pointer;gap:16px;min-height:136px;border:1px solid var(--border);border-radius:16px;background:#ffffffd6;padding:16px;box-shadow:0 8px 24px #2e568014;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color var(--duration-normal) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard)}.feed-item.no-media{grid-template-columns:1fr}.feed-item:hover{border-color:#2f8fd37a;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.feed-body{min-width:0}.feed-time{display:inline-flex;align-items:center;width:max-content;max-width:100%;gap:6px;border-radius:999px;background:linear-gradient(135deg,#dff3fff2,#f8f0ffe0);color:var(--primary-strong);padding:4px 9px;font-size:.82rem;font-weight:800;white-space:normal}.feed-item h3{display:-webkit-box;margin-top:10px;overflow:hidden;color:var(--text-main);font-size:1.06rem;line-height:1.45;letter-spacing:0;-webkit-box-orient:vertical;-webkit-line-clamp:2}.feed-item p{display:-webkit-box;margin-top:8px;overflow:hidden;color:var(--text-muted);font-size:.94rem;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:2}.feed-detail-cue{display:inline-flex;align-items:center;gap:5px;margin-top:12px;color:var(--primary-strong);font-size:.88rem;font-weight:800}.feed-detail-cue svg{transition:transform var(--duration-fast) var(--ease-standard)}.feed-item:hover .feed-detail-cue svg{transform:translate(2px,-2px)}.feed-item img{width:160px;height:104px;border-radius:12px;object-fit:cover;align-self:center;background:#e7eef5;box-shadow:inset 0 0 0 1px #ffffffbf}.empty-state{border:1px dashed var(--border-strong);border-radius:16px;background:var(--surface-strong);color:var(--text-muted);padding:28px;text-align:center;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:24px 20px;background:#0c182657;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:overlay-in .18s var(--ease-standard)}.detail-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(720px,calc(100vw - 40px));max-height:calc(100dvh - 48px);overflow:hidden;border:1px solid rgba(255,255,255,.78);border-radius:18px;background:linear-gradient(135deg,#fffffff5,#e8f6ffe6),var(--surface-strong);box-shadow:0 28px 80px #0c18263d,var(--shadow-soft);animation:dialog-in .18s var(--ease-standard)}.detail-header,.detail-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;background:#ffffffc2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.detail-header{border-bottom:1px solid rgba(128,176,214,.22)}.detail-author{display:flex;align-items:center;min-width:0;gap:12px}.detail-author .avatar{width:42px;height:42px}.detail-author strong,.detail-author span{display:block}.detail-author strong{overflow:hidden;color:var(--text-main);font-size:.98rem;text-overflow:ellipsis;white-space:nowrap}.detail-author span{margin-top:4px;color:var(--text-soft);font-size:.82rem;font-weight:700}.detail-icon-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:44px;height:44px;border:1px solid var(--border);border-radius:12px;background:#fffc;color:var(--text-muted);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.detail-icon-button:hover{border-color:#2f8fd380;background:#fffffff5;color:var(--primary-strong);transform:translateY(-1px)}.detail-scroll{min-height:0;overflow:auto;padding:22px 24px 24px}.detail-scroll h2{color:var(--text-main);font-size:1.42rem;line-height:1.38;letter-spacing:0}.detail-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.detail-media.single{grid-template-columns:1fr}.detail-media img{width:100%;aspect-ratio:16 / 10;border-radius:14px;object-fit:cover;background:#e7eef5;box-shadow:inset 0 0 0 1px #ffffffb8}.detail-media.single img{max-height:430px;aspect-ratio:16 / 9}.detail-content{margin-top:18px;color:var(--text-main);font-size:1rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.detail-actions{border-top:1px solid rgba(128,176,214,.22)}.detail-primary-link,.detail-secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;gap:8px;border-radius:12px;padding:0 16px;font-weight:800;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.detail-primary-link{border:1px solid rgba(47,143,211,.38);background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff;box-shadow:0 10px 24px #2f8fd333}.detail-secondary-button{border:1px solid var(--border-strong);background:#ffffffd1;color:#17394f}.detail-primary-link:hover,.detail-secondary-button:hover{transform:translateY(-1px)}.detail-primary-link:hover{box-shadow:0 14px 28px #2f8fd342}.detail-secondary-button:hover{border-color:#2f8fd394;background:#fffffff5;box-shadow:var(--shadow-hover)}@keyframes overlay-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 720px){body:before{opacity:.3}body:after{right:-260px;opacity:.35}.app-shell{width:min(100% - 24px,1180px);padding:22px 0 44px}.topbar{align-items:stretch;flex-direction:column;padding:20px}.topbar:before{right:-60px}.topbar:after{right:18px;bottom:12px;font-size:28px;letter-spacing:8px}h1{font-size:2.25rem}.icon-button,.text-link{width:100%}.metrics{grid-template-columns:1fr}.debug-shell{width:min(100% - 24px,1260px)}.debug-topbar{align-items:stretch;flex-direction:column}.debug-metrics{grid-template-columns:1fr}.debug-log-row header{flex-direction:column;gap:8px}.debug-log-row header>div{align-items:flex-start;flex-direction:column}.avatar{width:44px;height:44px}.overview-row{grid-template-columns:1fr;gap:8px}.overview-row strong{white-space:normal}.overview-source{width:max-content}.game-tabs{grid-template-columns:1fr}.game-tab{min-height:68px}.up-header{align-items:stretch;flex-direction:column}.up-title .avatar{width:48px;height:48px}.feed-item,.feed-item.no-media{grid-template-columns:1fr}.feed-item h3,.feed-item p{-webkit-line-clamp:3}.feed-item img{width:100%;height:auto;aspect-ratio:16 / 9}.detail-overlay{align-items:end;padding:12px}.detail-dialog{width:100%;max-height:calc(100dvh - 24px);border-radius:16px}.detail-header,.detail-actions{padding:14px}.detail-scroll{padding:18px 16px 20px}.detail-scroll h2{font-size:1.2rem}.detail-media{gap:8px}.detail-media img{border-radius:12px}.detail-actions{align-items:stretch;flex-direction:column}.detail-primary-link,.detail-secondary-button{width:100%}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}.feed-item:hover,.icon-button:hover,.text-link:hover,.overview-row:hover,.game-tab:hover,.feed-item:hover .feed-detail-cue svg,.detail-icon-button:hover,.detail-primary-link:hover,.detail-secondary-button:hover{transform:none}}
