:root{--bg:#091122;--bg-alt:#10213f;--card:#11284d;--card-strong:#153564;--text:#edf5ff;--muted:#b3c6e6;--line:#2d4a7b;--accent:#67d37f;--accent-2:#f5c45e;--shadow:0 14px 30px rgba(3,10,25,.35);--radius:14px}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Trebuchet MS,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(1200px 600px at 10% 0,#143264 0,transparent 60%),radial-gradient(900px 500px at 90% 100%,#1a3258 0,transparent 55%),linear-gradient(180deg,var(--bg),#050b17)}.bg-orb{position:fixed;width:28rem;aspect-ratio:1;border-radius:50%;opacity:.12;filter:blur(8px);pointer-events:none}.orb-a{top:-10rem;left:-10rem;background:#8ad8ff}.orb-b{bottom:-10rem;right:-10rem;background:#ffd36d}.app{width:min(1200px,92vw);margin:2.2rem auto}.app-header h1{margin:.2rem 0;font-size:clamp(1.8rem,4vw,2.8rem)}.eyebrow{margin:0;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2);font-size:.84rem}.subtitle{margin-top:.45rem;color:var(--muted)}.controls{margin-top:1.4rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:rgba(13,26,49,.85);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}button,select{font:inherit}.filters{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}label{display:grid;grid-gap:.35rem;gap:.35rem;color:var(--muted);font-size:.95rem}.ghost,select{border:1px solid var(--line);border-radius:10px;background:var(--bg-alt);color:var(--text);padding:.5rem .6rem}.ghost{cursor:pointer}.ghost:hover{border-color:var(--accent-2)}.ghost:disabled{opacity:.45;cursor:not-allowed}.timeline-controls{margin-top:.9rem;display:grid;grid-gap:.6rem;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.stage-indicator{margin:.9rem 0 0;color:var(--accent-2);font-size:.92rem}.card-grid{margin-top:1.1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem}.card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,var(--card),var(--card-strong));overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.card.current{outline:2px solid rgba(103,211,127,.8)}.card-img-wrap{position:relative;width:100%;height:185px;background:linear-gradient(135deg,#244985,#152c54)}.card-img-wrap img,.img-fallback{width:100%;height:100%}.card-img-wrap img{object-fit:contain;image-rendering:auto}.img-fallback{display:grid;place-items:center;color:var(--muted);font-size:.86rem}.kind-pill,.phase-pill{position:absolute;font-size:.74rem;text-transform:uppercase;letter-spacing:.03em;padding:.18rem .5rem;border-radius:999px;background:rgba(6,14,28,.78);border:1px solid rgba(220,233,255,.26)}.phase-pill{top:.5rem;right:.5rem}.kind-pill{top:.5rem;left:.5rem}.card-body{padding:.86rem;display:grid;grid-gap:.55rem;gap:.55rem}.card-title{margin:0;font-size:1.06rem}.card-copy{margin:0;color:var(--muted);font-size:.92rem;min-height:3em}.card-meta{margin:0;font-size:.87rem}.row{display:flex;justify-content:flex-end;gap:.6rem;align-items:center}.guide{color:#dfffd9;text-underline-offset:2px}.guide-inline{min-width:110px}.guide-modal{position:fixed;inset:0;background:rgba(7,12,24,.75);display:grid;place-items:center;padding:1rem;z-index:20}.guide-modal.hidden{display:none}.guide-panel{width:min(760px,100%);max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#142d53,#102442);box-shadow:var(--shadow);padding:1rem}.guide-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.guide-head h2{margin:0;font-size:1.1rem;color:var(--accent-2)}.guide-summary{margin:.8rem 0 0;color:var(--text);line-height:1.45}.app-footer{margin:1.4rem 0 2rem;color:var(--muted);font-size:.9rem}.status{text-align:center;color:var(--muted);padding:1.2rem;border:1px dashed var(--line);border-radius:var(--radius);grid-column:1/-1}@media (max-width:980px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.app{margin:1.2rem auto}.controls{padding:.8rem}.card-grid{grid-template-columns:1fr}}