:root{--bg: #091226;--panel: rgba(14, 24, 42, .84);--panel-2: #10213d;--line: #29415e;--text: #e9edf3;--muted: #b8c7dc;--accent-a: #2fc57f;--accent-b: #22a6dc;--chip: #123056;font-family:Sora,Segoe UI,sans-serif;color:var(--text)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 10%,#1f8f66 0%,transparent 38%),radial-gradient(circle at 90% 0%,#1766a7 0%,transparent 40%),var(--bg)}.app-shell{max-width:1280px;margin:0 auto;padding:20px 16px 36px}.topbar{display:flex;gap:14px;justify-content:space-between;align-items:flex-end;flex-wrap:wrap}.brand h1{margin:0;font-size:clamp(1.6rem,2.8vw,2.4rem);letter-spacing:.02em}.brand p{margin:6px 0 0;color:var(--muted)}.tabs{display:flex;gap:8px}.tab{border:1px solid var(--line);background:#143052;color:var(--text);border-radius:999px;padding:8px 14px;cursor:pointer;font-weight:600}.tab.active{border-color:#7df6c8;background:linear-gradient(100deg,#2fc57f,#22a6dc);color:#062437}.status-strip{margin-top:14px;border:1px solid var(--line);border-radius:12px;background:#0f1f35d1;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted)}.status-actions{display:flex;align-items:center;gap:10px}.page-grid{margin-top:14px;display:grid;grid-template-columns:1.2fr 1fr;gap:12px}.generator-layout{grid-template-columns:1.45fr .8fr}.page-grid.single{grid-template-columns:1fr}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel h2{margin:0 0 10px;font-size:1.15rem}.grid-4,.grid-3{display:grid;gap:10px}.inline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}.form-block{border:1px solid #2f4d6f;border-radius:12px;padding:10px;margin-bottom:10px;background:#10233c8c}.form-block h3{margin:0 0 8px;font-size:.95rem;color:#81f3c9}.grid-4{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.grid-3{margin-top:10px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}fieldset{border:1px solid #2f4d6f;border-radius:10px;padding:10px;margin:0}legend{padding:0 6px;color:#81f3c9;font-weight:700}label{display:flex;flex-direction:column;gap:4px;font-size:.88rem;color:#cfdbec;margin-bottom:6px}input{border:1px solid #3f6185;border-radius:8px;background:#12243f;color:#f6f8fb;padding:7px 8px}.btn-primary,.btn-secondary{border-radius:10px;padding:9px 13px;cursor:pointer;font-weight:700}.btn-primary.full{width:100%}.btn-primary{margin-top:8px;border:0;background:linear-gradient(100deg,var(--accent-a),var(--accent-b));color:#062437}.btn-secondary{border:1px solid #3f6185;background:#143052;color:var(--text)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.error{color:#ffb4b4;margin:8px 0 0}.games{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:10px}.game-card,.insight-card,.report-card,.kpi{border:1px solid #35567a;border-radius:12px;background:var(--panel-2);padding:10px}.game-card header{display:flex;justify-content:space-between;align-items:center}.game-card h3{margin:0}.game-card p{margin:6px 0;color:#d5e5f8;font-size:.9rem}.numbers{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:8px}.numbers span{text-align:center;border-radius:7px;padding:4px 0;border:1px solid #4377a8;background:#17345c}.mini-board{margin-top:8px;display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.cell{text-align:center;font-size:.76rem;border-radius:6px;padding:3px 0;border:1px solid transparent}.border-cell{background:#223d60}.center-cell{background:#1a3050}.selected-cell{border-color:#7df6c8;color:#d8fff1;font-weight:700}.unselected-cell{opacity:.44}.preset-actions{display:flex;flex-wrap:wrap;gap:8px}.preset-msg{color:#81f3c9}.side-panel{position:sticky;top:10px;align-self:start}.quick-summary{border:1px solid #2d4b6e;border-radius:10px;padding:10px;margin-bottom:10px;background:#0f1e32b3}.quick-summary p{margin:6px 0;font-size:.9rem;color:#d0dff1}.run-summary{margin-top:10px;border:1px solid #2d4b6e;border-radius:10px;padding:10px;background:#0f1e32b3}.run-summary h3{margin:0 0 8px;font-size:.95rem;color:#81f3c9}.run-summary p{margin:4px 0;color:#d0dff1}.insight-grid{margin-top:8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips span{background:var(--chip);border:1px solid #3d6f9f;border-radius:999px;padding:3px 9px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.kpi span{color:var(--muted);font-size:.86rem}.kpi strong{display:block;margin-top:4px;font-size:1.3rem}.report-grid{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:10px}.report-card.full{grid-column:1 / -1}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{text-align:left;padding:6px 5px;border-bottom:1px solid #2b4667}th{color:#81f3c9;font-weight:700}.trend{display:grid;gap:6px}.trend-row{display:grid;grid-template-columns:70px 1fr 44px;gap:8px;align-items:center}.bar{height:12px;background:#1c3455;border-radius:99px;overflow:hidden;display:flex}.bar-even{background:#32c58a}.bar-odd{background:#1f7eb3}small{color:var(--muted)}@media(max-width:980px){.page-grid,.generator-layout{grid-template-columns:1fr}.side-panel{position:static}.report-grid{grid-template-columns:1fr}}@media(max-width:768px){.app-shell{padding:14px 10px 26px}.topbar{align-items:stretch}.brand h1{font-size:1.4rem}.brand p{font-size:.9rem}.tabs{width:100%;overflow-x:auto;padding-bottom:2px}.tab{flex:0 0 auto;white-space:nowrap;padding:8px 12px}.status-strip{padding:10px}.status-actions{width:100%;justify-content:space-between;flex-wrap:wrap;gap:8px}.grid-4,.inline-grid{grid-template-columns:1fr 1fr}.panel{padding:12px}.panel h2{font-size:1.05rem}.games{grid-template-columns:1fr}.report-card{overflow-x:auto}table{min-width:480px}}@media(max-width:520px){.grid-4,.inline-grid{grid-template-columns:1fr}.btn-primary,.btn-secondary{width:100%}.preset-actions{flex-direction:column}.trend-row{grid-template-columns:58px 1fr 38px;gap:6px}.numbers span{font-size:.86rem}}
