:root{color-scheme:dark;--background: #121816;--surface: #1b2420;--card: #202a25;--empty: #151d19;--pack: #223027;--border: #34443a;--control-border: #526858;--text: #e0e7dc;--muted: #a7b6a8;--accent: #b7cda4;--button: #9fb98c;--button-hover: #b5cc9f;--on-button: #172316;font-family:DM Sans,system-ui,sans-serif;color:var(--text);background:var(--background);font-synthesis:none}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1080px;margin:auto;padding:0 32px}header{height:76px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:2px;color:inherit;text-decoration:none;font-size:36px;font-weight:700}.brand-name{font-size:13px;letter-spacing:2px;margin-left:18px}.environment,.eyebrow,.card-kind,.card-footer,footer{font-family:Space Mono,monospace;font-size:10px;letter-spacing:1.4px}.environment{display:flex;align-items:center;gap:8px;color:var(--muted)}.environment i{width:7px;height:7px;border-radius:50%;background:var(--accent)}.intro{margin:36px 0 28px}.eyebrow{color:var(--muted);font-size:11px}h1{margin:20px 0;font-size:clamp(44px,7vw,72px);font-weight:500;letter-spacing:-4px;line-height:1.05}h2{font-size:27px;letter-spacing:-.8px;font-weight:500;margin:14px 0}p{color:var(--muted);line-height:1.6}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px}.setup{max-width:570px}label{display:block;margin:20px 0 8px;font-size:13px;font-weight:600}input{font:inherit;width:100%;border:1px solid var(--control-border);border-radius:6px;background:var(--surface);padding:12px;color:inherit}input::placeholder{color:var(--muted);opacity:1}input:focus{outline:2px solid var(--accent);outline-offset:2px}button{cursor:pointer;font:inherit;font-size:14px;border:1px solid transparent;border-radius:6px;background:var(--button);color:var(--on-button);padding:13px 20px}button:hover:not(:disabled){background:var(--button-hover)}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:disabled{cursor:default;opacity:.55}form>button{margin-top:22px;width:100%;display:flex;justify-content:space-between}.actions{display:flex;gap:12px;margin-top:24px}.actions button{flex:1}.secondary{color:var(--accent);border-color:var(--control-border);background:transparent}.secondary:hover:not(:disabled){background:var(--pack)}.text-button{background:none;color:var(--accent);padding:6px 0;text-decoration:underline;text-underline-offset:4px}.text-button:hover:not(:disabled){background:none;color:var(--text)}.fine-print{font-size:12px;margin-top:24px}a{color:var(--accent)}.notice{padding:16px 20px;margin:24px 0;border-radius:8px;font-size:14px;border:1px solid #42644a;background:#203227}.notice.error{background:#382722;border-color:#775046;color:#efb8a4}.game{padding-top:24px}.game .notice{margin:0 0 18px}.account{display:flex;align-items:center;font-size:12px;color:var(--muted);gap:20px;min-width:0}.account>span{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account button{flex-shrink:0}.stash-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px;align-items:start}.stash-section,.game-sidebar{min-width:0}.game-sidebar{position:sticky;top:24px}.section-heading.stash-heading{margin:0 0 22px;align-items:end}.stash-actions{display:flex;gap:16px;align-items:center}.stash-heading h1{margin:8px 0 0;font-size:42px;letter-spacing:-2px}.pack-panel{display:flex;flex-direction:column;gap:16px;background:var(--pack);border:1px solid var(--border);border-radius:12px;padding:20px}.pack-info{min-width:0}.pack-panel button{display:flex;gap:12px;justify-content:space-between;align-items:center}#pack-balance{font-size:17px;font-weight:600;color:var(--accent);margin:12px 0 6px}#pack-time{font-size:12px;line-height:1.5;margin:0}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:0 12px;border-block:1px solid var(--border);margin:20px 0 0}.stats div{display:flex;flex-direction:column;gap:8px;padding:16px 0}.stats strong{font-family:Space Mono,monospace;font-size:18px;font-weight:400}.stats span{font-size:12px;color:var(--muted)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:34px 0 20px}.section-heading h2{font-size:23px}.section-heading>span{font-size:12px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:14px;margin-bottom:24px}.number-card{min-height:170px;padding:15px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--border);border-radius:8px;background:var(--card)}.latest-pack{border-top:1px solid var(--border);margin-top:28px}.pack-cards{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px}.pack-cards .number{font-size:28px}.pack-cards .number-card{min-height:120px;padding:12px;background:var(--pack);border-color:var(--control-border)}.card-kind{font-size:8px;color:var(--muted)}.number{font-family:Space Mono,monospace;font-size:38px;line-height:1.3;text-align:center;overflow-wrap:anywhere}.card-footer{font-size:8px;letter-spacing:.4px;color:var(--muted)}.empty{padding:44px 24px;text-align:center;border:1px dashed var(--border);border-radius:10px}.empty>span{font-family:Space Mono,monospace;font-size:48px;color:var(--muted)}.empty h3{font-weight:500}.empty p{font-size:14px}footer{margin-top:40px;padding-block:28px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);border-top:1px solid var(--border);font-size:9px}@media(max-width:800px){.stash-layout{grid-template-columns:minmax(0,1fr);gap:18px}.game-sidebar{display:contents}.pack-panel{order:-1;flex-direction:row;align-items:center;justify-content:space-between;padding:16px;gap:12px}.pack-panel button{flex-shrink:0;padding:12px;font-size:13px;gap:8px}#pack-balance{font-size:15px;margin-top:8px}.stats{order:1;grid-template-columns:repeat(4,1fr);margin-top:0}}@media(max-width:640px){header,main,footer{padding-inline:20px}.brand-name{font-size:10px;margin-left:10px;letter-spacing:1px}.environment{font-size:8px;letter-spacing:.4px}header{height:68px}.intro{margin-top:40px}h1{letter-spacing:-2px}.account>span{display:none}.game{padding-top:16px}.stash-heading h1{font-size:36px}.stash-actions{flex-direction:column;align-items:end;gap:0}.panel{padding:24px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stats strong{font-size:18px}.stats span{font-size:10px}.cards{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.number-card{min-height:150px}footer{flex-direction:column}}.album-controls{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;align-items:center;margin-bottom:16px}.page-navigation{display:flex;align-items:center;gap:12px;min-width:0}.page-navigation button{padding:8px 12px;flex-shrink:0}#page-range{flex:1;text-align:center;font-family:Space Mono,monospace;font-size:13px;overflow-wrap:anywhere}#jump-form{display:grid;grid-template-columns:55px minmax(0,1fr) auto;align-items:center;gap:6px}#jump-form label{margin:0;font-size:11px}#jump-form input{min-width:0;padding:8px;font-size:12px}#jump-form button{margin:0;width:auto;padding:8px;font-size:12px}.album-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px}.album-slot{min-width:0;min-height:40px;position:relative;display:flex;align-items:center;justify-content:center;padding:4px 4px 12px;border:1px solid var(--border);border-radius:4px;background:var(--card)}.album-slot.missing{border-style:dashed;border-color:var(--border);background:var(--empty)}.slot-number{font-family:Space Mono,monospace;font-size:16px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-quantity{position:absolute;right:4px;bottom:2px;color:var(--muted);font-size:9px;max-width:calc(100% - 8px);overflow:hidden;text-overflow:ellipsis}.album-caption{font-size:11px;margin:12px 0 0}.special-section{margin-top:24px;border-top:1px solid var(--border)}@media(max-width:640px){.album-controls{grid-template-columns:minmax(0,1fr);gap:10px}.album-grid{gap:3px}.album-slot{min-height:34px;padding:2px 1px 9px}.slot-number{font-size:10px}.slot-quantity{font-size:7px;right:2px;bottom:1px}}
