*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--red: #c0202a;--red-light: #e8353f;--red-pale: #fdf0f0;--black: #111111;--black-mid: #333333;--grey-dark: #555555;--grey: #888888;--grey-light: #c8c8c8;--grey-pale: #f4f4f4;--white: #ffffff;--border: #e4e4e4;--border-dark: #cccccc;--text: #111111;--text-secondary: #555555;--text-muted: #999999;--radius: 10px;--radius-sm: 6px;--radius-xs: 4px;--shadow-sm: 0 1px 4px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1)}html,body,#root{height:100%;background:var(--grey-pale);color:var(--text);font-family:DM Sans,system-ui,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100dvh;max-width:540px;margin:0 auto;background:var(--grey-pale)}.app-header{background:var(--white);border-bottom:1px solid var(--border);padding:12px 16px 10px;flex-shrink:0;box-shadow:var(--shadow-sm)}.header-top{display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:10px}.logo-img{width:38px;height:38px;object-fit:contain;border-radius:6px;background:transparent}.logo-text{display:flex;flex-direction:column}.logo-name{font-family:"DM Serif Display",serif;font-size:18px;color:var(--black);line-height:1.1;letter-spacing:-.01em}.logo-sub{font-size:11px;color:var(--text-muted);font-weight:400;letter-spacing:.02em}.app-main{flex:1;overflow-y:auto;padding:12px;scrollbar-width:thin;scrollbar-color:var(--grey-light) transparent}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.filters{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.search-wrap{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:10px;font-size:16px;color:var(--text-muted);pointer-events:none}.search-input{width:100%;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:8px 32px;font-family:inherit;font-size:13px;outline:none;transition:border-color .18s;box-shadow:var(--shadow-sm)}.search-input:focus{border-color:var(--red)}.search-clear{position:absolute;right:8px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;padding:4px}.table-scroll{overflow-x:auto}table.table{width:100%;border-collapse:collapse;font-size:13px}thead tr{border-bottom:2px solid var(--border);background:var(--grey-pale)}thead th{padding:9px 12px;text-align:left;font-size:10px;font-weight:600;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}thead th.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}thead th.th-sortable:hover{color:var(--red)}.sort-indicator{font-size:9px;opacity:.6}.member-row{border-bottom:1px solid var(--border);transition:background .12s}.member-row:last-child{border-bottom:none}.member-row:hover{background:var(--red-pale)}td{padding:9px 12px;vertical-align:middle}.td-name{font-weight:500;color:var(--black)}.td-pseudo{color:var(--text-secondary)}.td-rank{width:40px;text-align:center;color:var(--text-muted);font-weight:500}.state-center{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;gap:12px;text-align:center}.loader-suits{display:flex;gap:8px;font-size:26px;margin-bottom:8px}.loader-suits span{display:inline-block;animation:bounce .5s ease infinite alternate;color:var(--red)}.loader-suits span:nth-child(2n){color:var(--black)}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.state-msg{font-size:14px;color:var(--text-secondary);font-weight:500}.state-msg.error{color:var(--red)}.state-detail{font-size:11px;color:var(--text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
