@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Space+Grotesk:wght@400;500;700&display=swap";:root{--bg: #111217;--bg-soft: #1a1c22;--panel: #1f222b;--line: #3f4352;--text: #f1f3dd;--muted: #a9ad9c;--accent: #d8dca8;--danger: #f17a6f}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,sans-serif;color:var(--text);background:radial-gradient(circle at 80% 10%,rgba(216,220,168,.1),transparent 35%),linear-gradient(180deg,#0f1015,#151720 65%,#111217);min-height:100vh}.app-shell{width:min(1100px,92%);margin:2rem auto 3rem;display:grid;gap:1rem}.hero-card,.panel{border:1px solid var(--line);border-radius:18px;background:linear-gradient(170deg,#23262ff2,#191c24f2);box-shadow:0 20px 40px #00000040}.hero-card{padding:1.3rem}.kicker{font-family:"Press Start 2P",monospace;font-size:.6rem;color:var(--accent);letter-spacing:1px;margin:0 0 1rem}h1,h2,h3{margin:0}h1{font-family:"Press Start 2P",monospace;line-height:1.25;font-size:clamp(1.1rem,3vw,1.8rem);margin-bottom:.9rem}.hero-subtitle{color:var(--muted);margin:0}.top-grid{display:grid;gap:1rem;grid-template-columns:1.5fr 1fr}.panel{padding:1rem}.panel-title{font-family:"Press Start 2P",monospace;color:var(--accent);font-size:.62rem;margin-bottom:.9rem}.question-input{width:100%;border-radius:12px;border:1px solid var(--line);background:#12141b;color:var(--text);padding:.8rem;resize:vertical;min-height:120px}.hint{font-size:.9rem;color:var(--muted);margin:.6rem 0 .8rem}.hint.warning{color:#f5be70}.primary-button,.ghost-button,.example-button{border:1px solid var(--line);border-radius:12px;padding:.75rem .9rem;background:#252932;color:var(--text);cursor:pointer;transition:transform .16s ease,border-color .16s ease}.primary-button{width:100%;background:linear-gradient(160deg,#d8dca8,#b9bc8e);color:#15181f;font-weight:700}.primary-button:disabled{opacity:.5;cursor:not-allowed}.primary-button:not(:disabled):hover,.ghost-button:hover,.example-button:hover{transform:translateY(-1px);border-color:var(--accent)}.example-list{display:grid;gap:.6rem}.example-button{text-align:left;background:#1b1e26}.loading-panel{display:flex;align-items:center;gap:.8rem}.loading-glow{width:12px;height:12px;border-radius:999px;background:var(--accent);box-shadow:0 0 15px var(--accent);animation:pulse .9s infinite ease-in-out}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.error-panel{border-color:#f17a6f80}.result-panel{animation:slideIn .26s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.result-header-row{display:flex;gap:.8rem;justify-content:space-between;align-items:center;flex-wrap:wrap}.stat-line{margin:.9rem 0 1rem;color:var(--muted)}.timeline{display:grid;gap:.7rem;margin-bottom:1rem}.timeline-item{display:grid;grid-template-columns:100px 1fr;gap:.7rem;border-left:2px solid var(--line);padding-left:.7rem}.timeline-year{font-family:"Press Start 2P",monospace;font-size:.64rem;color:var(--accent);padding-top:.35rem}.timeline-content p{color:var(--muted);margin:.3rem 0 0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:.7rem}.subpanel{border:1px solid var(--line);border-radius:14px;padding:.8rem;background:#161920}.subpanel h3{margin-bottom:.6rem}.subpanel ul{margin:0;padding-left:1rem;color:var(--muted)}.score{font-family:"Press Start 2P",monospace;color:var(--accent);font-size:.62rem}.lore-panel{overflow:hidden}.lore-intro{color:var(--muted);margin:0 0 1rem}.lore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.lore-card{border:1px solid var(--line);border-radius:14px;padding:.8rem;background:linear-gradient(180deg,#191f2a,#151a24)}.lore-card h3{font-size:.95rem;margin-bottom:.55rem}.lore-card p{color:var(--muted);margin:0}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.archive-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#151a24;transition:transform .18s ease,border-color .18s ease}.archive-card:hover{transform:translateY(-2px);border-color:var(--accent)}.archive-card img{width:100%;height:180px;display:block;object-fit:cover}.archive-text{padding:.75rem}.archive-text h3{font-size:.95rem;margin-bottom:.5rem}.archive-text p{color:var(--muted);margin:0}@media (max-width: 900px){.top-grid,.grid-2,.timeline-item,.lore-grid,.archive-grid{grid-template-columns:1fr}.timeline-year{padding-top:0}}
