:root{font-family:Avenir Next,Helvetica Neue,sans-serif;color:#fef7ea;background:radial-gradient(circle at top left,rgba(248,180,76,.28),transparent 28%),radial-gradient(circle at top right,rgba(77,166,255,.22),transparent 24%),linear-gradient(160deg,#11213d,#07111f 55%,#030712);--panel: rgba(7, 17, 31, .7);--panel-border: rgba(255, 255, 255, .12);--text-soft: rgba(254, 247, 234, .76);--accent-main: #f8b44c;--accent-ok: #7ae582;--accent-bad: #ff6b6b}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh}button{border:0;border-radius:999px;padding:.9rem 1.2rem;font:inherit;font-weight:700;cursor:pointer;color:#07111f;background:var(--accent-main)}button:hover{filter:brightness(1.06)}.button-secondary{color:#fef7ea;background:#ffffff1a;border:1px solid rgba(255,255,255,.14)}.app-shell{min-height:100vh;padding:2rem;display:grid;gap:1.25rem}.hero-panel,.status-strip{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--panel);border:1px solid var(--panel-border);border-radius:28px;box-shadow:0 24px 80px #00000047}.hero-panel{padding:2rem}.headline-row{max-width:54rem;margin-bottom:1.5rem}.eyebrow,.status-label{display:inline-block;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:var(--text-soft)}.headline-row h1{margin:0;font-size:clamp(2rem,5vw,4.6rem);line-height:.98}.headline-row p{margin:1rem 0 0;font-size:1.1rem;line-height:1.6;color:var(--text-soft)}.diagnostic-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:1.25rem}.panel-card,.camera-card{padding:1.5rem;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.control-row{display:flex;gap:.8rem}.camera-card{display:flex;flex-direction:column;gap:1rem}.camera-card--preview{grid-row:span 2}.camera-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.camera-header h2{margin:0 0 .3rem;font-size:1.2rem}.support-copy,.empty-copy,.status-row p,.verdict-list p{margin:0;color:var(--text-soft);line-height:1.6}.camera-frame{position:relative;overflow:hidden;min-height:26rem;border-radius:20px;background:linear-gradient(180deg,#ffffff0d,#ffffff05),#050b15;border:1px solid rgba(255,255,255,.08)}.camera-frame video,.camera-overlay{width:100%;height:100%}.camera-frame video{object-fit:cover}.camera-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:2rem;text-align:center;color:var(--text-soft);background:linear-gradient(180deg,#07111f33,#07111fb3),repeating-linear-gradient(135deg,#ffffff0a 0,#ffffff0a 10px,#ffffff05 10px,#ffffff05 20px)}.camera-overlay p{max-width:22rem;font-size:1.05rem;line-height:1.6}.result-banner{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:7rem;padding:.45rem .9rem;border-radius:999px;font-weight:800;color:#07111f;background:#d2d7df}.status-pill--ready,.status-pill--idle,.status-pill--checking{background:var(--accent-ok)}.status-pill--requesting{background:var(--accent-main)}.status-pill--denied,.status-pill--unsupported,.status-pill--error{background:var(--accent-bad);color:#fff8f8}.panel-card h2{margin:0 0 1rem;font-size:1.2rem}.panel-card__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.checklist,.device-list,.verdict-list{display:grid;gap:.85rem}.status-row,.device-item{display:flex;gap:.8rem;align-items:flex-start;padding:.9rem 1rem;border-radius:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.status-dot{width:.9rem;height:.9rem;border-radius:50%;flex:0 0 auto;margin-top:.25rem}.status-dot--ok{background:var(--accent-ok);box-shadow:0 0 16px #7ae582a6}.status-dot--bad{background:var(--accent-bad);box-shadow:0 0 16px #ff6b6b80}.status-row strong,.device-item strong{display:block;margin-bottom:.2rem}.device-item{flex-direction:column}.device-item span{color:var(--text-soft)}.status-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.25rem 1.5rem}.status-strip strong{display:block;font-size:1.05rem}@media (max-width: 900px){.app-shell{padding:1rem}.hero-panel{padding:1.2rem}.diagnostic-grid,.status-strip{grid-template-columns:1fr}.camera-card{min-height:unset}.camera-card--preview{grid-row:auto}.camera-header{align-items:flex-start;flex-direction:column}.control-row{flex-wrap:wrap}}
