:root{
  --bg:#0b0f11;
  --panel:#0f1517;
  --text:#e6efe9;
  --muted:#98a29b;
  --accent:#2fc24a;
  --tile-radius:12px;
}
*{box-sizing:border-box}
body.dark{
  background:linear-gradient(180deg,var(--bg),#07100f);
  color:var(--text);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial;
  margin:0;
  min-height:100vh;
}
.container{max-width:960px;margin:12px auto;padding:12px}
.topbar{display:flex;align-items:center;gap:12px;padding:8px 4px}
.topbar .back{color:var(--muted);text-decoration:none}
h1,h2{margin:8px 0}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.tile{display:flex;justify-content:center;align-items:center;padding:18px;border-radius:var(--tile-radius);background:linear-gradient(180deg,#12391b,#0b2a14);color:white;text-decoration:none;font-weight:600;box-shadow:0 6px 18px rgba(0,0,0,.6)}
.btn.tile{background:linear-gradient(180deg,var(--accent),#1e8f33);border:none;padding:10px 12px;border-radius:10px;color:#031006;cursor:pointer}
small{font-size:12px;color:var(--muted)}
label{display:block;margin-top:12px}
textarea,input{width:100%;padding:10px;border-radius:10px;border:1px solid #13201a;background:transparent;color:var(--text)}
.input-with-icon{position:relative}
.icon-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--muted);font-size:18px;padding:6px;cursor:pointer}
.viewport{width:100%;height:60vh;background:#000;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.step{margin:12px 0;padding:10px;background:rgba(255,255,255,0.02);border-radius:8px;text-align:center}
.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000;pointer-events:none}
.overlay .check{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:120px;background:#2fc24a;color:white}
.controls{display:flex;gap:8px;margin-top:10px}
.controls.small{margin-top:6px}
.history-list{margin-top:12px}
.history-row{padding:10px;border-radius:8px;background:var(--panel);margin-bottom:8px}
.camera-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.9);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:200}
.camera-box{width:92%;height:60vh;background:#000;border-radius:8px;margin-bottom:8px}
.footer{margin-top:20px;color:var(--muted);font-size:13px;text-align:center}

/* responsive */
@media (max-width:600px){
  .grid{grid-template-columns:1fr;gap:8px}
  .viewport{height:75vh}
}
