:root{--bg: #0d0b07;--bg-2: #14110b;--panel: #1b1710;--panel-2: #221d14;--border: #3a3120;--border-2: #4a3f28;--text: #d8cdb4;--text-dim: #9a8f76;--gold: #c8aa6e;--gold-bright: #f0d99a;--unique: #af6025;--danger: #b5443a;--ok: #5c8a3a;--found: #3a6d8a;--shadow: 0 6px 20px rgba(0, 0, 0, .5)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -10%,#1a150d 0%,var(--bg) 60%);color:var(--text);font-family:Segoe UI,system-ui,sans-serif;min-height:100vh}.btn{font:inherit;padding:.55rem .9rem;border-radius:6px;border:1px solid var(--border-2);background:var(--panel-2);color:var(--text);cursor:pointer;transition:all .12s ease}.btn:hover{border-color:var(--gold);color:var(--gold-bright)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:linear-gradient(180deg,#3a2f18,#2a2211);border-color:var(--gold);color:var(--gold-bright);font-weight:600;width:100%}.btn-primary:hover{background:linear-gradient(180deg,#4a3c1f,#352a15)}.btn-ghost{background:transparent}.btn-accent{border-color:var(--gold);color:var(--gold-bright);background:#2f2717;font-weight:600}.btn-accent:hover{background:#3a301c;border-color:var(--gold-bright);color:var(--gold-bright)}.btn-danger{border-color:#5a2a26;color:#d98a82}.btn-danger:hover{border-color:var(--danger);color:#fff;background:#3a1e1a}.btn-discord{background:#5865f2;border-color:#5865f2;color:#fff;font-size:1.05rem;font-weight:600;padding:.8rem 1.6rem}.btn-discord:hover{background:#4752e0;border-color:#4752e0;color:#fff}.input{font:inherit;width:100%;padding:.55rem .7rem;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;color:var(--text)}.input:focus{outline:none;border-color:var(--gold)}.textarea{resize:vertical}.center-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center;padding:1rem}.landing .tagline{font-size:1.2rem;color:var(--gold);margin:0}.landing .sub{color:var(--text-dim);margin:0 0 1.4rem;max-width:30rem}.denied-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}.brand{font-size:2rem;margin:0;letter-spacing:.5px;font-weight:700}.brand .accent{color:var(--gold)}.sub-brand{font-size:1rem;color:var(--text-dim);font-weight:400}.app{max-width:1200px;margin:0 auto;padding:0 1rem 3rem}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;flex-wrap:wrap;gap:.6rem}.league-nav{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:1rem;margin-bottom:1.4rem}.league-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim)}.league-select{width:auto;min-width:200px;font-size:1.05rem;font-weight:600;color:var(--gold-bright);padding:.5rem .75rem;background:var(--bg-2)}.new-league-btn{font-size:.85rem;white-space:nowrap}.delete-league-btn{font-size:.8rem;white-space:nowrap;color:var(--text-dim)}.delete-league-btn:hover{color:var(--danger);border-color:var(--danger)}.delete-league-confirm{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:.85rem}.dl-q{color:var(--text)}.dl-err{flex-basis:100%;font-size:.8rem}.btn-danger{border-color:var(--danger);color:#eeb1ab;background:#2c1613}.btn-danger:hover{background:#3a1a15;border-color:var(--danger);color:#fff}.ci-btn{font-size:.8rem;white-space:nowrap}.ci-modal{max-width:30rem}.ci-hint{color:var(--text-dim);font-size:.9rem;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:.7rem .8rem}.ci-hint code{color:var(--gold-bright);font-family:ui-monospace,Cascadia Code,monospace}.ci-actions{display:flex;gap:.6rem;margin-bottom:.9rem}.ci-runs{display:flex;flex-direction:column;gap:.35rem;max-height:18rem;overflow-y:auto}.ci-run{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text)}.ci-run:hover{border-color:var(--gold)}.run-dot{width:.65rem;height:.65rem;border-radius:50%;flex:none;background:var(--text-dim)}.run-dot.ok{background:var(--ok)}.run-dot.fail{background:var(--danger)}.run-dot.running{background:var(--gold-bright);animation:run-pulse 1s ease-in-out infinite}@keyframes run-pulse{0%,to{opacity:1}50%{opacity:.35}}.ci-run-main{display:flex;flex-direction:column;min-width:0;flex:1}.ci-run-title{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ci-run-meta{font-size:.72rem;color:var(--text-dim)}.ci-run-state{font-size:.75rem;font-weight:600;white-space:nowrap}.ci-run-state.ok{color:var(--ok)}.ci-run-state.fail{color:var(--danger)}.ci-run-state.running{color:var(--gold-bright)}.tabs{display:flex;gap:.4rem;padding:.2rem 0 0;border-bottom:1px solid var(--border);margin-bottom:1.2rem}.tab{font:inherit;padding:.45rem 1.1rem;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;color:var(--text-dim);cursor:pointer;font-weight:600;margin-bottom:-1px}.tab:hover{color:var(--gold-bright)}.tab.active{color:var(--gold-bright);background:var(--panel-2);border-color:var(--border-2)}.ladder-head{display:flex;align-items:baseline;gap:.7rem;margin-bottom:.8rem}.ladder-title{margin:0;color:var(--gold);font-size:1.3rem}.ladder-updated{font-size:.8rem}.selflink{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.9rem;font-size:.85rem}.selflink-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.selflink-input{flex:0 1 220px;min-width:0;width:auto;padding:.35rem .6rem}.selflink-hint{color:var(--text-dim)}.selflink-err{flex-basis:100%;font-size:.8rem}.ladder-scroll{overflow-x:auto}.ladder-table{width:100%;border-collapse:collapse;font-size:.92rem}.ladder-table th,.ladder-table td{text-align:left;padding:.5rem .7rem;border-bottom:1px solid var(--border);white-space:nowrap}.ladder-table th{color:var(--text-dim);font-size:.72rem;text-transform:uppercase;letter-spacing:.5px}.ladder-table td.num,.ladder-table th.num{text-align:right}.ladder-table .rank{color:var(--text-dim);width:2.5rem}.ladder-table .who{color:var(--gold-bright);font-weight:600}.ladder-table .char.dead{color:var(--text-dim);text-decoration:line-through}.cls-wrap{display:inline-flex;align-items:center;gap:.35rem}.class-icon{width:20px;height:20px;flex:none;border-radius:4px;object-fit:cover}.link-remind{display:flex;align-items:center;gap:.5rem;margin:.7rem 0 .2rem;font-size:.85rem;color:var(--text-dim);cursor:pointer}.link-remind input{cursor:pointer}.item-hover{display:inline-flex}.item-card{z-index:100;min-width:190px;max-width:320px;background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--border-2);border-radius:8px;box-shadow:0 10px 26px #0000008c;overflow:hidden;font-size:.82rem;line-height:1.4;pointer-events:none;white-space:normal;text-align:left}.ic-head{display:flex;gap:.55rem;align-items:center;padding:.55rem .65rem;background:#ffffff08;border-bottom:1px solid var(--border-2)}.ic-icon{width:38px;height:38px;object-fit:contain;flex:none}.ic-name{font-weight:600;color:var(--text)}.ic-head.unique .ic-name{color:var(--unique)}.ic-head.foulborn .ic-name{color:var(--gold-bright)}.ic-base{color:var(--text-dim);font-size:.76rem}.ic-req{padding:.4rem .65rem;color:var(--text-dim);font-size:.76rem;border-bottom:1px solid var(--border-2)}.ic-mods{padding:.45rem .65rem;color:#7fa8cc}.ic-mods.ic-implicit{color:var(--text-dim);border-bottom:1px solid var(--border-2)}.ic-mods.ic-foul{color:#c69cff;border-top:1px solid var(--border-2)}.ic-foul-label{color:var(--text-dim);font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem}.ic-flavour{padding:.4rem .65rem;color:#8a7c62;font-style:italic;font-size:.76rem}.ic-foot{padding:.45rem .65rem;color:var(--text-dim);font-size:.76rem;border-top:1px solid var(--border-2)}.char-link{color:inherit;text-decoration:none}.char-link:hover{color:var(--gold-bright);text-decoration:underline}.ladder-table .dead-tag{color:var(--danger);text-decoration:none}.ladder-table .cls{color:var(--text-dim)}.ladder-table .xp-rate{font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}.ladder-table .xp-rate.muted{color:var(--text-dim)}.ladder-table tr.me-row{background:#c8aa6e1a}.ladder-table tr.me-row .char{color:var(--gold-bright)}.ladder-controls{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.9rem}.seg-group{display:inline-flex;border:1px solid var(--border-2);border-radius:8px;overflow:hidden}.seg-group .seg{border:none;border-radius:0;padding:.4rem .9rem;font-size:.85rem}.standing{padding:.6rem .85rem;margin-bottom:1rem;background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--gold);border-radius:8px;font-size:.95rem}.standing.muted{border-color:var(--border);background:var(--bg-2)}.standing .who{color:var(--gold-bright);font-weight:600}.lvl-cell{min-width:3.4rem}.xp-bar{display:block;height:3px;margin-top:3px;background:var(--border);border-radius:2px;overflow:hidden}.xp-fill{display:block;height:100%;background:var(--gold)}.dead-badge{margin-left:.4rem;font-size:.6rem;font-weight:700;letter-spacing:.5px;color:#eeb1ab;background:#3a1a15;border:1px solid var(--danger);border-radius:4px;padding:.05rem .3rem;vertical-align:middle}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0000009e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modal-fade .12s ease}.modal{width:100%;max-width:27rem;background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--gold);border-radius:12px;box-shadow:0 18px 50px #0000008c;padding:1.15rem 1.3rem 1.3rem;animation:modal-pop .14s ease}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.modal-title{margin:0;color:var(--gold-bright);font-size:1.2rem}.modal-close{background:transparent;border:none;color:var(--text-dim);font-size:1.6rem;line-height:1;cursor:pointer;padding:0 .2rem}.modal-close:hover{color:var(--gold-bright)}.modal-sub{color:var(--text-dim);font-size:.9rem;margin:.45rem 0 .9rem}.modal-input{width:100%}.modal-err{margin:.6rem 0 0;font-size:.85rem}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.15rem}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}.overlay-token{display:inline-flex;align-items:center;gap:.5rem;max-width:100%;padding:.4rem .6rem;background:var(--bg-2);border:1px solid var(--border-2);border-radius:8px;color:var(--text-dim);cursor:pointer;font-family:inherit;font-size:.78rem}.overlay-token:hover{border-color:var(--gold)}.overlay-token.copied{border-color:var(--ok)}.ot-label{color:var(--gold);font-weight:600;white-space:nowrap}.ot-value{font-family:ui-monospace,Cascadia Code,monospace;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overlay-token.copied .ot-value{color:var(--ok)}.ot-icon{color:var(--text-dim)}.overlay-token-wrap{display:inline-flex;flex-direction:column;align-items:flex-end;gap:.35rem;max-width:100%;margin-left:auto}.ot-links{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;flex-wrap:wrap;font-size:.72rem;padding-right:.15rem}.ot-app{color:var(--gold);font-weight:600}.ot-link{color:var(--gold-bright);text-decoration:none}.ot-link:hover{text-decoration:underline}button.ot-link{background:none;border:0;padding:.2rem .1rem;font:inherit;font-size:inherit;cursor:pointer}button.ot-link:disabled{opacity:.6;cursor:default;text-decoration:none}.ot-sep{color:var(--border-2)}.ladder-status{display:flex;align-items:center;gap:.5rem;margin:.6rem 0 .2rem;font-size:.9rem}.ladder-status-text{color:var(--text)}.admin-modal{max-width:560px;max-height:85vh;overflow-y:auto}.admin-section{padding:.9rem 0;border-top:1px solid var(--border-2)}.admin-section:first-of-type{border-top:0;padding-top:.3rem}.admin-h{margin:0 0 .25rem;font-size:1rem;color:var(--gold)}.admin-desc{margin:0 0 .6rem;font-size:.82rem;color:var(--text-dim);line-height:1.45}.admin-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:.4rem 0}.admin-row>.input{flex:1 1 12rem;min-width:0}.admin-row>.input.admin-pl{flex:0 0 7rem}.admin-row-between{justify-content:space-between}.admin-note{font-size:.78rem;color:var(--text-dim)}.admin-note code{font-size:.76rem}.admin-confirm{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.league-state{display:flex;align-items:flex-start;gap:.55rem;padding:.6rem .7rem;margin:.1rem 0 .8rem;background:var(--panel-2);border:1px solid var(--border-2);border-radius:8px}.league-state.active{border-color:#3f6d55;background:#5aaa8214}.league-state .run-dot{margin-top:.32rem}.league-state-body{flex:1 1 auto;min-width:0}.league-state-title{font-size:.92rem;color:var(--text)}.league-state-sub{font-size:.76rem;color:var(--text-dim);margin-top:.15rem}.league-state-actions{display:flex;gap:.35rem;flex:none}.lg-patch{display:inline-block;margin-left:.4rem;padding:.02rem .4rem;font-size:.72rem;font-weight:600;color:var(--gold-bright);background:#c8aa6e24;border:1px solid var(--border-2);border-radius:999px;vertical-align:middle}.league-start{margin:.2rem 0 .6rem}.lg-h{margin:0 0 .25rem;font-size:.9rem;color:var(--text)}.lg-field{margin:.55rem 0}.lg-field .input{width:100%}.lg-label{display:block;font-size:.72rem;color:var(--text-dim);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.03em}.lg-label .opt{text-transform:none;letter-spacing:0;font-weight:400;color:var(--text-dim);opacity:.85}.lg-hint{display:block;font-size:.72rem;color:var(--text-dim);margin-top:.22rem;line-height:1.35}.lg-field-row{display:flex;gap:.6rem;flex-wrap:wrap}.lg-field-row .lg-field{flex:1 1 8rem;min-width:0}.input:disabled{opacity:.5;cursor:not-allowed}.lg-preview{margin:.3rem 0 .5rem}.lg-preview strong{color:var(--gold-bright)}.league-board{border-top:1px dashed var(--border-2);padding-top:.7rem;margin-top:.4rem}.me{display:flex;align-items:center;gap:.6rem}.me-name{color:var(--gold);font-weight:600}.layout{display:grid;grid-template-columns:340px 1fr;gap:1.4rem;align-items:start}@media (max-width: 820px){.layout{grid-template-columns:1fr}}.sidebar{position:sticky;top:1rem;display:flex;flex-direction:column;gap:.8rem}.toggle-form{display:none}@media (max-width: 820px){.toggle-form{display:block}}.card{background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--border);border-radius:10px;padding:1rem;box-shadow:var(--shadow)}.form-title{margin:0 0 .8rem;color:var(--gold);font-size:1.15rem}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.7rem;flex:1}.field label{font-size:.8rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.field-row{display:flex;gap:.7rem}.error{color:#e08a82;margin:.2rem 0 .6rem;font-size:.9rem}.autocomplete{position:relative}.did-you-mean{display:block;width:100%;margin-top:.4rem;padding:.5rem .7rem;text-align:left;font-size:.86rem;color:var(--text-dim);background:#c8aa6e12;border:1px solid var(--border-2);border-radius:7px;cursor:pointer}.did-you-mean strong{color:var(--gold-bright);font-weight:600}.did-you-mean .dym-use{color:var(--gold);font-weight:600;float:right}.did-you-mean:hover{border-color:var(--gold)}.autocomplete-list{position:absolute;z-index:20;top:calc(100% + 2px);left:0;right:0;margin:0;padding:.25rem;list-style:none;max-height:280px;overflow-y:auto;background:var(--panel-2);border:1px solid var(--border-2);border-radius:8px;box-shadow:var(--shadow)}.autocomplete-item{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.4rem .55rem;border-radius:5px;cursor:pointer}.autocomplete-item.active{background:#2f2717}.item-main{display:flex;align-items:center;gap:.5rem;min-width:0}.item-icon{width:24px;height:24px;object-fit:contain;flex:0 0 24px}.item-icon.placeholder{opacity:0}.item-label{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-label.unique{color:var(--unique);font-weight:600}.item-cat{font-size:.75rem;color:var(--text-dim);white-space:nowrap;padding-left:.5rem}.filters{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1rem}.filters .search{width:100%}.filter-row{display:flex;gap:.7rem;align-items:flex-end;flex-wrap:wrap}.filter-field{display:flex;flex-direction:column;gap:.25rem;flex:1 1 150px}.filter-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.filter-field .input{width:100%}.seg-filter{display:flex;width:100%;border:1px solid var(--border-2);border-radius:8px;overflow:hidden}.seg-filter .seg{flex:1 1 0;padding:.5rem .4rem;white-space:nowrap}.muted{color:var(--text-dim)}.count{color:var(--text-dim);font-size:.85rem;margin-bottom:.7rem}.empty{color:var(--text-dim);text-align:center;padding:2rem}.group-list{display:flex;flex-direction:column;gap:.6rem}.item-group{padding:0;overflow:hidden}.group-head{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;cursor:pointer;min-width:0}.group-head:hover{background:#c8aa6e0d}.caret{color:var(--text-dim);transition:transform .12s ease;flex:0 0 auto}.caret.open{transform:rotate(90deg)}.group-icon{width:30px;height:30px;object-fit:contain;flex:0 0 30px}.group-name{font-size:1rem;font-weight:600;color:var(--gold-bright);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.group-foot{padding:.2rem .7rem .55rem;text-align:right}.wiki-link{color:var(--text-dim);font-size:.8rem;text-decoration:none}.wiki-link:hover{color:var(--gold-bright);text-decoration:underline}.group-name.unique{color:var(--unique)}.group-count{font-size:.8rem;color:var(--text-dim);white-space:nowrap}.found-flag{font-size:.75rem;color:#6aa8cf;white-space:nowrap}.drop-badge{font-size:.72rem;color:#d8a24a;background:#2a2010;border:1px solid #5a3f18;border-radius:20px;padding:.05rem .55rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.drop-badge.world{color:var(--text-dim);background:#1c1a12;border-color:var(--border)}.avatar-stack{display:flex;margin-left:auto;padding-left:.4rem}.avatar-stack .avatar-xs:not(:first-child){margin-left:-8px}.group-expand{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.req{padding:.7rem .9rem}.req+.req{border-top:1px solid var(--border)}.req.mine{background:#c8aa6e0d}.req.status-fulfilled{opacity:.55}.req-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.req-name{font-weight:600;color:var(--text)}.req-you{font-weight:400;font-size:.68rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-left:.3rem}.req-actions{margin-left:auto;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.prio-select{font:inherit;font-size:.8rem;background:var(--bg-2);color:var(--text);border:1px solid var(--border-2);border-radius:6px;padding:.32rem .4rem}.btn-sm{padding:.35rem .6rem;font-size:.8rem}.req-detail{margin-top:.5rem;padding-left:calc(26px + .5rem);display:flex;flex-direction:column;gap:.3rem}.rd-line{display:flex;gap:.55rem;font-size:.9rem;white-space:pre-wrap}.rd-label{flex:0 0 64px;font-size:.64rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);padding-top:.2rem}.rd-found span:last-child{color:#6aa8cf}.rd-foul-mods{display:flex;flex-direction:column;gap:.15rem}.rd-foul-mod{color:#c69cff}.rd-foul-repl{color:var(--text-dim);font-size:.82rem}.rd-gotit span:last-child{color:#8fbf6a}.want-label{font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-right:.3rem}.addmode-toggle{display:flex;margin-bottom:.8rem;border:1px solid var(--border-2);border-radius:8px;overflow:hidden}.seg{flex:1;font:inherit;background:transparent;color:var(--text-dim);border:none;padding:.5rem .6rem;cursor:pointer}.seg.active{background:#2f2717;color:var(--gold-bright);font-weight:600}.bulk-input-row{display:flex;gap:.4rem;align-items:flex-start}.bulk-input-row .autocomplete{flex:1}.bulk-chips{list-style:none;margin:0 0 .7rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.chip{display:flex;align-items:center;gap:.35rem;background:var(--panel-2);border:1px solid var(--border-2);border-radius:20px;padding:.15rem .3rem .15rem .5rem;font-size:.85rem}.chip-icon{width:18px;height:18px;object-fit:contain}.chip-x{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:1.05rem;line-height:1;padding:0 .2rem}.chip-x:hover{color:var(--danger)}.ok-msg{color:#8fbf6a;font-size:.9rem;margin:.2rem 0 .6rem}.notif{position:relative}.notif-bell{background:none;border:none;cursor:pointer;font-size:1.2rem;position:relative;padding:.2rem;line-height:1}.notif-count{position:absolute;top:-2px;right:-4px;background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px}.notif-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:320px;max-width:90vw;background:var(--panel-2);border:1px solid var(--border-2);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}.notif-head{padding:.6rem .8rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.25rem}.notif-title{font-weight:600;color:var(--gold)}.notif-sub{font-size:.78rem;color:var(--text-dim);line-height:1.35}.notif-sub b{color:var(--text);font-weight:600}.notif-empty{padding:1rem .8rem;color:var(--text-dim);font-size:.9rem;margin:0}.notif-list{list-style:none;margin:0;padding:0;max-height:60vh;overflow-y:auto}.notif-item{padding:.6rem .8rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.4rem}.notif-text{font-size:.9rem}.notif-note{color:var(--text)}.notif-time{color:var(--text-dim)}.notif-actions{display:flex;gap:.4rem;flex-wrap:wrap}.notif-actions .btn{padding:.3rem .6rem;font-size:.8rem}.notif-sound{display:block;width:100%;text-align:left;background:transparent;border:none;border-top:1px solid var(--border);color:var(--text-dim);font:inherit;font-size:.82rem;padding:.6rem .8rem;cursor:pointer}.notif-sound:hover{color:var(--text);background:#c8aa6e0d}.notif-sound b{color:var(--gold);font-weight:600}.item-group.high-prio{border-color:#6b4a1c;box-shadow:inset 4px 0 #f0a25a,var(--shadow)}.group-name.foulborn{color:#c99cf0}.avatar-xs{width:22px;height:22px;border-radius:50%;object-fit:cover;border:1px solid var(--bg)}@media (max-width: 560px){.notif-panel{position:fixed;left:0;right:0;top:56px;width:auto;max-width:none;border-radius:0;border-left:none;border-right:none}.group-count{display:none}.group-head{flex-wrap:wrap}.drop-badge{max-width:100%}}.badge{font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:20px;white-space:nowrap;border:1px solid transparent}.prio-3{color:#f0a25a;background:#3a2513;border-color:#6b3f18}.prio-2{color:var(--gold);background:#2c2513;border-color:#4a3f28}.prio-1{color:var(--text-dim);background:#201c14;border-color:#35301f}.status-badge{font-size:.72rem;padding:.1rem .5rem;border-radius:20px}.status-badge.status-open{color:#8fbf6a}.status-badge.status-found{color:#6aa8cf}.status-badge.status-fulfilled{color:var(--text-dim)}.avatar-sm{width:26px;height:26px;border-radius:50%;object-fit:cover;border:1px solid var(--border-2)}.avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:#2f2717;color:var(--gold);font-weight:700;font-size:.85rem}
