:root{--bg: #110f0d;--bg-2: #171411;--card: #1e1a17;--card-2: #27221e;--ink: #f3eee6;--ink-dim: #b9b1a6;--muted: #8c8378;--rust: #c47852;--rust-hot: #d48963;--rust-deep: #8f5138;--cream: #f3eee6;--online: #7d9a6c;--offline: #b56e66;--mixed: #c4a066;--line: #322c27;--shadow: rgba(8, 6, 4, .45);--radius: 14px;--ease: cubic-bezier(.22, 1, .36, 1);--dur: .2s;--font: "Outfit", system-ui, sans-serif;--display: "Fraunces", Georgia, serif;--sidebar: 236px}*{box-sizing:border-box}html,body,#root{min-height:100%;max-width:100%;overflow-x:hidden}html{color-scheme:dark;scrollbar-width:thin;scrollbar-color:#4a4038 var(--bg-2)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:var(--bg-2)}*::-webkit-scrollbar-thumb{background:#4a4038;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#5c5148}*::-webkit-scrollbar-corner{background:transparent}body{margin:0;color:var(--ink);font-family:var(--font);background:var(--bg);letter-spacing:.01em}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}h1,h2,h3,.display{font-family:var(--font);font-weight:600;letter-spacing:-.03em;margin:0}.shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);background:var(--bg)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:28px;padding:22px 16px 18px;border-right:1px solid var(--line);background:var(--bg-2)}.sidebar .brand{padding:4px 6px}.side-nav{display:grid;gap:4px}.side-link{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 12px;border-radius:10px;text-decoration:none;color:var(--ink-dim);font-size:14px;font-weight:600;letter-spacing:0;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.side-link svg{width:18px;height:18px;flex:0 0 auto}.side-link:hover{color:var(--ink);background:var(--card)}.side-link.on{color:var(--cream);background:var(--card);box-shadow:inset 2px 0 0 var(--rust)}.sidebar-foot{margin-top:auto;display:grid;gap:8px}.sidebar .server-select,.sidebar .user-chip,.sidebar .account .btn{width:100%;max-width:none;justify-content:flex-start}.account{display:grid;gap:8px}.account.compact{display:flex;align-items:center;gap:6px}.shell-main{min-width:0;min-height:100vh;display:flex;flex-direction:column}.mobile-bar,.bottom-nav{display:none}.page{width:min(1180px,100%);max-width:100%;min-width:0;margin:0 auto;padding:28px 28px 64px;overflow-x:hidden}.page-in{animation:page-in var(--dur) var(--ease)}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}.brand-mark{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--bg);overflow:hidden;flex:0 0 auto}.brand-mark img{width:118%;height:118%;margin:-9%;object-fit:cover;display:block}.brand-mark.lg{width:72px;height:72px;border-width:1px;margin:0 auto 12px}.brand h1{font-family:var(--display);font-size:22px;font-weight:500;font-style:italic;letter-spacing:-.03em;line-height:1}.brand small{display:block;margin-top:3px;color:var(--muted);font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.server-pop{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;font-size:13px;font-weight:600;line-height:1;white-space:nowrap}.server-select{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:inherit;cursor:pointer;font-size:13px;font-weight:600;line-height:1.2;text-align:left;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.server-select:hover{background:var(--card-2)}.server-select:disabled{opacity:.7;cursor:wait}.server-select.off{border-color:#b56e6673}.server-select .dot{width:8px;height:8px;flex:0 0 8px}.server-select-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-label{display:grid;gap:8px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.server-pop .dot{width:11px;height:11px;flex:0 0 11px}.server-pop-label,.server-pop-count{font-size:inherit;font-weight:inherit;line-height:inherit}.server-pop-label{color:var(--ink-dim)}.server-pop-count{color:#d4c4a0;font-variant-numeric:tabular-nums}.sidebar .server-pop{width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.user-chip{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:inherit;font:inherit}.user-chip img{width:28px;height:28px;border-radius:50%;border:2px solid var(--ink)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);padding:9px 14px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.btn:hover{background:var(--card-2);border-color:#4a4038}.btn:active{transform:scale(.98)}.btn-rust{background:var(--rust);border-color:var(--rust);color:#fff7ea}.btn-rust:hover{background:var(--rust-hot);border-color:var(--rust-hot)}.btn-ghost{background:transparent}.btn.nav-current{border-color:var(--rust);color:#fff7ea}.btn-blocked{background:#b42318;border-color:#b42318;color:#fff7ea}.btn-blocked:hover{background:#9b1c14;border-color:#9b1c14}.btn-danger{background:var(--offline);color:#fff7ea}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:22px}.search{flex:1 1 240px;min-width:200px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:11px 14px;outline:none}.search:focus{border-color:var(--rust)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 12px;font-weight:600;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.chip.active{background:var(--rust);border-color:var(--rust);color:#fff7ea}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(540px,100%),1fr));gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;display:flex;align-items:stretch;color:inherit;min-height:220px}.card.clickable{cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),transform var(--dur) var(--ease)}.card.clickable:hover{border-color:#c478526b;background:var(--card-2);transform:translateY(-2px)}.card.locked{cursor:default}.card-body{flex:1;min-width:0;padding:18px 20px 16px;display:grid;gap:10px;align-content:start}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.card-title-block{min-width:0}.card-head h2{font-size:22px;font-weight:650;letter-spacing:-.03em;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-head-side{display:grid;justify-items:end;gap:6px;flex:0 0 auto}.status-chip{display:inline-flex;align-items:center;padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:var(--bg-2);color:var(--ink-dim);font-size:11px;font-weight:700;letter-spacing:.04em;white-space:nowrap}.status-chip.online{border-color:#7d9a6c73;color:#c5d6b8}.status-chip.offline,.status-chip.due{border-color:#b56e6666;color:#e0c4c0}.status-chip.mixed,.status-chip.aging{border-color:#c4a06673;color:#e6d4ad}.status-chip.on,.status-chip.checked{border-color:#7d9a6c73;color:#c5d6b8}.status-chip.stale{border-color:#b56e6673;color:#e0c4c0}.card-note{margin:0;color:var(--ink-dim);font-size:13px;font-weight:500;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;padding-top:10px;border-top:1px solid var(--line)}.danger-text{color:#e0c4c0}.badge{border:2px solid var(--ink);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.badge-loc{background:#4a382c}.badge-off{background:#3a2a26;color:var(--ink-dim)}.badge-player{background:#3d4a28;color:#d7f0b8}.badge-clan{background:#5a3a16;color:#ffd89a}.count{font-weight:650;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}.count.online{color:var(--online)}.count.offline{color:var(--offline)}.count.mixed{color:var(--mixed)}.card-shot{position:relative;flex:0 0 200px;width:200px;background:#161310;border-right:1px solid var(--line);overflow:hidden}.card-shot>img{width:100%;height:100%;object-fit:cover;object-position:center}.card-shot.has-thumb>img{cursor:zoom-in}.shot-zoom{position:absolute;top:7px;right:7px;z-index:2;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:#141516c7;color:var(--ink);display:grid;place-items:center;cursor:zoom-in}.shot-zoom:hover{background:#141516f0}.shot-zoom svg{width:15px;height:15px}.grid-shot{position:relative;width:100%;height:100%;min-height:148px;overflow:hidden;background:#111213}.detail-shot .grid-shot{aspect-ratio:1;height:auto;min-height:0}.grid-shot img{position:absolute;max-width:none;height:auto;aspect-ratio:1}.grid-shot.empty{display:grid;place-items:center;color:var(--muted);font-weight:700;font-size:13px}.grid-shot-tag{position:absolute;left:8px;bottom:8px;z-index:1;padding:2px 7px;border-radius:999px;background:#141516c7;color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.04em}.players{display:grid;gap:0;margin-top:2px;padding-top:8px;border-top:1px solid var(--line)}.player-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:30px;padding:5px 0;border-bottom:1px solid rgba(50,44,39,.55)}.player-row:last-child{border-bottom:0}.spam-player-row{grid-template-columns:10px minmax(0,1fr) auto auto}.player-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seen{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.seen.on{color:#c5d6b8}.seen.off{color:#e0c4c0}.player-meta,.last-seen{color:var(--ink-dim);font-size:15px;font-weight:700}.player-id{color:var(--muted);font-size:12px;font-weight:600}.dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px}.dot.on{background:var(--online);box-shadow:0 0 0 3px #7d9a6c33}.dot.off{background:var(--offline);box-shadow:0 0 0 3px #b56e6629}.dot.mix{background:var(--mixed);box-shadow:0 0 0 3px #c4a06633}.pulse{animation:pop .7s var(--ease)}@keyframes pop{0%{transform:scale(1)}35%{transform:scale(1.015)}to{transform:scale(1)}}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse 70% 45% at 50% -8%,rgba(196,120,82,.14),transparent 58%),var(--bg)}.login-card{width:min(400px,100%);background:var(--card);border:1px solid var(--line);border-radius:20px;padding:40px 28px 32px;text-align:center}.login-card h1{font-family:var(--display);font-size:48px;font-weight:500;font-style:italic;letter-spacing:-.04em;line-height:.95;margin:8px 0 10px}.login-card .kicker{margin-top:4px}.login-card p{color:var(--ink-dim);margin:0 0 24px}.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px}.page-loading{margin:0;color:var(--muted);font-weight:600}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-head-copy{min-width:0}.page-head h2{font-size:30px;font-weight:600;letter-spacing:-.04em;line-height:1.05}.page-head-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.page-head-hint{margin:8px 0 0;max-width:52ch;color:var(--muted);font-size:14px;font-weight:500;line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.page-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;flex:1 1 auto}.page-head-actions .search{max-width:320px}.stat-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--bg-2);color:var(--ink-dim);font-size:12px;font-weight:650;letter-spacing:.02em}.stat-pill.on{border-color:#7d9a6c73;color:#c5d6b8}.stat-pill.warn{border-color:#c4785273;color:var(--rust-hot)}.home-section{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}.command-bar{display:flex;gap:10px;margin-bottom:18px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.command-bar .field{flex:1;min-width:0;min-height:48px;background:var(--bg);font-size:15px}.command-bar .btn{min-height:48px;padding:0 18px}.empty{display:grid;justify-items:center;gap:10px;text-align:center;padding:56px 24px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--ink-dim)}.empty-mark{width:36px;height:36px;margin-bottom:4px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(var(--line),var(--line)) center / 14px 1px no-repeat,linear-gradient(var(--line),var(--line)) center / 1px 14px no-repeat,var(--bg-2)}.empty h2{font-size:20px;color:var(--ink)}.empty p{margin:0;max-width:36ch;font-weight:500;line-height:1.45}.empty .btn{margin-top:8px}.stack{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-dim)}.field{border:1px solid var(--line);border-radius:12px;background:var(--bg-2);padding:11px 12px;outline:none}.field:focus{border-color:var(--rust)}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg.compact button{flex:0 0 auto}.error{background:#3a2222;border:1px solid var(--offline);color:#f0d0d0;padding:10px 12px;border-radius:12px;font-weight:600}.detail{display:grid;gap:16px}.back{color:var(--muted);text-decoration:none;font-weight:700;width:fit-content}.back:hover{color:var(--ink)}.detail-head{display:flex;align-items:center;gap:14px;min-width:0}.detail-head h1{font-size:32px;font-weight:600;line-height:1.05}.detail-head .count{margin-left:auto}.grid-field{width:88px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-weight:800;padding:4px 8px;outline:none}.grid-field:hover,.grid-field:focus{border-color:var(--line);background:var(--bg-2);color:var(--ink)}.grid-edit{display:inline-flex;align-items:center;gap:8px;min-width:132px;padding:6px 10px;border:1px solid var(--rust);border-radius:12px;background:#2a211e;box-shadow:inset 0 0 0 1px #c25a452e}.grid-edit span{color:var(--rust-hot);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.grid-edit input{width:72px;border:0;padding:0;background:transparent;color:var(--ink);font-weight:800;letter-spacing:.04em;outline:none}.grid-edit input::placeholder{color:var(--muted);font-style:italic;font-weight:600}.grid-box{border-color:var(--rust);background:#2a211e;font-weight:800;letter-spacing:.04em}.detail-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detail-main{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}.detail-shot{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#1a1b1d}.detail-shot>img{width:100%;display:block;aspect-ratio:1;object-fit:cover}.detail-shot .grid-shot img{object-fit:fill}.shot-empty{aspect-ratio:1;display:grid;place-items:center;color:var(--muted);font-weight:700}.card-shot .shot-empty{aspect-ratio:auto;height:100%;min-height:100%;font-size:12px;background:#161310}.spam-open .grid-shot-tag{display:none}.list-item{transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.pick-item:hover{border-color:#c478526b;background:var(--card)}.shot-upload{display:block;text-align:center;padding:10px;border-top:1px solid var(--line);background:var(--card);cursor:pointer;font-weight:700;font-size:13px}.shot-upload:hover{background:var(--card-2)}.detail-players{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:14px 16px;display:grid;gap:10px}.detail-players .player-row{grid-template-columns:10px minmax(0,1fr) auto auto auto}.detail-shots{display:grid;gap:8px}.shot-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.shot-head .kicker{margin:0}.shot-drop{min-height:88px;justify-content:flex-start}.shot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.shot-card{position:relative;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--card)}.shot-card.thumb{border-color:#5a5d62}.shot-open{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;width:100%;background:none;cursor:zoom-in}.shot-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.shot-badge{position:absolute;top:8px;left:8px;z-index:1;padding:2px 7px;border-radius:999px;background:#141516d1;color:var(--ink);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.shot-tools{position:absolute;left:0;right:0;bottom:0;display:flex;gap:6px;padding:22px 8px 8px;background:linear-gradient(transparent,#080809c7)}.shot-tool{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;border:0;border-radius:8px;padding:5px 8px;background:#222426e0;color:var(--ink);font-size:11px;font-weight:800;cursor:pointer}.shot-tool:hover{background:var(--card-2)}.shot-tool.danger{flex:0 0 auto;color:#f0d0d0}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:24px;background:#080809db;cursor:zoom-out}.lightbox img{max-width:min(1100px,96vw);max-height:92vh;object-fit:contain;border-radius:12px}.danger-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--offline);font-weight:700;cursor:pointer;padding:0;width:fit-content;opacity:.75}.danger-link:hover{opacity:1}.list{display:grid;gap:10px}.list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg-2)}.muted{color:var(--muted)}.kicker{color:var(--rust-hot);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:11px}.mobile-bar{position:sticky;top:0;z-index:30;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--bg-2)}.mobile-bar-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.bottom-nav{position:sticky;bottom:0;z-index:30;justify-content:space-around;gap:4px;padding:6px 8px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--bg-2)}.bottom-nav .side-link{flex:1;flex-direction:column;gap:2px;min-height:48px;padding:6px 4px;border-radius:10px;font-size:10px;letter-spacing:.04em;text-transform:uppercase;box-shadow:none}.bottom-nav .side-link.on{background:var(--card);color:var(--rust-hot)}.bottom-nav .side-link svg{width:18px;height:18px}@media(max-width:820px){.shell{grid-template-columns:1fr}.sidebar{display:none}.shell-main{height:100dvh;overflow:hidden}.mobile-bar,.bottom-nav{display:flex;flex:0 0 auto}.page{flex:1;overflow:auto;padding:14px 12px 16px;font-size:13px}.brand h1{font-size:18px}.brand.compact small,.mobile-bar .server-pop,.mobile-bar .server-pop-label,.mobile-bar .user-chip strong,.mobile-bar .admin-btn{display:none}.mobile-bar .server-select{max-width:min(150px,38vw);font-size:12px;padding:6px 8px}.mobile-bar .user-chip{padding:4px}.home-bar,.page-head{flex-direction:column;align-items:stretch;text-align:left;gap:12px;margin-bottom:14px}.home-bar h2,.page-head h2{font-size:24px}.kicker{font-size:10px}.home-bar>div,.page-head-copy,.page-head-actions{width:100%}.page-head-actions{flex-direction:column;align-items:stretch}.page-head-hint{max-width:none}.home-bar .kicker,.home-bar h2,.home-bar .muted{text-align:left}.home-bar .search,.page-head-actions .search{flex:none;max-width:none;min-width:0;width:100%;height:44px;padding:8px 12px;font-size:16px;text-align:left}.filters{justify-content:center}.grid{grid-template-columns:1fr;gap:10px}.card{flex-direction:column}.card-shot{width:100%;flex:0 0 120px;height:120px;aspect-ratio:auto;border-right:0;border-bottom:1px solid var(--line)}.card-shot>img{object-fit:cover;object-position:center}.grid-shot{min-height:0;height:100%;aspect-ratio:auto}.grid-shot-tag{font-size:10px;left:6px;bottom:6px;padding:1px 5px}.card-body{padding:10px 12px;gap:6px}.card-head h2{font-size:16px}.card-grid{font-size:12px}.count{font-size:14px}.player-name{font-size:13px}.card .player-row{grid-template-columns:10px minmax(0,1fr) auto;gap:6px}.card .seen{font-size:12px}.card .seen-label{display:none}.shot-zoom{width:24px;height:24px;top:4px;right:4px}.detail-main{grid-template-columns:1fr}.detail-head{flex-wrap:wrap;gap:8px 12px}.detail-head h1{font-size:24px;min-width:0;overflow:hidden;text-overflow:ellipsis}.grid-edit{width:100%;min-width:0;justify-content:space-between}.grid-edit input{flex:1;width:auto;min-width:0;text-align:right;font-size:16px}.detail-head .count{margin-left:0}.detail-shot>img,.detail-shot .grid-shot,.shot-empty{aspect-ratio:16 / 9}.detail-players .player-row{grid-template-columns:10px minmax(0,1fr) auto auto}.search-row{flex-direction:column}.search-row .btn{width:100%;min-height:44px}.field,.search,input,select,textarea{font-size:16px}.modal-backdrop{padding:12px;align-items:end}.modal{width:100%;max-height:min(92vh,820px);border-radius:18px 18px 12px 12px;padding:16px}.modal-head h2,.spam-grid-field{font-size:22px}.btn{padding:7px 12px;font-size:13px}.modal-actions{flex-direction:column-reverse;align-items:stretch}.home-bar h2{overflow-wrap:anywhere;word-break:break-word}.map-view{width:100%;max-width:100%}.map-view img{max-width:100%}.map-actions{flex-wrap:wrap}.map-actions .btn{flex:1 1 auto}.map-pin em{font-size:10px;max-width:42vw;overflow:hidden;text-overflow:ellipsis}.map-legend-item{width:100%;border-radius:12px;justify-content:space-between}.lightbox{padding:12px}.lightbox img{max-width:100%;max-height:86vh}.login-wrap{padding:20px 16px}.login-card{padding:28px 20px}.create-drop,.create-drop+.or-split,.shot-drop,.spam-drop,.desktop-only,.spam-hint{display:none}.home-bar-actions,.page-head-actions{width:100%;flex-direction:column;align-items:stretch;justify-content:center}.home-bar-actions .btn,.page-head-actions .btn,.command-bar .btn{width:100%}.command-bar{flex-direction:column}.history-grid,.history-grid-two,.history-extra,.history-split{grid-template-columns:1fr}.spam-filter{width:100%}.spam-filter-panel{left:0;right:0;width:auto}.spam-grid{grid-template-columns:1fr}.login-card h1{font-size:40px;margin-bottom:8px}.welcome h1{font-size:clamp(36px,12vw,64px);padding:0 16px}.list-item,.pick-item{flex-wrap:wrap}.pick-actions{width:100%;justify-content:space-between}}@media(max-width:520px){.brand-mark{width:38px;height:38px}.card-body{padding:12px}.card-head h2{font-size:16px;width:auto}.card-grid,.card-head .count{margin-left:0}.detail-tools{gap:8px}.seg.compact button{flex:1 1 auto;min-height:40px}}.welcome{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;background:radial-gradient(ellipse 70% 45% at 50% -8%,rgba(196,120,82,.12),transparent 58%),var(--bg);cursor:pointer}.welcome h1{font-family:var(--display);font-size:clamp(40px,7vw,72px);font-weight:500;font-style:italic;letter-spacing:-.04em;line-height:.95}.welcome.in{animation:welcome-in .4s var(--ease)}.welcome.out{animation:welcome-out .42s var(--ease) forwards}@keyframes welcome-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes welcome-out{to{opacity:0;transform:translateY(-8px);pointer-events:none}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#080605b8;display:grid;place-items:center;padding:20px}.modal{width:min(560px,100%);max-height:min(90vh,820px);overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;display:grid;gap:16px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dropzone{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;border:1px dashed var(--line);border-radius:14px;padding:10px 14px;text-align:center;color:var(--ink-dim);background:var(--bg-2)}.dropzone.active{border-color:var(--rust);background:#ce422b24;color:var(--cream)}.dropzone strong{display:block;color:var(--cream);font-size:14px}.dropzone-note{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-style:italic;font-weight:500}.dropzone img{height:36px;width:auto;border-radius:8px;border:2px solid var(--ink)}.or-split{margin:0;text-align:center;color:var(--muted);font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase}.modal-head h2{font-size:28px;font-weight:600;line-height:1.05}.spam-grid-edit{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;margin:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:text}.spam-grid-edit:hover h2{color:var(--rust-hot)}.spam-grid-field{display:block;width:5.5ch;min-width:3.5ch;margin:0;padding:0 2px;border:0;border-bottom:2px solid var(--rust);border-radius:0;background:transparent;color:inherit;font-family:var(--font);font-weight:650;letter-spacing:-.03em;font-size:28px;line-height:.95;outline:none}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.search-row{display:flex;gap:8px}.search-row .field{flex:1}.hint{font-weight:600;text-transform:none;letter-spacing:0;color:var(--muted);font-size:12px}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.player-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 8px 6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--bg-2);font-weight:700}.icon-x{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--card);color:var(--ink);width:36px;height:36px;border-radius:12px;font-size:22px;line-height:1;cursor:pointer}.icon-x.tiny{width:22px;height:22px;border-radius:999px;font-size:16px;padding:0}.pick-item{width:100%;text-align:left;cursor:pointer}.pick-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.pick-block{display:grid;gap:8px}.pick-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.pick-head .kicker{margin:0}.pick-list{max-height:280px;overflow:auto;padding-right:4px}.btn-sm{padding:6px 10px;font-size:13px;border-radius:10px}.home-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.home-bar h2{font-size:26px;line-height:1.1}.home-bar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;flex:1 1 auto}.home-bar .search{max-width:360px}.home-split{display:flex;align-items:center;gap:14px;margin:36px 0 22px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.home-split:before,.home-split:after{content:"";flex:1;height:1px;background:var(--line)}.spam-hint{margin:0;color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}.spam-filter{position:relative;flex:0 0 auto}.spam-filter-btn.on{border-color:var(--rust);color:#fff7ea}.spam-filter-count{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--rust);color:#fff7ea;font-size:11px;font-weight:800;line-height:18px;text-align:center}.spam-filter-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:min(340px,92vw);padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:0 18px 40px var(--shadow);display:grid;gap:14px}.spam-filter-group{display:grid;gap:8px}.spam-filter-label{margin:0;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.spam-filter-chips{display:flex;flex-wrap:wrap;gap:8px}.spam-filter-chips .chip{margin:0}.spam-filter-clear{justify-self:end}.spam-card{cursor:pointer}.spam-card.due{border-color:#b56e6659}.spam-card.checked{border-color:#7d9a6c59}.spam-card.checked.aging{border-color:#c4a06666}.spam-card.checked.stale{border-color:#b56e6673}.spam-card .spam-time-badge{position:absolute;top:8px;right:8px;z-index:1;padding:3px 8px;border-radius:999px;background:#0c0c0ed1;color:var(--ink);font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1.2;pointer-events:none}.spam-modal{width:min(640px,100%)}.spam-players{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--bg-2)}.spam-players .players{margin:0;padding:0;border:0}.spam-card:hover{border-color:#c478526b}.spam-card.due:hover{border-color:var(--rust)}.spam-card.checked:hover{border-color:#5a6a3a}.spam-card.checked.aging:hover{border-color:var(--mixed)}.spam-card.checked.stale:hover{border-color:var(--offline)}.spam-time-badge{position:absolute;top:8px;right:8px;z-index:1;padding:3px 8px;border-radius:999px;background:#0c0c0ed1;color:var(--ink);font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1.2;pointer-events:none}.spam-check{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:calc(100% - 24px);margin:8px 12px 10px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--bg-2);color:var(--ink);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.spam-check:hover{border-color:var(--rust);background:var(--card-2)}.spam-check.on{border-color:#3d4a28;background:#2a3220;color:#d7f0b8}.spam-check.on:hover{border-color:#5a6a3a}.spam-check.on.aging{border-color:#6a5a28;background:#322a18;color:#f0e0a8}.spam-check.on.aging:hover{border-color:var(--mixed)}.spam-check.on.stale{border-color:#6a3232;background:#322018;color:#f0c4b8}.spam-check.on.stale:hover{border-color:var(--offline)}.spam-check:disabled{opacity:.6;cursor:wait}.spam-modal-check .spam-check{width:100%;margin:0}.spam-file{justify-self:start}.spam-note{margin:0;padding:0 12px 12px;color:var(--muted);font-size:12px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.spam-card:hover .spam-note{color:var(--ink-dim)}textarea.field{min-height:88px;resize:vertical}.spam-modal-gallery{display:grid;gap:10px}.spam-modal-frame{position:relative;border-radius:12px;overflow:hidden;background:var(--bg-2);border:1px dashed transparent}.spam-modal-frame.active{border-color:var(--rust)}.spam-modal-frame.busy{opacity:.72}.spam-modal-frame .spam-time-badge{z-index:2}.spam-modal-shot{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;padding:0;border:0;background:var(--bg-2);cursor:zoom-in}.spam-modal-shot img{display:block;width:100%;max-height:280px;object-fit:cover}.spam-modal-empty{display:grid;place-items:center;min-height:180px;padding:28px 16px;text-align:center}.spam-shot-nav{position:absolute;top:50%;z-index:2;width:32px;height:32px;margin:0;padding:0;border:0;border-radius:999px;background:#0c0c0ec7;color:var(--ink);font-size:22px;line-height:1;transform:translateY(-50%);cursor:pointer}.spam-shot-nav.prev{left:8px}.spam-shot-nav.next{right:8px}.spam-shot-nav:hover{background:#0c0c0eeb}.spam-shot-thumbs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.spam-shot-thumbs button{flex:0 0 48px;width:48px;height:48px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:var(--bg-2);cursor:pointer}.spam-shot-thumbs button.on{border-color:var(--rust)}.spam-shot-thumbs img{display:block;width:100%;height:100%;object-fit:cover}.spam-shot-add{display:flex;align-items:center;justify-content:space-between;gap:10px}.spam-shot-add .dropzone-note{margin:0}.notice{margin-bottom:16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg-2);color:var(--ink-dim);font-weight:600}.redact{height:12px;width:62%;border-radius:6px;background:#3a3c40}.redact-name{width:42%;height:18px}.redact-grid{width:48px;margin-left:auto}.redact-time{width:92px}.redact-shot{width:100%;height:100%;min-height:100%;background:#2a2c2f}.card-grid{margin:0;color:var(--muted);font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.player-left{display:flex;gap:8px;align-items:center}.access-user{display:flex;gap:10px;align-items:center}.access-user img{width:28px;height:28px;border-radius:50%}.access-meta{color:var(--muted);font-size:12px;line-height:1.35}.history-body{gap:14px}.history-confidence{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}.history-confidence-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.02em}.history-confidence-high .history-confidence-pill{color:#8fce8a;border-color:#3d5c3a;background:#57f28714}.history-confidence-medium .history-confidence-pill{color:#e0b35c;border-color:#5c4a28;background:#e0b35c14}.history-confidence-low .history-confidence-pill{color:#d48963;border-color:#5c3a2a;background:#c478521a}.history-confidence-note{color:var(--muted);font-size:12px;line-height:1.35}.history-hero{padding:16px 16px 14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(160deg,rgba(196,120,82,.14),transparent 55%),var(--bg-2)}.history-hero-time{display:block;margin-top:6px;font-size:26px;letter-spacing:-.04em;line-height:1.15}.history-hero .access-meta{margin-top:8px}.history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.history-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.history-grid>div{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--bg-2)}.history-grid strong{display:block;margin-top:6px;font-size:16px;letter-spacing:-.03em;line-height:1.2}.history-extra,.history-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.history-extra>span,.history-split>div{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:transparent}.history-extra .kicker,.history-split .kicker{margin-bottom:4px}.history-extra strong{display:block;font-size:14px}.history-bars{padding:12px 12px 10px;border:1px solid var(--line);border-radius:14px;background:var(--bg-2)}.history-bars-row{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));align-items:end;gap:2px;height:56px;margin-top:10px}.history-bar{display:block;min-height:4px;border-radius:3px 3px 1px 1px;background:color-mix(in srgb,var(--rust) 70%,#fff 10%);opacity:.85}.history-bar-quiet{background:color-mix(in srgb,#8fce8a 65%,#fff 5%)}.history-bars-axis{display:flex;justify-content:space-between;margin-top:6px;color:var(--muted);font-size:11px}.history-meta{margin-top:2px}.check-page{display:grid;gap:16px;min-width:0}.check-result{padding:18px}.check-result h2+.seen{margin:6px 0 2px;font-weight:700}.check-result-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.access-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.map-page{display:grid;gap:16px;min-width:0;max-width:100%}.map-actions{display:flex;gap:8px;align-items:center}.map-frame{width:min(100%,calc(100vh - 220px));max-width:100%;margin:0 auto;padding:10px;border:1px solid var(--line);border-radius:20px;background:var(--card)}.map-view{position:relative;width:100%;max-width:100%;min-width:0;margin:0 auto;border:0;border-radius:12px;overflow:hidden;background:#161310}.map-view img{width:100%;max-width:100%;height:auto;display:block;aspect-ratio:1;object-fit:contain}.map-empty{aspect-ratio:1;display:grid;place-items:center;color:var(--muted);font-weight:700;border:1px solid var(--line);border-radius:var(--radius);background:#1a1b1d}.map-pin-link{text-decoration:none}.map-pin{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:4px;pointer-events:auto}.map-pin i{width:10px;height:10px;border-radius:50%;background:var(--rust);box-shadow:0 0 0 3px #c4785247}.map-pin em{font-style:normal;font-size:11px;font-weight:800;white-space:nowrap;padding:2px 6px;border-radius:999px;background:#141516d1;color:var(--ink)}.map-pin .count{font-size:12px}.map-legend{display:flex;flex-wrap:wrap;gap:8px}.map-legend-item{display:flex;gap:8px;align-items:baseline;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);text-decoration:none;font-size:13px;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.map-legend-item:hover{border-color:#c478526b;background:var(--card-2)}.map-legend-item span{color:var(--muted);font-weight:700}.map-legend-item .count{font-size:14px;margin-left:2px}.detail-map{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#1a1b1d;max-width:420px}.detail-map .map-view,.detail-map .map-view img{border:0;border-radius:0}@media(max-width:820px){.spam-meta strong,.spam-note{font-size:12px}}.rp-status{display:grid;gap:10px;margin:0 0 18px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.rp-status.on{border-color:#7d9a6c66}.rp-status.wait{border-color:#c4a06666}.rp-status-main{display:flex;align-items:center;gap:12px;min-width:0}.rp-status-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:650;letter-spacing:-.03em;line-height:1.2}.rp-status-main .kicker{margin-bottom:4px}.rp-status-main p{margin:4px 0 0;color:var(--muted);font-weight:600}.rp-help{border-top:1px solid var(--line);padding-top:10px}.rp-help summary{cursor:pointer;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;list-style:none}.rp-help summary::-webkit-details-marker{display:none}.rp-help[open] summary{color:var(--ink-dim);margin-bottom:8px}.rp-status-help{margin:0;color:var(--ink-dim);font-size:13px;line-height:1.5}.rp-help-list{margin:0;padding-left:1.2em;display:grid;gap:4px}.rp-help-list code{font-size:.92em}.rp-help-aside{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line);color:var(--muted)}.rp-steam{margin:2px 0 0;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.rp-reset-form{display:grid;gap:8px}.rp-reset-form p{margin:0;color:var(--muted);font-size:13px}.rp-reset-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.rp-reset-row .search{flex:1 1 180px;min-width:0}.rp-setup{display:grid;gap:12px;padding:14px 16px;border:1px solid rgba(90,140,90,.35);border-radius:14px;background:#28462d2e}.rp-setup.done{border-color:#57f28773;background:#285a3247}.rp-setup-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.rp-setup-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.rp-setup-list li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start}.rp-setup-check{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--line);color:transparent;font-weight:800;background:var(--card)}.rp-setup-list li.ok .rp-setup-check{border-color:#57f287;background:#57f28729;color:#57f287}.rp-setup-label{margin:0;font-weight:700;color:var(--ink-dim)}.rp-setup-list li.ok .rp-setup-label{color:#57f287}.rp-setup-hint{margin:2px 0 0;font-size:12px;color:var(--muted)}.rp-setup-next{margin:0;font-size:13px;color:var(--ink-dim)}.rp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:14px}.rp-card{position:relative;display:flex;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}.rp-card-accent{flex:0 0 6px;background:var(--line)}.rp-switch.is-on .rp-card-accent{background:var(--online)}.rp-switch.is-off .rp-card-accent{background:var(--offline)}.rp-alarm .rp-card-accent{background:var(--rust)}.rp-storage .rp-card-accent{background:var(--mixed)}.rp-card-body{flex:1;min-width:0;padding:14px 16px 12px;display:grid;gap:10px}.rp-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.rp-name{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;min-width:0}.rp-name h2{font-size:20px;font-weight:600;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-name span{display:inline-block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.rp-name:hover span{color:var(--ink)}.rp-name-edit .field{width:100%}.rp-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);border-radius:14px;background:var(--bg-2);color:inherit;display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;width:100%;justify-content:space-between}.rp-toggle:hover{border-color:#4a4038;background:var(--card-2)}.rp-toggle.on{border-color:#3d4a28}.rp-toggle.off{border-color:#4a2c2c}.rp-toggle-track{width:52px;height:28px;border-radius:999px;background:#3a2a26;position:relative;flex:0 0 auto}.rp-toggle.on .rp-toggle-track{background:#3d4a28}.rp-toggle-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#ecece8;transition:transform .16s ease}.rp-toggle.on .rp-toggle-knob{transform:translate(24px);background:#d7f0b8}.rp-desc{margin:0;color:var(--muted);font-size:14px;line-height:1.35;overflow-wrap:anywhere}.rp-meta{margin:0;color:var(--ink-dim);font-weight:600}.rp-items{display:flex;flex-wrap:wrap;gap:8px}.rp-item{display:inline-flex;align-items:baseline;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--bg-2)}.rp-item em{font-style:normal;color:var(--ink-dim);font-size:12px;font-weight:700}.rp-item strong{font-size:14px}.rp-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}@media(max-width:820px){.rp-status{padding:12px}.rp-name h2{font-size:18px}.rp-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}html.bot-offline .app-shell{filter:grayscale(1) contrast(.92);pointer-events:none;-webkit-user-select:none;user-select:none}.bot-offline-lock{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:grid;place-items:center;padding:24px;pointer-events:all;cursor:not-allowed;background:#06040673}.bot-offline-banner{width:min(720px,100%);padding:28px 32px 30px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,#ff1f1f,#c40818 48%,#7a0010);box-shadow:0 24px 70px #7800108c,inset 0 1px #ffffff2e;text-align:center;animation:bot-banner-in .32s cubic-bezier(.22,1,.36,1) both}.bot-offline-kicker{margin:0 0 10px;font-family:var(--display, system-ui, sans-serif);font-size:clamp(34px,7vw,56px);font-weight:800;letter-spacing:.12em;line-height:1;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.35)}.bot-offline-copy{margin:0;font-family:var(--font, system-ui, sans-serif);font-size:clamp(16px,2.6vw,22px);font-weight:700;line-height:1.35;color:#fff5f5f5;text-shadow:0 1px 8px rgba(0,0,0,.25)}@keyframes bot-banner-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
