/* SOS V2 visual layer. It is opt-in through ?v2=1 until the migration is complete. */
body.sos-v2-active .view,
body.sos-v2-active .overlay,
body.sos-v2-active #cornerControls{display:none !important}
#sos-v2-app[data-theme="light"]{
  --v2-bg:#f4efe6;
  --v2-surface:#fffaf1;
  --v2-surface-2:#eee7dc;
  --v2-border:#d4c8b8;
  --v2-text:#2b2823;
  --v2-muted:#6d665d;
  --v2-faint:#8e877e;
  --v2-gold:#9a6a32;
  --v2-gold-soft:rgba(154,106,50,.12);
  --v2-safe:#4c765d;
  --v2-safe-soft:rgba(76,118,93,.12);
  --v2-danger:#b5423f;
  --v2-focus:#6f5c4a;
  --v2-gold:#9a6a32;
}
#sos-v2-app[data-theme="light"] .v2-progress{background:#e7ded2}
#sos-v2-app[data-theme="light"] .v2-number,
#sos-v2-app[data-theme="light"] .v2-timer{color:#8b6636}
#sos-v2-app[data-theme="light"] .v2-banner{border-color:#b7925b}
#sos-v2-app[data-theme="light"] .v2-error-note{color:#9a2c28;background:rgba(201,59,59,.08);border-color:rgba(201,59,59,.32)}
#sos-v2-app{
  --v2-bg:#121212;
  --v2-surface:#1e1e1e;
  --v2-surface-2:#2a2a2a;
  --v2-border:#333333;
  --v2-text:#f5f5f5;
  --v2-muted:#a0a0a0;
  --v2-faint:#7d7d7d;
  --v2-gold:#d0a15e;
  --v2-gold-soft:rgba(208,161,94,.16);
  --v2-safe:#83a88b;
  --v2-safe-soft:rgba(131,168,139,.14);
  --v2-warm:#d97736;
  --v2-danger:#c93b3b;
  --v2-focus:#f5f5f5;
  min-height:100svh;
  background:
    radial-gradient(900px 460px at 100% -10%,rgba(232,201,142,.16),transparent 65%),
    radial-gradient(720px 420px at -15% 25%,rgba(131,168,139,.08),transparent 65%),
    var(--v2-bg);
  background-attachment:fixed;
  color:var(--v2-text);
  font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  display:flex;
  flex-direction:column;
  line-height:1.45;
  isolation:isolate;
  overflow:hidden;
}
#sos-v2-app *{box-sizing:border-box}
.v2-shortcuts{margin-top:18px;padding:16px 0 0;border-top:1px solid rgba(160,160,160,.22);display:flex;align-items:center;justify-content:space-between;gap:14px}
.v2-shortcut-copy{display:flex;flex-direction:column;gap:3px}
.v2-shortcut-copy strong{font-size:13px;color:var(--v2-text)}
.v2-shortcut-copy small{font-size:12px;color:var(--v2-muted);line-height:1.35}
.v2-shortcut-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.v2-shortcut-actions .v2-button{min-height:48px;padding:10px 14px}
.v2-breathe-stage{border:1px solid var(--v2-border);background:linear-gradient(145deg,rgba(232,201,142,.12),rgba(131,168,139,.06) 55%,var(--v2-surface));border-radius:22px;padding:28px 20px;text-align:center;box-shadow:0 18px 42px rgba(0,0,0,.16)}
.v2-breathe-orb{width:154px;height:154px;margin:0 auto;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(232,201,142,.55);background:radial-gradient(circle at 35% 25%,rgba(232,201,142,.38),rgba(208,161,94,.14) 52%,rgba(131,168,139,.08));box-shadow:0 0 0 14px rgba(232,201,142,.05),0 0 56px rgba(208,161,94,.22);transition:transform 4s ease-in-out,box-shadow 4s ease-in-out}
.v2-breathe-orb[data-phase="in"]{transform:scale(1.04);box-shadow:0 0 0 24px rgba(232,201,142,.07),0 0 70px rgba(208,161,94,.28)}
.v2-breathe-orb[data-phase="out"]{transform:scale(.92);transition-duration:6s;box-shadow:0 0 0 14px rgba(232,201,142,.05),0 0 40px rgba(208,161,94,.16)}
.v2-breathe-orb span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--v2-muted);font-weight:800}
.v2-breathe-orb strong{font-size:48px;line-height:1;color:var(--v2-text);margin-top:5px}
.v2-breathe-orb small{font-size:11px;color:var(--v2-muted);margin-top:4px}
@media (prefers-reduced-motion:reduce){.v2-breathe-orb{transition:none!important;transform:none!important}}
.v2-shell{width:100%;max-width:560px;margin:0 auto;min-height:100svh;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 14px) 18px calc(env(safe-area-inset-bottom,0px) + 18px)}
.v2-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid rgba(160,160,160,.18)}
.v2-brand{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--v2-text);opacity:.82;text-transform:uppercase}
.v2-nav{display:flex;gap:8px}
.v2-button,.v2-link{font:inherit;cursor:pointer;text-decoration:none;touch-action:manipulation;display:inline-flex;align-items:center;justify-content:center}
.v2-button{min-height:52px;padding:12px 18px;border-radius:14px;border:1px solid var(--v2-border);background:linear-gradient(145deg,rgba(255,255,255,.06),var(--v2-surface));color:var(--v2-text);font-weight:700;box-shadow:0 8px 20px rgba(0,0,0,.10)}
.v2-button:focus-visible,.v2-card:focus-visible,.v2-choice:focus-visible,.v2-anchor:focus-visible{outline:3px solid var(--v2-focus);outline-offset:3px}
.v2-button:active,.v2-card:active,.v2-choice:active{transform:scale(.985)}
.v2-button.primary{background:linear-gradient(135deg,#d0a15e,#9a6a32);border-color:#d0a15e;color:#fff}
.v2-button.safe{background:linear-gradient(135deg,#91ad8f,#4a7c59);border-color:#83a88b;color:#172519}
.v2-button.danger{background:linear-gradient(135deg,#e07169,#a83232);border-color:#c93b3b;color:#2e1010}
.v2-button.ghost{background:transparent}
.v2-button.wide{width:100%}
.v2-head{margin-bottom:24px}
.v2-eyebrow{font-size:11px;letter-spacing:.12em;font-weight:800;color:var(--v2-gold);text-transform:uppercase;margin-bottom:10px}
.v2-title{font-size:clamp(28px,7vw,40px);line-height:1.08;letter-spacing:-.03em;margin:0;font-weight:800}
.v2-title:focus{outline:none}
.v2-subtitle{font-size:16px;color:var(--v2-muted);margin:12px 0 0;max-width:48ch}
.v2-footer{margin-top:auto;padding-top:24px;text-align:center;font-size:12px;color:var(--v2-faint)}
.v2-stack{display:flex;flex-direction:column;gap:12px}
.v2-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v2-card,.v2-choice{width:100%;text-align:left;cursor:pointer;touch-action:manipulation;font:inherit;transition:transform .12s ease,border-color .15s ease,background .15s ease}
.v2-card{display:flex;align-items:flex-start;gap:14px;padding:18px 16px;min-height:108px;border:1px solid var(--v2-border);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.055),var(--v2-surface) 52%);color:var(--v2-text);box-shadow:0 16px 34px rgba(0,0,0,.14)}
.v2-card:hover,.v2-choice:hover{border-color:#7a664c;background:linear-gradient(145deg,rgba(232,201,142,.10),var(--v2-surface-2))}
.v2-card-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex:none;background:linear-gradient(145deg,rgba(208,161,94,.24),rgba(232,201,142,.10));color:#f0dfb9;font-size:20px}
.v2-card.safe .v2-card-icon{background:linear-gradient(145deg,rgba(131,168,139,.24),rgba(131,168,139,.08));color:#b9ebd0}
.v2-card.warm .v2-card-icon{background:linear-gradient(145deg,rgba(207,154,107,.28),rgba(207,154,107,.08));color:#f0bc8e}
.v2-card.danger .v2-card-icon{background:linear-gradient(145deg,rgba(219,127,136,.24),rgba(219,127,136,.08));color:#f0abb3}
.v2-card.calm .v2-card-icon{background:linear-gradient(145deg,rgba(232,201,142,.30),rgba(208,161,94,.10));color:#e8c98e}
.v2-card h2,.v2-card h3{font-size:17px;line-height:1.2;margin:0;font-weight:800}
.v2-card p{font-size:13px;line-height:1.4;color:var(--v2-muted);margin:6px 0 0}
.v2-secondary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.v2-secondary .v2-button{min-height:56px}
.v2-callout{border:1px solid var(--v2-border);background:linear-gradient(145deg,rgba(232,201,142,.10),rgba(131,168,139,.04) 60%,var(--v2-surface));border-radius:18px;padding:16px;color:var(--v2-muted);font-size:14px;box-shadow:0 12px 28px rgba(0,0,0,.10)}
.v2-callout strong{display:block;color:var(--v2-text);margin-bottom:4px}
.v2-choice{border:1px solid var(--v2-border);background:linear-gradient(145deg,rgba(255,255,255,.045),var(--v2-surface));border-radius:17px;padding:15px 16px;color:var(--v2-text);box-shadow:0 10px 24px rgba(0,0,0,.10)}
.v2-choice strong{font-size:15px;display:block}
.v2-choice span{font-size:13px;color:var(--v2-muted);display:block;margin-top:3px}
.v2-choice.primary{border-color:#a87938;background:rgba(208,161,94,.13)}
.v2-choice.safe{border-color:#6a9275;background:var(--v2-safe-soft)}
.v2-actions{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.v2-actions.row{flex-direction:row;flex-wrap:wrap}
.v2-actions.row .v2-button{flex:1 1 160px}
.v2-progress{height:7px;border-radius:999px;background:#2b2b28;overflow:hidden;margin:18px 0 24px}
.v2-progress span{display:block;height:100%;background:linear-gradient(90deg,#d0a15e,#e8c98e);border-radius:inherit;transition:width .25s ease}
.v2-number{font-size:64px;line-height:1;font-weight:800;letter-spacing:-.05em;color:#e8c98e}
.v2-center{text-align:center}
.v2-timer{font-variant-numeric:tabular-nums;font-size:48px;font-weight:800;letter-spacing:-.04em;margin:12px 0;color:#e8c98e}
.v2-routes{font-size:13px;color:var(--v2-muted);margin-top:20px}
.v2-banner{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border:1px solid #9a6a32;background:linear-gradient(145deg,rgba(208,161,94,.15),rgba(232,201,142,.07));border-radius:18px;padding:14px 15px;margin-bottom:18px;font-size:14px;box-shadow:0 12px 28px rgba(0,0,0,.10)}
.v2-banner button{background:none;border:0;color:#e8c98e;font:inherit;font-weight:800;cursor:pointer;padding:0}
.v2-directory{display:flex;flex-direction:column;gap:10px}
.v2-anchor{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:68px;border:1px solid var(--v2-border);background:var(--v2-surface);border-radius:15px;padding:12px 15px;color:var(--v2-text);text-decoration:none}
.v2-anchor strong{display:block;font-size:15px}
.v2-anchor small{display:block;color:var(--v2-muted);font-size:12px;margin-top:2px}
.v2-anchor .v2-button{min-height:44px;padding:9px 13px;font-size:13px}
.v2-safe-note{font-size:13px;color:var(--v2-safe);background:linear-gradient(145deg,rgba(131,168,139,.14),rgba(131,168,139,.06));border:1px solid #587a5f;padding:14px;border-radius:16px;box-shadow:0 12px 26px rgba(0,0,0,.10)}
.v2-error-note{font-size:13px;color:#f3c8c4;background:rgba(219,127,136,.12);border:1px solid rgba(219,127,136,.45);padding:14px;border-radius:16px}
@media (max-width:420px){
  .v2-grid{grid-template-columns:1fr}
  .v2-title{font-size:31px}
  .v2-card{min-height:94px}
  .v2-shortcuts{align-items:flex-start;flex-direction:column}
  .v2-shortcut-actions{width:100%;justify-content:stretch}
  .v2-shortcut-actions .v2-button{flex:1}
}
@media (prefers-reduced-motion:reduce){
  #sos-v2-app *{transition:none !important;animation:none !important}
}
/* Premium SOS system: quiet obsidian surfaces, warm gold action, and semantic accents. */
#sos-v2-app .v2-button.support{
  background:var(--v2-surface-2);
  border-color:var(--v2-gold);
  color:var(--v2-text);
}
#sos-v2-app .v2-shortcut-actions .v2-button.safe{
  background:var(--v2-surface-2);
  border-color:var(--v2-gold);
  color:var(--v2-text);
}
#sos-v2-app .v2-card{
  border-left-width:4px;
  border-left-color:var(--v2-border);
}
#sos-v2-app .v2-card.warm{border-left-color:var(--v2-warm)}
#sos-v2-app .v2-card.safe{border-left-color:var(--v2-safe)}
#sos-v2-app .v2-card.danger{border-left-color:var(--v2-danger)}
#sos-v2-app .v2-card.calm{border-left-color:var(--v2-gold)}
#sos-v2-app .v2-choice.primary{border-left:4px solid var(--v2-gold)}
#sos-v2-app .v2-choice.danger{border-left:4px solid var(--v2-danger)}
#sos-v2-app .v2-choice.safe{border-left:4px solid var(--v2-safe)}
#sos-v2-app .v2-brand{color:var(--v2-gold)}

body.sos-v2-legacy-active{
  --bg:#121212;
  --surface:#1e1e1e;
  --surface-2:#2a2a2a;
  --border:#333333;
  --teal:#d0a15e;
  --teal-dim:#9a6a32;
  --emerald:#83a88b;
  --amber:#d97736;
  --ink:#f5f5f5;
  --ink-dim:#a0a0a0;
  --ink-faint:#7d7d7d;
  background:#121212;
  color:#f5f5f5;
}
body.sos-v2-active.sos-v2-legacy-active #sos-v2-app{display:flex}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:14px;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .view{
  display:flex !important;
  width:100%;
  min-height:0;
  height:auto;
  padding:0;
  background:transparent !important;
  color:#f5f5f5 !important;
  animation:none;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .view *{
  color:inherit;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-overlay{
  background:rgba(18,18,18,.94) !important;
  color:#f5f5f5 !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .view-body{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  overflow:visible;
  background:transparent !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .topbar{
  display:none !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .game-wrap,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .wave-card,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .breathe-stage,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .bilateral-wrap,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .count-wrap,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .pop-grid,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tape-wrap,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .sound-wrap,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tools-section,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .overlay-card{
  background:#1e1e1e !important;
  border-color:#333333 !important;
  color:#f5f5f5 !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount #gameCanvas,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount #traceCanvas,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .game-controls button,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tape-box,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .count-input,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .field-row input,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .clean-date-display,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .io-status-box{
  background:#121212 !important;
  border-color:#333333 !important;
  color:#f5f5f5 !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .btn-primary,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tab-btn.active{
  background:#d0a15e !important;
  border-color:#d0a15e !important;
  color:#241a0e !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .btn-emerald{
  background:#83a88b !important;
  border-color:#83a88b !important;
  color:#122019 !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .btn-amber{
  background:#d97736 !important;
  border-color:#d97736 !important;
  color:#24150d !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .btn-ghost,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tipp-btn{
  background:#2a2a2a !important;
  border-color:#555044 !important;
  color:#f5f5f5 !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .wave-path,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .wave-path-ghost{
  stroke:#d0a15e !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .breathe-count,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .ground-count{
  color:#d0a15e !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .sound-orb,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .sphere,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .bilateral-dot,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .pop-bubble{
  background:radial-gradient(circle at 35% 30%,#e8c98e,#9a6a32 62%,#54391b) !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .v2-legacy-view{
  width:100%;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-overlay:not(.hidden),
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .overlay:not(.hidden){
  display:flex !important;
}

/* Home hierarchy: immediate help stays near the top; tools and settings sit below the situation cards. */
#sos-v2-app .v2-home-tools{
  margin-top:18px;
}
#sos-v2-app .v2-home-tools .v2-card{
  min-height:104px;
}
#sos-v2-app .v2-settings-panel{
  margin-top:18px;
  padding:18px;
  border:1px solid var(--v2-border);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(232,201,142,.09),rgba(255,255,255,.035) 55%,var(--v2-surface));
  box-shadow:0 14px 30px rgba(0,0,0,.12);
}
#sos-v2-app .v2-settings-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
#sos-v2-app .v2-settings-heading strong{
  display:block;
  font-size:16px;
  color:var(--v2-text);
}
#sos-v2-app .v2-settings-heading small{
  display:block;
  margin-top:3px;
  color:var(--v2-muted);
  font-size:13px;
}
#sos-v2-app .v2-theme-chip{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  flex:none;
  border:1px solid rgba(232,201,142,.48);
  border-radius:14px;
  background:var(--v2-gold-soft);
  color:var(--v2-gold);
  font-size:23px;
}

/* Interaction refinements: keep the full Home surface scrollable and make Settings a quiet top-right control. */
#sos-v2-app{
  height:100%;
  flex:1 1 auto;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
#sos-v2-app .v2-icon-button{
  width:44px;
  height:44px;
  min-height:44px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(160,160,160,.28);
  border-radius:13px;
  background:transparent;
  color:var(--v2-muted);
  box-shadow:none;
  cursor:pointer;
  transition:transform .12s ease,border-color .15s ease,background .15s ease,color .15s ease;
}
#sos-v2-app .v2-icon-button svg{
  width:19px;
  height:19px;
}
#sos-v2-app .v2-icon-button:hover{
  border-color:var(--v2-gold);
  background:var(--v2-gold-soft);
  color:var(--v2-text);
}
#sos-v2-app .v2-icon-button:focus-visible{
  outline:3px solid var(--v2-focus);
  outline-offset:3px;
}
#sos-v2-app .v2-icon-button:active{
  transform:scale(.94);
}

/* Home controls stay compact and immediately reachable. */
#sos-v2-app .v2-home-urgent{
  margin-top:0;
  margin-bottom:12px;
  padding-top:0;
  border-top:0;
}
#sos-v2-app .v2-theme-pill{
  min-width:68px;
  min-height:44px;
  height:44px;
  padding:0 11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid rgba(160,160,160,.28);
  border-radius:999px;
  background:transparent;
  color:var(--v2-muted);
  font:inherit;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  cursor:pointer;
  transition:transform .12s ease,border-color .15s ease,background .15s ease,color .15s ease;
}
#sos-v2-app .v2-theme-pill svg{
  width:15px;
  height:15px;
  flex:0 0 auto;
}
#sos-v2-app .v2-theme-pill:hover{
  border-color:var(--v2-gold);
  color:var(--v2-text);
  background:var(--v2-surface);
}
#sos-v2-app .v2-theme-pill:focus-visible{
  outline:3px solid var(--v2-focus);
  outline-offset:3px;
}
#sos-v2-app .v2-theme-pill:active{
  transform:scale(.96);
}

/* Guided-support progress stays visible without competing with the primary action. */
#sos-v2-app .v2-advisor-meter{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:-8px 0 18px;
  padding:11px 14px;
  border:1px solid rgba(208,161,94,.32);
  border-radius:15px;
  background:linear-gradient(145deg,rgba(208,161,94,.10),rgba(255,255,255,.025));
}
#sos-v2-app .v2-advisor-meter span{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}
#sos-v2-app .v2-advisor-meter strong{
  color:var(--v2-gold);
  font-size:10px;
  letter-spacing:.12em;
  line-height:1.2;
}
#sos-v2-app .v2-advisor-meter small{
  color:var(--v2-muted);
  font-size:12px;
  line-height:1.3;
}
#sos-v2-app .v2-advisor-meter b{
  flex:none;
  color:var(--v2-gold);
  font-size:19px;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.03em;
}
#sos-v2-app[data-theme="light"] .v2-advisor-meter{
  border-color:rgba(154,106,50,.35);
  background:linear-gradient(145deg,rgba(154,106,50,.10),rgba(255,255,255,.55));
}

/* Board QA refinements: readable at scale, compact without dead space, and explicit in emergencies. */
body.sos-v2-active{
  overflow:hidden;
}
#sos-v2-app{
  height:100svh;
  min-height:100svh;
  max-height:100svh;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
}
#sos-v2-app .v2-shell{
  min-height:0;
}
#sos-v2-app .v2-head{
  margin-bottom:18px;
}
#sos-v2-app .v2-footer{
  margin-top:30px;
}
#sos-v2-app .v2-grid{
  grid-template-columns:1fr;
}
#sos-v2-app .v2-card > span:last-child,
#sos-v2-app .v2-choice > span:last-child,
#sos-v2-app .v2-anchor > span{
  min-width:0;
}
#sos-v2-app .v2-button{
  font-size:1rem;
  line-height:1.25;
}
#sos-v2-app .v2-button.primary{
  background:linear-gradient(135deg,#d7ad6c,#c28d4b);
  border-color:#d7ad6c;
  color:#241a0e;
}
#sos-v2-app .v2-button.safe{
  background:linear-gradient(135deg,#9bbb9b,#608a6a);
  border-color:#83a88b;
  color:#142019;
}
#sos-v2-app .v2-button.danger{
  background:#b33e3b;
  border-color:#c85a54;
  color:#ffffff;
}
#sos-v2-app .v2-choice.danger{
  border-color:var(--v2-danger);
  background:rgba(201,59,59,.10);
}
#sos-v2-app[data-theme="light"] .v2-choice.danger{
  background:rgba(181,66,63,.08);
}
#sos-v2-app .v2-anchor{
  align-items:flex-start;
}
#sos-v2-app .v2-anchor .v2-button{
  flex:none;
  min-height:48px;
}
#sos-v2-app .v2-banner{
  flex-wrap:wrap;
}
#sos-v2-app .v2-banner > span:last-child{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
#sos-v2-app .v2-shortcut-copy strong{
  font-size:.9375rem;
}
#sos-v2-app .v2-shortcut-copy small{
  font-size:.875rem;
}
#sos-v2-app .v2-card h2,
#sos-v2-app .v2-card h3{
  font-size:1.0625rem;
}
#sos-v2-app .v2-card p{
  font-size:.875rem;
}
#sos-v2-app .v2-choice strong{
  font-size:1rem;
  line-height:1.3;
}
#sos-v2-app .v2-choice span{
  font-size:.875rem;
  line-height:1.45;
}
#sos-v2-app .v2-subtitle{
  font-size:1rem;
  line-height:1.5;
}
#sos-v2-app .v2-routes,
#sos-v2-app .v2-footer{
  font-size:.8125rem;
}
@media (max-width:380px){
  #sos-v2-app .v2-shortcuts{
    align-items:flex-start;
    flex-direction:column;
  }
  #sos-v2-app .v2-shortcut-actions{
    width:100%;
    justify-content:stretch;
  }
  #sos-v2-app .v2-shortcut-actions .v2-button{
    width:100%;
  }
}
@media (prefers-reduced-motion:reduce){
  #sos-v2-app *,
  #sos-v2-app *::before,
  #sos-v2-app *::after{
    transition-duration:.001ms !important;
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
  }
}
/* Light-theme icon treatment keeps the meaning visible against warm ivory surfaces. */
#sos-v2-app[data-theme="light"] .v2-card-icon{
  background:rgba(154,106,50,.12);
  border:1px solid rgba(112,74,32,.16);
  color:#68451f;
}
#sos-v2-app[data-theme="light"] .v2-card.safe .v2-card-icon{
  background:rgba(76,118,93,.14);
  border-color:rgba(47,93,66,.18);
  color:#315b40;
}
#sos-v2-app[data-theme="light"] .v2-card.warm .v2-card-icon{
  background:rgba(166,91,44,.13);
  border-color:rgba(130,74,36,.18);
  color:#824a24;
}
#sos-v2-app[data-theme="light"] .v2-card.danger .v2-card-icon{
  background:rgba(181,66,63,.12);
  border-color:rgba(141,47,48,.18);
  color:#8d2f30;
}
#sos-v2-app[data-theme="light"] .v2-card.calm .v2-card-icon{
  background:rgba(154,106,50,.15);
  border-color:rgba(112,74,32,.18);
  color:#68451f;
}


/* Inline support contact capture keeps the next useful action on the current screen. */
#sos-v2-app .v2-contact-form{
  margin-top:16px;
  padding:18px;
  border:1px solid rgba(208,161,94,.42);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(208,161,94,.12),rgba(255,255,255,.035) 58%,var(--v2-surface));
  box-shadow:0 14px 32px rgba(0,0,0,.14);
}
#sos-v2-app .v2-contact-form-heading{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:15px;
}
#sos-v2-app .v2-contact-form-heading strong{
  color:var(--v2-text);
  font-size:16px;
}
#sos-v2-app .v2-contact-form-heading small{
  color:var(--v2-muted);
  font-size:13px;
  line-height:1.45;
}
#sos-v2-app .v2-contact-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:12px;
  color:var(--v2-text);
  font-size:13px;
  font-weight:800;
}
#sos-v2-app .v2-contact-form input{
  width:100%;
  min-height:52px;
  padding:12px 13px;
  border:1px solid var(--v2-border);
  border-radius:13px;
  background:var(--v2-bg);
  color:var(--v2-text);
  font:inherit;
  font-size:16px;
}
#sos-v2-app .v2-contact-form input::placeholder{
  color:var(--v2-faint);
  opacity:1;
}
#sos-v2-app .v2-contact-form input:focus-visible{
  outline:3px solid var(--v2-focus);
  outline-offset:2px;
  border-color:var(--v2-gold);
}
#sos-v2-app .v2-form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
#sos-v2-app .v2-form-actions .v2-button{
  flex:1 1 150px;
}
#sos-v2-app .v2-form-error{
  margin:12px 0 0;
  padding:10px 12px;
  border:1px solid rgba(201,59,59,.45);
  border-radius:12px;
  background:rgba(201,59,59,.10);
  color:#f3c8c4;
  font-size:13px;
  line-height:1.4;
}
#sos-v2-app .v2-status-note{
  margin:0 0 16px;
  padding:12px 14px;
  border:1px solid rgba(131,168,139,.5);
  border-radius:14px;
  background:rgba(131,168,139,.12);
  color:var(--v2-safe);
  font-size:13px;
  line-height:1.4;
}
#sos-v2-app[data-theme="light"] .v2-safe-note{
  color:#315b40;
  background:linear-gradient(145deg,rgba(76,118,93,.14),rgba(76,118,93,.06),var(--v2-surface));
  border-color:#4c765d;
}
#sos-v2-app[data-theme="light"] .v2-safe-note strong{
  color:#244d34;
}
#sos-v2-app[data-theme="light"] .v2-form-error{
  color:#8d2f30;
  background:rgba(181,66,63,.08);
  border-color:rgba(141,47,48,.34);
}
#sos-v2-app[data-theme="light"] .v2-status-note{
  color:#315b40;
  background:rgba(76,118,93,.12);
  border-color:rgba(47,93,66,.34);
}

/* Legacy tools keep the V2 identity. Tetris gets a deliberate control deck and board. */
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-view[data-v2-legacy-kind="game"] .game-wrap{
  background:linear-gradient(145deg,#28231c,#1a1815 68%,#141311) !important;
  border-color:rgba(208,161,94,.38) !important;
  border-radius:24px !important;
  padding:18px 16px 16px !important;
  box-shadow:0 18px 40px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.05) !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-view[data-v2-legacy-kind="game"] .game-timer-label{
  color:#e1d4bf !important;
  font-size:14px !important;
  line-height:1.45 !important;
  max-width:34ch;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-view[data-v2-legacy-kind="game"] #gameCanvas{
  background:#171512 !important;
  border-color:#765b32 !important;
  border-radius:14px !important;
  box-shadow:0 12px 28px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.04) !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-view[data-v2-legacy-kind="game"] .game-controls{
  gap:10px !important;
  margin-top:16px !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-view[data-v2-legacy-kind="game"] .game-controls button{
  min-height:70px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  padding:8px 4px !important;
  border:1px solid rgba(208,161,94,.40) !important;
  border-radius:16px !important;
  background:linear-gradient(145deg,#2b241b,#1b1815) !important;
  color:#f4ead7 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 18px rgba(0,0,0,.20) !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-view[data-v2-legacy-kind="game"] .game-controls button:active{
  background:#3b2e20 !important;
  transform:translateY(1px) scale(.97) !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-view[data-v2-legacy-kind="game"] .game-controls button svg{
  width:22px;
  height:22px;
  flex:none;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-view[data-v2-legacy-kind="game"] .game-control-label{
  color:inherit !important;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  line-height:1;
  text-transform:uppercase;
}

/* The legacy wrapper follows the selected V2 theme instead of forcing a dark island. */
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active{
  --bg:#f4efe6;
  --surface:#fffaf1;
  --surface-2:#eee7dc;
  --border:#d4c8b8;
  --teal:#9a6a32;
  --teal-dim:#7b552b;
  --emerald:#4c765d;
  --amber:#a65b2c;
  --ink:#2b2823;
  --ink-dim:#6d665d;
  --ink-faint:#8e877e;
  background:#f4efe6;
  color:#2b2823;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .view{
  color:#2b2823 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .view *{
  color:inherit !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .game-wrap,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .wave-card,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .breathe-stage,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .bilateral-wrap,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .count-wrap,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .pop-grid,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tape-wrap,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .sound-wrap,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tools-section,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .overlay-card{
  background:#fffaf1 !important;
  border-color:#d4c8b8 !important;
  color:#2b2823 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount #gameCanvas,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount #traceCanvas{
  background:#fffaf1 !important;
  border-color:#9a6a32 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .game-controls button,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tape-box,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .count-input,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .field-row input,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .clean-date-display,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .io-status-box{
  background:#f4efe6 !important;
  border-color:#c7b398 !important;
  color:#2b2823 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .game-controls button{
  background:linear-gradient(145deg,#fffaf1,#eee7dc) !important;
  color:#2b2823 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 8px 18px rgba(82,63,40,.12) !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-view[data-v2-legacy-kind="game"] .game-wrap{
  background:linear-gradient(145deg,#fffaf1,#eee7dc 70%,#e8dfd2) !important;
  border-color:#c7b398 !important;
  color:#2b2823 !important;
  box-shadow:0 18px 40px rgba(82,63,40,.14),inset 0 1px 0 rgba(255,255,255,.85) !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-view[data-v2-legacy-kind="game"] .game-timer-label{
  color:#5f584f !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-view[data-v2-legacy-kind="game"] .game-controls button:active{
  background:#e5d7c5 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-view[data-v2-legacy-kind="game"] .game-overlay{
  background:rgba(255,250,241,.96) !important;
  color:#2b2823 !important;
  border:1px solid #c7b398;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .btn-primary,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tab-btn.active{
  background:#d0a15e !important;
  border-color:#b17c3e !important;
  color:#241a0e !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .btn-emerald{
  background:#80aa8a !important;
  border-color:#4c765d !important;
  color:#17321f !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .btn-ghost,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tipp-btn{
  background:#eee7dc !important;
  border-color:#c7b398 !important;
  color:#2b2823 !important;
}


/* The legacy session context uses the same restrained gold accent inside V2. */
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .anchor-pill{
  background:rgba(208,161,94,.10) !important;
  border-color:rgba(208,161,94,.38) !important;
  color:#e8c98e !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .anchor-pill{
  background:rgba(154,106,50,.10) !important;
  border-color:rgba(154,106,50,.38) !important;
  color:#68451f !important;
}


/* Light mode also owns overlays mounted outside the V2 shell. */
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-overlay .overlay-card{
  background:#1e1e1e !important;
  border-color:#333333 !important;
  color:#f5f5f5 !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-overlay .overlay-card *{
  color:inherit !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-overlay{
  background:rgba(244,239,230,.96) !important;
  color:#2b2823 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-overlay .overlay-card{
  background:#fffaf1 !important;
  border-color:#c7b398 !important;
  color:#2b2823 !important;
  box-shadow:0 18px 40px rgba(82,63,40,.16) !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-overlay .overlay-card *{
  color:inherit !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-overlay button{
  background:linear-gradient(145deg,#fffaf1,#eee7dc) !important;
  border-color:#c7b398 !important;
  color:#2b2823 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-overlay button:disabled{
  color:#8e877e !important;
  background:#eee7dc !important;
}


/* Direct shortcuts keep favorites visible without adding another page. */
#sos-v2-app .v2-home-tool-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
  padding:0 4px;
  color:var(--v2-faint);
  font-size:11px;
}
#sos-v2-app .v2-home-tool-meta .v2-button{
  min-height:40px;
  padding:8px 12px;
  font-size:12px;
  box-shadow:none;
}
#sos-v2-app .v2-tool-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:stretch;
}
#sos-v2-app .v2-tool-card .v2-card{
  min-width:0;
  padding-right:12px;
}
#sos-v2-app .v2-favorite-button{
  min-width:86px;
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:10px 8px;
  border:1px solid var(--v2-border);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(232,201,142,.08),var(--v2-surface));
  color:var(--v2-muted);
  font:inherit;
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  touch-action:manipulation;
  box-shadow:0 10px 24px rgba(0,0,0,.10);
}
#sos-v2-app .v2-favorite-button svg{
  width:20px;
  height:20px;
  flex:none;
}
#sos-v2-app .v2-favorite-button.selected{
  color:var(--v2-gold);
  border-color:var(--v2-gold);
  background:var(--v2-gold-soft);
}
#sos-v2-app .v2-favorite-button:focus-visible{
  outline:3px solid var(--v2-focus);
  outline-offset:3px;
}
#sos-v2-app .v2-message-card{
  margin-top:14px;
  padding:15px 16px;
  border:1px solid var(--v2-border);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(232,201,142,.09),var(--v2-surface));
  box-shadow:0 12px 28px rgba(0,0,0,.10);
}
#sos-v2-app .v2-message-card strong{
  display:block;
  color:var(--v2-text);
  font-size:14px;
}
#sos-v2-app .v2-message-card p{
  margin:8px 0 6px;
  color:var(--v2-text);
  font-size:14px;
  line-height:1.5;
}
#sos-v2-app .v2-message-card small{
  display:block;
  color:var(--v2-muted);
  font-size:11px;
  line-height:1.4;
}
#sos-v2-app .v2-message-actions{
  margin-top:11px;
}
#sos-v2-app .v2-message-actions .v2-button{
  min-height:44px;
  padding:9px 13px;
}
#sos-v2-app .v2-message-status{
  margin:10px 0 0;
  padding:8px 10px;
  border-radius:10px;
  background:var(--v2-safe-soft);
  color:var(--v2-safe);
  font-size:12px;
}
#sos-v2-app .v2-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}
#sos-v2-app .v2-footer .footer-help{
  min-height:42px;
  padding:8px 12px;
  font-size:12px;
  box-shadow:none;
  border-color:var(--v2-gold);
  color:var(--v2-text);
}
body.sos-v2-active.sos-v2-light #sos-v2-app .v2-favorite-button{
  border-color:#c7b398;
  background:linear-gradient(145deg,#fffaf1,#eee7dc);
  color:#5f584f;
}
body.sos-v2-active.sos-v2-light #sos-v2-app .v2-favorite-button.selected{
  border-color:#9a6a32;
  background:#f1e3ce;
  color:#68451f;
}
body.sos-v2-active.sos-v2-light #sos-v2-app .v2-message-card{
  border-color:#c7b398;
  background:linear-gradient(145deg,#fffaf1,#f1e9dd);
}
body.sos-v2-active.sos-v2-light #sos-v2-app .v2-message-card strong,
body.sos-v2-active.sos-v2-light #sos-v2-app .v2-message-card p{
  color:#2b2823;
}
body.sos-v2-active.sos-v2-light #sos-v2-app .v2-message-card small{
  color:#5f584f;
}
@media (max-width:420px){
  #sos-v2-app .v2-tool-card{
    grid-template-columns:minmax(0,1fr) 78px;
  }
  #sos-v2-app .v2-favorite-button{
    min-width:78px;
    font-size:9px;
  }
}

/* The maze canvas is drawn directly, so its V2 palette needs an explicit surface too. */
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount #traceCanvas{
  background:#171512 !important;
  border-color:#765b32 !important;
  border-radius:14px !important;
  box-shadow:0 12px 28px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.04) !important;
  user-select:none;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount #traceCanvas{
  background:#fffaf1 !important;
  border-color:#9a6a32 !important;
}


/* Premium tool deck: calm controls, clear focus, and a consistent secondary picker. */
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .game-controls button,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn{
  transition:transform .12s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .game-controls button:hover,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn:hover,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn:hover{
  border-color:#d0a15e !important;
  background:linear-gradient(145deg,#3a2d1f,#211b15) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 22px rgba(0,0,0,.24) !important;
  transform:translateY(-1px);
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .game-controls button:focus-visible,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn:focus-visible,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn:focus-visible{
  outline:3px solid #e8c98e !important;
  outline-offset:3px !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tabbar{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  padding:8px !important;
  border:1px solid rgba(208,161,94,.26) !important;
  border-radius:16px !important;
  background:#171512 !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn{
  flex:1 1 calc(25% - 8px);
  min-height:44px !important;
  padding:9px 10px !important;
  border:1px solid rgba(208,161,94,.28) !important;
  border-radius:12px !important;
  background:#23201b !important;
  color:#f4ead7 !important;
  font:inherit;
  font-size:12px;
  font-weight:800;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls #pickToolBtn{
  border-color:#555044 !important;
  background:#2a2a2a !important;
  color:#f5f5f5 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .game-controls button:hover,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn:hover,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn:hover{
  border-color:#9a6a32 !important;
  background:linear-gradient(145deg,#eee1ce,#e2d2bc) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 10px 22px rgba(82,63,40,.14) !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .game-controls button:focus-visible,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn:focus-visible,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn:focus-visible{
  outline-color:#6f5c4a !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tabbar{
  border-color:#c7b398 !important;
  background:#f4efe6 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn{
  border-color:#c7b398 !important;
  background:#f4efe6 !important;
  color:#2b2823 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls #pickToolBtn{
  border-color:#c7b398 !important;
  background:#f4efe6 !important;
  color:#2b2823 !important;
}
@media (prefers-reduced-motion:reduce){
  body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .game-controls button:hover,
  body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn:hover{
    transform:none;
  }
}


/* Premium surface fusion: controlled card sheen and editorial depth. */
#sos-v2-app .v2-card,
#sos-v2-app .v2-choice,
#sos-v2-app .v2-callout,
#sos-v2-app .v2-message-card,
#sos-v2-app .v2-shortcuts{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
#sos-v2-app .v2-card::before,
#sos-v2-app .v2-choice::before,
#sos-v2-app .v2-callout::before,
#sos-v2-app .v2-message-card::before,
#sos-v2-app .v2-shortcuts::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  background:linear-gradient(124deg,rgba(255,255,255,.105),rgba(255,255,255,.025) 20%,transparent 43%,transparent 76%,rgba(232,201,142,.07));
}
#sos-v2-app .v2-card > *,
#sos-v2-app .v2-choice > *,
#sos-v2-app .v2-callout > *,
#sos-v2-app .v2-message-card > *,
#sos-v2-app .v2-shortcuts > *{
  position:relative;
  z-index:1;
}
#sos-v2-app .v2-card,
#sos-v2-app .v2-choice,
#sos-v2-app .v2-callout,
#sos-v2-app .v2-message-card{
  box-shadow:0 16px 34px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.08);
}
#sos-v2-app .v2-card-icon,
#sos-v2-app .v2-theme-pill,
#sos-v2-app .v2-icon-button,
#sos-v2-app .v2-favorite-button{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 7px 16px rgba(0,0,0,.12);
}
#sos-v2-app .v2-button.primary,
#sos-v2-app .v2-button.safe,
#sos-v2-app .v2-button.danger{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 12px 24px rgba(0,0,0,.18);
}
#sos-v2-app .v2-favorite-button{
  position:relative;
  overflow:hidden;
}
#sos-v2-app .v2-favorite-button::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  background:linear-gradient(124deg,rgba(255,255,255,.10),transparent 42%,rgba(232,201,142,.06));
}
#sos-v2-app .v2-favorite-button > *{
  position:relative;
  z-index:1;
}
#sos-v2-app[data-theme="light"] .v2-card::before,
#sos-v2-app[data-theme="light"] .v2-choice::before,
#sos-v2-app[data-theme="light"] .v2-callout::before,
#sos-v2-app[data-theme="light"] .v2-message-card::before,
#sos-v2-app[data-theme="light"] .v2-shortcuts::before{
  background:linear-gradient(124deg,rgba(255,255,255,.72),rgba(255,255,255,.22) 20%,transparent 45%,transparent 76%,rgba(154,106,50,.06));
}
#sos-v2-app[data-theme="light"] .v2-card,
#sos-v2-app[data-theme="light"] .v2-choice,
#sos-v2-app[data-theme="light"] .v2-callout,
#sos-v2-app[data-theme="light"] .v2-message-card{
  box-shadow:0 16px 34px rgba(82,63,40,.13),inset 0 1px 0 rgba(255,255,255,.92);
}
#sos-v2-app[data-theme="light"] .v2-card-icon,
#sos-v2-app[data-theme="light"] .v2-theme-pill,
#sos-v2-app[data-theme="light"] .v2-icon-button,
#sos-v2-app[data-theme="light"] .v2-favorite-button{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 7px 16px rgba(82,63,40,.11);
}
#sos-v2-app[data-theme="light"] .v2-button.primary,
#sos-v2-app[data-theme="light"] .v2-button.safe,
#sos-v2-app[data-theme="light"] .v2-button.danger{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 12px 24px rgba(82,63,40,.14);
}
@media (prefers-reduced-motion:reduce){
  #sos-v2-app .v2-card,
  #sos-v2-app .v2-choice,
  #sos-v2-app .v2-button{
    transition:none !important;
  }
}


/* Keep stacked Home sections at their designed size inside the scroll shell. */
#sos-v2-app .v2-shortcuts,
#sos-v2-app .v2-stack,
#sos-v2-app .v2-home-tools{
  flex:0 0 auto;
}
#sos-v2-app .v2-shortcuts{
  overflow:visible;
}

/* Premium hierarchy: one interaction accent, quiet surfaces, and readable weight. */
#sos-v2-app{
  --v2-bg:#0d0c0a;
  --v2-surface:#15140f;
  --v2-surface-2:#1d1b15;
  --v2-border:rgba(245,234,215,.10);
  --v2-text:#f5ead7;
  --v2-muted:#aaa093;
  --v2-faint:#746b60;
  --v2-gold:#d7aa64;
  --v2-gold-soft:rgba(215,170,100,.14);
  --v2-safe:#86b795;
  --v2-safe-soft:rgba(134,183,149,.12);
  --v2-warm:#d7aa64;
  --v2-danger:#d34e4e;
  --v2-focus:#f0c678;
  background:
    radial-gradient(800px 420px at 100% -10%,rgba(215,170,100,.12),transparent 68%),
    var(--v2-bg);
  color:var(--v2-text);
}
#sos-v2-app[data-theme="light"]{
  --v2-bg:#f3eee5;
  --v2-surface:#fffaf2;
  --v2-surface-2:#eee7dc;
  --v2-border:rgba(68,55,39,.16);
  --v2-text:#29251f;
  --v2-muted:#625b52;
  --v2-faint:#82786d;
  --v2-gold:#97672e;
  --v2-gold-soft:rgba(151,103,46,.12);
  --v2-safe:#3d775b;
  --v2-safe-soft:rgba(61,119,91,.12);
  --v2-warm:#97672e;
  --v2-danger:#b63636;
  --v2-focus:#7d4e1d;
  background:
    radial-gradient(800px 420px at 100% -10%,rgba(151,103,46,.08),transparent 68%),
    var(--v2-bg);
  color:var(--v2-text);
}
#sos-v2-app .v2-card,
#sos-v2-app .v2-choice,
#sos-v2-app .v2-callout,
#sos-v2-app .v2-message-card,
#sos-v2-app .v2-settings-panel,
#sos-v2-app .v2-breathe-stage,
#sos-v2-app .v2-banner,
#sos-v2-app .v2-advisor-meter{
  border-radius:12px;
  border-color:var(--v2-border);
  background:var(--v2-surface);
  box-shadow:0 14px 28px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.07);
}
#sos-v2-app[data-theme="light"] .v2-card,
#sos-v2-app[data-theme="light"] .v2-choice,
#sos-v2-app[data-theme="light"] .v2-callout,
#sos-v2-app[data-theme="light"] .v2-message-card,
#sos-v2-app[data-theme="light"] .v2-settings-panel,
#sos-v2-app[data-theme="light"] .v2-breathe-stage,
#sos-v2-app[data-theme="light"] .v2-banner,
#sos-v2-app[data-theme="light"] .v2-advisor-meter{
  box-shadow:0 14px 28px rgba(68,55,39,.11),inset 0 1px 0 rgba(255,255,255,.90);
}
#sos-v2-app .v2-card,
#sos-v2-app .v2-choice{
  border-left-width:3px;
  min-height:92px;
  padding:16px;
}
#sos-v2-app .v2-choice{
  min-height:76px;
  padding:14px 16px;
}
#sos-v2-app .v2-card:hover,
#sos-v2-app .v2-choice:hover{
  border-color:rgba(215,170,100,.36);
  background:var(--v2-surface-2);
}
#sos-v2-app .v2-card::before,
#sos-v2-app .v2-choice::before,
#sos-v2-app .v2-callout::before,
#sos-v2-app .v2-message-card::before,
#sos-v2-app .v2-shortcuts::before{
  background:linear-gradient(118deg,rgba(255,255,255,.09),rgba(255,255,255,.018) 18%,transparent 46%,transparent 80%,rgba(215,170,100,.045));
}
#sos-v2-app[data-theme="light"] .v2-card::before,
#sos-v2-app[data-theme="light"] .v2-choice::before,
#sos-v2-app[data-theme="light"] .v2-callout::before,
#sos-v2-app[data-theme="light"] .v2-message-card::before,
#sos-v2-app[data-theme="light"] .v2-shortcuts::before{
  background:linear-gradient(118deg,rgba(255,255,255,.70),rgba(255,255,255,.20) 18%,transparent 46%,transparent 80%,rgba(151,103,46,.045));
}
#sos-v2-app .v2-card-icon,
#sos-v2-app .v2-card.safe .v2-card-icon,
#sos-v2-app .v2-card.warm .v2-card-icon,
#sos-v2-app .v2-card.calm .v2-card-icon{
  width:34px;
  height:34px;
  border-radius:12px;
  background:var(--v2-surface-2);
  color:var(--v2-gold);
  font-size:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 6px 14px rgba(0,0,0,.12);
}
#sos-v2-app .v2-card.safe .v2-card-icon{
  background:var(--v2-safe-soft);
  color:var(--v2-safe);
}
#sos-v2-app .v2-card.danger .v2-card-icon{
  width:34px;
  height:34px;
  border-radius:12px;
  background:rgba(211,78,78,.12);
  color:var(--v2-danger);
}
#sos-v2-app .v2-card h2,
#sos-v2-app .v2-card h3,
#sos-v2-app .v2-choice strong,
#sos-v2-app .v2-callout strong,
#sos-v2-app .v2-message-card strong,
#sos-v2-app .v2-shortcut-copy strong{
  font-weight:500;
  letter-spacing:-.01em;
}
#sos-v2-app .v2-title{
  font-weight:500;
  letter-spacing:-.02em;
}
#sos-v2-app .v2-number,
#sos-v2-app .v2-timer{
  font-weight:500;
  letter-spacing:-.02em;
}
#sos-v2-app .v2-button{
  border-radius:12px;
  font-weight:600;
  letter-spacing:-.01em;
  background:var(--v2-surface-2);
  border-color:var(--v2-border);
  color:var(--v2-text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 9px 20px rgba(0,0,0,.14);
}
#sos-v2-app .v2-button.primary{
  background:var(--v2-gold);
  border-color:var(--v2-gold);
  color:#21170d;
}
#sos-v2-app .v2-button.safe{
  background:var(--v2-safe);
  border-color:var(--v2-safe);
  color:#102117;
}
#sos-v2-app .v2-button.danger{
  background:var(--v2-danger);
  border-color:var(--v2-danger);
  color:#fffaf2;
}
#sos-v2-app .v2-button.ghost{
  background:transparent;
  border-color:var(--v2-border);
}
#sos-v2-app .v2-choice.primary{
  border-left-color:var(--v2-gold);
  border-color:var(--v2-border);
  background:var(--v2-surface);
}
#sos-v2-app .v2-choice.safe{
  border-left-color:var(--v2-safe);
  border-color:var(--v2-border);
  background:var(--v2-surface);
}
#sos-v2-app .v2-choice.danger{
  border-left-color:var(--v2-danger);
  border-color:var(--v2-border);
  background:rgba(211,78,78,.09);
}
#sos-v2-app[data-theme="light"] .v2-choice.danger{
  background:rgba(182,54,54,.08);
}
#sos-v2-app .v2-home-urgent{
  margin-top:16px;
  margin-bottom:12px;
  padding:12px;
  border:1px solid var(--v2-border);
  border-radius:12px;
  background:var(--v2-surface);
}
#sos-v2-app .v2-home-urgent::before{
  display:none;
}
#sos-v2-app .v2-home-tools .v2-card{
  min-height:92px;
}
#sos-v2-app .v2-theme-chip,
#sos-v2-app .v2-icon-button{
  border-radius:12px;
}
#sos-v2-app .v2-theme-pill{
  border-radius:999px !important;
  background:var(--v2-surface-2);
  color:var(--v2-muted);
}
#sos-v2-app .v2-advisor-meter{
  border-radius:12px;
  background:var(--v2-surface);
}
#sos-v2-app .v2-breathe-stage{
  border-radius:12px;
}
#sos-v2-app .v2-favorite-button{
  border-radius:12px;
  font-weight:500;
}
#sos-v2-app .v2-shortcut-actions .v2-button.safe{
  background:var(--v2-surface-2);
  border-color:var(--v2-border);
  color:var(--v2-text);
}
#sos-v2-app .v2-button:focus-visible,
#sos-v2-app .v2-card:focus-visible,
#sos-v2-app .v2-choice:focus-visible,
#sos-v2-app .v2-icon-button:focus-visible,
#sos-v2-app .v2-theme-pill:focus-visible{
  outline:3px solid var(--v2-focus);
  outline-offset:3px;
}

/* Legacy tool continuity: the old mechanics inherit the same quiet tool deck. */
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .game-wrap,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .wave-card,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .breathe-stage,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .bilateral-wrap,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .count-wrap,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .pop-grid,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tape-wrap,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .sound-wrap,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tools-section,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .overlay-card{
  background:#15140f !important;
  border-color:rgba(245,234,215,.10) !important;
  border-radius:12px !important;
  box-shadow:0 14px 28px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.07) !important;
  color:#f5ead7 !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount #gameCanvas,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount #traceCanvas{
  background:#0d0c0a !important;
  border-color:rgba(215,170,100,.36) !important;
  border-radius:12px !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-view[data-v2-legacy-kind="game"] .game-controls button,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn{
  border-radius:12px !important;
  background:#15140f !important;
  border:1px solid rgba(245,234,215,.10) !important;
  color:#f5ead7 !important;
  font-weight:500 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 9px 20px rgba(0,0,0,.16) !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .btn-primary,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .btn-amber,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tab-btn.active{
  background:#d7aa64 !important;
  border-color:#d7aa64 !important;
  color:#21170d !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .btn-emerald{
  background:#86b795 !important;
  border-color:#86b795 !important;
  color:#102117 !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .btn-danger,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .btn-red{
  background:#d34e4e !important;
  border-color:#d34e4e !important;
  color:#fffaf2 !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .btn-ghost,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tipp-btn{
  background:#1d1b15 !important;
  border-color:rgba(245,234,215,.10) !important;
  color:#f5ead7 !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .anchor-pill{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#d7aa64 !important;
  font-weight:500 !important;
  letter-spacing:.04em !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .session-meta{
  align-items:flex-start !important;
  gap:8px !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .timer-display{
  font-weight:500 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .game-wrap,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .wave-card,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .breathe-stage,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .bilateral-wrap,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .count-wrap,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .pop-grid,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tape-wrap,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .sound-wrap,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tools-section,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .overlay-card{
  background:#fffaf2 !important;
  border-color:rgba(68,55,39,.16) !important;
  color:#29251f !important;
  box-shadow:0 14px 28px rgba(68,55,39,.11),inset 0 1px 0 rgba(255,255,255,.90) !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .game-controls button,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn{
  background:#fffaf2 !important;
  border-color:rgba(68,55,39,.16) !important;
  color:#29251f !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 9px 20px rgba(68,55,39,.11) !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount #gameCanvas,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount #traceCanvas{
  background:#fffaf1 !important;
  border-color:#97672e !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .btn-primary,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .btn-amber,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tab-btn.active{
  background:#97672e !important;
  border-color:#97672e !important;
  color:#fffaf2 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .btn-emerald{
  background:#3d775b !important;
  border-color:#3d775b !important;
  color:#f7fff9 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .btn-danger,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .btn-red{
  background:#b63636 !important;
  border-color:#b63636 !important;
  color:#fffaf2 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .btn-ghost,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tipp-btn{
  background:#eee7dc !important;
  border-color:rgba(68,55,39,.16) !important;
  color:#29251f !important;
}

/* Keep the legacy anchor useful without turning it back into a highlighted pill. */
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .anchor-pill{
  background:transparent !important;
  border-color:transparent !important;
  color:#97672e !important;
}

/* Light-theme Today’s Anchor controls need a light surface under their readable icon and label. */
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .anchor-btn{
  background:#fffaf1 !important;
  border-color:#c7b398 !important;
  color:#5f584f !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 8px 18px rgba(82,63,40,.10);
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .anchor-btn:hover{
  background:#f4eadb !important;
  border-color:#97672e !important;
  color:#68451f !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .anchor-btn:focus-visible{
  outline:3px solid #97672e !important;
  outline-offset:3px;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .anchor-btn.selected{
  background:#f4e3c8 !important;
  border-color:#97672e !important;
  color:#68451f !important;
}


/* Obsidian Glow: richer tonal depth, localized reflected light, and an explicit urgency ladder. */
#sos-v2-app{
  --v2-bg:#0a0908;
  --v2-surface:#17130f;
  --v2-surface-2:#211910;
  --v2-surface-3:#2a2015;
  --v2-border:rgba(255,244,224,.15);
  --v2-text:#fff4df;
  --v2-muted:#c0b4a5;
  --v2-faint:#8d8073;
  --v2-gold:#e1b36a;
  --v2-gold-bright:#f2cb89;
  --v2-gold-deep:#a97132;
  --v2-gold-soft:rgba(225,179,106,.16);
  --v2-safe:#85b994;
  --v2-safe-deep:#4e8d68;
  --v2-safe-soft:rgba(133,185,148,.14);
  --v2-warm:#e1b36a;
  --v2-danger:#c83c46;
  --v2-danger-bright:#d9575b;
  --v2-danger-deep:#922631;
  --v2-danger-soft:rgba(200,60,70,.15);
  --v2-focus:#f5cf8e;
  color-scheme:dark;
  background:
    radial-gradient(760px 420px at 104% -12%,rgba(225,179,106,.18),transparent 66%),
    radial-gradient(520px 360px at -18% 42%,rgba(200,60,70,.055),transparent 68%),
    linear-gradient(145deg,#0a0908 0%,#100d0a 100%);
}
#sos-v2-app[data-theme="light"]{
  --v2-bg:#f1e9dd;
  --v2-surface:#fffaf1;
  --v2-surface-2:#f1e3ce;
  --v2-surface-3:#e7d2b1;
  --v2-border:rgba(62,45,27,.18);
  --v2-text:#2a2119;
  --v2-muted:#655b50;
  --v2-faint:#82776a;
  --v2-gold:#a66f2e;
  --v2-gold-bright:#c0873e;
  --v2-gold-deep:#75481f;
  --v2-gold-soft:rgba(166,111,46,.13);
  --v2-safe:#357857;
  --v2-safe-deep:#245b42;
  --v2-safe-soft:rgba(53,120,87,.13);
  --v2-warm:#a66f2e;
  --v2-danger:#ad303b;
  --v2-danger-bright:#bd4149;
  --v2-danger-deep:#88232d;
  --v2-danger-soft:rgba(173,48,59,.12);
  --v2-focus:#704719;
  color-scheme:light;
  background:
    radial-gradient(760px 420px at 104% -12%,rgba(166,111,46,.12),transparent 66%),
    radial-gradient(520px 360px at -18% 42%,rgba(173,48,59,.035),transparent 68%),
    linear-gradient(145deg,#f1e9dd 0%,#f8f2e8 100%);
}

/* Rich surfaces use two quiet tonal roles and a directional light wash. */
#sos-v2-app .v2-card,
#sos-v2-app .v2-choice,
#sos-v2-app .v2-callout,
#sos-v2-app .v2-message-card,
#sos-v2-app .v2-settings-panel,
#sos-v2-app .v2-breathe-stage,
#sos-v2-app .v2-banner,
#sos-v2-app .v2-advisor-meter{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-color:var(--v2-border);
  background:
    linear-gradient(136deg,rgba(255,255,255,.085),rgba(255,255,255,.018) 23%,transparent 50%,rgba(225,179,106,.055) 100%),
    linear-gradient(155deg,var(--v2-surface-3),var(--v2-surface) 64%,#120e0b 100%);
  box-shadow:
    0 18px 38px rgba(0,0,0,.27),
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(0,0,0,.42);
}
#sos-v2-app[data-theme="light"] .v2-card,
#sos-v2-app[data-theme="light"] .v2-choice,
#sos-v2-app[data-theme="light"] .v2-callout,
#sos-v2-app[data-theme="light"] .v2-message-card,
#sos-v2-app[data-theme="light"] .v2-settings-panel,
#sos-v2-app[data-theme="light"] .v2-breathe-stage,
#sos-v2-app[data-theme="light"] .v2-banner,
#sos-v2-app[data-theme="light"] .v2-advisor-meter{
  background:
    linear-gradient(136deg,rgba(255,255,255,.92),rgba(255,255,255,.32) 23%,transparent 50%,rgba(166,111,46,.055) 100%),
    linear-gradient(155deg,#fffdf8,var(--v2-surface) 64%,#f5ece0 100%);
  box-shadow:
    0 18px 38px rgba(82,63,40,.14),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(125,91,51,.10);
}
#sos-v2-app .v2-card::before,
#sos-v2-app .v2-choice::before,
#sos-v2-app .v2-callout::before,
#sos-v2-app .v2-message-card::before,
#sos-v2-app .v2-settings-panel::before,
#sos-v2-app .v2-breathe-stage::before,
#sos-v2-app .v2-banner::before,
#sos-v2-app .v2-advisor-meter::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(92% 78% at -8% -12%,rgba(255,255,255,.15),transparent 57%),
    radial-gradient(72% 84% at 108% 112%,rgba(225,179,106,.12),transparent 70%);
  opacity:.95;
}
#sos-v2-app[data-theme="light"] .v2-card::before,
#sos-v2-app[data-theme="light"] .v2-choice::before,
#sos-v2-app[data-theme="light"] .v2-callout::before,
#sos-v2-app[data-theme="light"] .v2-message-card::before,
#sos-v2-app[data-theme="light"] .v2-settings-panel::before,
#sos-v2-app[data-theme="light"] .v2-breathe-stage::before,
#sos-v2-app[data-theme="light"] .v2-banner::before,
#sos-v2-app[data-theme="light"] .v2-advisor-meter::before{
  background:
    radial-gradient(92% 78% at -8% -12%,rgba(255,255,255,.78),transparent 57%),
    radial-gradient(72% 84% at 108% 112%,rgba(166,111,46,.09),transparent 70%);
}
#sos-v2-app .v2-card::after,
#sos-v2-app .v2-choice::after,
#sos-v2-app .v2-callout::after,
#sos-v2-app .v2-message-card::after,
#sos-v2-app .v2-settings-panel::after,
#sos-v2-app .v2-breathe-stage::after,
#sos-v2-app .v2-banner::after,
#sos-v2-app .v2-advisor-meter::after{
  content:"";
  position:absolute;
  z-index:0;
  width:58%;
  height:72%;
  right:-21%;
  bottom:-43%;
  pointer-events:none;
  background:radial-gradient(ellipse,rgba(225,179,106,.11),transparent 68%);
}
#sos-v2-app[data-theme="light"] .v2-card::after,
#sos-v2-app[data-theme="light"] .v2-choice::after,
#sos-v2-app[data-theme="light"] .v2-callout::after,
#sos-v2-app[data-theme="light"] .v2-message-card::after,
#sos-v2-app[data-theme="light"] .v2-settings-panel::after,
#sos-v2-app[data-theme="light"] .v2-breathe-stage::after,
#sos-v2-app[data-theme="light"] .v2-banner::after,
#sos-v2-app[data-theme="light"] .v2-advisor-meter::after{
  background:radial-gradient(ellipse,rgba(166,111,46,.08),transparent 68%);
}
#sos-v2-app .v2-card > *,
#sos-v2-app .v2-choice > *,
#sos-v2-app .v2-callout > *,
#sos-v2-app .v2-message-card > *,
#sos-v2-app .v2-settings-panel > *,
#sos-v2-app .v2-breathe-stage > *,
#sos-v2-app .v2-banner > *,
#sos-v2-app .v2-advisor-meter > *{
  position:relative;
  z-index:1;
}

/* Semantic light is localized, so the card hierarchy stays calm while urgency remains obvious. */
#sos-v2-app .v2-card.warm,
#sos-v2-app .v2-choice.primary{
  background:
    linear-gradient(136deg,rgba(225,179,106,.17),rgba(225,179,106,.035) 34%,transparent 55%),
    linear-gradient(155deg,var(--v2-surface-3),var(--v2-surface) 66%,#120e0b 100%);
}
#sos-v2-app .v2-card.safe,
#sos-v2-app .v2-choice.safe{
  background:
    linear-gradient(136deg,rgba(133,185,148,.14),rgba(133,185,148,.025) 34%,transparent 55%),
    linear-gradient(155deg,var(--v2-surface-3),var(--v2-surface) 66%,#120e0b 100%);
}
#sos-v2-app .v2-card.danger,
#sos-v2-app .v2-choice.danger{
  background:
    linear-gradient(136deg,rgba(200,60,70,.22),rgba(200,60,70,.045) 35%,transparent 58%),
    linear-gradient(155deg,#2b1715,var(--v2-surface) 68%,#120e0b 100%);
}
#sos-v2-app[data-theme="light"] .v2-card.warm,
#sos-v2-app[data-theme="light"] .v2-choice.primary{
  background:
    linear-gradient(136deg,rgba(166,111,46,.16),rgba(166,111,46,.035) 34%,transparent 55%),
    linear-gradient(155deg,#f4e3c8,var(--v2-surface) 66%,#f5ece0 100%);
}
#sos-v2-app[data-theme="light"] .v2-card.safe,
#sos-v2-app[data-theme="light"] .v2-choice.safe{
  background:
    linear-gradient(136deg,rgba(53,120,87,.13),rgba(53,120,87,.025) 34%,transparent 55%),
    linear-gradient(155deg,#e8f0e6,var(--v2-surface) 66%,#f5ece0 100%);
}
#sos-v2-app[data-theme="light"] .v2-card.danger,
#sos-v2-app[data-theme="light"] .v2-choice.danger{
  background:
    linear-gradient(136deg,rgba(173,48,59,.16),rgba(173,48,59,.035) 35%,transparent 58%),
    linear-gradient(155deg,#f4dedd,var(--v2-surface) 68%,#f5ece0 100%);
}
#sos-v2-app .v2-card.danger::after,
#sos-v2-app .v2-choice.danger::after{
  background:radial-gradient(ellipse,rgba(200,60,70,.14),transparent 68%);
}
#sos-v2-app .v2-card.safe::after,
#sos-v2-app .v2-choice.safe::after{
  background:radial-gradient(ellipse,rgba(133,185,148,.10),transparent 68%);
}
#sos-v2-app[data-theme="light"] .v2-card.danger::after,
#sos-v2-app[data-theme="light"] .v2-choice.danger::after{
  background:radial-gradient(ellipse,rgba(173,48,59,.10),transparent 68%);
}
#sos-v2-app[data-theme="light"] .v2-card.safe::after,
#sos-v2-app[data-theme="light"] .v2-choice.safe::after{
  background:radial-gradient(ellipse,rgba(53,120,87,.08),transparent 68%);
}

/* Home emergency help is visually first, but does not become a noisy red slab. */
#sos-v2-app .v2-home-urgent{
  border:1px solid rgba(200,60,70,.42);
  border-left:3px solid var(--v2-danger);
  border-radius:12px;
  background:
    linear-gradient(136deg,rgba(200,60,70,.17),rgba(200,60,70,.035) 35%,transparent 58%),
    linear-gradient(155deg,var(--v2-surface-3),var(--v2-surface) 68%,#120e0b 100%);
  box-shadow:
    0 16px 32px rgba(0,0,0,.23),
    inset 0 1px 0 rgba(255,255,255,.10);
}
#sos-v2-app[data-theme="light"] .v2-home-urgent{
  border-color:rgba(173,48,59,.42);
  border-left-color:var(--v2-danger);
  background:
    linear-gradient(136deg,rgba(173,48,59,.13),rgba(173,48,59,.025) 35%,transparent 58%),
    linear-gradient(155deg,#f4dedd,var(--v2-surface) 68%,#f5ece0 100%);
  box-shadow:
    0 16px 32px rgba(82,63,40,.13),
    inset 0 1px 0 rgba(255,255,255,.94);
}
#sos-v2-app .v2-home-urgent::before{
  background:
    radial-gradient(92% 78% at -8% -12%,rgba(255,255,255,.13),transparent 57%),
    radial-gradient(72% 84% at 108% 112%,rgba(200,60,70,.12),transparent 70%);
}
#sos-v2-app[data-theme="light"] .v2-home-urgent::before{
  background:
    radial-gradient(92% 78% at -8% -12%,rgba(255,255,255,.75),transparent 57%),
    radial-gradient(72% 84% at 108% 112%,rgba(173,48,59,.08),transparent 70%);
}
#sos-v2-app .v2-home-urgent .v2-shortcut-copy strong{
  color:var(--v2-text);
}
#sos-v2-app .v2-home-urgent .v2-shortcut-copy small{
  color:var(--v2-muted);
}

/* Buttons receive a small specular lift, not a flat fill. */
#sos-v2-app .v2-button{
  background:
    linear-gradient(136deg,rgba(255,255,255,.085),rgba(255,255,255,.01) 34%,transparent 60%),
    linear-gradient(155deg,var(--v2-surface-3),var(--v2-surface));
  border-color:var(--v2-border);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.13),
    inset 0 -1px 0 rgba(0,0,0,.28),
    0 11px 24px rgba(0,0,0,.20);
}
#sos-v2-app .v2-button.primary,
#sos-v2-app .v2-button.urgent{
  background:
    linear-gradient(136deg,rgba(255,255,255,.22),rgba(255,255,255,.035) 32%,transparent 60%),
    linear-gradient(155deg,var(--v2-gold-bright),var(--v2-gold) 56%,var(--v2-gold-deep));
  border-color:var(--v2-gold-bright);
  color:#24180c;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 -1px 0 rgba(91,55,20,.35),
    0 13px 26px rgba(126,82,30,.25);
}
#sos-v2-app .v2-button.safe{
  background:
    linear-gradient(136deg,rgba(255,255,255,.23),rgba(255,255,255,.035) 32%,transparent 60%),
    linear-gradient(155deg,#a2cda5,var(--v2-safe) 56%,var(--v2-safe-deep));
  border-color:var(--v2-safe);
  color:#102117;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(28,72,46,.30),
    0 13px 26px rgba(45,105,65,.20);
}
#sos-v2-app .v2-button.danger{
  background:
    linear-gradient(136deg,rgba(255,255,255,.12),rgba(255,255,255,.02) 30%,transparent 58%),
    linear-gradient(155deg,var(--v2-danger-bright),var(--v2-danger) 56%,var(--v2-danger-deep));
  border-color:var(--v2-danger-bright);
  color:#fff8ee;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 -1px 0 rgba(76,12,20,.38),
    0 13px 26px rgba(145,26,39,.25);
}
#sos-v2-app .v2-button.ghost{
  background:linear-gradient(136deg,rgba(255,255,255,.06),rgba(255,255,255,.012) 38%,transparent 65%);
}
#sos-v2-app[data-theme="light"] .v2-button{
  background:
    linear-gradient(136deg,rgba(255,255,255,.88),rgba(255,255,255,.24) 34%,transparent 60%),
    linear-gradient(155deg,#f4eadb,var(--v2-surface-2));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 -1px 0 rgba(125,91,51,.12),
    0 11px 24px rgba(82,63,40,.14);
}
#sos-v2-app[data-theme="light"] .v2-button.primary,
#sos-v2-app[data-theme="light"] .v2-button.urgent{
  background:
    linear-gradient(136deg,rgba(255,255,255,.32),rgba(255,255,255,.05) 32%,transparent 60%),
    linear-gradient(155deg,var(--v2-gold-bright),var(--v2-gold) 56%,var(--v2-gold-deep));
  color:#fffaf1;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    inset 0 -1px 0 rgba(75,43,14,.25),
    0 13px 26px rgba(125,81,28,.18);
}
#sos-v2-app[data-theme="light"] .v2-button.safe{
  background:
    linear-gradient(136deg,rgba(255,255,255,.34),rgba(255,255,255,.06) 32%,transparent 60%),
    linear-gradient(155deg,#79ad86,var(--v2-safe) 56%,var(--v2-safe-deep));
  color:#f7fff9;
}
#sos-v2-app[data-theme="light"] .v2-button.danger{
  background:
    linear-gradient(136deg,rgba(255,255,255,.12),rgba(255,255,255,.02) 30%,transparent 58%),
    linear-gradient(155deg,#c8444d,var(--v2-danger) 56%,var(--v2-danger-deep));
  color:#fffaf2;
}

/* Icon chips are small but deliberately visible in both appearances. */
#sos-v2-app .v2-card-icon,
#sos-v2-app .v2-theme-pill,
#sos-v2-app .v2-icon-button,
#sos-v2-app .v2-favorite-button{
  background:
    linear-gradient(136deg,rgba(255,255,255,.10),rgba(255,255,255,.015) 38%,transparent 66%),
    linear-gradient(155deg,var(--v2-surface-3),var(--v2-surface));
  border-color:rgba(225,179,106,.28);
  color:var(--v2-gold-bright);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -1px 0 rgba(0,0,0,.28),
    0 8px 17px rgba(0,0,0,.18);
}
#sos-v2-app .v2-card.safe .v2-card-icon{
  background:
    linear-gradient(136deg,rgba(255,255,255,.14),rgba(255,255,255,.02) 38%,transparent 66%),
    linear-gradient(155deg,rgba(133,185,148,.28),rgba(78,141,104,.14));
  border-color:rgba(133,185,148,.42);
  color:#bce9c5;
}
#sos-v2-app .v2-card.danger .v2-card-icon{
  background:
    linear-gradient(136deg,rgba(255,255,255,.11),rgba(255,255,255,.02) 38%,transparent 66%),
    linear-gradient(155deg,rgba(200,60,70,.33),rgba(146,38,49,.16));
  border-color:rgba(217,87,91,.42);
  color:#ffb2b3;
}
#sos-v2-app[data-theme="light"] .v2-card-icon,
#sos-v2-app[data-theme="light"] .v2-theme-pill,
#sos-v2-app[data-theme="light"] .v2-icon-button,
#sos-v2-app[data-theme="light"] .v2-favorite-button{
  background:
    linear-gradient(136deg,rgba(255,255,255,.90),rgba(255,255,255,.26) 38%,transparent 66%),
    linear-gradient(155deg,#f4dfbd,#e8c996);
  border-color:rgba(166,111,46,.34);
  color:#75481f;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    inset 0 -1px 0 rgba(125,91,51,.14),
    0 8px 17px rgba(82,63,40,.13);
}
#sos-v2-app[data-theme="light"] .v2-card.safe .v2-card-icon{
  background:
    linear-gradient(136deg,rgba(255,255,255,.78),rgba(255,255,255,.16) 38%,transparent 66%),
    linear-gradient(155deg,#d9ebd8,#b9d7bc);
  border-color:rgba(53,120,87,.32);
  color:#245b42;
}
#sos-v2-app[data-theme="light"] .v2-card.danger .v2-card-icon{
  background:
    linear-gradient(136deg,rgba(255,255,255,.70),rgba(255,255,255,.12) 38%,transparent 66%),
    linear-gradient(155deg,#f1cccc,#e8aead);
  border-color:rgba(173,48,59,.34);
  color:#922631;
}
#sos-v2-app .v2-theme-pill,
#sos-v2-app .v2-icon-button{
  color:var(--v2-gold-bright);
}
#sos-v2-app .v2-theme-pill:hover,
#sos-v2-app .v2-icon-button:hover{
  background:
    linear-gradient(136deg,rgba(255,255,255,.14),rgba(255,255,255,.02) 38%,transparent 66%),
    linear-gradient(155deg,var(--v2-surface-3),var(--v2-surface-2));
}

/* Crisis directory buttons communicate tier, not generic success. */
#sos-v2-app .v2-anchor{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(136deg,rgba(255,255,255,.07),rgba(255,255,255,.012) 34%,transparent 62%,rgba(225,179,106,.04)),
    linear-gradient(155deg,var(--v2-surface-3),var(--v2-surface));
  border-color:var(--v2-border);
  box-shadow:
    0 14px 28px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.10);
}
#sos-v2-app[data-theme="light"] .v2-anchor{
  background:
    linear-gradient(136deg,rgba(255,255,255,.88),rgba(255,255,255,.22) 34%,transparent 62%,rgba(166,111,46,.04)),
    linear-gradient(155deg,#fffdf8,var(--v2-surface));
  box-shadow:
    0 14px 28px rgba(82,63,40,.12),
    inset 0 1px 0 rgba(255,255,255,.94);
}
#sos-v2-app .v2-anchor.is-danger{
  border-color:rgba(200,60,70,.42);
  background:
    linear-gradient(136deg,rgba(200,60,70,.16),rgba(200,60,70,.025) 38%,transparent 64%),
    linear-gradient(155deg,#2b1715,var(--v2-surface));
}
#sos-v2-app .v2-anchor.is-urgent{
  border-color:rgba(225,179,106,.42);
  background:
    linear-gradient(136deg,rgba(225,179,106,.14),rgba(225,179,106,.025) 38%,transparent 64%),
    linear-gradient(155deg,var(--v2-surface-3),var(--v2-surface));
}
#sos-v2-app[data-theme="light"] .v2-anchor.is-danger{
  border-color:rgba(173,48,59,.38);
  background:
    linear-gradient(136deg,rgba(173,48,59,.12),rgba(173,48,59,.02) 38%,transparent 64%),
    linear-gradient(155deg,#f4dedd,var(--v2-surface));
}
#sos-v2-app[data-theme="light"] .v2-anchor.is-urgent{
  border-color:rgba(166,111,46,.38);
  background:
    linear-gradient(136deg,rgba(166,111,46,.12),rgba(166,111,46,.02) 38%,transparent 64%),
    linear-gradient(155deg,#f4e3c8,var(--v2-surface));
}
#sos-v2-app .v2-anchor .v2-button.safe{
  background:
    linear-gradient(136deg,rgba(255,255,255,.07),rgba(255,255,255,.01) 34%,transparent 62%),
    linear-gradient(155deg,var(--v2-surface-3),var(--v2-surface));
  border-color:var(--v2-border);
  color:var(--v2-text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 8px 18px rgba(0,0,0,.16);
}
#sos-v2-app[data-theme="light"] .v2-anchor .v2-button.safe{
  background:
    linear-gradient(136deg,rgba(255,255,255,.90),rgba(255,255,255,.22) 34%,transparent 62%),
    linear-gradient(155deg,#f4eadb,var(--v2-surface-2));
  color:var(--v2-text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 8px 18px rgba(82,63,40,.12);
}
#sos-v2-app .v2-anchor .v2-button.urgent{
  min-width:80px;
}
#sos-v2-app .v2-anchor .v2-button.danger{
  min-width:80px;
}

/* The old tool mechanics now get the same material treatment as V2. */
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .game-wrap,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .wave-card,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .breathe-stage,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .bilateral-wrap,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .count-wrap,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .pop-grid,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tape-wrap,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .sound-wrap,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tools-section,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .overlay-card{
  background:
    linear-gradient(136deg,rgba(255,255,255,.085),rgba(255,255,255,.018) 25%,transparent 52%,rgba(225,179,106,.055)),
    linear-gradient(155deg,#2a2015,#17130f 66%,#120e0b) !important;
  border-color:rgba(255,244,224,.15) !important;
  border-radius:12px !important;
  box-shadow:
    0 18px 38px rgba(0,0,0,.27),
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(0,0,0,.42) !important;
  color:#fff4df !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount #gameCanvas,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount #traceCanvas{
  background:#11100d !important;
  border-color:rgba(225,179,106,.46) !important;
  border-radius:12px !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-view[data-v2-legacy-kind="game"] .game-controls button,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn{
  border-radius:12px !important;
  background:
    linear-gradient(136deg,rgba(255,255,255,.085),rgba(255,255,255,.012) 34%,transparent 62%),
    linear-gradient(155deg,#2a2015,#17130f) !important;
  border:1px solid rgba(255,244,224,.15) !important;
  color:#fff4df !important;
  font-weight:500 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(0,0,0,.30),
    0 10px 22px rgba(0,0,0,.20) !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .btn-primary,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .btn-amber,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tab-btn.active{
  background:
    linear-gradient(136deg,rgba(255,255,255,.22),rgba(255,255,255,.035) 32%,transparent 60%),
    linear-gradient(155deg,#f2cb89,#e1b36a 56%,#a97132) !important;
  border-color:#f2cb89 !important;
  color:#24180c !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 -1px 0 rgba(91,55,20,.35),
    0 13px 26px rgba(126,82,30,.24) !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .btn-emerald{
  background:
    linear-gradient(136deg,rgba(255,255,255,.23),rgba(255,255,255,.035) 32%,transparent 60%),
    linear-gradient(155deg,#a2cda5,#85b994 56%,#4e8d68) !important;
  border-color:#85b994 !important;
  color:#102117 !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .btn-danger,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .btn-red{
  background:
    linear-gradient(136deg,rgba(255,255,255,.12),rgba(255,255,255,.02) 30%,transparent 58%),
    linear-gradient(155deg,#d9575b,#c83c46 56%,#922631) !important;
  border-color:#d9575b !important;
  color:#fff8ee !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .btn-ghost,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tipp-btn{
  background:
    linear-gradient(136deg,rgba(255,255,255,.07),rgba(255,255,255,.012) 36%,transparent 64%),
    linear-gradient(155deg,#211910,#17130f) !important;
  border-color:rgba(255,244,224,.15) !important;
  color:#fff4df !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .game-controls button:hover,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn:hover,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn:hover{
  border-color:rgba(225,179,106,.56) !important;
  background:
    linear-gradient(136deg,rgba(255,255,255,.14),rgba(255,255,255,.018) 36%,transparent 64%),
    linear-gradient(155deg,#342617,#211910) !important;
}
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .game-controls button:focus-visible,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn:focus-visible,
body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn:focus-visible{
  outline:3px solid #f5cf8e !important;
  outline-offset:3px !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .game-wrap,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .wave-card,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .breathe-stage,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .bilateral-wrap,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .count-wrap,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .pop-grid,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tape-wrap,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .sound-wrap,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tools-section,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .overlay-card{
  background:
    linear-gradient(136deg,rgba(255,255,255,.92),rgba(255,255,255,.28) 25%,transparent 52%,rgba(166,111,46,.05)),
    linear-gradient(155deg,#fffdf8,#fffaf1 66%,#f5ece0) !important;
  border-color:rgba(62,45,27,.18) !important;
  color:#2a2119 !important;
  box-shadow:
    0 18px 38px rgba(82,63,40,.14),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(125,91,51,.10) !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .game-controls button,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn{
  background:
    linear-gradient(136deg,rgba(255,255,255,.94),rgba(255,255,255,.26) 34%,transparent 62%),
    linear-gradient(155deg,#f4eadb,#f1e3ce) !important;
  border-color:rgba(62,45,27,.18) !important;
  color:#2a2119 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    inset 0 -1px 0 rgba(125,91,51,.12),
    0 10px 22px rgba(82,63,40,.14) !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .btn-primary,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .btn-amber,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tab-btn.active{
  background:
    linear-gradient(136deg,rgba(255,255,255,.34),rgba(255,255,255,.05) 32%,transparent 60%),
    linear-gradient(155deg,#c0873e,#a66f2e 56%,#75481f) !important;
  border-color:#c0873e !important;
  color:#fffaf1 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .btn-emerald{
  background:
    linear-gradient(136deg,rgba(255,255,255,.34),rgba(255,255,255,.06) 32%,transparent 60%),
    linear-gradient(155deg,#79ad86,#357857 56%,#245b42) !important;
  border-color:#357857 !important;
  color:#f7fff9 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .btn-danger,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .btn-red{
  background:
    linear-gradient(136deg,rgba(255,255,255,.12),rgba(255,255,255,.02) 30%,transparent 58%),
    linear-gradient(155deg,#c8444d,#ad303b 56%,#88232d) !important;
  border-color:#c8444d !important;
  color:#fffaf2 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .btn-ghost,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tipp-btn{
  background:
    linear-gradient(136deg,rgba(255,255,255,.86),rgba(255,255,255,.22) 36%,transparent 64%),
    linear-gradient(155deg,#f1e3ce,#eee5d9) !important;
  border-color:rgba(62,45,27,.18) !important;
  color:#2a2119 !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .game-controls button:hover,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn:hover,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn:hover{
  border-color:#a66f2e !important;
  background:
    linear-gradient(136deg,rgba(255,255,255,.96),rgba(255,255,255,.34) 36%,transparent 64%),
    linear-gradient(155deg,#fffaf1,#f1e3ce) !important;
}
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .game-controls button:focus-visible,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn:focus-visible,
body.sos-v2-active.sos-v2-light.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn:focus-visible{
  outline-color:#704719 !important;
}
@media (prefers-reduced-motion:reduce){
  #sos-v2-app .v2-card,
  #sos-v2-app .v2-choice,
  #sos-v2-app .v2-button,
  body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .game-controls button,
  body.sos-v2-active.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn{
    transition:none !important;
  }
}


/* Mobile overflow guard: guided support remains readable at narrow widths and enlarged text sizes. */
#sos-v2-app .v2-advisor-meter{
  box-sizing:border-box;
  height:auto;
  min-height:62px;
  align-items:flex-start;
  padding:12px 14px;
}
#sos-v2-app .v2-advisor-meter span{
  flex:1 1 auto;
  min-width:0;
}
#sos-v2-app .v2-advisor-meter strong,
#sos-v2-app .v2-advisor-meter small{
  display:block;
  max-width:100%;
  overflow-wrap:anywhere;
}
#sos-v2-app .v2-advisor-meter b{
  margin-top:1px;
  line-height:1.25;
}
#sos-v2-app .v2-card,
#sos-v2-app .v2-choice,
#sos-v2-app .v2-callout,
#sos-v2-app .v2-message-card,
#sos-v2-app .v2-anchor{
  box-sizing:border-box;
  max-width:100%;
}
#sos-v2-app .v2-card h2,
#sos-v2-app .v2-card p,
#sos-v2-app .v2-choice strong,
#sos-v2-app .v2-choice span,
#sos-v2-app .v2-anchor strong,
#sos-v2-app .v2-anchor small{
  overflow-wrap:anywhere;
}
@media (max-width:420px){
  #sos-v2-app .v2-advisor-meter{
    min-height:64px;
    gap:10px;
    padding:12px;
  }
}

/* Never cover an active SOS V2 route with the legacy install prompt. */
body.sos-v2-active #installBanner{
  display:none !important;
}

/* Recovery banner guard: the open-session notice must expose every action at every width. */
#sos-v2-app .v2-banner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  height:auto !important;
  min-height:0;
  max-height:none;
  overflow:visible;
  gap:12px;
}
#sos-v2-app .v2-banner > span:first-child{
  min-width:0;
  overflow-wrap:anywhere;
}
#sos-v2-app .v2-banner > span:last-child{
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
#sos-v2-app .v2-banner .v2-button{
  min-height:44px;
  padding:10px 14px;
  white-space:nowrap;
}
@media (max-width:420px){
  #sos-v2-app .v2-banner{
    grid-template-columns:1fr;
  }
  #sos-v2-app .v2-banner > span:last-child{
    width:100%;
    justify-content:stretch;
  }
  #sos-v2-app .v2-banner .v2-button{
    flex:1 1 120px;
  }
}

/* Recovery banner sizing fallback: retain a safe minimum even if an older flex rule supplies a fixed height. */
#sos-v2-app .v2-banner{
  height:fit-content !important;
  min-height:84px !important;
}
@media (max-width:420px){
  #sos-v2-app .v2-banner{
    min-height:84px !important;
  }
}


/* Blue theme: a separate calm blue mode. Light and Obsidian remain independent. */
#sos-v2-app[data-theme="blue"]{
  --v2-bg:#081a2f;
  --v2-surface:#0e2a48;
  --v2-surface-2:#14385d;
  --v2-surface-3:#1a4774;
  --v2-border:rgba(151,207,255,.25);
  --v2-text:#eaf5ff;
  --v2-muted:#a9c5dd;
  --v2-faint:#7f9fba;
  --v2-gold:#78baf0;
  --v2-gold-bright:#abe0ff;
  --v2-gold-deep:#2d79bb;
  --v2-gold-soft:rgba(120,186,240,.16);
  --v2-safe:#83c69e;
  --v2-safe-deep:#41936c;
  --v2-safe-soft:rgba(131,198,158,.15);
  --v2-warm:#6c9fd0;
  --v2-danger:#c74650;
  --v2-danger-bright:#e66a70;
  --v2-danger-deep:#8e2732;
  --v2-danger-soft:rgba(199,70,80,.16);
  --v2-focus:#a8e1ff;
  color-scheme:dark;
  background:
    radial-gradient(780px 460px at 100% -12%,rgba(91,177,231,.22),transparent 66%),
    radial-gradient(540px 380px at -12% 38%,rgba(74,126,204,.16),transparent 68%),
    linear-gradient(145deg,#061426 0%,#0b2440 100%);
}

/* The selector is always visible at the top of the SOS shell. */
#sos-v2-app .v2-theme-bar{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:52px;
  margin:-8px 0 22px;
  padding:5px;
  border:1px solid var(--v2-border);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.055),var(--v2-surface));
  box-shadow:0 10px 22px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.08);
}
#sos-v2-app .v2-theme-label{
  flex:none;
  padding:0 8px;
  color:var(--v2-muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
#sos-v2-app .v2-theme-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px;
  flex:1 1 auto;
  min-width:0;
}
#sos-v2-app .v2-theme-option{
  min-width:0;
  min-height:40px;
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:var(--v2-muted);
  font:inherit;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  cursor:pointer;
  white-space:nowrap;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease;
}
#sos-v2-app .v2-theme-option:hover{
  border-color:var(--v2-border);
  background:var(--v2-surface-2);
  color:var(--v2-text);
}
#sos-v2-app .v2-theme-option.is-active{
  border-color:var(--v2-gold);
  background:linear-gradient(145deg,rgba(120,186,240,.28),rgba(120,186,240,.10));
  color:var(--v2-text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 5px 12px rgba(0,0,0,.15);
}
#sos-v2-app .v2-theme-option:focus-visible{
  outline:3px solid var(--v2-focus);
  outline-offset:2px;
}
#sos-v2-app .v2-theme-option:active{
  transform:scale(.98);
}
@media (max-width:420px){
  #sos-v2-app .v2-theme-bar{
    display:block;
    padding:8px;
  }
  #sos-v2-app .v2-theme-label{
    display:block;
    margin:0 0 6px 3px;
  }
  #sos-v2-app .v2-theme-options{
    width:100%;
  }
}

/* Blue surfaces stay dark enough to feel like a real theme, with stable text layers. */
#sos-v2-app[data-theme="blue"] .v2-card,
#sos-v2-app[data-theme="blue"] .v2-choice,
#sos-v2-app[data-theme="blue"] .v2-callout,
#sos-v2-app[data-theme="blue"] .v2-message-card,
#sos-v2-app[data-theme="blue"] .v2-settings-panel,
#sos-v2-app[data-theme="blue"] .v2-breathe-stage,
#sos-v2-app[data-theme="blue"] .v2-banner,
#sos-v2-app[data-theme="blue"] .v2-advisor-meter,
#sos-v2-app[data-theme="blue"] .v2-shortcuts{
  border-color:var(--v2-border);
  background:
    linear-gradient(136deg,rgba(255,255,255,.08),rgba(255,255,255,.018) 24%,transparent 52%,rgba(76,173,226,.08) 100%),
    linear-gradient(155deg,var(--v2-surface-3),var(--v2-surface) 64%,#06172b 100%);
  box-shadow:
    0 18px 38px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -1px 0 rgba(0,0,0,.34);
}
#sos-v2-app[data-theme="blue"] .v2-card::before,
#sos-v2-app[data-theme="blue"] .v2-choice::before,
#sos-v2-app[data-theme="blue"] .v2-callout::before,
#sos-v2-app[data-theme="blue"] .v2-message-card::before,
#sos-v2-app[data-theme="blue"] .v2-settings-panel::before,
#sos-v2-app[data-theme="blue"] .v2-breathe-stage::before,
#sos-v2-app[data-theme="blue"] .v2-banner::before,
#sos-v2-app[data-theme="blue"] .v2-advisor-meter::before,
#sos-v2-app[data-theme="blue"] .v2-shortcuts::before{
  background:
    radial-gradient(92% 78% at -8% -12%,rgba(255,255,255,.10),transparent 57%),
    radial-gradient(72% 84% at 108% 112%,rgba(72,169,224,.13),transparent 70%);
}
#sos-v2-app[data-theme="blue"] .v2-card::after,
#sos-v2-app[data-theme="blue"] .v2-choice::after,
#sos-v2-app[data-theme="blue"] .v2-callout::after,
#sos-v2-app[data-theme="blue"] .v2-message-card::after,
#sos-v2-app[data-theme="blue"] .v2-settings-panel::after,
#sos-v2-app[data-theme="blue"] .v2-breathe-stage::after,
#sos-v2-app[data-theme="blue"] .v2-banner::after,
#sos-v2-app[data-theme="blue"] .v2-advisor-meter::after,
#sos-v2-app[data-theme="blue"] .v2-shortcuts::after{
  background:radial-gradient(ellipse,rgba(73,177,229,.12),transparent 68%);
}
#sos-v2-app[data-theme="blue"] .v2-eyebrow,
#sos-v2-app[data-theme="blue"] .v2-brand,
#sos-v2-app[data-theme="blue"] .v2-number,
#sos-v2-app[data-theme="blue"] .v2-timer{
  color:var(--v2-gold-bright);
}
#sos-v2-app[data-theme="blue"] .v2-progress{
  background:#123452;
}
#sos-v2-app[data-theme="blue"] .v2-progress span{
  background:linear-gradient(90deg,#4d9bdd,#a6e0ff);
}
#sos-v2-app[data-theme="blue"] .v2-breathe-stage{
  background:
    linear-gradient(136deg,rgba(167,224,255,.10),rgba(70,163,220,.035) 45%,transparent 72%),
    linear-gradient(155deg,#153e66,#0d2947 66%,#07182d 100%);
}
#sos-v2-app[data-theme="blue"] .v2-breathe-orb{
  border-color:rgba(171,224,255,.62);
  background:radial-gradient(circle at 35% 25%,rgba(126,210,244,.42),rgba(47,126,197,.20) 52%,rgba(38,101,164,.10));
  box-shadow:0 0 0 14px rgba(107,193,236,.08),0 0 56px rgba(69,170,226,.25);
}
#sos-v2-app[data-theme="blue"] .v2-breathe-orb[data-phase="in"]{
  box-shadow:0 0 0 24px rgba(107,193,236,.10),0 0 70px rgba(69,170,226,.34);
}
#sos-v2-app[data-theme="blue"] .v2-breathe-orb[data-phase="out"]{
  box-shadow:0 0 0 14px rgba(107,193,236,.06),0 0 40px rgba(69,170,226,.18);
}
#sos-v2-app[data-theme="blue"] .v2-card.warm,
#sos-v2-app[data-theme="blue"] .v2-choice.primary{
  background:
    linear-gradient(136deg,rgba(106,163,220,.20),rgba(106,163,220,.045) 35%,transparent 58%),
    linear-gradient(155deg,#1a4d7d,var(--v2-surface) 68%,#06172b 100%);
}
#sos-v2-app[data-theme="blue"] .v2-card.safe,
#sos-v2-app[data-theme="blue"] .v2-choice.safe{
  background:
    linear-gradient(136deg,rgba(131,198,158,.14),rgba(131,198,158,.025) 35%,transparent 58%),
    linear-gradient(155deg,#185073,var(--v2-surface) 68%,#06172b 100%);
}
#sos-v2-app[data-theme="blue"] .v2-card.danger,
#sos-v2-app[data-theme="blue"] .v2-choice.danger{
  background:
    linear-gradient(136deg,rgba(199,70,80,.22),rgba(199,70,80,.05) 35%,transparent 58%),
    linear-gradient(155deg,#3a1d2c,var(--v2-surface) 68%,#06172b 100%);
}
#sos-v2-app[data-theme="blue"] .v2-home-urgent{
  border-color:rgba(230,106,112,.52);
  border-left-color:var(--v2-danger);
  background:
    linear-gradient(136deg,rgba(199,70,80,.22),rgba(199,70,80,.045) 36%,transparent 60%),
    linear-gradient(155deg,#17365b,var(--v2-surface) 68%,#06172b 100%);
}
#sos-v2-app[data-theme="blue"] .v2-button{
  background:
    linear-gradient(136deg,rgba(255,255,255,.09),rgba(255,255,255,.012) 34%,transparent 60%),
    linear-gradient(155deg,var(--v2-surface-3),var(--v2-surface));
  border-color:var(--v2-border);
  color:var(--v2-text);
}
#sos-v2-app[data-theme="blue"] .v2-button.primary,
#sos-v2-app[data-theme="blue"] .v2-button.urgent{
  background:
    linear-gradient(136deg,rgba(255,255,255,.18),rgba(255,255,255,.025) 32%,transparent 60%),
    linear-gradient(155deg,#65c7de,#3f8fd3 58%,#2c6bad);
  border-color:#8bdcff;
  color:#061525;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    inset 0 -1px 0 rgba(3,29,53,.42),
    0 13px 26px rgba(23,108,174,.28);
}
#sos-v2-app[data-theme="blue"] .v2-button.safe{
  background:
    linear-gradient(136deg,rgba(255,255,255,.22),rgba(255,255,255,.035) 32%,transparent 60%),
    linear-gradient(155deg,#a7d9b6,var(--v2-safe) 56%,var(--v2-safe-deep));
  border-color:var(--v2-safe);
  color:#09251a;
}
#sos-v2-app[data-theme="blue"] .v2-button.danger{
  background:
    linear-gradient(136deg,rgba(255,255,255,.14),rgba(255,255,255,.02) 30%,transparent 58%),
    linear-gradient(155deg,var(--v2-danger-bright),var(--v2-danger) 56%,var(--v2-danger-deep));
  border-color:var(--v2-danger-bright);
  color:#fff8ee;
}
#sos-v2-app[data-theme="blue"] .v2-button.ghost{
  background:linear-gradient(136deg,rgba(255,255,255,.055),rgba(255,255,255,.01) 38%,transparent 65%);
}
#sos-v2-app[data-theme="blue"] .v2-card-icon,
#sos-v2-app[data-theme="blue"] .v2-favorite-button,
#sos-v2-app[data-theme="blue"] .v2-icon-button{
  background:
    linear-gradient(136deg,rgba(255,255,255,.10),rgba(255,255,255,.015) 38%,transparent 66%),
    linear-gradient(155deg,var(--v2-surface-3),var(--v2-surface));
  border-color:rgba(139,220,255,.30);
  color:var(--v2-gold-bright);
}
#sos-v2-app[data-theme="blue"] .v2-card.safe .v2-card-icon{
  background:linear-gradient(145deg,rgba(131,198,158,.26),rgba(65,147,108,.14));
  border-color:rgba(131,198,158,.44);
  color:#c0f1cf;
}
#sos-v2-app[data-theme="blue"] .v2-card.danger .v2-card-icon{
  background:linear-gradient(145deg,rgba(230,106,112,.30),rgba(142,39,50,.16));
  border-color:rgba(230,106,112,.50);
  color:#ffb7bb;
}
#sos-v2-app[data-theme="blue"] .v2-anchor{
  border-color:var(--v2-border);
  background:
    linear-gradient(136deg,rgba(255,255,255,.07),rgba(255,255,255,.012) 34%,transparent 62%,rgba(76,173,226,.06)),
    linear-gradient(155deg,var(--v2-surface-3),var(--v2-surface));
  box-shadow:0 14px 28px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.08);
}
#sos-v2-app[data-theme="blue"] .v2-anchor.is-danger{
  border-color:rgba(230,106,112,.48);
  background:
    linear-gradient(136deg,rgba(199,70,80,.18),rgba(199,70,80,.03) 38%,transparent 64%),
    linear-gradient(155deg,#3a1d2c,var(--v2-surface));
}
#sos-v2-app[data-theme="blue"] .v2-anchor.is-urgent{
  border-color:rgba(226,179,103,.52);
  background:
    linear-gradient(136deg,rgba(226,179,103,.16),rgba(226,179,103,.025) 38%,transparent 64%),
    linear-gradient(155deg,#245078,var(--v2-surface));
}
#sos-v2-app[data-theme="blue"] .v2-contact-form{
  border-color:rgba(139,220,255,.40);
  background:
    linear-gradient(136deg,rgba(139,220,255,.12),rgba(255,255,255,.02) 48%,transparent 70%),
    linear-gradient(155deg,#17456f,var(--v2-surface));
}
#sos-v2-app[data-theme="blue"] .v2-safe-note{
  color:#a9e1bb;
  background:linear-gradient(145deg,rgba(131,198,158,.16),rgba(65,147,108,.06),var(--v2-surface));
  border-color:rgba(131,198,158,.56);
}
#sos-v2-app[data-theme="blue"] .v2-safe-note strong{
  color:#c7f1d1;
}
#sos-v2-app[data-theme="blue"] .v2-form-error{
  color:#ffc7c8;
  background:rgba(199,70,80,.12);
  border-color:rgba(230,106,112,.44);
}
#sos-v2-app[data-theme="blue"] .v2-status-note{
  color:#a9e1bb;
  background:rgba(131,198,158,.14);
  border-color:rgba(131,198,158,.40);
}

/* Blue follows the V2 palette through every wrapped legacy tool. */
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active{
  --bg:#081a2f;
  --surface:#0e2a48;
  --surface-2:#14385d;
  --border:#2b5b86;
  --teal:#78baf0;
  --teal-dim:#2d79bb;
  --emerald:#83c69e;
  --amber:#6ca4d4;
  --ink:#eaf5ff;
  --ink-dim:#a9c5dd;
  --ink-faint:#7f9fba;
  background:#081a2f;
  color:#eaf5ff;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .view,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .view *{
  color:#eaf5ff !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-overlay{
  background:rgba(6,20,38,.95) !important;
  color:#eaf5ff !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .game-wrap,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .wave-card,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .breathe-stage,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .bilateral-wrap,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .count-wrap,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .pop-grid,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .tape-wrap,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .sound-wrap,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .tools-section,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .overlay-card{
  background:
    linear-gradient(136deg,rgba(255,255,255,.08),rgba(255,255,255,.015) 28%,transparent 56%,rgba(76,173,226,.06)),
    linear-gradient(155deg,#15436b,#0d2742 68%,#07182d) !important;
  border-color:rgba(139,220,255,.24) !important;
  border-radius:12px !important;
  color:#eaf5ff !important;
  box-shadow:0 18px 38px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.10),inset 0 -1px 0 rgba(0,0,0,.36) !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .view-body{
  color:#eaf5ff !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount #gameCanvas,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount #traceCanvas,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .game-controls button,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .tape-box,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .count-input,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .field-row input,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .clean-date-display,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .io-status-box{
  background:#071a33 !important;
  border-color:#4f8fc3 !important;
  color:#eaf5ff !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .game-controls button,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn{
  background:
    linear-gradient(136deg,rgba(255,255,255,.08),rgba(255,255,255,.012) 34%,transparent 62%),
    linear-gradient(155deg,#16476f,#0d2a48) !important;
  border:1px solid rgba(139,220,255,.25) !important;
  color:#eaf5ff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),inset 0 -1px 0 rgba(0,0,0,.28),0 10px 22px rgba(0,0,0,.20) !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .btn-primary,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .btn-amber,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .tab-btn.active{
  background:
    linear-gradient(136deg,rgba(255,255,255,.20),rgba(255,255,255,.025) 32%,transparent 60%),
    linear-gradient(155deg,#65c7de,#3f8fd3 58%,#2c6bad) !important;
  border-color:#8bdcff !important;
  color:#061525 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),inset 0 -1px 0 rgba(3,29,53,.40),0 13px 26px rgba(23,108,174,.26) !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .btn-emerald{
  background:
    linear-gradient(136deg,rgba(255,255,255,.22),rgba(255,255,255,.035) 32%,transparent 60%),
    linear-gradient(155deg,#a7d9b6,#83c69e 56%,#41936c) !important;
  border-color:#83c69e !important;
  color:#09251a !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .btn-danger,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .btn-red{
  background:
    linear-gradient(136deg,rgba(255,255,255,.14),rgba(255,255,255,.02) 30%,transparent 58%),
    linear-gradient(155deg,#e66a70,#c74650 56%,#8e2732) !important;
  border-color:#e66a70 !important;
  color:#fff8ee !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .btn-ghost,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .tipp-btn{
  background:
    linear-gradient(136deg,rgba(255,255,255,.06),rgba(255,255,255,.01) 36%,transparent 64%),
    linear-gradient(155deg,#123555,#0d2947) !important;
  border-color:rgba(139,220,255,.24) !important;
  color:#eaf5ff !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .game-controls button:hover,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn:hover,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn:hover{
  border-color:#8bdcff !important;
  background:linear-gradient(145deg,#21608e,#123b62) !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .game-controls button:focus-visible,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .craving-tool-controls .btn:focus-visible,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .tabbar .tab-btn:focus-visible{
  outline:3px solid #a8e1ff !important;
  outline-offset:3px !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .wave-path,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .wave-path-ghost{
  stroke:#78baf0 !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .breathe-count,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .ground-count{
  color:#abe0ff !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .sound-orb,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .sphere,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .bilateral-dot,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .pop-bubble{
  background:radial-gradient(circle at 35% 30%,#a6e0ff,#3f8fd3 62%,#1b4a75) !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-mount .anchor-pill{
  background:rgba(120,186,240,.12) !important;
  border-color:rgba(139,220,255,.40) !important;
  color:#abe0ff !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-overlay{
  background:rgba(6,20,38,.96) !important;
  color:#eaf5ff !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-overlay .overlay-card{
  background:
    linear-gradient(136deg,rgba(255,255,255,.08),rgba(255,255,255,.015) 28%,transparent 56%,rgba(76,173,226,.06)),
    linear-gradient(155deg,#15436b,#0d2742) !important;
  border-color:rgba(139,220,255,.28) !important;
  color:#eaf5ff !important;
  box-shadow:0 18px 40px rgba(0,0,0,.34) !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-overlay .overlay-card *,
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-overlay button{
  color:#eaf5ff !important;
}
body.sos-v2-active.sos-v2-blue.sos-v2-legacy-active .v2-legacy-overlay button{
  background:linear-gradient(145deg,#16476f,#0d2a48) !important;
  border-color:rgba(139,220,255,.28) !important;
}


/* Mobile header guard: keep Brand + Back/Home/Settings together, then give the theme bar its own full-width row. */
@media (max-width:640px){
  #sos-v2-app .v2-topbar{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "brand nav"
      "theme theme";
    align-items:center;
    column-gap:10px;
    row-gap:12px;
    min-height:0;
    margin-bottom:18px;
    padding-bottom:14px;
  }
  #sos-v2-app .v2-brand{
    grid-area:brand;
    min-width:0;
    line-height:1.45;
    overflow-wrap:anywhere;
  }
  #sos-v2-app .v2-nav{
    grid-area:nav;
    min-width:0;
    display:flex;
    align-items:center;
    gap:6px;
  }
  #sos-v2-app .v2-nav .v2-button{
    min-width:0;
    padding-inline:10px;
  }
  #sos-v2-app .v2-nav .v2-icon-button{
    flex:0 0 44px;
  }
  #sos-v2-app .v2-theme-bar{
    grid-area:theme;
    width:100%;
    min-width:0;
    margin:0;
  }
}
@media (max-width:360px){
  #sos-v2-app .v2-topbar{
    column-gap:8px;
    row-gap:10px;
  }
  #sos-v2-app .v2-nav{
    gap:4px;
  }
  #sos-v2-app .v2-nav .v2-button{
    padding-inline:8px;
    font-size:14px;
  }
  #sos-v2-app .v2-brand{
    font-size:11px;
    letter-spacing:.12em;
  }
}

/* Blue urgency ladder: amber means urgent support, red remains reserved for emergency/medical danger. */
#sos-v2-app[data-theme="blue"]{
  --v2-urgent:#e7ad5d;
  --v2-urgent-bright:#ffd68a;
  --v2-urgent-deep:#985d25;
  --v2-urgent-soft:rgba(231,173,93,.18);
}
#sos-v2-app[data-theme="blue"] .v2-anchor.is-urgent{
  border-color:rgba(231,173,93,.62);
  border-left:4px solid var(--v2-urgent);
  background:
    linear-gradient(136deg,rgba(231,173,93,.20),rgba(231,173,93,.035) 38%,transparent 64%),
    linear-gradient(155deg,#3e3a35,var(--v2-surface) 66%,#07182d 100%);
  box-shadow:
    0 14px 28px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.10),
    0 0 0 1px rgba(231,173,93,.06);
}
#sos-v2-app[data-theme="blue"] .v2-anchor.is-urgent strong{
  color:#fff1d3;
}
#sos-v2-app[data-theme="blue"] .v2-anchor.is-urgent small{
  color:#d5c3a4;
}
#sos-v2-app[data-theme="blue"] .v2-button.urgent{
  background:
    linear-gradient(136deg,rgba(255,255,255,.24),rgba(255,255,255,.035) 30%,transparent 58%),
    linear-gradient(155deg,var(--v2-urgent-bright),var(--v2-urgent) 56%,var(--v2-urgent-deep));
  border-color:var(--v2-urgent-bright);
  color:#24170a;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    inset 0 -1px 0 rgba(75,43,12,.32),
    0 12px 24px rgba(134,79,24,.28);
}
#sos-v2-app[data-theme="blue"] .v2-button.urgent:hover{
  background:
    linear-gradient(136deg,rgba(255,255,255,.30),rgba(255,255,255,.05) 30%,transparent 58%),
    linear-gradient(155deg,#ffe0a0,#efb968 56%,#a8692b);
}


/* Content-fit guard: no SOS card may hide wrapped copy at phone widths. */
#sos-v2-app .v2-card,
#sos-v2-app .v2-choice,
#sos-v2-app .v2-callout,
#sos-v2-app .v2-message-card,
#sos-v2-app .v2-anchor{
  box-sizing:border-box;
  height:fit-content !important;
  max-height:none !important;
  flex:0 0 auto;
  overflow:visible;
}
#sos-v2-app .v2-card::after,
#sos-v2-app .v2-choice::after,
#sos-v2-app .v2-callout::after,
#sos-v2-app .v2-message-card::after{
  right:0;
  bottom:0;
  width:58%;
  height:72%;
  border-radius:inherit;
}
#sos-v2-app .v2-card > span:last-child,
#sos-v2-app .v2-choice > span:last-child,
#sos-v2-app .v2-anchor > span{
  min-width:0;
  max-width:100%;
}
#sos-v2-app .v2-card h2,
#sos-v2-app .v2-card h3,
#sos-v2-app .v2-card p,
#sos-v2-app .v2-choice strong,
#sos-v2-app .v2-choice span,
#sos-v2-app .v2-callout strong,
#sos-v2-app .v2-message-card strong,
#sos-v2-app .v2-message-card p{
  max-width:100%;
  overflow-wrap:anywhere;
}
#sos-v2-app .v2-nav .v2-button{
  white-space:nowrap;
}


/* Header flow guard: the multi-row mobile header must keep its full height in the scroll shell. */
#sos-v2-app .v2-topbar{
  flex:0 0 auto;
  flex-shrink:0;
}
#sos-v2-app .v2-theme-bar{
  flex:0 0 auto;
}


/* Full polish pass: keep the Home entry quiet, make urgency legible, and let every shell breathe at phone widths. */
#sos-v2-app{
  --v2-urgent:#d5a05a;
  --v2-urgent-bright:#f4c579;
  --v2-urgent-deep:#8b5a26;
  --v2-urgent-soft:rgba(213,160,90,.15);
}
#sos-v2-app[data-theme="light"]{
  --v2-urgent:#a96f18;
  --v2-urgent-bright:#d49b40;
  --v2-urgent-deep:#7c4e12;
  --v2-urgent-soft:rgba(169,111,24,.12);
}

#sos-v2-app .v2-topbar,
#sos-v2-app .v2-brand,
#sos-v2-app .v2-nav,
#sos-v2-app .v2-actions,
#sos-v2-app .v2-stack,
#sos-v2-app .v2-home-tools,
#sos-v2-app .v2-legacy-mount{
  min-width:0;
}
#sos-v2-app .v2-nav{
  justify-content:flex-end;
  flex:0 1 auto;
}
#sos-v2-app .v2-nav .v2-button{
  min-width:0;
  flex:0 1 auto;
  white-space:nowrap;
}
#sos-v2-app .v2-nav .v2-icon-button{
  flex:0 0 auto;
}
#sos-v2-app .v2-brand{
  overflow-wrap:anywhere;
}
#sos-v2-app .v2-trust-note{
  margin:-10px 0 16px;
  max-width:52ch;
  color:var(--v2-faint);
  font-size:12px;
  line-height:1.5;
  letter-spacing:.01em;
}
#sos-v2-app .v2-choice.urgent{
  border-left:4px solid var(--v2-urgent);
  border-color:var(--v2-urgent);
  background:var(--v2-urgent-soft);
}
#sos-v2-app .v2-choice.urgent strong{
  color:var(--v2-text);
}
#sos-v2-app .v2-button.urgent{
  background:linear-gradient(145deg,var(--v2-urgent-bright),var(--v2-urgent) 58%,var(--v2-urgent-deep));
  border-color:var(--v2-urgent-bright);
  color:#2b1907;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 12px 24px rgba(134,79,24,.20);
}
#sos-v2-app .v2-button.urgent:hover{
  background:linear-gradient(145deg,#ffe0a0,#efb968 58%,#a8692b);
}
#sos-v2-app .v2-legacy-mount canvas{
  display:block;
  max-width:100%;
  height:auto;
}
#sos-v2-app .v2-shell{
  animation:v2PageIn .22s ease both;
}
@keyframes v2PageIn{
  from{opacity:0;transform:translateY(4px)}
  to{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  #sos-v2-app .v2-shell{animation:none}
}
@media (max-width:640px){
  #sos-v2-app .v2-topbar:not(.has-theme){
    grid-template-areas:"brand nav";
    row-gap:0;
  }
  #sos-v2-app .v2-nav{
    gap:5px;
  }
}
@media (max-width:360px){
  #sos-v2-app .v2-nav .v2-button{
    padding-inline:7px;
    font-size:13px;
  }
  #sos-v2-app .v2-nav .v2-icon-button{
    flex-basis:42px;
    width:42px;
  }
}
