:root{--bg: #04070c;--bg-panel: #0d121b;--bg-card: #131a26;--border: #232c3c;--text: #e7edf6;--text-dim: #8fa0bd;--amber: #ffce7a;--amber-dim: #c98f3a;--blue: #6f9fd8;--blue-dim: #3a5577;--green: #7fd99a;--red: #e2897f;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:var(--text)}body{background-color:var(--bg);background-image:radial-gradient(ellipse at 50% 15%,rgba(111,159,216,.12),transparent 55%),linear-gradient(180deg,#04070c8c,#04070cf0 45%,#04070cfc),url(/art/slay-the-spire-2-has-been-announced-and-will-launch-on-early-access-on-steam-in-2025-cover6616df7fcb63f.jpg);background-size:cover;background-position:center top;background-attachment:fixed;background-repeat:no-repeat}button{font-family:inherit;cursor:pointer}.loading-screen,.loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--text-dim)}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{background:#0d121bd9;border:1px solid var(--border);border-radius:12px;padding:40px;width:320px;text-align:center;box-shadow:0 10px 40px #0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.login-card h1{margin:0 0 4px;color:var(--amber);letter-spacing:1px;text-shadow:0 0 16px rgba(255,206,122,.35)}.login-card .subtitle{margin:0 0 24px;color:var(--text-dim);font-size:14px}.login-card input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);margin-bottom:12px}.login-card button[type=submit]{width:100%;padding:10px;border-radius:8px;border:none;background:var(--amber);color:#1a1306;font-weight:700}.error{color:var(--red);font-size:14px}.select-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:36px;padding:40px 20px}.select-title{margin:0;color:var(--amber);font-size:26px;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,206,122,.45)}.portals{display:flex;gap:24px;flex-wrap:wrap;justify-content:center}.portal{width:150px;height:200px;border-radius:50% 50% 12px 12px/35% 35% 12px 12px;background:linear-gradient(180deg,#6f9fd838,#080b10e6);border:2px solid var(--blue-dim);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:0 0 30px #6f9fd840,inset 0 0 36px #0000008c;color:var(--text);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.portal:hover,.portal:focus-visible{transform:translateY(-4px);border-color:var(--amber);box-shadow:0 0 38px #ffce7a59,inset 0 0 36px #0000008c;outline:none}.portal-number{font-size:34px;font-weight:700;color:var(--text)}.portal-label{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--blue)}.portal-combos{font-size:11px;color:var(--text-dim)}.dashboard{max-width:1180px;margin:0 auto;padding:24px 20px 60px}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.dashboard-header h1{color:var(--amber);letter-spacing:1px;text-shadow:0 0 16px rgba(255,206,122,.3)}.header-actions{display:flex;gap:10px}.matrix-meta{display:flex;align-items:center;gap:18px;margin-bottom:14px;flex-wrap:wrap}.party-label{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--blue);background:#6f9fd81a;border:1px solid var(--blue-dim);padding:5px 12px;border-radius:999px;white-space:nowrap}.matrix-meta .progress-summary{flex:1;min-width:220px;margin-bottom:0}.progress-text{font-size:13px;color:var(--text-dim);margin-bottom:6px}.in-progress-note{color:var(--blue)}.progress-bar{position:relative;height:22px;background:var(--bg-card);border:1px solid var(--border);border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--amber-dim),var(--amber));box-shadow:0 0 12px #ffce7a8c;transition:width .3s ease}.progress-bar-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;color:var(--text);text-shadow:0 1px 3px rgba(0,0,0,.9);font-variant-numeric:tabular-nums}.controls{display:flex;justify-content:flex-end;margin-bottom:16px}.filter-group{display:flex;gap:8px}.chip{background:transparent;border:1px solid var(--border);color:var(--text-dim);padding:6px 14px;border-radius:999px;font-size:13px}.chip.active{background:var(--bg-card);color:var(--text);border-color:var(--blue)}button.secondary{background:#0d121bb3;border:1px solid var(--border);color:var(--text);padding:8px 16px;border-radius:8px}.accordion-list{display:flex;flex-direction:column;gap:12px}.accordion{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#0d121bb8}.accordion-header{position:relative;display:block;width:100%;padding:0;border:none;background:none;color:inherit;text-align:left;height:96px;overflow:hidden}.accordion-header:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.hero-img,.hero-fallback{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.hero-fallback{background:linear-gradient(135deg,var(--blue-dim),var(--bg-card))}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#04070ceb,#04070c9e 55%,#04070c59)}.header-content{position:relative;z-index:1;display:flex;align-items:center;gap:12px;height:100%;padding:0 14px}.header-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.header-name{font-size:16px;font-weight:700;color:var(--text);text-shadow:0 1px 4px rgba(0,0,0,.8)}.header-pct{font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums;text-shadow:0 1px 4px rgba(0,0,0,.8)}.chevron{font-size:16px;color:var(--text-dim);transition:transform .2s ease;flex-shrink:0}.chevron.open{transform:rotate(180deg);color:var(--amber)}.header-progress-track{position:absolute;left:0;right:0;bottom:0;height:5px;background:#00000073;z-index:1}.header-progress-fill{height:100%;background:linear-gradient(90deg,var(--amber-dim),var(--amber));box-shadow:0 0 10px #ffce7a99;transition:width .3s ease}.accordion-body{padding:14px;border-top:1px solid var(--border)}.entry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.combo-entry{display:flex;align-items:center;gap:8px;background:#ffffff08;border:1px solid var(--border);border-radius:10px;padding:6px 10px 6px 6px;color:var(--text-dim)}.combo-entry.status-cleared{border-color:var(--amber-dim);background:#ffce7a14}.combo-entry.status-progress{border-color:var(--blue-dim);background:#6f9fd814}.entry-main{position:relative;flex-shrink:0}.entry-avatar{border-radius:50%;background-repeat:no-repeat;background-color:#0a0d13}.entry-avatar-main{width:36px;height:36px;border:2px solid var(--border)}.combo-entry.status-cleared .entry-avatar-main{border-color:var(--amber)}.combo-entry.status-progress .entry-avatar-main{border-color:var(--blue)}.entry-badge{position:absolute;bottom:-3px;right:-3px;font-size:9px;font-weight:800;border-radius:999px;padding:1px 4px;line-height:1.2;border:1px solid #0a0d13}.entry-badge-main{background:var(--amber);color:#1a1306}.entry-badge-sat{background:var(--bg-card);color:var(--text);border-color:var(--border)}.entry-satellites{display:flex;gap:4px;flex-shrink:0}.entry-sat-wrap{position:relative}.entry-avatar-sat{width:22px;height:22px;border:1.5px solid var(--border)}.entry-status{margin-left:auto;font-size:11px;white-space:nowrap;padding-left:6px}.combo-entry.status-cleared .entry-status{color:var(--amber)}.combo-entry.status-progress .entry-status{color:var(--blue)}.empty-note{font-size:12px;color:var(--text-dim);text-align:center;margin:8px 0;grid-column:1 / -1}@media (max-width: 560px){.accordion-header{height:84px}.header-name{font-size:14.5px}.entry-grid{grid-template-columns:1fr}.dashboard{padding:16px 12px 40px}.dashboard-header{flex-wrap:wrap;gap:10px}.dashboard-header h1{font-size:22px}.header-actions{gap:8px}.header-actions button{padding:7px 10px;font-size:12.5px}.controls{justify-content:flex-start}.filter-group{flex-wrap:wrap}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:20px;z-index:10}.modal-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:24px;width:100%;max-width:480px;box-shadow:0 20px 60px #0009}.modal-card h2{margin-top:0;color:var(--amber);font-size:18px}.field{display:block;margin-bottom:16px}.field span{display:block;font-size:13px;color:var(--text-dim);margin-bottom:6px}.field input,.field textarea{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);font-family:inherit}.ascension-row{display:flex;flex-wrap:wrap;gap:6px}.asc-pill{background:var(--bg-card);border:1px solid var(--border);color:var(--text-dim);padding:5px 10px;border-radius:8px;font-size:13px}.asc-pill.active{background:var(--amber);color:#1a1306;border-color:var(--amber);font-weight:600}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.modal-actions button:not(.secondary){background:var(--amber);color:#1a1306;border:none;padding:8px 16px;border-radius:8px;font-weight:600}
