:root{--bg-page:#1a1214;--panel:#302426e0;--panel-solid:#322628;--panel-border:#ffffff0d;--text:#f5f5f5;--text-muted:#9a9496;--name:#b9d7ea;--gift-pink:#f3b6c4;--gift-x:#ffc44d;--accent:#fe2c55;--input-bg:#00000073;--gift-bg:#00000047;--admin-bg:#f4f5f7;--admin-card:#fff;--admin-text:#1f2329;--admin-border:#e5e6eb;--font:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;font-family:var(--font);margin:0}body{background:var(--bg-page);color:var(--text)}button,input,select{font:inherit}a{color:inherit}img{max-width:100%;display:block}.display-page{background:radial-gradient(900px 500px at 15% 20%,#4a2a2e 0%,#0000 55%),linear-gradient(165deg,#1a1214 0%,#24181a 45%,#140f11 100%);justify-content:flex-end;align-items:stretch;min-height:100vh;padding:12px;display:flex}.sidebar{flex-direction:column;gap:8px;width:min(340px,100%);height:calc(100vh - 24px);display:flex}.panel{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(16px);border-radius:12px;flex-direction:column;min-height:0;display:flex;overflow:hidden;box-shadow:0 8px 28px #00000047}.rank-panel{flex:0 0 44%}.chat-panel{flex:1}.rank-tabs{border-bottom:1px solid #ffffff0f;align-items:center;gap:4px;padding:10px 8px 0;display:flex}.rank-tabs__list{flex:1;justify-content:center;gap:20px;display:flex}.rank-nav{appearance:none;opacity:.7;cursor:default;background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.rank-nav img{filter:invert();opacity:.85;width:16px;height:16px}.rank-tab{appearance:none;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 0 10px;font-size:14px;line-height:20px;position:relative}.rank-tab.is-active{color:#fff;font-weight:600}.rank-tab.is-active:after{content:"";background:var(--accent);border-radius:2px;width:28px;height:2px;margin-left:-14px;position:absolute;bottom:0;left:50%}.rank-list,.feed-list{scrollbar-width:thin;scrollbar-color:#ffffff38 transparent;flex:1;margin:0;padding:6px 8px 10px;list-style:none;overflow-y:auto}.rank-list::-webkit-scrollbar{width:4px}.feed-list::-webkit-scrollbar{width:4px}.rank-list::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:4px}.feed-list::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:4px}.rank-row{border-radius:8px;grid-template-columns:22px 36px 1fr auto;align-items:center;gap:8px;padding:8px 6px;display:grid}.rank-row:hover{background:#ffffff0a}.rank-num{color:#fff;border-radius:4px;justify-content:center;justify-self:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.rank-num--1{background:#ef4444}.rank-num--2{background:#f59e0b}.rank-num--3{background:#eab308}.rank-num--plain{color:#ffffffbf;background:0 0;width:auto;height:auto;font-weight:500}.rank-row__meta{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.rank-row__name{white-space:nowrap;text-overflow:ellipsis;color:#fff;max-width:100%;font-size:13px;line-height:18px;overflow:hidden}.rank-row__value{text-align:right;color:#ffffffb8;min-width:24px;padding-right:4px;font-size:13px}.avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff1f}.level-badge{object-fit:contain;width:auto;height:16px;image-rendering:-webkit-optimize-contrast;flex-shrink:0}.level-badge--sm{height:15px}.level-badge--md{height:17px}.chat-header{justify-content:space-between;align-items:center;padding:12px 12px 6px;display:flex}.chat-header h2{color:#fff;margin:0;font-size:14px;font-weight:600}.chat-header__icons{align-items:center;gap:10px;display:flex}.chat-header__icons img{filter:invert();opacity:.72;width:16px;height:16px}.feed-list{flex-direction:column;gap:8px;padding:4px 10px 8px;display:flex}.feed-gift{background:var(--gift-bg);border-radius:8px;padding:8px 10px 6px}.feed-gift__line{word-break:break-word;margin:0;font-size:13px;line-height:1.45}.feed-gift__user{color:#fff;font-weight:500}.feed-gift__action,.feed-gift__host{color:var(--gift-pink)}.feed-gift__icon-row{align-items:center;gap:6px;margin-top:4px;display:flex}.feed-gift__icon{object-fit:contain;width:36px;height:36px}.feed-gift__x{color:var(--gift-x);letter-spacing:.5px;font-size:18px;font-style:italic;font-weight:700}.feed-chat{flex-wrap:wrap;align-items:center;gap:5px;padding:1px 2px;font-size:13px;line-height:1.45;display:flex}.feed-chat__name{color:var(--name);font-weight:500}.feed-chat__colon{color:var(--name);margin-left:-3px}.feed-chat__content{color:#fff;word-break:break-word}.chat-input-bar{align-items:center;gap:8px;padding:8px 10px 12px;display:flex}.chat-persona-select{background:var(--input-bg);max-width:72px;color:var(--text);border:none;border-radius:8px;padding:8px 4px;font-size:12px}.chat-input-wrap{background:var(--input-bg);border-radius:999px;flex:1;align-items:center;gap:6px;min-width:0;min-height:36px;padding:6px 10px 6px 14px;display:flex}.chat-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13px}.chat-input::placeholder{color:#7a7476}.chat-emoji{filter:invert();opacity:.75;flex-shrink:0;width:18px;height:18px}.chat-divider{background:#ffffff2e;flex-shrink:0;width:1px;height:14px}.chat-send{appearance:none;color:#7a7476;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:13px}.chat-send.is-active,.chat-send:hover{color:#fff}.empty-hint{color:var(--text-muted);text-align:center;padding:12px 6px;font-size:13px}.float-admin-link{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:999px;padding:8px 14px;font-size:13px;text-decoration:none;position:fixed;bottom:16px;left:16px}.float-admin-link:hover{background:#ffffff2e}.admin-page{background:var(--admin-bg);min-height:100vh;color:var(--admin-text);padding:24px}.admin-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.admin-top h1{margin:0 0 6px;font-size:22px}.admin-top p{color:#646a73;margin:0;font-size:14px}.admin-top__actions{flex-shrink:0;gap:8px;display:flex}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;display:grid}.admin-card{background:var(--admin-card);border:1px solid var(--admin-border);border-radius:12px;padding:16px}.admin-card h2{margin:0 0 12px;font-size:16px}.admin-card__head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.admin-card__head h2{margin:0}.field{color:#646a73;flex-direction:column;gap:6px;font-size:13px;display:flex}.field input,.quick-row input,.quick-row select,.table-row input,.table-row select{border:1px solid var(--admin-border);color:var(--admin-text);background:#fff;border-radius:8px;padding:8px 10px}.quick-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.quick-row.compact{gap:6px}.quick-row>input{flex:1;min-width:140px}.table{flex-direction:column;gap:8px;display:flex}.table-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table-row>input:not(.color-dot):not(.emoji-input){flex:1;min-width:100px}.color-dot{cursor:pointer;background:0 0;border:none;width:36px;height:36px;padding:0}.emoji-input{text-align:center;width:52px}.inline-level{color:#646a73;align-items:center;gap:6px;font-size:13px;display:inline-flex}.inline-level input{width:72px}.rank-index{color:#8f959e;width:28px;font-size:13px}.grow{flex:1;min-width:80px}.muted{color:#8f959e;margin:0;font-size:13px}.btn{appearance:none;border:1px solid var(--admin-border);color:var(--admin-text);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:8px 12px;text-decoration:none;display:inline-flex}.btn:hover{background:#f7f8fa}.btn-primary{color:#fff;background:#3370ff;border-color:#3370ff}.btn-primary:hover{background:#245bdb}.btn-ghost{background:0 0}.btn-danger{color:#d92d20;background:#fff5f5;border-color:#f5c2c0}.btn-sm{padding:6px 10px;font-size:13px}.level-preview{width:auto;height:18px}@media (width<=640px){.display-page{justify-content:center;padding:8px}.sidebar{height:calc(100vh - 16px)}.admin-top{flex-direction:column}.chat-persona-select{display:none}}
