/* VocaScan classic visual system
   Restores the former charcoal / gold / cyan personality without changing app behavior. */
html:not([data-contrast="high"]){
  color-scheme:dark;
  --c-brand:#f5b93c;
  --c-brand-strong:#ffd24a;
  --c-brand-soft:rgba(245,185,60,.14);
  --c-ink:#e9edf3;
  --c-muted:#a4adbc;
  --c-line:#3a4351;
  --c-surface:#2c3442;
  --c-bg:#232a36;
  --c-danger:#d95f5f;
  --c-warning:#d98f3e;
  --c-good:#3e9b6e;
  --shadow:0 18px 46px rgba(0,0,0,.30);
  --r-sm:10px;
  --r-md:16px;
  --r-lg:24px;
  --font:'Pretendard','Apple SD Gothic Neo','Noto Sans KR',system-ui,-apple-system,'Segoe UI',sans-serif;
}
html[data-contrast="high"]{
  color-scheme:dark;
  --c-bg:#000;
  --c-surface:#111;
  --c-ink:#fff;
  --c-muted:#eee;
  --c-line:#888;
  --c-brand:#ffd84d;
  --c-brand-strong:#fff1a3;
  --c-brand-soft:#242000;
  --shadow:0 12px 32px rgba(0,0,0,.7);
}
html,body{background:var(--c-bg);}
body{font-family:var(--font);background:radial-gradient(circle at 12% 0%,rgba(77,208,225,.07),transparent 35%),radial-gradient(circle at 92% 8%,rgba(245,185,60,.08),transparent 32%),var(--c-bg);}
.app-shell{background:transparent;}
.topbar{background:rgba(27,33,43,.94);border-bottom:1px solid var(--c-line);box-shadow:0 8px 26px rgba(0,0,0,.22);backdrop-filter:blur(14px);}
.brand{color:var(--c-ink);letter-spacing:.03em;}
.brand-mark{background:linear-gradient(135deg,#ffd24a,#f5941c);color:#1a1f28;box-shadow:0 0 24px rgba(245,185,60,.25);}
.status-badge,.pill{background:rgba(77,208,225,.10);color:#7be5f2;border:1px solid rgba(77,208,225,.20);}
.icon-button{background:rgba(255,255,255,.04);border-color:var(--c-line);color:var(--c-ink);}
.offline-banner{background:#3a2b1f;color:#ffe0af;border-bottom:1px solid #d98f3e;}
main{max-width:900px;padding-top:30px;}
.screen{gap:18px;animation:classic-in .28s ease both;}
@keyframes classic-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.screen>header h1{letter-spacing:-.045em;text-shadow:0 2px 18px rgba(0,0,0,.25);}
.eyebrow{color:var(--c-brand);letter-spacing:.12em;}
.lead{color:var(--c-muted);}
.hero{background:radial-gradient(circle at 92% 4%,rgba(77,208,225,.15),transparent 34%),linear-gradient(145deg,rgba(245,185,60,.13),rgba(15,24,39,.88));border-color:rgba(245,185,60,.30);box-shadow:0 24px 60px rgba(0,0,0,.25);position:relative;overflow:hidden;}
.hero:after{content:"";position:absolute;right:-70px;bottom:-92px;width:220px;height:220px;border:1px solid rgba(245,185,60,.16);border-radius:50%;pointer-events:none;}
.card{background:rgba(44,52,66,.92);border-color:var(--c-line);box-shadow:0 14px 34px rgba(0,0,0,.17);}
.card:hover{border-color:rgba(245,185,60,.28);}
.button{background:linear-gradient(135deg,#ffd24a,#f5941c);color:#1a1f28;border-color:transparent;box-shadow:0 8px 22px rgba(245,185,60,.16);transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;}
.button:hover{background:linear-gradient(135deg,#ffe27a,#ffad35);color:#1a1f28;filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 12px 28px rgba(245,185,60,.22);}
.button.secondary{background:#252d39;border-color:var(--c-line);color:var(--c-ink);box-shadow:none;}
.button.secondary:hover{border-color:rgba(245,185,60,.55);color:var(--c-brand-strong);background:#2b3543;}
.button.ghost{background:transparent;color:var(--c-brand);box-shadow:none;}
.button.danger{background:linear-gradient(135deg,#d95f5f,#b84e4e);color:#fff;}
.actions{gap:9px;}
.field input,.field select,.field textarea{background:#1b212b;border-color:var(--c-line);color:var(--c-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}
.field input::placeholder,.field textarea::placeholder{color:#7f8999;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--c-brand);box-shadow:0 0 0 3px rgba(245,185,60,.13);outline:0;}
.choice{background:#252d39;border-color:var(--c-line);color:var(--c-ink);}
.choice:hover,.choice[aria-pressed="true"]{border-color:var(--c-brand);background:rgba(245,185,60,.12);}
.question-term{position:relative;max-width:500px;width:100%;margin:12px auto 20px;padding:54px 24px 48px;background:#fdfcf7;color:#22304a;border-radius:15px;box-shadow:0 15px 32px rgba(0,0,0,.35),0 1px 0 rgba(255,255,255,.08);font-family:Georgia,'Times New Roman',serif;letter-spacing:-.03em;line-height:1.15;overflow:hidden;}
.question-term:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0 31px,#bfd4e8 31px 32px);top:42px;opacity:.72;pointer-events:none;}
.question-term:after{content:"";position:absolute;top:0;bottom:0;left:34px;width:2px;background:#e8837b;opacity:.7;pointer-events:none;}
.question-term{font-size:clamp(2.1rem,10vw,4rem);}
.question-term::first-line{position:relative;z-index:1;}
.progress-track{height:8px;background:#1b212b;box-shadow:inset 0 1px 3px rgba(0,0,0,.35);}
.progress-track>span{background:linear-gradient(90deg,#3e9b6e,#f5b93c,#ff8a3d);}
.notice{background:rgba(77,208,225,.08);border-left-color:#4dd0e1;color:var(--c-muted);}
.warning{background:rgba(217,143,62,.12);border-color:#d98f3e;}
.danger-zone{background:rgba(217,95,95,.08);border-color:#d95f5f;}
.stat{background:rgba(24,31,43,.78);border-color:var(--c-line);}
.stat strong{color:var(--c-brand-strong);}
.map-cell{box-shadow:0 8px 20px rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.08);}
.map-known{background:linear-gradient(145deg,rgba(62,155,110,.30),rgba(44,52,66,.95));color:#b8f3cf;}
.map-growing{background:linear-gradient(145deg,rgba(217,143,62,.30),rgba(44,52,66,.95));color:#ffe0af;}
.map-unknown{background:linear-gradient(145deg,rgba(217,95,95,.27),rgba(44,52,66,.95));color:#ffb9b9;}
.map-unmeasured{background:linear-gradient(145deg,rgba(139,149,165,.22),rgba(44,52,66,.95));color:var(--c-ink);}
.row-link{border-bottom-color:var(--c-line);color:var(--c-ink);}
.row-link:hover{color:var(--c-brand-strong);}
.base-nav{background:rgba(27,33,43,.97);border-color:var(--c-line);box-shadow:0 -8px 26px rgba(0,0,0,.20);}
.base-nav button{color:var(--c-muted);}
.base-nav button:hover{color:var(--c-ink);background:rgba(255,255,255,.04);}
.base-nav button[aria-current="page"]{background:rgba(245,185,60,.13);color:var(--c-brand-strong);box-shadow:inset 0 0 0 1px rgba(245,185,60,.20);}
.legal-footer{color:#858fa0;}
.legal-footer a:hover{color:var(--c-brand-strong);}
.toast{background:#0f1319;border:1px solid var(--c-line);box-shadow:0 15px 34px rgba(0,0,0,.34);}
dialog{background:#252d39;color:var(--c-ink);border:1px solid var(--c-line);box-shadow:0 20px 56px rgba(0,0,0,.48);}
dialog::backdrop{background:rgba(8,12,20,.78);}
.kbd{background:#1b212b;border-color:var(--c-line);color:var(--c-ink);}
.account-avatar{background:linear-gradient(135deg,rgba(245,185,60,.25),rgba(77,208,225,.12));color:var(--c-brand-strong);border:1px solid rgba(245,185,60,.30);}
.table-scroll th{background:#252d39;color:var(--c-ink);}
.table-scroll td,.table-scroll th{border-bottom-color:var(--c-line);}
.ad-surface{border-top-color:var(--c-line);}
.ad-label{color:#858fa0;}
@media(min-width:900px){
  .app-shell{background:linear-gradient(90deg,rgba(27,33,43,.98) 0 232px,transparent 232px);}
  .base-nav{background:rgba(27,33,43,.98);}
  main{padding-top:42px;}
}
@media(max-width:420px){
  main{padding-top:22px;}
  .question-term{padding-left:48px;padding-right:18px;}
}
@media(prefers-reduced-motion:reduce){.screen{animation:none}.button{transition:none}}
