/* Camera Coach — true black + warm gold + clear glass. No emojis, drawn
   SVG icons only. Root is 20px: the owner's phone runs large text. Inputs
   stay >=16px so iOS never zoom-jumps. One-tap-at-a-gig layout: camera,
   situation, settings — readable at arm's length in a dark venue. */
:root{
  --bg:#000; --ink:#fff; --ink-dim:rgba(255,255,255,.74); --ink-faint:rgba(255,255,255,.52);
  --glass:rgba(255,255,255,.06); --glass-edge:rgba(255,255,255,.5);
  --gold:#e8b34b; --gold-dim:rgba(232,179,75,.16); --gold-edge:rgba(232,179,75,.65);
  --bad:#ff7a7a; --good:#8fe3b0;
  --radius:18px;
}
*{box-sizing:border-box}
html{font-size:20px}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom)}
[hidden]{display:none!important}
h1{font-size:1.45rem;margin:0;letter-spacing:-.02em}
h2{font-size:1.15rem;margin:0 0 .6rem;letter-spacing:-.01em}
h3{font-size:.95rem;margin:0 0 .5rem}
p{line-height:1.45}
.sub{color:var(--ink-dim);margin:.2rem 0 0;font-size:.85rem}
.fineprint{color:var(--ink-faint);font-size:.75rem;text-align:center;margin-top:1rem}
.glass{background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--radius);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.beta{font-size:.55rem;font-weight:800;letter-spacing:.12em;color:#000;background:var(--gold);
  border-radius:6px;padding:.14rem .38rem;vertical-align:.45em;margin-left:.4rem}

/* ---------- auth ---------- */
.auth-wrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1rem}
.auth-card{width:100%;max-width:26rem;padding:1.4rem}
.brand-lockup{display:flex;gap:.8rem;align-items:center;margin-bottom:1.2rem}
.brand-mark{width:2.4rem;height:2.4rem;flex:none;color:var(--gold)}
.brand-mark.sm{width:1.4rem;height:1.4rem}
.field{display:block;margin-bottom:.9rem}
.field span{display:block;font-size:.8rem;color:var(--ink-dim);margin-bottom:.35rem}
.field input,.field select,.field textarea{
  width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.35);
  border-radius:12px;color:var(--ink);padding:.65rem .8rem;font-size:17px;font-family:inherit}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.form-error{color:var(--bad);font-size:.85rem;margin:.4rem 0 .8rem}
.form-note{color:var(--good);font-size:.85rem;margin:.4rem 0 .8rem}

/* ---------- buttons ---------- */
.btn{appearance:none;border:1px solid var(--glass-edge);background:var(--glass);color:var(--ink);
  border-radius:999px;padding:.6rem 1.1rem;font-size:.85rem;font-weight:600;cursor:pointer;
  min-height:2.6rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem}
.btn.primary{background:var(--gold);color:#000;border-color:var(--gold)}
.btn.big{width:100%;font-size:1rem;min-height:3rem}
.btn.sm{min-height:2.2rem;padding:.35rem .8rem;font-size:.78rem}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.25)}
.btn.danger{color:var(--bad);border-color:rgba(255,122,122,.5)}
.btn:active{transform:scale(.98)}
#forgotBtn{margin-top:.5rem;width:100%}

/* ---------- app frame ---------- */
.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;
  padding:.7rem 1rem;background:rgba(0,0,0,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.14)}
.topbar-brand{display:flex;align-items:center;gap:.5rem;font-weight:700}
.pages{max-width:30rem;margin:0 auto;padding:1rem 1rem 6.5rem}
.page-title{margin-top:.2rem}
.page-sub{color:var(--ink-dim);font-size:.85rem;margin:0 0 1rem}
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:6;display:flex;justify-content:space-around;
  background:rgba(10,10,10,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-top:1px solid rgba(255,255,255,.16);padding:.45rem .3rem calc(.45rem + env(safe-area-inset-bottom))}
.tab{appearance:none;background:transparent;border:0;color:var(--ink-faint);cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:.18rem;font-size:.62rem;font-weight:600;
  padding:.3rem .4rem;border-radius:12px;min-width:3.2rem}
.tab svg{width:1.35rem;height:1.35rem}
.tab.active{color:var(--gold)}

/* ---------- shoot ---------- */
.step-label{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:1.1rem 0 .55rem}
.step-label:first-child{margin-top:0}
.cam-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.cam-btn{appearance:none;text-align:left;background:var(--glass);border:1px solid rgba(255,255,255,.3);
  border-radius:16px;color:var(--ink);padding:.8rem .9rem;cursor:pointer;min-height:4.6rem}
.cam-btn.active{border-color:var(--gold);background:var(--gold-dim)}
.cam-name{display:block;font-weight:800;font-size:1rem}
.cam-role{display:block;font-size:.74rem;color:var(--ink-dim);margin-top:.15rem}
.cam-card{display:block;font-size:.74rem;color:var(--gold);margin-top:.35rem}
.sit-row{display:flex;flex-wrap:wrap;gap:.5rem}
.sit-chip{appearance:none;display:inline-flex;align-items:center;gap:.45rem;background:transparent;
  border:1px solid rgba(255,255,255,.3);color:var(--ink-dim);border-radius:999px;
  padding:.55rem .9rem;font-size:.85rem;cursor:pointer;min-height:2.8rem}
.sit-chip svg{width:1.15rem;height:1.15rem}
.sit-chip.active{background:var(--gold);border-color:var(--gold);color:#000;font-weight:700}
.loading{color:var(--ink-faint);font-size:.85rem}
.profile-strip{margin-top:1.1rem;padding:.9rem 1rem}
.profile-name{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .45rem}
.fmt{font-size:.86rem;margin:.25rem 0;color:var(--ink-dim)}
.fmt strong{color:var(--ink)}
.pinned{margin-top:.8rem;border:1.5px solid var(--gold-edge);background:var(--gold-dim);border-radius:var(--radius);padding:.95rem 1rem}
.pinned-title{font-weight:800;margin:0 0 .5rem;color:var(--gold)}
.pinned-line{margin:.3rem 0;font-size:.9rem}
.card-sec{margin-top:.8rem;border-radius:var(--radius);padding:.95rem 1rem;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.03)}
.card-sec h3{letter-spacing:.07em;text-transform:uppercase;font-size:.78rem;margin-bottom:.7rem}
.card-sec.must h3{color:#ff9d7a}
.card-sec.keep h3{color:var(--good)}
.card-sec.nudge h3{color:var(--gold)}
.srow{padding:.55rem 0;border-top:1px solid rgba(255,255,255,.1)}
.srow:first-of-type{border-top:0;padding-top:0}
.srow-label{font-weight:700;margin:0;font-size:.95rem}
.srow-text{margin:.2rem 0 0;font-size:.9rem}
.srow-why{margin:.25rem 0 0;font-size:.8rem;color:var(--ink-faint)}
.facts{margin-top:.8rem;padding:.9rem 1rem}
.facts summary{cursor:pointer;font-weight:700;font-size:.9rem}
.fact{font-size:.85rem;color:var(--ink-dim);margin:.55rem 0}
.fact strong{color:var(--ink)}

/* ---------- closet / admin ---------- */
.kind-head{margin:1.1rem 0 .55rem;color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase;font-size:.76rem}
.gear{padding:.9rem 1rem;margin-bottom:.6rem}
.gear.retired{opacity:.55}
.gear-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}
.gear-name{font-weight:700;margin:0;font-size:.98rem}
.kind-chip{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);
  border:1px solid var(--gold-edge);border-radius:999px;padding:.18rem .55rem;flex:none}
.retired-tag{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
.gear-line{font-size:.86rem;color:var(--ink-dim);margin:.35rem 0 0}
.gear-line.dim{color:var(--ink-faint);font-size:.8rem}
.gear-actions{display:flex;gap:.45rem;margin-top:.7rem;flex-wrap:wrap}
.gear-edit{margin-top:.8rem;border-top:1px solid rgba(255,255,255,.12);padding-top:.8rem}
.add-gear{padding:1rem;margin-top:1.2rem}
.reset-link{font-size:.8rem;color:var(--good);margin-top:.7rem;word-break:break-all}
.link-text{color:var(--ink);user-select:all}

/* ---------- coming pages ---------- */
.coming{padding:1.1rem 1rem;margin-top:.4rem}
.coming-tag{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:#000;background:var(--gold);border-radius:6px;padding:.2rem .5rem;margin:.2rem 0 .7rem}
.coming p{color:var(--ink-dim);font-size:.9rem}

.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:5.6rem;z-index:20;max-width:92vw;
  background:#1c1c1e;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:12px;
  padding:.7rem 1rem;font-size:.85rem;text-align:center;box-shadow:0 8px 30px rgba(0,0,0,.6)}
