:root{--bg-color: #0b0d11;--card-bg: #141720;--card-border: #222736;--card-hover: #1b202e;--text-main: #f1f5f9;--text-muted: #94a3b8;--text-dim: #64748b;--accent-cyan: #06b6d4;--accent-cyan-glow: rgba(6, 182, 212, .25);--accent-emerald: #10b981;--accent-amber: #f59e0b;--accent-rose: #f43f5e;--accent-red: #ef4444;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-family);line-height:1.5;min-height:100vh;min-height:100dvh;display:flex;justify-content:center;padding-bottom:env(safe-area-inset-bottom,20px)}#app{width:100%;max-width:480px;display:flex;flex-direction:column;position:relative;min-height:100vh;min-height:100dvh}.view-container{padding:16px;display:flex;flex-direction:column;gap:16px;flex:1}.hidden{display:none!important}.banner{background-color:#ef4444f2;color:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:100;backdrop-filter:blur(8px);box-shadow:0 4px 12px #0006}.banner-content{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}.btn-banner{background-color:#fff;color:var(--accent-red);border:none;padding:6px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.btn-banner:active{opacity:.85}.app-header{text-align:center;padding:24px 8px 12px}.brand-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:2px;color:var(--accent-cyan);background-color:#06b6d41a;border:1px solid rgba(6,182,212,.3);padding:4px 10px;border-radius:9999px;margin-bottom:12px;text-transform:uppercase}.app-title{font-size:26px;font-weight:800;letter-spacing:-.5px;color:#fff;margin-bottom:6px}.app-subtitle{font-size:14px;color:var(--text-muted)}.card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:20px;box-shadow:0 8px 24px #00000040}.form-card{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}label{font-size:13px;font-weight:600;color:var(--text-muted);letter-spacing:.5px}.input-control{background-color:#0b0d13;border:1px solid var(--card-border);border-radius:var(--radius-md);color:#fff;font-size:16px;padding:14px 16px;outline:none;transition:border-color .2s,box-shadow .2s;width:100%}.input-control:focus{border-color:var(--accent-cyan);box-shadow:0 0 0 3px var(--accent-cyan-glow)}.error-msg{background-color:#ef444426;border:1px solid rgba(239,68,68,.4);color:#fca5a5;padding:10px 14px;border-radius:var(--radius-md);font-size:13px}.btn{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;font-size:16px;font-weight:700;border-radius:var(--radius-md);border:none;cursor:pointer;transition:opacity .15s,transform .1s;user-select:none}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,#0284c7,#06b6d4);color:#fff;box-shadow:0 4px 16px #06b6d459}.btn-secondary{background-color:#1e2433;color:var(--text-muted);border:1px solid var(--card-border)}.btn-sm{min-height:36px;font-size:13px;padding:6px 12px}.btn-text{background:none;border:none;color:var(--text-dim);font-size:12px;cursor:pointer;padding:4px}.btn-text:hover{color:var(--text-muted)}.dev-panel{margin-top:8px;border-top:1px dashed var(--card-border);padding-top:12px}.dev-summary{font-size:12px;color:var(--text-dim);cursor:pointer;padding:4px 0;user-select:none}.dev-content{padding-top:10px;display:flex;flex-direction:column;gap:8px}.dev-tip{font-size:12px;color:var(--text-muted)}.dev-result{font-size:12px;color:var(--accent-cyan);background-color:#06b6d41a;padding:8px;border-radius:var(--radius-sm);word-break:break-all}.player-header{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.player-main-info{display:flex;flex-direction:column;gap:4px}.player-name-row{display:flex;align-items:center;gap:8px}.player-avatar-icon{font-size:16px}.player-name{font-size:16px;font-weight:700;color:#fff}.character-tag{font-size:12px;background-color:#06b6d426;color:var(--accent-cyan);padding:2px 8px;border-radius:9999px;font-weight:500}.player-meta-row{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-dim)}.playerId-text code{font-family:monospace;color:var(--text-muted);background-color:#ffffff0d;padding:1px 4px;border-radius:4px}.connection-status-pill{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;background-color:#10b9811f;color:var(--accent-emerald);padding:4px 8px;border-radius:9999px;white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:50%;background-color:currentColor}.status-dot.online{box-shadow:0 0 6px var(--accent-emerald)}.status-dot.offline{background-color:var(--accent-red);box-shadow:0 0 6px var(--accent-red)}.section-container{display:flex;flex-direction:column;gap:10px}.section-title-row{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.section-title{font-size:15px;font-weight:700;display:flex;align-items:center;gap:6px;color:var(--text-main)}.title-icon{font-size:16px}.badge{font-size:11px;background-color:#ffffff1a;color:var(--text-muted);padding:1px 6px;border-radius:9999px;font-weight:600}.section-hint{font-size:11px;color:var(--accent-emerald);background-color:#10b9811a;border:1px solid rgba(16,185,129,.2);padding:2px 6px;border-radius:4px}.items-list{display:flex;flex-direction:column;gap:10px}.item-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:8px;box-shadow:0 2px 8px #00000026;transition:border-color .2s}.item-card.private-item{border-left:3px solid var(--accent-amber)}.item-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.item-name{font-size:15px;font-weight:700;color:#fff;display:flex;align-items:center;gap:6px}.item-tags{display:flex;align-items:center;gap:6px}.tag{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:600}.tag-private{background-color:#f59e0b26;color:var(--accent-amber);border:1px solid rgba(245,158,11,.3)}.tag-type{background-color:#ffffff14;color:var(--text-muted)}.item-desc{font-size:13px;color:var(--text-muted);line-height:1.4}.item-footer{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-dim);border-top:1px solid rgba(255,255,255,.04);padding-top:6px}.item-status-held{color:var(--accent-emerald)}.item-status-seized{color:var(--accent-rose)}.empty-state{background-color:#14172080;border:1px dashed var(--card-border);border-radius:var(--radius-md);padding:24px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.empty-icon{font-size:28px;margin-bottom:2px}.empty-state p{font-size:14px;font-weight:600;color:var(--text-muted)}.empty-sub{font-size:12px;color:var(--text-dim);max-width:280px}.messages-container{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto;scroll-behavior:smooth}.empty-messages{font-size:13px;color:var(--text-dim);text-align:center;padding:16px 8px}.message-item{padding:10px 12px;border-radius:var(--radius-sm);background-color:#0d0f14;border-left:3px solid var(--card-border);display:flex;flex-direction:column;gap:4px}.message-item.broadcast{border-left-color:var(--accent-cyan);background-color:#06b6d40d}.message-item.private{border-left-color:var(--accent-amber);background-color:#f59e0b12}.message-item.system{border-left-color:var(--accent-emerald);background-color:#10b9810d}.msg-header{display:flex;align-items:center;justify-content:space-between}.msg-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.msg-badge.broadcast{color:var(--accent-cyan)}.msg-badge.private{color:var(--accent-amber)}.msg-badge.system{color:var(--accent-emerald)}.msg-time{font-size:10px;color:var(--text-dim)}.msg-content{font-size:13px;color:var(--text-main);line-height:1.45;white-space:pre-wrap}
