/* Phase 6R: SOM layout restore based on the original SOM assessment design.
   This file is visual/UI only. It contains no scoring logic, mappings, or mode rules. */

body.som-page{
  --primary:#4c6fff;
  --accent:#00c2a8;
  --sig-grad:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);
  --bg:#020617;
  --bg-soft:#0b1120;
  --card-bg:#020617;
  --border-subtle:rgba(148,163,184,.35);
  --text-main:#e5e7eb;
  --text-muted:#9ca3af;
  --amber:#f59e0b;
  --amber-glow:rgba(245,158,11,.22);
  --warn-bg:rgba(251,191,36,.14);
  --warn-line:rgba(251,191,36,.40);
  --warn-text:rgba(255,237,180,.98);
  --shadow:0 24px 80px rgba(0,0,0,.65);
  --radius:20px;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  min-height:100vh;
  background:
    radial-gradient(circle at top,rgba(76,111,255,.30) 0,transparent 55%),
    radial-gradient(circle at 85% 15%,rgba(0,194,168,.18) 0,transparent 55%),
    linear-gradient(180deg,#020617 0%,#020617 100%) !important;
  color:var(--text-main);
  padding:84px 20px 32px;
}

body.som-page .container{
  max-width:900px !important;
  margin:0 auto !important;
  background:linear-gradient(145deg,rgba(15,23,42,.96),#020617) !important;
  border-radius:var(--radius) !important;
  border:1px solid var(--border-subtle) !important;
  box-shadow:var(--shadow) !important;
  padding:32px 22px !important;
  position:relative !important;
  overflow:hidden !important;
}
body.som-page .container::before{
  content:"";
  position:absolute;
  left:0;top:0;right:0;
  height:2px;
  background:var(--sig-grad);
  opacity:.85;
  pointer-events:none;
}
@media(min-width:768px){body.som-page .container{padding:36px 32px !important;}}

body.som-page h1{
  text-align:center !important;
  font-size:2rem !important;
  margin-bottom:6px !important;
  letter-spacing:.06em !important;
  color:#e5e7eb !important;
  text-transform:uppercase !important;
}
body.som-page .brand-tag{
  text-align:center !important;
  color:var(--amber) !important;
  font-weight:900 !important;
  margin-bottom:10px !important;
  font-size:1rem !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-shadow:0 0 18px var(--amber-glow) !important;
}
body.som-page .subtitle{
  text-align:center !important;
  font-size:.98rem !important;
  color:var(--text-muted) !important;
  margin-bottom:10px !important;
}
body.som-page .meta{
  text-align:center !important;
  font-size:.9rem !important;
  color:var(--text-muted) !important;
  margin-bottom:12px !important;
  line-height:1.5 !important;
}
body.som-page .meta strong{color:var(--text-main) !important;}

body.som-page .topbar{
  position:fixed !important;
  top:0;left:0;right:0;
  z-index:2500;
  padding:10px 12px !important;
  background:rgba(10,12,20,.70) !important;
  backdrop-filter:blur(12px);
  box-shadow:0 18px 54px rgba(0,0,0,.45) !important;
}
body.som-page .topbar::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:radial-gradient(520px 140px at 50% 50%,rgba(59,130,246,.26),rgba(20,184,166,.22),transparent 68%);
  pointer-events:none;
  opacity:.95;
  z-index:0;
}
body.som-page .topbar-inner{max-width:980px !important;margin:0 auto !important;display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1;}
body.som-page .home-btn,body.som-page .menu-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.07) !important;
  color:rgba(230,237,247,.92) !important;
  cursor:pointer;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
  text-decoration:none;
  flex:0 0 auto;
  touch-action:manipulation;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
body.som-page .home-btn{width:42px;}
body.som-page .home-btn:hover,body.som-page .menu-btn:hover{transform:translateY(-1px);border-color:rgba(20,184,166,.45) !important;box-shadow:0 14px 34px rgba(0,0,0,.35) !important;}
body.som-page .brand-gradient{font-weight:900;letter-spacing:.02em;font-size:1.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:linear-gradient(135deg,#fff 0%,rgba(255,255,255,.85) 50%,#4c6fff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:0 4px 16px rgba(76,111,255,.15);}

body.som-page .instructions{
  background:radial-gradient(circle at top left,#111827,#020617) !important;
  border-radius:14px !important;
  border:1px solid var(--border-subtle) !important;
  padding:16px 16px 14px !important;
  margin-bottom:20px !important;
  font-size:.9rem !important;
}
body.som-page .instructions h3{font-size:.98rem !important;margin-bottom:6px !important;color:#e5e7eb !important;}
body.som-page .instructions p{margin-bottom:4px !important;color:var(--text-muted) !important;}
body.som-page .instructions ul{margin-left:16px !important;margin-bottom:6px !important;color:var(--text-muted) !important;}
body.som-page .instructions li{margin-bottom:2px !important;}
body.som-page .honesty-note{font-size:.85rem !important;color:var(--text-muted) !important;margin-top:4px !important;}

/* Original SOM forced-choice question cards */
body.som-page #somForm .question{
  margin-bottom:18px !important;
  padding:16px 14px 12px !important;
  border-radius:14px !important;
  border:1px solid rgba(55,65,81,.9) !important;
  background:radial-gradient(circle at top left,#020617,#020617) !important;
  transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease,background .2s ease !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  overflow:visible !important;
}
body.som-page #somForm .question:hover{
  border-color:rgba(129,140,248,.95) !important;
  box-shadow:0 12px 26px rgba(15,23,42,.95) !important;
  background:radial-gradient(circle at top left,#0b1120,#020617) !important;
  transform:translateY(-1px) !important;
}
body.som-page #somForm .question.active{
  border-color:rgba(76,111,255,.95) !important;
  box-shadow:0 0 0 1px rgba(76,111,255,.45),0 18px 36px rgba(15,23,42,.90) !important;
  background:radial-gradient(circle at top left,rgba(76,111,255,.10),#020617) !important;
}
body.som-page #somForm .question-text{
  font-size:.96rem !important;
  margin-bottom:8px !important;
  line-height:1.4 !important;
  color:rgba(229,231,235,.94) !important;
  font-weight:700 !important;
  text-align:left !important;
  overflow-wrap:break-word !important;
  white-space:normal !important;
}
body.som-page #somForm .question-number{
  font-weight:900 !important;
  color:var(--primary) !important;
  margin-right:6px !important;
}
body.som-page #somForm .options{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  margin-top:4px !important;
  width:100% !important;
}
body.som-page #somForm .option{
  display:block !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  min-height:0 !important;
  height:auto !important;
}
body.som-page #somForm .option input[type="radio"]{display:none !important;}
body.som-page #somForm .option label{
  display:block !important;
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  font-size:.9rem !important;
  cursor:pointer !important;
  border-radius:10px !important;
  border:1px solid rgba(55,65,81,.9) !important;
  padding:8px 10px !important;
  background:linear-gradient(135deg,rgba(15,23,42,.95),#020617) !important;
  color:rgba(229,231,235,.88) !important;
  transition:all .2s ease !important;
  text-align:left !important;
  line-height:1.42 !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  box-shadow:none !important;
}
body.som-page #somForm .option label .choice-letter,
body.som-page #somForm .option label span.choice-letter{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  min-height:20px !important;
  border-radius:999px !important;
  border:1px solid rgba(156,163,175,.8) !important;
  font-size:.75rem !important;
  margin-right:6px !important;
  color:var(--text-muted) !important;
  font-weight:900 !important;
  background:transparent !important;
  vertical-align:middle !important;
}
body.som-page #somForm .option label:hover{
  border-color:rgba(129,140,248,.9) !important;
  background:radial-gradient(circle at top left,#111827,#020617) !important;
}
body.som-page #somForm .option input[type="radio"]:checked + label{
  border-color:rgba(76,111,255,.95) !important;
  background:radial-gradient(circle at top left,rgba(0,194,168,.10),#020617) !important;
  box-shadow:0 0 0 1px rgba(76,111,255,.45),0 16px 32px rgba(15,23,42,.98) !important;
}
body.som-page #somForm .option input[type="radio"]:checked + label span.choice-letter{
  border-color:transparent !important;
  background:var(--sig-grad) !important;
  color:#0b1120 !important;
}
body.som-page #somForm .option input[type="radio"]:disabled + label{opacity:.58 !important;cursor:not-allowed !important;}

body.som-page .agreement{
  margin-top:14px !important;
  padding:14px !important;
  border-radius:16px !important;
  border:1px solid rgba(148,163,184,.35) !important;
  background:rgba(2,6,23,.22) !important;
  color:rgba(229,231,235,.82) !important;
  font-size:.92rem !important;
  line-height:1.5 !important;
  text-align:center !important;
}
body.som-page .agreement label{display:inline-flex;gap:10px;align-items:flex-start;cursor:pointer;user-select:none;}
body.som-page .agreement input[type="checkbox"]{margin-top:3px;width:18px;height:18px;accent-color:#4c6fff;flex:0 0 auto;}
body.som-page .agreement a{white-space:nowrap;color:rgba(165,180,252,.95);text-decoration:none !important;border-bottom:0 !important;font-weight:900;}
body.som-page .agreement a:hover{color:rgba(52,211,153,.95);}

body.som-page .submit-btn{
  width:100% !important;
  margin-top:18px !important;
  padding:14px 18px !important;
  border-radius:999px !important;
  border:none !important;
  background:var(--sig-grad) !important;
  color:#fff !important;
  font-weight:900 !important;
  font-size:1rem !important;
  cursor:pointer !important;
  box-shadow:0 18px 40px rgba(37,99,235,.45) !important;
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease,opacity .15s ease !important;
  touch-action:manipulation !important;
}
body.som-page .submit-btn:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 22px 50px rgba(37,99,235,.65) !important;}
body.som-page .submit-btn:disabled{cursor:not-allowed;opacity:.55;transform:none;filter:none;box-shadow:0 12px 26px rgba(0,0,0,.35) !important;}

body.som-page .results{
  display:none;
  margin-top:22px !important;
  padding:20px 16px 16px !important;
  border-radius:16px !important;
  border:1px solid var(--border-subtle) !important;
  background:radial-gradient(circle at top left,#020617,#020617) !important;
}
body.som-page .results.show{display:block;}
body.som-page .primary-type{
  font-size:1.6rem !important;
  font-weight:950 !important;
  margin:4px 0 10px !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  background:linear-gradient(120deg,#e5e7eb 0%,#a5b4fc 45%,#34d399 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent !important;
  text-align:center !important;
}
body.som-page .mode-block,body.som-page .blurb,body.som-page .mode-copy,body.som-page .mode-copy-soft{
  max-width:720px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body.som-page .score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:10px;}
body.som-page .spectrum-row,body.som-page .som-signal-row{border-radius:14px !important;border:1px solid rgba(55,65,81,.9) !important;background:radial-gradient(circle at top left,#020617,#020617) !important;padding:12px !important;}
body.som-page .spectrum-track{height:7px !important;border-radius:999px;background:rgba(30,64,175,.40) !important;overflow:hidden;margin:8px 0 10px !important;}
body.som-page .spectrum-fill{height:100%;border-radius:999px;background:var(--sig-grad) !important;min-width:6px;}
body.som-page .signal-pill{font-size:.74rem;font-weight:900;padding:4px 8px;border-radius:999px;border:1px solid rgba(148,163,184,.28);background:rgba(255,255,255,.04);color:rgba(229,231,235,.82);white-space:nowrap;}

@media(max-width:480px){
  body.som-page{padding:78px 12px 26px;}
  body.som-page h1{font-size:1.6rem !important;}
  body.som-page .container{padding:26px 14px !important;}
  body.som-page #somForm .question{padding:12px 11px 10px !important;}
  body.som-page #somForm .option label{padding:8px 9px !important;font-size:.88rem !important;}
}


/* Phase 6S: keep SOM original layout while adding polished signal pill states. */
body.som-page .signal-pill.signal-strong{color:rgba(255,237,180,.98) !important;border-color:rgba(245,158,11,.58) !important;background:linear-gradient(135deg,rgba(245,158,11,.24),rgba(245,158,11,.08)) !important;}
body.som-page .signal-pill.signal-present{color:rgba(191,219,254,.98) !important;border-color:rgba(96,165,250,.52) !important;background:linear-gradient(135deg,rgba(59,130,246,.22),rgba(20,184,166,.08)) !important;}
body.som-page .signal-pill.signal-quiet{color:rgba(255,255,255,.92) !important;border-color:rgba(255,255,255,.30) !important;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.045)) !important;}
body.som-page #somForm .option label{min-width:0 !important;}
body.som-page #somForm .options{align-items:stretch !important;}
