:root{font-family:Inter,Segoe UI,Roboto,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#f9fafb;background:#0c1020;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 15%,#1d2a5b,#0c1020,#090d1a);color:#f9fafb}#root{width:100%}.app-shell{max-width:1024px;margin:0 auto;padding:2rem 1rem 3rem}.top-bar{position:relative;margin-bottom:1.5rem;padding-right:86px}.brand-logo{position:absolute;top:0;right:0;width:56px;height:56px;border-radius:14px;object-fit:cover;border:1px solid rgba(148,163,184,.25);box-shadow:0 8px 20px #00000047}.eyebrow{margin:0;color:#a5b4fc;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}h1{margin:.3rem 0;font-size:clamp(2rem,4vw,3rem)}.subtitle{margin:0;color:#d1d5db;max-width:640px}.main-content{display:grid;gap:1rem}.loading-panel{min-height:300px;display:grid;place-items:center;text-align:center;gap:.65rem}.loading-spinner{width:64px;height:64px;border-radius:999px;border:4px solid rgba(148,163,184,.3);border-top-color:#818cf8;animation:spin .85s linear infinite}.loading-subtitle{margin:0;color:#cbd5e1}.loading-caption{margin:0;color:#94a3b8;font-size:.92rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.panel{background:linear-gradient(170deg,#111827d9,#0f172ad9);border:1px solid rgba(148,163,184,.2);border-radius:20px;padding:1.25rem;box-shadow:0 16px 40px #00000059;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel-header h2{margin:0;font-size:1.5rem}.panel-header p{margin-top:.5rem;color:#cbd5e1}.source-line{margin-top:.25rem;font-size:.9rem;color:#a5b4fc}.notice-text{margin-top:.45rem;color:#fcd34d;font-size:.88rem}.tldr-section{margin-top:1rem;background:#0f172ab3;border:1px solid rgba(148,163,184,.2);border-radius:16px;padding:1rem}.tldr-header h2{margin:0;font-size:1.05rem}.tldr-header p{margin:.3rem 0 .8rem;color:#94a3b8;font-size:.9rem}.tldr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem}.tldr-card{background:#1e293bb3;border:1px solid rgba(148,163,184,.2);border-radius:14px;padding:.85rem}.tldr-card h3{margin:0;font-size:.98rem}.tldr-card ul{margin:.55rem 0 0;padding-left:1.15rem;display:grid;gap:.35rem;color:#e2e8f0;font-size:.92rem}.tldr-card-warning{border-color:#f59e0b80}.tldr-card-success{border-color:#22c55e73}.shoot-form{display:grid;gap:1rem}.form-section{background:#0f172ab3;border:1px solid rgba(148,163,184,.15);border-radius:16px;padding:1rem}.section-header h2{margin:0;font-size:1.05rem}.section-header p{margin:.3rem 0 .8rem;color:#94a3b8;font-size:.9rem}.field-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.field{display:grid;gap:.35rem}.field span{font-size:.9rem;color:#e2e8f0}.field input,.field select{width:100%;border:1px solid #334155;background:#0b1220;color:#f8fafc;border-radius:10px;padding:.65rem .75rem;font-size:.95rem}.field input:focus,.field select:focus{outline:2px solid #818cf8;outline-offset:1px}.field small{color:#94a3b8;font-size:.75rem}.actions{display:flex;justify-content:flex-end;margin-top:.25rem}.primary-btn,.secondary-btn{border:none;border-radius:999px;padding:.65rem 1.1rem;font-weight:600;cursor:pointer}.primary-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.primary-btn:disabled{cursor:wait;opacity:.7}.secondary-btn{background:#1f2937;color:#f8fafc;border:1px solid #374151}.results-section{margin-top:1rem}.results-section h2{font-size:1.05rem;margin-bottom:.6rem}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem}.result-card{background:#1e293bb3;border:1px solid rgba(148,163,184,.2);border-radius:14px;padding:.85rem}.result-card h3{margin:0;font-size:.98rem}.result-card ul{margin:.55rem 0 0;padding-left:1.15rem;display:grid;gap:.35rem;color:#e2e8f0;font-size:.92rem}@media (max-width: 640px){.app-shell{padding:1.25rem .8rem 2.2rem}.top-bar{padding-right:0}.brand-logo{position:static;display:block;width:46px;height:46px;border-radius:12px;margin:0 auto .55rem}.panel{padding:1rem}.actions{justify-content:stretch}.primary-btn,.secondary-btn{width:100%}}
