@import url("https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Rajdhani:wght@500;700&display=swap");:root{--bg:#070c08;--bg-card:#0d1610;--bg-card-h:#121c14;--bg-panel:#0a1209;--border:#1e2e1e;--border-act:#2e4a2e;--text:#b8ccb0;--text-dim:#526850;--text-mute:#2e4030;--green:#4a9a55;--green-bright:#68c070;--orange:#c08020;--orange-dim:#7a5010;--red:#903030;--red-dim:#5a2020;--gold:#c8a030;--gold-dim:#7a6018;--teal:#2898a8;--grey:#5a6855;--font-mono:"Share Tech Mono","Courier New",monospace;--font-ui:"Rajdhani","Share Tech Mono",sans-serif}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);min-height:100vh;overflow-x:hidden}body:after{content:"";position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.06) 0,rgba(0,0,0,.06) 4px);pointer-events:none;z-index:9000}.header{background:linear-gradient(180deg,#0a1a0b 0,var(--bg) 100%);border-bottom:1px solid var(--border-act);position:relative}.header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--green),transparent)}.header-top{padding:18px 20px 12px;text-align:center}.header-hazard{font-size:2rem;color:var(--orange);line-height:1;margin-bottom:6px;animation:pulse-haz 3s ease-in-out infinite}@keyframes pulse-haz{0%,to{opacity:.8;text-shadow:0 0 8px var(--orange-dim)}50%{opacity:1;text-shadow:0 0 20px var(--orange)}}.header-title{font-family:var(--font-ui);font-size:clamp(1.1rem,4vw,1.7rem);font-weight:700;color:var(--green-bright);letter-spacing:3px;text-transform:uppercase}.header-subtitle{font-size:.65rem;color:var(--text-dim);letter-spacing:3px;margin-top:5px}.header-bottom{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;border-top:1px solid var(--border);gap:12px}.header-nav{display:flex;gap:4px}.nav-link{font-family:var(--font-mono);font-size:.72rem;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);text-decoration:none;border:1px solid var(--border);padding:4px 14px;transition:all .15s}.nav-link:hover{border-color:var(--green);color:var(--green)}.nav-link.active{background:var(--green);border-color:var(--green);color:var(--bg)}.header-user{display:flex;align-items:center;gap:10px}.header-username{font-size:.72rem;color:var(--text-dim);letter-spacing:1px}.btn-logout{background:transparent;border:1px solid var(--border);color:var(--text-mute);font-family:var(--font-mono);font-size:.65rem;padding:3px 10px;cursor:pointer;letter-spacing:1px;text-transform:uppercase;transition:all .15s}.btn-logout:hover{border-color:var(--red);color:var(--red)}.stats-bar{background:var(--bg-panel);border-bottom:1px solid var(--border);padding:12px 20px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;gap:2px;min-width:70px}.stat-label{font-size:.6rem;color:var(--text-dim);letter-spacing:1px;text-transform:uppercase}.stat-value{font-size:1.15rem;color:var(--green-bright);font-weight:700}.stat-red{color:var(--red)!important}.stat-extra{color:var(--teal)!important}.progress-container{flex:1 1;min-width:180px}.progress-row{display:flex;align-items:center;gap:8px;margin-top:4px}.progress-bar{flex:1 1;height:6px;background:var(--border);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--green-bright));border-radius:2px;transition:width .4s ease}.progress-pct{font-size:.75rem;color:var(--green);min-width:34px;text-align:right}.controls-bar{background:var(--bg-panel);border-bottom:1px solid var(--border);padding:10px 20px;gap:14px;flex-wrap:wrap}.controls-bar,.target-selector{display:flex;align-items:center}.target-selector{gap:6px}.target-label{font-size:.72rem;color:var(--text-dim);letter-spacing:1px}.btn-target-adj{background:var(--bg-card);border:1px solid var(--border-act);color:var(--green);font-family:var(--font-mono);font-size:1rem;width:28px;height:28px;cursor:pointer;line-height:1;transition:all .15s}.btn-target-adj:hover{background:rgba(74,154,85,.15);border-color:var(--green)}.target-input{background:var(--bg-card);border:1px solid var(--border-act);color:var(--green-bright);font-family:var(--font-mono);font-size:1rem;width:44px;padding:4px 0;text-align:center;-moz-appearance:textfield}.target-input::-webkit-inner-spin-button,.target-input::-webkit-outer-spin-button{-webkit-appearance:none}.filter-tabs{display:flex;gap:4px;flex-wrap:wrap}.filter-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);font-size:.72rem;padding:5px 12px;cursor:pointer;letter-spacing:1px;text-transform:uppercase;transition:all .15s}.filter-btn:hover{border-color:var(--green);color:var(--green)}.filter-btn.active{background:var(--green);border-color:var(--green);color:var(--bg)}.btn-copy{margin-left:auto;background:transparent;border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);font-size:.7rem;padding:5px 12px;cursor:pointer;letter-spacing:1px;transition:all .15s;white-space:nowrap}.btn-copy:hover{border-color:var(--teal);color:var(--teal)}.main-content{padding:20px;max-width:1600px;margin:0 auto}.category-section{margin-bottom:28px}.category-header{display:flex;align-items:center;gap:10px;padding:6px 0;margin-bottom:14px;border-bottom:1px solid var(--border);position:relative}.category-header:after{content:"";position:absolute;bottom:-1px;left:0;width:40px;height:1px;background:var(--orange)}.category-icon{font-size:1rem;color:var(--orange)}.category-name{font-family:var(--font-ui);font-size:.85rem;letter-spacing:3px;text-transform:uppercase;color:var(--text);font-weight:700}.category-count{margin-left:auto;font-size:.7rem;color:var(--text-dim)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));grid-gap:10px;gap:10px}.card{background:var(--bg-card);border:1px solid var(--border);position:relative;overflow:hidden;transition:border-color .2s,box-shadow .2s,opacity .2s}.card:hover{background:var(--bg-card-h)}.card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.card.rarity-common:before{background:var(--grey)}.card.rarity-uncommon:before{background:var(--teal)}.card.rarity-rare:before{background:var(--gold)}.card.state-missing{opacity:.45}.card.state-missing:hover{opacity:.72}.card.state-partial{border-color:var(--orange-dim)}.card.state-complete{border-color:var(--green);box-shadow:0 0 10px rgba(74,154,85,.2)}.card.state-extra{border-color:var(--green-bright);box-shadow:0 0 16px rgba(104,192,112,.3)}.card.rarity-rare.state-complete{box-shadow:0 0 14px rgba(200,160,48,.35)}.card.rarity-rare.state-extra{box-shadow:0 0 18px rgba(200,160,48,.45)}.card-inner{padding:8px 10px 10px 13px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:7px;border-bottom:1px solid var(--border)}.card-number{font-size:1rem;font-weight:700;color:var(--orange);letter-spacing:2px;line-height:1;text-shadow:0 0 8px rgba(192,128,32,.4)}.card-rarity-badge{font-size:.52rem;letter-spacing:1px;text-transform:uppercase;padding:1px 4px;border:1px solid}.card.rarity-common .card-rarity-badge{color:var(--grey);border-color:var(--grey)}.card.rarity-uncommon .card-rarity-badge{color:var(--teal);border-color:var(--teal)}.card.rarity-rare .card-rarity-badge{color:var(--gold);border-color:var(--gold)}.card-name{font-family:var(--font-ui);font-size:.9rem;font-weight:700;color:var(--text);line-height:1.25;min-height:2.5em;display:flex;align-items:center;margin-bottom:6px;cursor:pointer}.card-name:hover{color:var(--green-bright)}.card.rarity-rare .card-name{color:var(--gold)}.card.rarity-rare .card-name:hover{color:#f0d060}.card-category{font-size:.58rem;color:var(--text-dim);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}.card-controls{gap:6px;margin-bottom:6px}.btn-count,.card-controls{display:flex;align-items:center}.btn-count{background:var(--bg);border:1px solid var(--border-act);color:var(--text-dim);font-family:var(--font-mono);font-size:1.1rem;width:28px;height:28px;cursor:pointer;justify-content:center;transition:all .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1}.btn-count:hover{border-color:var(--green);color:var(--green);background:rgba(74,154,85,.1)}.btn-count:active{transform:scale(.92)}.card-count-display{flex:1 1;text-align:center;font-size:1.1rem;color:var(--text)}.card-status{font-size:.58rem;text-transform:uppercase;letter-spacing:1px}.card.state-missing .card-status{color:var(--red-dim)}.card.state-partial .card-status{color:var(--orange)}.card.state-complete .card-status{color:var(--green)}.card.state-extra .card-status{color:var(--green-bright)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-dim)}.empty-icon{font-size:3rem;margin-bottom:12px;opacity:.4}.empty-text{font-size:.8rem;letter-spacing:2px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);background:var(--green);color:var(--bg);padding:8px 20px;font-size:.8rem;letter-spacing:1px;transition:transform .3s ease;z-index:9999;pointer-events:none}.toast.visible{transform:translateX(-50%) translateY(0)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:8000;display:flex;align-items:center;justify-content:center}.modal{background:var(--bg-card);border:1px solid var(--border-act);padding:24px;width:min(400px,90vw)}.modal-title{font-size:.85rem;letter-spacing:2px;text-transform:uppercase;color:var(--green-bright)}.modal-title,.rename-input{font-family:var(--font-ui);margin-bottom:16px}.rename-input{width:100%;background:var(--bg);border:1px solid var(--border-act);color:var(--text);font-size:1rem;padding:8px 10px;outline:none}.rename-input:focus{border-color:var(--green)}.modal-actions{display:flex;gap:8px;justify-content:flex-end}.btn-modal-cancel,.btn-modal-ok{background:transparent;border:1px solid;font-family:var(--font-mono);font-size:.75rem;padding:6px 16px;cursor:pointer;letter-spacing:1px;text-transform:uppercase}.btn-modal-cancel{border-color:var(--border-act);color:var(--text-dim)}.btn-modal-cancel:hover{border-color:var(--red);color:var(--red)}.btn-modal-ok{border-color:var(--green);color:var(--green)}.btn-modal-ok:hover{background:var(--green);color:var(--bg)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-box{background:var(--bg-card);border:1px solid var(--border-act);padding:36px 32px;width:min(420px,100%);position:relative}.login-box:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--green),transparent)}.login-header{text-align:center;margin-bottom:28px}.login-hazard{font-size:2.5rem;color:var(--orange);animation:pulse-haz 3s ease-in-out infinite;margin-bottom:8px}.login-title{font-family:var(--font-ui);font-size:1.4rem;font-weight:700;letter-spacing:4px;color:var(--green-bright);text-transform:uppercase}.login-subtitle{font-size:.6rem;color:var(--text-dim);letter-spacing:3px;margin-top:6px}.login-tabs{display:flex;margin-bottom:24px;border-bottom:1px solid var(--border)}.login-tab{flex:1 1;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-family:var(--font-mono);font-size:.75rem;letter-spacing:2px;text-transform:uppercase;padding:8px;cursor:pointer;margin-bottom:-1px;transition:all .15s}.login-tab:hover{color:var(--green)}.login-tab.active{color:var(--green-bright);border-bottom-color:var(--green)}.login-form{display:flex;flex-direction:column;gap:6px}.login-label{font-size:.65rem;color:var(--text-dim);letter-spacing:2px;text-transform:uppercase;margin-top:6px}.login-input{background:var(--bg);border:1px solid var(--border-act);color:var(--text);font-family:var(--font-mono);font-size:.9rem;padding:9px 12px;outline:none;transition:border-color .15s}.login-input:focus{border-color:var(--green)}.login-error{font-size:.72rem;color:var(--red);border:1px solid var(--red-dim);background:rgba(144,48,48,.1);padding:8px 12px;letter-spacing:.5px;margin-top:4px}.login-submit{margin-top:16px;background:transparent;border:1px solid var(--green);color:var(--green);font-family:var(--font-mono);font-size:.8rem;letter-spacing:3px;text-transform:uppercase;padding:11px;cursor:pointer;transition:all .2s}.login-submit:hover:not(:disabled){background:var(--green);color:var(--bg)}.login-submit:disabled{opacity:.5;cursor:default}.friends-section-header{display:flex;align-items:baseline;gap:12px;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border);position:relative}.friends-section-header:after{content:"";position:absolute;bottom:-1px;left:0;width:40px;height:1px;background:var(--orange)}.friends-section-title{font-family:var(--font-ui);font-size:.85rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--text)}.friends-count{font-size:.65rem;color:var(--text-dim)}.friends-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:10px;gap:10px;margin-bottom:28px}.friend-card{background:var(--bg-card);border:1px solid var(--border);padding:14px 16px;transition:border-color .2s,box-shadow .2s}.friend-card:not(.is-me){cursor:pointer}.friend-card:not(.is-me):hover{border-color:var(--border-act);background:var(--bg-card-h)}.friend-card.selected{border-color:var(--green);box-shadow:0 0 10px rgba(74,154,85,.2)}.friend-card.is-me{border-color:var(--border-act);opacity:.7}.friend-card-top{display:flex;align-items:center;gap:8px;margin-bottom:2px}.friend-display-name{font-family:var(--font-ui);font-size:.95rem;font-weight:700;color:var(--text);flex:1 1}.friend-me-badge{font-size:.52rem;letter-spacing:1px;color:var(--orange);border:1px solid var(--orange-dim);padding:1px 5px}.friend-pct{font-size:.72rem;color:var(--green)}.friend-username{font-size:.62rem;color:var(--text-mute);letter-spacing:1px;margin-bottom:8px}.friend-stats-row{font-size:.65rem;color:var(--text-dim);margin-bottom:8px}.friend-progress-bar{height:3px;background:var(--border);overflow:hidden}.friend-progress-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--green-bright));transition:width .4s ease}.friend-collection-panel{background:var(--bg-panel);border:1px solid var(--border);padding:16px;margin-bottom:20px}.fcp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}.fcp-title{font-family:var(--font-ui);font-size:.8rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--green-bright)}.btn-compare{background:transparent;border:1px solid var(--teal);color:var(--teal);font-family:var(--font-mono);font-size:.7rem;padding:5px 14px;cursor:pointer;letter-spacing:1px;transition:all .15s}.btn-compare:hover{background:var(--teal);color:var(--bg)}.mini-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));grid-gap:6px;gap:6px}.mini-card{background:var(--bg-card);border:1px solid var(--border);padding:5px 7px;display:flex;flex-direction:column;gap:2px;opacity:.35;position:relative;overflow:hidden;transition:opacity .15s}.mini-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px}.mini-card.rarity-common:before{background:var(--grey)}.mini-card.rarity-uncommon:before{background:var(--teal)}.mini-card.rarity-rare:before{background:var(--gold)}.mini-card.has-it{opacity:1;border-color:var(--border-act)}.mc-num{font-size:.6rem;color:var(--orange);letter-spacing:1px}.mc-count{font-size:.7rem;color:var(--text-dim)}.mini-card.has-it .mc-count{color:var(--green-bright)}.compare-panel{background:var(--bg-panel);border:1px solid var(--border);padding:16px}.compare-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:10px}.compare-panel-title{font-family:var(--font-ui);font-size:.8rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--green-bright)}.btn-back{background:transparent;border:1px solid var(--border-act);color:var(--text-dim);font-family:var(--font-mono);font-size:.7rem;padding:4px 12px;cursor:pointer;letter-spacing:1px;transition:all .15s}.btn-back:hover{border-color:var(--green);color:var(--green)}.compare-columns{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.compare-col{display:flex;flex-direction:column;gap:4px}.compare-col-title{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;padding:6px 0;margin-bottom:4px;border-bottom:1px solid var(--border)}.compare-col-title.give{color:var(--green)}.compare-col-title.get{color:var(--teal)}.compare-empty{font-size:.7rem;color:var(--text-mute);padding:12px 0;letter-spacing:1px}.compare-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--border);font-size:.72rem}.cr-num{color:var(--orange);min-width:38px;letter-spacing:1px}.cr-name{flex:1 1;color:var(--text-dim)}.cr-count{font-weight:700;min-width:28px;text-align:right}.cr-count.give{color:var(--green-bright)}.cr-count.get{color:var(--teal)}@media (max-width:700px){.stats-bar{padding:10px 14px;gap:14px}.main-content{padding:12px}.controls-bar{padding:10px 14px;flex-direction:column;align-items:flex-start;gap:10px}.btn-copy{margin-left:0}.card-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.compare-columns{grid-template-columns:1fr}.header-bottom{flex-direction:column;align-items:flex-start;gap:8px}.friends-list{grid-template-columns:1fr 1fr}}@media (max-width:380px){.card-grid{grid-template-columns:repeat(2,1fr)}.friends-list{grid-template-columns:1fr}}