/* LG Projects — Register N (instrument), LG identity.
   Tokens copied from LEAD GENESIS/LG Design DNA/lg-tokens.css. If a hex here
   is not in that file, it is drift. */

:root{
  --lg-green:#6BA247; --lg-green-deep:#558435; --lg-lime:#95D105;
  --lg-ring:#919191; --lg-ink:#1A1D26; --lg-tint:#F0F7EB;
  --lg-green-line:rgba(107,162,71,.25);

  --nx-bg:#E9ECF1; --nx-surface:#FFFFFF; --nx-surface-alt:#F1F3F7;
  --nx-border:#D3D8DF; --nx-border-light:#E3E6EC;
  --nx-text:#161922; --nx-text-2:#414A58; --nx-text-3:#727B8A;
  --nx-positive:#15963F; --nx-negative:#D21F1F; --nx-warn:#C26A05;
  --nx-positive-tint:#E7F5EC; --nx-negative-tint:#FBEAEA; --nx-warn-tint:#F8EFE2;

  --radius:10px; --radius-btn:6px; --radius-chip:4px; --radius-pill:999px;
  --shadow-sm:0 1px 2px rgba(22,25,34,.05),0 1px 6px rgba(22,25,34,.06);
  --shadow-pop:0 8px 28px rgba(22,25,34,.14);
  --ease:cubic-bezier(.2,.7,.2,1);
  --t-fast:.15s; --t-leave:.22s; --t-arrive:.38s;

  --font-ui:'Inter',system-ui,sans-serif;
  --font-mono:'Space Mono',monospace;
  --font-num:'Mulish',var(--font-ui);
}

*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-ui);font-size:16px;line-height:1.6;color:var(--nx-text);
  background:var(--nx-bg);min-height:100svh;
}
.num{font-variant-numeric:tabular-nums}
.mono{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;font-size:11px}
button{font:inherit;cursor:pointer}
input,textarea,select{font:inherit;color:var(--nx-text)}
a{color:var(--lg-green-deep)}

/* ── header ── */
.bar{
  background:var(--nx-surface);border-bottom:1px solid var(--nx-border);
  border-top:3px solid transparent;
  border-image:linear-gradient(90deg,var(--lg-green),var(--lg-lime)) 1;
  border-image-slice:1 0 0 0;
  padding:10px 20px;display:flex;align-items:center;gap:14px;
}
.bar .mark{width:26px;height:26px;flex:none}
.wordmark{line-height:1.15}
.wordmark .wm-top{font-size:17px;letter-spacing:-.025em}
.wordmark .wm-lg{font-family:var(--font-num);font-weight:800;color:var(--lg-green)}
.wordmark .wm-dot{color:var(--nx-text-3);font-weight:400;padding:0 1px}
.wordmark .wm-app{font-weight:600;color:var(--nx-text)}
.wordmark .wm-org{font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;color:var(--nx-text-3);text-transform:uppercase}
.bar-right{margin-left:auto;display:flex;align-items:center;gap:16px}
.live-tag{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-text-2)}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--lg-lime);animation:lg-pulse 1.8s ease-in-out infinite}
@keyframes lg-pulse{0%,100%{box-shadow:0 0 0 0 rgba(149,209,5,.55)}55%{box-shadow:0 0 0 7px rgba(149,209,5,0)}}
.calm-toggle{
  border:1px solid var(--nx-border);background:var(--nx-surface);border-radius:var(--radius-pill);
  font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--nx-text-3);padding:5px 12px;transition:all var(--t-fast);
}
.calm-toggle:hover{border-color:var(--lg-green);color:var(--lg-green-deep)}
body.calm .live-dot{animation:none}
body.calm .breathe span{animation:none}

/* ── shell ── */
.shell{max-width:1160px;margin:0 auto;padding:28px 20px 80px}
.view{display:none}
.view.on{display:block;animation:arrive var(--t-arrive) var(--ease)}
@keyframes arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.panel{
  background:var(--nx-surface);border:1px solid var(--nx-border);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}

/* ── gate ── */
.gate-wrap{max-width:430px;margin:9svh auto 0}
.gate-panel{padding:34px 32px;border-top:2px solid var(--lg-green)}
.gate-panel h1{font-size:23px;font-weight:600;letter-spacing:-.025em;margin-bottom:6px}
.gate-panel p{color:var(--nx-text-2);font-size:14.5px;margin-bottom:22px}
.gate-code{
  width:100%;font-family:var(--font-mono);font-size:18px;letter-spacing:.3em;text-transform:uppercase;
  text-align:center;padding:13px;border:1px solid var(--nx-border);border-radius:var(--radius-btn);
  background:var(--nx-surface-alt);transition:border-color var(--t-fast),box-shadow var(--t-fast);
}
.gate-code:focus{outline:none;border-color:var(--lg-green);box-shadow:0 0 0 3px var(--lg-green-line);background:var(--nx-surface)}
.gate-err{color:var(--nx-negative);font-size:13.5px;min-height:22px;padding-top:8px}
.gate-foot{margin-top:18px;padding-top:16px;border-top:1px solid var(--nx-border-light);color:var(--nx-text-3);font-size:12.5px;line-height:1.55}

/* ── buttons ── */
.lg-cta{
  background:var(--lg-green);color:#fff;border:none;border-radius:var(--radius-btn);
  font-weight:600;font-size:15.5px;padding:12px 26px;transition:background var(--t-fast),transform var(--t-fast);
}
.lg-cta:hover{background:var(--lg-green-deep)}
.lg-cta:active{transform:translateY(1px)}
.lg-cta:focus-visible,.lg-ghost:focus-visible,.chip:focus-visible,.calm-toggle:focus-visible{outline:2px solid var(--lg-green);outline-offset:2px}
.lg-cta[disabled]{opacity:.55;cursor:default}
.lg-ghost{
  background:none;border:1.5px solid var(--nx-border);border-radius:var(--radius-btn);
  color:var(--nx-text-2);font-weight:600;font-size:14.5px;padding:10px 20px;transition:all var(--t-fast);
}
.lg-ghost:hover{border-color:var(--lg-green);color:var(--lg-green-deep)}
.btn-full{width:100%}

/* ── home / track pick ── */
.home-head{margin:8px 0 24px}
.home-head h1{font-size:clamp(26px,3.4vw,34px);font-weight:600;letter-spacing:-.025em}
.home-head p{color:var(--nx-text-2);max-width:640px;margin-top:6px}
.co-chip{
  display:inline-flex;align-items:center;gap:8px;background:var(--lg-tint);
  border:1px solid var(--lg-green-line);border-radius:var(--radius-chip);
  padding:4px 11px;font-size:13px;font-weight:500;color:var(--lg-green-deep);margin-bottom:14px;
}
.tracks{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.track-card{
  text-align:left;background:var(--nx-surface);border:1px solid var(--nx-border);
  border-top:2px solid var(--lg-green);border-radius:var(--radius);box-shadow:var(--shadow-sm);
  padding:26px 26px 22px;transition:box-shadow var(--t-fast),border-color var(--t-fast);
}
.track-card:hover{box-shadow:var(--shadow-pop);border-color:var(--lg-green)}
.track-card .tc-kicker{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-text-3)}
.track-card h2{font-size:20px;font-weight:600;letter-spacing:-.025em;margin:8px 0 8px}
.track-card p{font-size:14.5px;color:var(--nx-text-2);line-height:1.55}
.track-card .tc-go{margin-top:16px;font-weight:600;font-size:14px;color:var(--lg-green-deep)}
.how{margin-top:26px;padding:18px 22px;display:flex;gap:26px;flex-wrap:wrap}
.how .hw{display:flex;gap:10px;align-items:baseline;font-size:13.5px;color:var(--nx-text-2)}
.how .hw b{font-weight:600;color:var(--nx-text)}
.how .hw .n{font-family:var(--font-mono);font-size:10px;color:var(--lg-green-deep)}

/* ── wizard ── */
.wiz{display:grid;grid-template-columns:190px minmax(0,1fr) 280px;gap:18px;align-items:start}
.steps-rail{position:sticky;top:16px}
.steps-rail .panel{padding:14px 0}
.step-item{
  display:flex;gap:10px;align-items:baseline;padding:9px 18px;font-size:13.5px;color:var(--nx-text-3);
  border-left:2px solid transparent;transition:all var(--t-fast);
}
.step-item .sn{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em}
.step-item.done{color:var(--nx-text-2)}
.step-item.done .sn{color:var(--nx-positive)}
.step-item.now{color:var(--nx-text);font-weight:600;border-left-color:var(--lg-green);background:var(--lg-tint)}
.form-panel{padding:28px 30px 26px;min-height:420px}
.form-panel h2{font-size:20px;font-weight:600;letter-spacing:-.025em;margin-bottom:4px}
.form-panel .sub{color:var(--nx-text-2);font-size:14.5px;margin-bottom:22px}
.q{margin-bottom:22px}
.q label.ql{display:block;font-weight:600;font-size:14.5px;margin-bottom:8px}
.q .qh{font-size:13px;color:var(--nx-text-3);margin-top:-6px;margin-bottom:8px}
.q input[type=text],.q input[type=email],.q input[type=date],.q textarea{
  width:100%;padding:10px 13px;border:1px solid var(--nx-border);border-radius:var(--radius-btn);
  background:var(--nx-surface);font-size:15px;transition:border-color var(--t-fast),box-shadow var(--t-fast);
}
.q textarea{min-height:96px;resize:vertical;line-height:1.55}
.q input:focus,.q textarea:focus{outline:none;border-color:var(--lg-green);box-shadow:0 0 0 3px var(--lg-green-line)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  border:1px solid var(--nx-border);background:var(--nx-surface);border-radius:var(--radius-chip);
  padding:7px 14px;font-size:13.5px;color:var(--nx-text-2);transition:all var(--t-fast);
}
.chip:hover{border-color:var(--lg-green)}
.chip.hot{border-color:var(--lg-green);background:var(--lg-tint);color:var(--lg-green-deep);font-weight:600}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wiz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:26px;padding-top:20px;border-top:1px solid var(--nx-border-light)}
.req-note{font-size:12.5px;color:var(--nx-warn);min-height:18px;margin-top:10px}

/* milestone strip */
.ms-strip{margin-top:18px;padding:16px 18px;background:var(--nx-surface-alt);border:1px solid var(--nx-border-light);border-radius:var(--radius)}
.ms-strip .ms-title{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-text-3);margin-bottom:12px}
.ms-line{display:flex;align-items:flex-start}
.ms-node{flex:1;position:relative;text-align:center}
.ms-node::before{content:'';position:absolute;top:5px;left:-50%;width:100%;height:1px;background:var(--nx-border)}
.ms-node:first-child::before{display:none}
.ms-dot{width:11px;height:11px;border-radius:50%;background:var(--nx-surface);border:2px solid var(--lg-green);margin:0 auto 7px;position:relative;z-index:1}
.ms-node.ms-due .ms-dot{background:var(--lg-green)}
.ms-node .ms-lab{font-size:12px;font-weight:600;color:var(--nx-text-2)}
.ms-node .ms-date{font-family:var(--font-mono);font-size:10px;color:var(--nx-text-3)}

/* brief rail */
.brief-rail{position:sticky;top:16px}
.brief-rail .panel{padding:18px 20px}
.brief-rail .br-title{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-text-3);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.br-row{padding:7px 0;border-top:1px solid var(--nx-border-light);font-size:13px}
.br-row:first-of-type{border-top:none}
.br-row .brk{color:var(--nx-text-3);font-size:11.5px}
.br-row .brv{color:var(--nx-text);font-weight:500;overflow-wrap:anywhere}
.br-empty{color:var(--nx-text-3);font-size:13px;font-style:italic}

/* ── review ── */
.ai-wait{display:flex;align-items:center;gap:12px;padding:30px 0;color:var(--nx-text-2);font-size:14.5px}
.breathe{display:inline-flex;gap:4px}
.breathe span{width:7px;height:7px;border-radius:50%;background:var(--lg-green);animation:br 1.2s ease-in-out infinite}
.breathe span:nth-child(2){animation-delay:.18s}.breathe span:nth-child(3){animation-delay:.36s}
@keyframes br{0%,100%{opacity:.25;transform:scale(.85)}45%{opacity:1;transform:scale(1)}}
.rev-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:18px;align-items:start}
.brief-doc{background:var(--nx-surface-alt);border:1px solid var(--nx-border-light);border-radius:var(--radius);padding:20px 22px;font-size:14.5px;line-height:1.6}
.brief-doc h4{font-size:13px;font-weight:600;text-transform:none;margin:14px 0 4px;color:var(--nx-text)}
.brief-doc h4:first-child{margin-top:0}
.brief-doc ul{padding-left:18px}
.brief-doc li{margin:2px 0}
.tile{border:1px solid var(--nx-border);border-radius:var(--radius);padding:14px 16px;background:var(--nx-surface);margin-bottom:12px}
.tile.t-accent{border-top:2px solid var(--lg-green);background:var(--lg-tint)}
.tile.t-warn{border-top:2px solid var(--nx-warn)}
.tile.t-neutral{border-top:2px solid var(--nx-border)}
.tile .tl{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-text-3);margin-bottom:6px;min-height:13px}
.tile .tv{font-family:var(--font-num);font-weight:800;font-size:26px;letter-spacing:-.01em;line-height:1.1}
.tile .tr{font-size:12.5px;color:var(--nx-text-2);margin-top:6px;line-height:1.45}
.gap-list{list-style:none}
.gap-list li{
  display:flex;gap:8px;align-items:baseline;background:var(--nx-warn-tint);border:1px solid rgba(194,106,5,.25);
  border-radius:var(--radius-chip);padding:7px 11px;font-size:13px;color:var(--nx-text-2);margin-bottom:6px;
}
.gap-list li::before{content:'!';font-family:var(--font-mono);font-weight:700;color:var(--nx-warn)}
.gap-ok{display:flex;gap:8px;align-items:baseline;background:var(--nx-positive-tint);border:1px solid rgba(21,150,63,.25);border-radius:var(--radius-chip);padding:7px 11px;font-size:13px;color:var(--nx-text-2)}
.ai-src{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-text-3);margin-top:4px}

/* ── success ── */
.done-wrap{max-width:560px;margin:6svh auto 0}
.done-panel{padding:36px 34px;text-align:center;border-top:2px solid var(--nx-positive)}
.done-id{font-family:var(--font-num);font-weight:800;font-size:clamp(34px,6vw,48px);letter-spacing:-.01em;color:var(--lg-green-deep)}
.done-panel h2{font-size:20px;font-weight:600;margin:6px 0 20px}
.done-next{text-align:left;background:var(--nx-surface-alt);border:1px solid var(--nx-border-light);border-radius:var(--radius);padding:16px 20px;margin-bottom:22px}
.done-next .dn{display:flex;gap:10px;padding:6px 0;font-size:14px;color:var(--nx-text-2)}
.done-next .dn .n{font-family:var(--font-mono);font-size:10px;color:var(--lg-green-deep);padding-top:4px}

/* footer */
.foot{max-width:1160px;margin:40px auto 0;padding:0 20px;display:flex;justify-content:space-between;color:var(--nx-text-3);font-size:12px}
.foot .mono{font-size:9.5px}

/* LG standard: last-updated stamp (workspace CCAS.md), square revision block */
.lg-stamp{
  display:inline-flex;align-items:center;gap:10px;padding:7px 14px;
  font-family:var(--font-mono);font-size:10px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;
  color:#55555f;background:#fff;border:1px solid #dcdce0;
  border-left:2px solid var(--lg-green);border-radius:2px;
}
.lg-stamp>span{white-space:nowrap}
.lg-stamp b{color:#16161a;font-weight:600}
.lg-stamp .sep{color:#6f6f79}
.lg-stamp .dot{width:5px;height:5px;border-radius:0;flex:0 0 auto;background:var(--lg-green)}
@keyframes lg-stamp-pulse{0%,100%{opacity:1}50%{opacity:.25}}

/* ── responsive ── */
@media (max-width:960px){
  .wiz{grid-template-columns:minmax(0,1fr)}
  .steps-rail{position:static;overflow-x:auto}
  .steps-rail .panel{display:flex;padding:0}
  .step-item{border-left:none;border-bottom:2px solid transparent;white-space:nowrap;padding:10px 14px}
  .step-item.now{border-bottom-color:var(--lg-green)}
  .brief-rail{display:none}
  .rev-grid{grid-template-columns:minmax(0,1fr)}
  .tracks{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
