/* Nexora clarity: quiet surfaces, readable content, glass reserved for controls. */
:root {
  --bg: #080910;
  --surface: #13131e;
  --surface-strong: #20202d;
  --surface-soft: #14141f;
  --border: rgba(198, 195, 231, .14);
  --border-strong: rgba(198, 195, 231, .25);
  --text: #f5f4fb;
  --text-secondary: #d7d6e2;
  --muted: #b6b1c9;
  --positive: #36e878;
  --negative: #ff4757;
  --primary: #ad73ff;
  --focus: #c3adff;
  --glass-ease: cubic-bezier(.22, 1, .36, 1);
  --ice: #9de6f5;
  --lilac: #d0b8ff;
  --light-edge: #f4edff42;
  --signal-red: #ff4050;
  --signal-green: #32ed6c;
  --data-blue: #349fff;
  --accent-violet: #b47aff;
  --accent-amber: #f3b841;
  --action-gradient: linear-gradient(115deg, #702cd3, #493fc1 58%, #075d91);
}
body { background: radial-gradient(ellipse at 40% 0, rgba(91, 64, 150, .09), transparent 48rem), #080910; }
.skip-link:not(:focus) { clip-path: inset(50%); }
.ambient, .home-grid-graphic { display: none; }
.surface-card { border-color: var(--border); background: radial-gradient(ellipse at 0 0, #ffffff16, transparent 42%), linear-gradient(145deg, #151522, #0c0e19 65%); box-shadow: 0 16px 40px #0002, inset 0 1px #ffffff24; }
.topbar { background: rgba(13, 13, 23, .9); border-bottom-color: var(--border); box-shadow: none; backdrop-filter: blur(16px); }
.topbar-title .eyebrow { display: none; }
.topbar-title h1 { font-size: 1.15rem; letter-spacing: -.03em; }
.topbar-brand-name { color: inherit; text-transform: uppercase; letter-spacing: .12em; }
.topbar-brand-ai { display: inline-block; margin-left: 8px; color: #d7b8ff; font-size: .78em; font-weight: 800; letter-spacing: .08em; text-shadow: 0 0 10px rgba(168, 85, 247, .82); animation: nexora-top-ai-pulse 2.4s ease-in-out infinite; }
@keyframes nexora-top-ai-pulse { 0%, 100% { transform: translateY(0) scale(1); opacity: .78; text-shadow: 0 0 7px rgba(168, 85, 247, .55); } 50% { transform: translateY(-1px) scale(1.1); opacity: 1; text-shadow: 0 0 16px rgba(192, 132, 252, .95); } }
@media (prefers-reduced-motion: reduce) { .topbar-brand-ai { animation: none; } }
body[data-route="signal"] .topbar-title h1::after { content: 'AI'; display: inline-block; margin-left: 8px; color: #d7b8ff; font-size: .78em; font-weight: 800; letter-spacing: .08em; text-shadow: 0 0 10px rgba(168, 85, 247, .82); animation: nexora-top-ai-pulse 2.4s ease-in-out infinite; }
body[data-route="signal"] .topbar-title h1 .topbar-brand-ai { display: none; }
@media (prefers-reduced-motion: reduce) { body[data-route="signal"] .topbar-title h1::after { animation: none; } }
.mode-chip { display: none; }
.sidebar { background: #0e0e18; border-right-color: var(--border); box-shadow: none; }
.sidebar::before, .sidebar::after { display: none; }
.nav-item { border-color: transparent; border-radius: 12px; color: var(--muted); }
.nav-item.is-active { background: linear-gradient(100deg, #7829d62c, #4b2d8810); border-color: #ab62ff45; color: #c195ff; box-shadow: inset 2px 0 #9c58f4; }
.main-content { max-width: 1200px; padding-top: 28px; view-transition-name: none; }
.page-section.is-route-entering { animation: route-content-reveal 180ms ease-out both; }
@keyframes route-content-reveal { from { opacity: .82; } to { opacity: 1; } }
.main-content:focus { outline: none; }
.page-intro { margin-bottom: 22px; gap: 16px; align-items: center; }
.page-intro h2 { font-size: 1.65rem; letter-spacing: -.035em; }
.page-intro p:not(.eyebrow) { margin-top: 6px; font-size: .9rem; }
.card-heading .eyebrow, .drawer-header .eyebrow, .home-footer { display: none; }
.card-heading h3 { font-size: 1rem; }
.button-primary { color: #fff; background: var(--action-gradient); border: 1px solid #b885ff52; box-shadow: inset 0 1px #ffffff40, 0 6px 18px #6e2dc320; }
.button-primary:hover:not(:disabled) { background: linear-gradient(115deg, #8038e3, #554ad1 58%, #096a9d); }
.button-secondary, .icon-button { background: #ffffff06; border-color: var(--border); }
.credit-chip { background: #ffffff06; border-color: var(--border); box-shadow: none; }
.credit-coin { background: #7849c528; color: var(--accent-violet); border-color: #a88aff40; box-shadow: none; }
.credit-coin::after { display: none; }
.field-group input:not([type=checkbox]):not([type=radio]):not([type=range]), .field-group select { background: #0e0f19; border-color: var(--border-strong); }
.status-pill { background: #ffffff05; border-color: var(--border); box-shadow: none; font-size: .75rem; }
.status-pill > span { box-shadow: none; animation: none; }
.form-message:empty { display: none; }

/* Sign-in: approved Aurora motion, floating N, quiet form. */
@font-face { font-family:'Nexora Sora'; src:url('../fonts/sora-latin.woff2') format('woff2'); font-weight:100 800; font-style:normal; font-display:swap; }
@font-face { font-family:'Nexora Unbounded'; src:url('../fonts/unbounded-latin.woff2') format('woff2'); font-weight:200 900; font-style:normal; font-display:swap; }
#loginView { --nx-base:#070d20; --nx-blue:#2e70ff; --nx-violet:#a25bff; --nx-cyan:#14d5dd; --nx-coral:#fd768d; --nx-light:#eef2ff; --nx-muted:#b4bed7; --nx-glow:.75; --nx-speed:1; position:relative; isolation:isolate; display:grid; place-items:center; min-height:100dvh; padding:max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); background:radial-gradient(ellipse at 20% 25%,#193c8524,transparent 50%),radial-gradient(ellipse at 80% 75%,#73439220,transparent 50%),var(--nx-base); color:var(--nx-light); font-family:'Nexora Sora',ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color-scheme:dark; }
#loginView::before,#loginView::after { display:none; }
#loginView .login-shell { position:relative; isolation:isolate; width:min(100%,440px); overflow:hidden; border:1px solid #c1daff1c; border-radius:24px; background:var(--nx-base); box-shadow:0 16px 60px #0003; }
#loginView .nx-content { min-width:0; }
#loginView *,#loginView *::before,#loginView *::after { box-sizing:border-box; }
#loginView .nx-scene { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:-1; background:linear-gradient(165deg,#101129,#061026 56%,#0a1428); }
#loginView .nx-light { position:absolute; width:570px; height:570px; border-radius:50%; opacity:var(--nx-glow); will-change:transform; }
#loginView .nx-light-a { top:-200px; right:-295px; background:radial-gradient(ellipse,var(--nx-blue),transparent 68%); animation:nx-drift-a calc(22s / var(--nx-speed)) ease-in-out infinite alternate; }
#loginView .nx-light-b { left:-340px; top:60px; background:radial-gradient(ellipse,var(--nx-violet),transparent 68%); animation:nx-drift-b calc(27s / var(--nx-speed)) ease-in-out -12s infinite alternate; }
#loginView .nx-light-c { width:460px; height:520px; right:-220px; bottom:-225px; background:radial-gradient(ellipse,var(--nx-cyan),transparent 67%); animation:nx-drift-c calc(25s / var(--nx-speed)) ease-in-out -7s infinite alternate; }
#loginView .nx-light-d { left:-190px; bottom:-190px; width:480px; height:460px; background:radial-gradient(ellipse,var(--nx-coral),transparent 67%); animation:nx-drift-b calc(31s / var(--nx-speed)) ease-in-out -18s infinite alternate; }
#loginView .nx-grid { position:absolute; inset:0; opacity:.07; background-image:linear-gradient(#d5e8ff40 1px,transparent 1px),linear-gradient(90deg,#d5e8ff40 1px,transparent 1px); background-size:52px 52px; mask-image:linear-gradient(black,transparent 55%); }
#loginView .nx-haze { position:absolute; inset:260px 0 65px; background:linear-gradient(180deg,#080f2100,#080f21d9 23%,#080f21eb 78%,#080f2100); }
#loginView .nx-content { position:relative; padding:26px 30px 30px; }
#loginView .nx-top { display:flex; align-items:center; justify-content:space-between; gap:20px; }
#loginView .nx-brand { display:flex; align-items:center; gap:10px; font-family:'Nexora Unbounded','Nexora Sora',sans-serif; font-size:1.0625rem; line-height:1.3; font-weight:650; letter-spacing:-.055em; }
#loginView .nx-mini-n { display:grid; place-items:center; width:33px; height:35px; border-radius:10px; background:linear-gradient(145deg,#ccd7ff25,#9aa6ff08); border:1px solid #c1daff4d; color:#d9e7ff; font-family:'Nexora Sora',sans-serif; font-size:1.4375rem; font-weight:800; box-shadow:inset 0 1px #e3f3ff40; }
#loginView button,#loginView input { font:inherit; }
#loginView .nx-pause { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #c7e5ff26; border-radius:50%; background:#07132545; color:#c6d8f7; cursor:pointer; }
#loginView .nx-pause svg { width:17px; height:17px; }
#loginView .nx-hero { height:177px; position:relative; margin:4px 0 6px; perspective:600px; }
#loginView .nx-monogram { position:absolute; top:17px; left:calc(50% - 70px); width:140px; height:140px; transform-style:preserve-3d; animation:nx-float calc(8s / var(--nx-speed)) ease-in-out -2s infinite; }
#loginView .nx-monogram::before { content:''; position:absolute; width:175px; height:24px; left:-18px; bottom:-9px; border-radius:50%; background:radial-gradient(ellipse,#78caff3d,transparent 70%); transform:rotateX(62deg); }
#loginView .nx-n { position:relative; display:block; height:140px; font-size:136px; font-weight:800; line-height:1; letter-spacing:-.1em; text-align:center; padding-right:10px; color:#9ccaff; background:linear-gradient(130deg,#fcfdff 12%,#99bdff 23%,#628aff 41%,#bdadff 52%,#42dfed 68%,#1e6adb 86%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; -webkit-text-stroke:1px #f4f4ff96; filter:drop-shadow(0 12px 13px #04286070); transform:rotate(-9deg) rotateY(-14deg); }
#loginView .nx-back-n { position:absolute; inset:6px 0 0 6px; color:#2942a2; -webkit-text-fill-color:#2942a2; -webkit-text-stroke:1px #a0bdff40; filter:none; }
#loginView .nx-spark { position:absolute; width:4px; height:4px; border-radius:50%; background:#d5eaff; box-shadow:0 0 13px #d2e4ff7d; }
#loginView .nx-spark.s1 { left:20px; top:60px; }
#loginView .nx-spark.s2 { right:40px; top:2px; width:3px; height:3px; }
#loginView .nx-spark.s3 { right:5px; top:140px; }
#loginView .nx-float-object { position:absolute; border:1px solid #d0edff65; box-shadow:inset 0 1px #f5ffff4d,0 12px 24px #0002; background:linear-gradient(145deg,#aebaff20,#b7eaff08); animation:nx-object calc(13s / var(--nx-speed)) ease-in-out infinite; }
#loginView .nx-cube { width:36px; height:36px; right:8px; top:22px; border-radius:11px; transform:rotate(24deg); animation-delay:-5s; }
#loginView .nx-cube::after { content:''; position:absolute; inset:8px; border:1px solid #accfff40; border-radius:5px; }
#loginView .nx-diamond { width:22px; height:22px; left:12px; top:126px; border-radius:6px; background:linear-gradient(135deg,#eea8e32e,#8fcfff08); animation-delay:-9s; }
#loginView .nx-orb { width:19px; height:19px; right:76px; bottom:5px; border-radius:50%; background:radial-gradient(circle at 30% 25%,#e5ffffa6,#9fc6ff26 33%,#172ad661 72%); animation-duration:calc(17s / var(--nx-speed)); }
#loginView .nx-greeting { margin:0 0 25px; text-align:left; }
#loginView .nx-greeting h1 { margin:0; padding:0; color:#f4f5ff; font-family:'Nexora Unbounded','Nexora Sora',sans-serif; font-size:1.875rem; line-height:1.22; letter-spacing:-.055em; word-spacing:normal; font-weight:650; }
#loginView .nx-greeting p { margin:9px 0 0; color:#c0cbe3; font-size:0.875rem; line-height:1.6; font-weight:400; letter-spacing:-.035em; }
#loginView .nx-form { display:grid; gap:17px; margin:0; }
#loginView .nx-field { min-width:0; }
#loginView .nx-field label { display:block; margin:0 0 8px; color:#dce5fa; font-size:0.75rem; line-height:1.5; font-weight:600; }
#loginView .nx-input-wrap { display:flex; align-items:center; position:relative; }
#loginView .nx-input-icon { position:absolute; left:15px; display:grid; color:#a5c0e8; pointer-events:none; }
#loginView .nx-input-icon svg { width:17px; height:17px; }
#loginView .field-group input:not([type=checkbox]):not([type=radio]):not([type=range]) { display:block; min-width:0; width:100%; min-height:52px; padding:13px 14px 13px 43px; border:1px solid #637592; border-radius:13px; color:#eff4ff; background:#0b1930ed; font-size:1rem; line-height:1.5; box-shadow:inset 0 1px #f7ffff0c; transition:border-color .2s,background-color .2s; }
#loginView .field-group input:not([type=checkbox]):not([type=radio]):not([type=range]):focus { border-color:#a7c7ff; background:#10213b; }
#loginView .field-group input:not([type=checkbox]):not([type=radio]):not([type=range])::placeholder { color:#a9bad4; opacity:1; }
#loginView .field-group input:not([type=checkbox]):not([type=radio]):not([type=range])[type=password] { letter-spacing:.2em; }
#loginView .nx-password { padding-right:49px !important; }
#loginView .nx-eye { position:absolute; right:4px; width:44px; height:44px; display:grid; place-items:center; border:0; border-radius:10px; color:#b0c5e5; background:transparent; cursor:pointer; }
#loginView .nx-eye svg { width:18px; height:18px; }
#loginView .nx-enter { min-height:52px; width:100%; margin-top:4px; padding:12px 16px; border:1px solid #d5eeff80; border-radius:13px; color:#09192f; background:linear-gradient(105deg,#9fbdff,#a6d4fc 55%,#83e4ec); font-family:'Nexora Unbounded','Nexora Sora',sans-serif; font-size:.8125rem; font-weight:650; line-height:1.5; box-shadow:inset 0 1px #ffffffb3,0 10px 26px #447ad338; cursor:pointer; transition:transform .18s,box-shadow .18s; }
#loginView .nx-enter:hover { box-shadow:inset 0 1px #fff,0 10px 30px #6094ed55; }
#loginView .nx-enter:active { transform:scale(.98); }
#loginView .nx-support { display:grid; justify-items:center; gap:5px; margin-top:24px; padding-top:17px; border-top:1px solid #9fbbe924; }
#loginView .nx-support p { margin:0; color:#e5eaff; font-size:0.75rem; line-height:1.5; font-weight:400; }
#loginView .nx-telegram { display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 12px; border:0; border-radius:10px; color:#c4f1ff; background:none; text-decoration:none; font-size:0.8125rem; line-height:1.5; font-weight:600; cursor:pointer; }
#loginView .nx-telegram svg { width:16px; height:16px; }
#loginView[data-paused=true] *,#loginView[data-paused=true] *::before { animation-play-state:paused !important; }
@keyframes nx-drift-a { from { transform:translate3d(0,0,0) scale(.9); } to { transform:translate3d(-105px,115px,0) scale(1.22); } }
@keyframes nx-drift-b { from { transform:translate3d(-15px,20px,0) scale(.95); } to { transform:translate3d(95px,-85px,0) scale(1.2); } }
@keyframes nx-drift-c { from { transform:translate3d(0,0,0) scale(1.1); } to { transform:translate3d(-75px,-120px,0) scale(.85); } }
@keyframes nx-float { 0%,100% { transform:translate3d(0,0,0) rotate(-2deg); } 50% { transform:translate3d(4px,-9px,0) rotate(2deg); } }
@keyframes nx-object { 0%,100% { translate:0 0; rotate:12deg; } 50% { translate:5px -13px; rotate:32deg; } }
@media(max-width:370px) { #loginView .nx-content { padding:22px 22px 24px; } #loginView .nx-greeting h1 { font-size:1.65rem; } #loginView .nx-cube { width:28px;height:28px;right:0; } }
@media(prefers-reduced-motion:reduce) { #loginView *,#loginView *::before { animation:none !important; transition:none !important; } }
/* Production form states stay legible while only the decorative layer moves. */
#loginView .nx-form { gap:17px; }
#loginView .nx-input-icon { z-index:1; }
#loginView input::placeholder { letter-spacing:normal; }
#loginView .field-group input:focus { outline:2px solid #a7c7ff; outline-offset:2px; box-shadow:none; }
#loginView .field-group input:not([type=checkbox]):not([type=radio]):not([type=range])[aria-invalid=true] { border-color:#ff9ba9; }
#loginView .field-group input:-webkit-autofill { -webkit-text-fill-color:#eff4ff; -webkit-box-shadow:0 0 0 100px #10213b inset; caret-color:#a7c7ff; }
#loginView .nx-enter { min-height:52px; text-transform:none; letter-spacing:normal; }
#loginView .nx-enter:disabled { opacity:.7; cursor:wait; }
#loginView .nx-enter.is-loading::after { width:16px; height:16px; border:2px solid #09192f50; border-top-color:#09192f; border-radius:50%; background:none; box-shadow:none; animation:nx-login-spin 700ms linear infinite; }
@keyframes nx-login-spin { to { transform:rotate(360deg); } }
#loginView .nx-eye { top:4px; }
#loginView .nx-eye:hover,#loginView .nx-eye[aria-pressed=true],#loginView .nx-pause:hover,#loginView .nx-telegram:hover { background:#b9dcff12; }
#loginView .nx-play-glyph,#loginView .nx-pause[aria-pressed=true] .nx-pause-glyph { display:none; }
#loginView .nx-pause[aria-pressed=true] .nx-play-glyph { display:block; }
#loginView :is(button,a):focus-visible { outline:2px solid #a7c7ff; outline-offset:4px; }
#loginView :is(button,a) { touch-action:manipulation; }
#loginView .nx-telegram svg { fill:currentColor; stroke:none; flex-shrink:0; }
#loginView .nx-telegram span { overflow-wrap:anywhere; }
#loginView .field-error,#loginView .form-message { color:#ff9ba9; font-size:.8125rem; line-height:1.5; }
#loginView .field-error:empty { display:none; }
#loginView .form-message:not(:empty) { padding:10px 12px; border:1px solid #ff9ba944; border-radius:10px; background:#10182af5; }
#loginView .nx-top { min-height:44px; }
@media(max-width:480px) {
  #loginView { padding:0; }
  #loginView .login-shell { min-height:100dvh; border:0; border-radius:0; box-shadow:none; }
  #loginView .nx-content { padding-top:max(26px,env(safe-area-inset-top)); padding-bottom:max(30px,env(safe-area-inset-bottom)); padding-left:max(30px,env(safe-area-inset-left)); padding-right:max(30px,env(safe-area-inset-right)); }
}
@media(max-width:370px) {
  #loginView .nx-content { padding-left:max(22px,env(safe-area-inset-left)); padding-right:max(22px,env(safe-area-inset-right)); }
}
@media(max-height:600px) {
  #loginView { align-items:start; }
  #loginView .nx-hero { height:135px; }
  #loginView .nx-monogram { top:0; scale:.82; }
  #loginView .nx-diamond { top:96px; }
}
@media(prefers-reduced-motion:reduce) {
  #loginView *,#loginView *::before,#loginView *::after { animation:none !important; transition:none !important; }
  #loginView .nx-light { will-change:auto; }
}

/* Consistent dashboard and account surfaces; preserve command-card sizing. */
.home-tool-grid { gap: 14px; }
.home-tool-card { min-height: 236px; padding: 20px; border-radius: 20px; border-color: rgba(var(--tool-rgb), .4); background: radial-gradient(ellipse at 0 0, #ffffff16, transparent 40%), radial-gradient(ellipse at 75% 35%, rgba(var(--tool-rgb), .13), transparent 60%), linear-gradient(145deg, #171725, #0c0e19); box-shadow: inset 0 1px #ffffff25; backdrop-filter: none; will-change: auto; }
.home-tool-card::before, .home-tool-card::after, .home-tool-number { display: none; }
.home-tool-visual { top: 66px; left: 70px; right: 48px; height: 86px; }
.home-tool-card:hover { transform: translateY(-2px); border-color: #a88aff50; box-shadow: 0 12px 28px #0002; }
.home-tool-icon { color: rgb(var(--tool-rgb)); background: rgba(var(--tool-rgb), .12); border-color: rgba(var(--tool-rgb), .35); box-shadow: inset 0 1px #ffffff17; }
.home-tool-copy { position: relative; grid-column: 1 / -1; align-self: end; margin-top: 108px; }
.home-tool-copy strong { font-size: 1rem; color: rgb(var(--tool-rgb)); }
.home-tool-copy small { color: var(--muted); font-size: .8rem; }
.home-tool-copy small { text-transform: none; letter-spacing: 0; font-weight: 450; }
.home-welcome-box { background: radial-gradient(ellipse at 0 0, #ffffff22, transparent 36%), linear-gradient(115deg, #261835, #111421 62%, #0e2929); border-color: #b68ad944; box-shadow: 0 16px 42px #0003, inset 0 1px #ffffff40; backdrop-filter: none; }
.home-limit-inline .home-credit-total strong { color: var(--data-blue); text-shadow: none; }
.home-tool-card:hover { border-color: rgba(var(--tool-rgb), .65); }
.home-glow { opacity: .16; animation: none; }
.home-state-box, .home-limit-box { background: #ffffff05; border-color: var(--border); backdrop-filter: none; box-shadow: inset 0 1px #ffffff08; }
.state-scan, .state-orbit { display: none; }
.profile-drawer { border-color: #d6c8ee30; }
.drawer-section { border-color: var(--border); }
.future-page-intro .status-pill { margin-top: 0; }
#page-planner { --future-border: var(--border); }
#page-planner .future-control-card, #page-planner .future-schedule-card { background: radial-gradient(ellipse at 0 0, #ffffff17, transparent 38%), linear-gradient(145deg, #1b1329, #0c0d19); border-color: #9d66df36; box-shadow: inset 0 1px #ffffff28; }
#page-planner .future-card-orb { display: none; }
#page-planner .future-window-card { border-color: var(--border); background: #a88aff06; }
#page-planner .future-relay-status { border-color: var(--border); background: #ffffff05; }
#page-planner .future-relay-status span { box-shadow: none; }
#page-planner .future-generate-button { background: var(--action-gradient); box-shadow: inset 0 1px #ffffff40, 0 6px 18px #6e2dc320; }
#page-planner .future-generate-button:hover:not(:disabled) { background: linear-gradient(115deg, #8038e3, #554ad1 58%, #096a9d); box-shadow: inset 0 1px #ffffff40, 0 8px 22px #6e2dc330; }
#page-planner .future-confidence-field output, #page-planner .future-row-score { color: var(--data-blue); }
#page-planner .future-selection-bar strong, #page-planner .future-window-footer strong, #page-planner .future-empty-calendar { color: #ff658e; }
#page-planner .future-window-card.is-invalid .future-window-footer strong { color: var(--signal-red); }
#page-planner .future-summary-grid strong { color: var(--accent-violet); }
#page-planner .future-schedule-row.is-call { border-left-color: var(--signal-green); }
#page-planner .future-schedule-row.is-put { border-left-color: var(--signal-red); }
#page-planner .future-schedule-row.is-call .future-row-direction { color: var(--signal-green); background: #32ed6c12; }
#page-planner .future-schedule-row.is-put .future-row-direction { color: var(--signal-red); background: #ff405012; }
#page-planner .future-asset-tokens { min-height: 36px; }
#page-planner .future-asset-artwork { position: relative; display: grid; place-items: center; width: 28px; height: 28px; overflow: hidden; border: 0; border-radius: 50%; background: transparent; box-shadow: none; }
#page-planner .future-asset-artwork + .future-asset-artwork { margin-left: -3px; }
#page-planner .future-asset-artwork svg { width: 100%; height: 100%; }
#page-planner .future-row-identity { position: relative; padding-left: 56px; }
#page-planner .future-row-artwork { position: absolute; left: 0; top: 50%; display: flex; align-items: center; transform: translateY(-50%); }
#page-planner .future-row-asset-icon { display: grid; width: 23px; height: 23px; overflow: hidden; border: 0; border-radius: 50%; background: transparent; }
#page-planner .future-row-asset-icon + .future-row-asset-icon { margin-left: -3px; }
#page-planner .future-row-asset-icon svg { width: 100%; height: 100%; }

/* Semantic colors stay consistent across news, signals and account balances. */
.event-card { background: radial-gradient(ellipse at 0 0, #ffffff10, transparent 42%), linear-gradient(145deg, #141923, #0d101b); box-shadow: inset 0 1px #ffffff20; }
.event-card.is-selected { border-color: #32d7b680; box-shadow: inset 2px 0 #32d7b6, inset 0 1px #ffffff20; }
.event-currency { color: #39edc2; background: #12382e; }
.segmented input:checked + span { color: #c195ff; background: linear-gradient(120deg, #321950, #201b3c); box-shadow: inset 0 1px #ffffff25; }
.event-signal.is-call, .decision-badge.is-call, .decision-badge.is-buy { color: var(--signal-green); background: #32ed6c12; border-color: #32ed6c45; }
.event-signal.is-put, .decision-badge.is-put, .decision-badge.is-sell { color: var(--signal-red); background: #ff405012; border-color: #ff405045; }
.impact-badge { color: var(--accent-amber); }
.impact-badge.is-high { color: #ff5865; background: #ff405012; }
#newsConfidence { color: var(--data-blue); }
.binance-payment-card .binance-account-id code, .binance-payment-card b { color: var(--accent-amber); }

/* Chart workspace */
#page-signal { max-width: 720px; margin-inline: auto; }
.analysis-heading { display: flex; gap: 14px; align-items: center; margin: 2px 0 24px; }
.analysis-heading-copy { min-width: 0; }
.analysis-back { width: 46px; height: 46px; border-radius: 16px; background: linear-gradient(145deg, #343340, #15151f); box-shadow: inset 0 1px #ffffff28; }
.analysis-back svg { transform: rotate(180deg); }
.analysis-heading h2 { display: flex; gap: 10px; align-items: center; margin: 0; font-size: 1.5rem; font-weight: 730; letter-spacing: -.035em; line-height: 1.2; }
.analysis-heading h2 svg { color: #b897ff; width: 20px; height: 20px; }
.analysis-heading p { margin: 5px 0 0; color: var(--muted); font-size: .8rem; }
.analysis-heading p span { margin-inline: 5px; opacity: .6; }
/* Slim market glass with original radar and live-pulse glyphs. */
.market-console { width: min(100%, 520px); margin: 0 0 26px; }
.market-caption { display: block; margin: 0 0 9px 2px; color: var(--muted); font-size: .66rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.market-key-switch {
  --key-accent: #dcc9ff;
  --key-glow: 174, 122, 255;
  position: relative; isolation: isolate; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%; min-width: 0; margin: 0; padding: 3px;
  border: 1px solid #cdc6f027; border-radius: 16px;
  background: radial-gradient(ellipse at 12% 0, #c3b8ef0b, transparent 65%), linear-gradient(180deg, #12111dba, #090c16d4);
  box-shadow: inset 0 1px #ffffff0d, inset 0 -1px 3px #0003, 0 6px 16px #0002;
  -webkit-backdrop-filter: blur(20px) saturate(140%); backdrop-filter: blur(20px) saturate(140%);
  touch-action: pan-y; user-select: none; -webkit-user-select: none;
}
.market-key-switch[data-market=live] { --key-accent: #baf8e6; --key-glow: 92, 221, 183; }
.market-key-switch::before { content: ''; position: absolute; pointer-events: none; top: -1px; left: 8%; right: 8%; height: 1px; background: linear-gradient(90deg, transparent, #e4dfff3d 20%, #f2e8ff17 58%, transparent); }
.market-key-switch button { position: relative; z-index: 1; display: flex; justify-content: center; align-items: center; gap: 8px; min-width: 0; min-height: 44px; padding: 8px 16px; border: 0; border-radius: 12px; background: transparent; color: #a9a6bb; cursor: pointer; touch-action: pan-y; -webkit-tap-highlight-color: transparent; transition: color 180ms ease, background-color 180ms ease; }
.market-key-switch button[aria-checked=true] { color: #f0eafa; }
.market-key-switch button:hover:not(:disabled) { color: #fff; background-color: #ffffff05; }
.market-key-switch button:active:not(:disabled) { background-color: #ffffff0a; }
.market-key-switch button:focus-visible { outline: 2px solid #ece2ff; outline-offset: -4px; }
.market-key-icon { flex: 0 0 auto; width: 19px; height: 19px; stroke-width: 1.45; transition: color 180ms ease; }
.market-glyph-secondary { opacity: .55; }
.market-glyph-radar, .market-glyph-pulse { overflow: visible; stroke-linecap: round; stroke-linejoin: round; }
.market-glyph-radar circle, .market-glyph-pulse circle { transition: opacity 180ms ease, transform 180ms ease; transform-origin: center; }
.market-key-switch button[aria-checked=true] .market-glyph-radar circle, .market-key-switch button[aria-checked=true] .market-glyph-pulse circle { opacity: 1; transform: scale(1.08); }
.market-key-switch button[aria-checked=true] .market-key-icon { color: var(--key-accent); }
.market-key-label { font-size: .78rem; font-weight: 550; letter-spacing: .06em; line-height: 1.5; }
.market-key-cursor {
  position: absolute; z-index: 0; top: 3px; bottom: 3px; left: 3px; width: calc((100% - 6px) / 2);
  overflow: hidden; border: 1px solid rgba(var(--key-glow), .28); border-radius: 12px; pointer-events: none;
  background-color: rgba(var(--key-glow), .1);
  background-image: radial-gradient(ellipse at 22% 0, #ffffff18, transparent 70%), linear-gradient(165deg, #ffffff08, #ffffff02 48%, #08081810);
  box-shadow: inset 0 1px #ffffff2e, inset 1px 0 #ffffff0d, inset 0 -1px rgba(var(--key-glow), .12), 0 2px 5px #0003, 0 0 10px rgba(var(--key-glow), .06);
  transform: translate3d(0, 0, 0);
  transition: transform 420ms var(--glass-ease), background-color 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
}
.market-key-cursor::before { content: ''; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(112deg, transparent 14%, #ffffff0b 29%, #ffffff02 42%, transparent 57%); }
.market-key-cursor::after { content: ''; position: absolute; left: 22%; right: 22%; bottom: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--key-accent), transparent); opacity: .4; }
[data-market=live] > .market-key-cursor { transform: translate3d(100%, 0, 0); }
.market-key-switch.is-dragging .market-key-cursor { transition: none; will-change: transform; }
.market-key-switch:disabled { opacity: .55; }
.market-key-switch:disabled button { cursor: progress; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .market-key-switch { background: linear-gradient(160deg, #1a1727, #0c101b); }
}
@media (forced-colors: active) {
  .market-key-switch { border-color: ButtonText; }
  .market-key-cursor { display: none; }
  .market-key-switch button[aria-checked=true] { outline: 2px solid Highlight; outline-offset: -3px; color: Highlight; }
  .market-key-switch button:focus-visible { outline: 3px dashed ButtonText; outline-offset: -6px; }
}

/* Sidebar v2: a quieter glass rail with a luminous active route. */
.sidebar {
  position: fixed; isolation: isolate; overflow-x: hidden; overflow-y: auto; padding: 0;
  background:
    radial-gradient(ellipse 280px 360px at 14% 2%, #8d62ff13, transparent 72%),
    radial-gradient(ellipse 240px 250px at 94% 96%, #38d8c20b, transparent 72%),
    linear-gradient(180deg, #11111d 0%, #0d0d17 55%, #0a0b13 100%);
  border-right-color: #d6cdfc18;
  box-shadow: 16px 0 44px #02020966, inset -1px 0 #ffffff08;
}
.sidebar::before {
  content: ''; display: block; position: absolute; z-index: -1; top: 98px; bottom: 98px; right: 18px; width: 1px;
  background: linear-gradient(180deg, transparent, #b88aff30 16%, #63d9ce22 78%, transparent);
  box-shadow: 0 0 14px #9b70ff18;
}
.sidebar::after {
  content: ''; display: block; position: absolute; z-index: -1; inset: 0; pointer-events: none;
  background: linear-gradient(105deg, transparent 0 78%, #ffffff03 86%, transparent 96%);
}
.sidebar-header { flex: 0 0 auto; padding: max(24px, env(safe-area-inset-top)) 18px 18px; }
.sidebar-brand {
  display: flex; align-items: center; gap: 11px; min-height: 46px; padding: 5px 10px 5px 6px;
  border: 1px solid #c9baff18; border-radius: 16px;
  background: linear-gradient(135deg, #ffffff0a, #ffffff02 58%, #9f78e90a);
  box-shadow: inset 0 1px #ffffff12, 0 8px 22px #0002;
}
.sidebar-brand img { width: 34px; height: 34px; border-radius: 10px; box-shadow: 0 0 18px #9c62ff45, inset 0 1px #ffffff54; }
.sidebar-brand span { font-size: 1rem; font-weight: 670; letter-spacing: -.03em; }
.sidebar-brand i { color: #bba1ff; font-style: normal; }
.sidebar-nav { gap: 6px; margin-top: 14px; padding: 8px 14px 28px; }
.sidebar-nav-label {
  display: flex; align-items: center; gap: 8px; margin: 18px 10px 6px; color: #8f87b5; font-size: .61rem; font-weight: 760; letter-spacing: .16em; line-height: 1.3; text-transform: uppercase;
}
.sidebar-nav-label::before { content: ''; width: 14px; height: 1px; background: linear-gradient(90deg, #a576ff99, transparent); }
.nav-item {
  position: relative; min-height: 46px; gap: 11px; padding: 6px 26px 6px 11px; border: 1px solid transparent; border-radius: 14px;
  color: #bbb5cc; font-size: .84rem; font-weight: 550; letter-spacing: -.015em;
  transition: transform 180ms var(--glass-ease), background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}
.nav-item svg {
  flex: 0 0 auto; width: 30px; height: 30px; padding: 6px; border: 1px solid #d2c5ff12; border-radius: 10px; color: #b9b0d0; background: #ffffff06;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.nav-item:hover { transform: translateX(2px); color: #e9e2f8; background: #ffffff08; border-color: #d4c6ff17; }
.nav-item:hover svg { color: #d9c8ff; border-color: #bd95ff34; background: #9f6cf017; }
.nav-item.is-active {
  background: linear-gradient(100deg, #7b43cf25, #4b317d0b 72%); border-color: #ba86ff55; color: #eadcff;
  box-shadow: inset 3px 0 #ae6cff, inset 0 1px #ffffff12, 0 7px 18px #06030f38;
}
.nav-item.is-active::after {
  content: ''; position: absolute; right: 12px; width: 5px; height: 5px; border-radius: 50%; background: #c69bff;
  box-shadow: 0 0 0 4px #c69bff12, 0 0 12px #b273ff99;
}
.nav-item.is-active svg { color: #e1c8ff; border-color: #c08aff55; background: linear-gradient(145deg, #b26cff35, #5c35a51c); box-shadow: inset 0 1px #ffffff24, 0 0 13px #8c4af52e; }
.sidebar-note {
  flex-shrink: 0;
  margin: auto 14px 18px; padding: 12px 12px 12px 10px; gap: 9px; border: 1px solid #cfc4f024; border-radius: 15px;
  background: linear-gradient(135deg, #ffffff0a, #ffffff03); box-shadow: inset 0 1px #ffffff0d, 0 10px 24px #0002; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
}
.sidebar-note svg { flex: 0 0 auto; width: 25px; height: 25px; padding: 6px; border: 1px solid #cfc4f01d; border-radius: 8px; color: #bca8e2; background: #ffffff07; }
.sidebar-note p { color: #b6aec8; font-size: .71rem; line-height: 1.55; }
.analysis-heading h2 svg { flex: 0 0 auto; width: 25px; height: 25px; padding: 3px; color: #c1a6f2; filter: drop-shadow(0 0 7px #9b64ff35); }
@media (max-width: 959px) {
  .sidebar { box-shadow: 16px 0 44px #020209aa, inset -1px 0 #ffffff08; }
  .sidebar-header { padding-top: max(18px, env(safe-area-inset-top)); }
  .sidebar-nav { padding-inline: 12px; }
  .sidebar-note { margin-bottom: max(14px, env(safe-area-inset-bottom)); }
}
#page-signal .signal-layout, #page-signal.has-analysis .signal-layout { display: block; }
#page-signal .analysis-input-card { padding: 26px; border-radius: 26px; background: radial-gradient(ellipse at 0 0, #ded4ff14, transparent 55%), linear-gradient(145deg, #181724d9, #0e111de8 70%); border-color: #cec5ee2e; box-shadow: inset 0 1px #ffffff36, inset 1px 0 #ffffff0c, 0 18px 44px #0003; }
#page-signal .card-heading { margin-bottom: 20px; }
#page-signal .card-heading > span { color: var(--muted); font-size: .7rem; }
#page-signal .form-stack { gap: 18px; }
.chart-ai-settings { display: grid; gap: 14px; padding: 16px; border: 1px solid #c7b5ef2e; border-radius: 18px; background: linear-gradient(135deg, #1a1727 0%, #10101b 72%); box-shadow: inset 0 1px #ffffff08; }
.chart-ai-settings > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.chart-ai-settings > header > div { min-width: 0; display: flex; align-items: center; gap: 9px; }
.chart-ai-settings > header strong { color: #f2edf8; font-size: .83rem; }
.chart-ai-settings > header small { overflow: hidden; color: #c9b7e0; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.chart-ai-status-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #42e5ba; box-shadow: 0 0 0 4px #42e5ba13, 0 0 14px #42e5ba70; }
.chart-ai-grid { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 10px; align-items: end; }
.chart-ai-settings .field-group label, .chart-speed-field legend { margin-bottom: 7px; color: #a89db8; font-size: .7rem; font-weight: 720; }
.chart-ai-settings .field-group select { min-height: 44px; padding: 0 11px; border-color: #d7c9ef2e; border-radius: 11px; background: #0c0d17; color: #eee7f7; font-size: .77rem; }
.chart-ai-settings .field-group select option:disabled { color: #777080; }
.chart-speed-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.chart-speed-switch { min-height: 44px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 3px; border: 1px solid #d7c9ef2e; border-radius: 11px; background: #0c0d17; }
.chart-speed-switch label { min-width: 0; margin: 0; }
.chart-speed-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.chart-speed-switch span { min-height: 36px; display: flex; align-items: center; justify-content: center; gap: 4px; padding: 0 6px; border-radius: 8px; color: #8f869d; cursor: pointer; font-size: .68rem; font-weight: 720; }
.chart-speed-switch svg { width: 12px; height: 12px; }
.chart-speed-switch input:checked + span { color: #f5effb; background: linear-gradient(135deg, #6441a0, #342259); box-shadow: inset 0 1px #ffffff1c; }
.chart-speed-switch input:focus-visible + span { outline: 2px solid #c4a9ff; outline-offset: 1px; }
.chart-ai-settings > p { min-height: 16px; margin: -2px 0 0; color: #8f869d; font-size: .67rem; line-height: 1.45; }
#page-signal .upload-zone { min-height: 290px; border-radius: 20px; border-color: #aca0ce4a; background: linear-gradient(160deg, #ac91e308, #0c0b1400); }
#page-signal .upload-zone:hover, #page-signal .upload-zone.is-dragging { border-color: #bba5ff; background: #a88aff0b; }
#page-signal .upload-zone.has-preview { min-height: 0; max-height: 560px; transition: border-color 180ms ease; }
#page-signal .upload-icon { width: 56px; height: 56px; border-radius: 18px; color: var(--accent-violet); background: linear-gradient(145deg, #8436d838, #3b1a631c); border: 1px solid #b47aff50; box-shadow: inset 0 1px #ffffff25; }
#page-signal .upload-placeholder { gap: 10px; }
#page-signal .upload-placeholder strong { font-size: 1.05rem; margin-top: 5px; }
#page-signal .upload-placeholder small { color: var(--muted); max-width: none; font-size: .85rem; }
.upload-browse { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; min-height: 42px; padding: 0 17px; border-radius: 12px; background: #ffffff09; border: 1px solid var(--border); color: #e3d9fa; font-size: .8rem; font-weight: 650; }
.upload-browse svg { width: 15px; height: 15px; }
#page-signal .form-hint { justify-content: center; font-size: .75rem; margin: 0; }
#page-signal .form-hint svg { color: #a89aba; }
#page-signal .result-card { display: none; min-height: 0; padding: 28px; border-radius: 26px; }
#page-signal.has-analysis .result-card, #page-signal.is-analyzing .result-card { display: block; }
#page-signal.has-analysis .analysis-input-card, #page-signal.is-analyzing .analysis-input-card { display: none; }
#page-signal .result-card { --decision: var(--signal-green); --decision-rgb: 50, 237, 108; --decision-deep: #08752d; position: relative; isolation: isolate; background: radial-gradient(ellipse 240px 310px at -32px -45px, #ffffff52, transparent 80%), linear-gradient(108deg, #ffffff0c, transparent 36%), linear-gradient(145deg, #121420, #090c17 62%, #111020); border-color: #a6a3bd40; border-left-color: #e2e8ff70; box-shadow: inset 0 1px #ffffff75, inset 1px 0 #ffffff19, 0 18px 48px #0005; }
#page-signal .result-card::before { content: ''; position: absolute; pointer-events: none; top: 0; left: 18px; right: 18px; height: 1px; background: linear-gradient(90deg, #fff9, #dbe5ff60 18%, transparent 65%); }
#page-signal .result-card::after { content: ''; position: absolute; pointer-events: none; top: 24px; left: 0; width: 1px; height: min(54%, 290px); background: linear-gradient(180deg, #fff9, #c5d9ff40 40%, transparent); }
#page-signal .result-card.is-put { --decision: var(--signal-red); --decision-rgb: 255, 64, 80; --decision-deep: #b50d29; }
.chart-readout { display: grid; gap: 24px; animation: readout-enter 240ms var(--glass-ease); }
.readout-instrument { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 22px; border-bottom: 1px solid var(--border); }
.readout-instrument > div { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; min-width: 0; }
#resultPair { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin: 0; font-size: 1.3rem; font-weight: 760; letter-spacing: -.035em; }
#resultPair .asset-leg { gap: 6px; }
.asset-flag { flex: 0 0 auto; display: inline-grid; place-items: center; width: 23px; height: 23px; overflow: hidden; border: 0; border-radius: 50%; background: transparent; box-shadow: none; }
.asset-flag svg { display: block; width: 100%; height: 100%; }
/* Restore Quotex's original paint defaults. Some paths inherit black fill;
   app.css's global outlined-icon stroke distorts stars and small token logos. */
svg.quotex-artwork-svg { fill: #000; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; filter: none; }
.readout-market { padding: 3px 8px; border-radius: 7px; border: 1px solid #b47aff55; color: #bf8cff; background: #30154b; font-size: .67rem; font-weight: 750; }
.readout-direction { flex: 0 0 auto; padding: 6px 8px; border: 1px solid rgba(var(--decision-rgb), .24); border-radius: 6px; background: linear-gradient(135deg, rgba(var(--decision-rgb), .12), rgba(var(--decision-rgb), .03)); color: var(--decision); font-family: ui-monospace, Consolas, monospace; font-size: .72rem; font-weight: 500; letter-spacing: .08em; }
.readout-direction::before { content: ''; display: inline-block; width: 5px; height: 5px; margin: 0 7px 2px 0; background: currentColor; }
.readout-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr)); gap: 28px; padding: 0 0 4px; }
.readout-verdict { position: relative; isolation: isolate; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 16px 8px; min-width: 0; }
.readout-verdict::before { content: ''; position: absolute; z-index: -1; pointer-events: none; inset: -10px; border: 1px solid rgba(var(--decision-rgb), .18); border-left: 2px solid var(--decision-deep); border-radius: 10px; background: linear-gradient(115deg, rgba(var(--decision-rgb), .095), #0b0e16 88%); }
.readout-verdict > div { grid-column: 1; grid-row: 1; }
.readout-verdict-icon { grid-column: 2; grid-row: 1; display: grid; place-items: center; width: 48px; height: 52px; border-radius: 14px 5px 14px 5px; border: 1px solid rgba(var(--decision-rgb), .55); background: linear-gradient(145deg, rgba(var(--decision-rgb), .16), #0b0e16); box-shadow: inset 0 1px rgba(var(--decision-rgb), .3), 0 6px 16px #0002; color: var(--decision); }
.readout-verdict-icon svg { width: 29px; height: 29px; stroke-width: 1.8; }
.readout-verdict > div > span, .readout-time > span { display: block; color: #c7becf; font-size: .72rem; }
.readout-verdict > div > strong { display: block; margin-top: 8px; color: var(--decision); font-size: 3.2rem; font-weight: 750; line-height: 1.1; letter-spacing: -.05em; }
.readout-time { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; min-width: 0; }
.readout-time > strong { font-size: .85rem; font-family: ui-monospace, Consolas, monospace; font-weight: 500; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.readout-confidence { min-width: 0; padding-left: 28px; border-left: 1px solid var(--border); }
.readout-confidence span, .readout-facts dt { color: #b7b0c7; font-size: .75rem; font-weight: 650; }
.readout-confidence p { margin: 10px 0 0; color: #72c7ff; font-size: .72rem; line-height: 1.5; }
.readout-confidence > strong { display: block; margin: 8px 0 12px; color: var(--text); font-size: 2.5rem; font-weight: 450; line-height: 1.1; letter-spacing: -.055em; font-variant-numeric: tabular-nums; }
.readout-confidence > strong { color: var(--data-blue); font-weight: 650; }
.readout-meter { height: 13px; overflow: hidden; background: #ffffff0a; mask-image: repeating-linear-gradient(90deg, #000 0 3px, transparent 3px 6px); }
.readout-meter > span { display: block; height: 100%; width: 100%; background: linear-gradient(90deg, #278dff, #8c6dff); transform: scaleX(var(--confidence, 0)); transform-origin: left; }
.readout-reasoning { padding-top: 22px; border-top: 1px solid var(--border); }
.readout-reasoning h4 { display: flex; align-items: center; gap: 9px; margin: 0 0 14px; color: var(--accent-violet); font-size: .95rem; font-weight: 650; }
.readout-reasoning h4 svg { color: #b897ff; width: 18px; height: 18px; }
.readout-reasoning p { margin: 0; color: #cbcddd; font-size: .95rem; line-height: 1.8; overflow-wrap: anywhere; }
.readout-facts { display: grid; grid-template-columns: .9fr 1.1fr 1fr; gap: 10px; margin: 0; }
.readout-facts { padding: 18px 0; border-block: 1px solid var(--border); }
.readout-facts > div { padding: 0 12px; min-width: 0; border-left: 1px solid var(--border); }
.readout-facts > div:first-child { padding-left: 0; border: 0; }
.readout-facts dd { margin: 7px 0 0; color: var(--text); font-size: .86rem; font-weight: 650; overflow-wrap: anywhere; }
.readout-facts dt { text-transform: uppercase; letter-spacing: .065em; font-size: .67rem; }
.readout-facts #resultTrend { color: var(--decision); }
.readout-facts #resultMode { color: var(--accent-violet); }
.readout-facts #resultRisk { color: var(--accent-amber); }
.readout-details #resultSupport { color: var(--signal-green); }
.readout-details #resultResistance { color: var(--signal-red); }
.readout-details { margin-top: -10px; }
.readout-details summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; color: #bdb4ce; font-size: .82rem; cursor: pointer; list-style: none; }
.readout-details summary::-webkit-details-marker { display: none; }
.readout-details summary svg { width: 17px; height: 17px; transition: transform 180ms ease; }
.readout-details[open] summary svg { transform: rotate(180deg); }
.readout-details dl { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 10px 0 18px; }
.readout-details dt { color: var(--muted); font-size: .75rem; }
.readout-details dd { color: var(--text-secondary); margin: 4px 0 0; font-size: .87rem; overflow-wrap: anywhere; }
.readout-pattern { grid-column: 1 / -1; }
.readout-again { justify-content: space-between; margin-top: -16px; min-height: 52px; }
.readout-again svg { order: 2; }
.readout-footnote { margin-top: -12px; color: var(--muted); text-align: center; font-size: .68rem; }
#page-signal .result-loading { min-height: 340px; }
#page-signal .result-loading h3 { font-size: 1.2rem; }
@keyframes readout-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

/* Compact account sheet. Static light layers avoid nested, expensive live blurs. */
.drawer-scrim { background: #05050cbc; backdrop-filter: none; -webkit-backdrop-filter: none; }
.profile-drawer { width: min(100%, 400px); padding: max(16px, env(safe-area-inset-top)) 18px max(20px, env(safe-area-inset-bottom)); background: radial-gradient(ellipse at 0 0, #d7ceff1b, transparent 38%), linear-gradient(160deg, #232133, #11121e 48%, #121a28); border-color: #e4d8ff45; backdrop-filter: none; -webkit-backdrop-filter: none; animation: drawer-in 280ms var(--glass-ease) both; box-shadow: -20px 0 64px #0006, inset 1px 0 #ffffff16; }
.profile-drawer::before { width: 220px; height: 1px; top: 0; left: 12px; right: auto; border: 0; border-radius: 0; filter: none; background: linear-gradient(90deg, #fff9, transparent); box-shadow: none; }
.profile-drawer::after { display: none; }
.profile-drawer .drawer-header { top: -16px; margin: -4px -2px 0; padding: 4px 2px 10px; min-height: 54px; background: #222132; border: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.profile-drawer .drawer-header h2 { font-size: 1.22rem; letter-spacing: -.025em; }
.profile-drawer #profileClose { width: 44px; height: 44px; min-width: 44px; }
.profile-drawer #profileClose::before { width: 28px; height: 28px; border-radius: 9px; border-color: #e5dcff35; background: linear-gradient(145deg, #ffffff1c, #ffffff05); box-shadow: inset 0 1px #ffffff25; }
.profile-drawer #profileClose::after { inset: 0; }
.profile-drawer #profileClose svg { width: 12px; height: 12px; color: #e8e1f9; opacity: 1; }
.profile-drawer .profile-identity, .profile-drawer .profile-stats > div, .profile-drawer .profile-section, .profile-fold { border: 1px solid #ded5ff29; background: linear-gradient(130deg, #ffffff0b, #a991ff06 62%, #76cfff07); box-shadow: inset 0 1px #ffffff12; backdrop-filter: none; -webkit-backdrop-filter: none; }
.profile-drawer .profile-identity { min-height: 84px; margin-top: 10px; gap: 12px; padding: 14px; border-radius: 16px; background: radial-gradient(ellipse at 0 0, #ffffff30, transparent 48%), linear-gradient(120deg, #291a43, #151a33 72%, #0f3040); }
.profile-drawer .profile-identity::after { display: none; }
.profile-drawer .profile-identity > div { min-width: 0; }
.profile-drawer .profile-avatar { width: 52px; height: 52px; border-radius: 15px; border-color: #e3d7ff5c; box-shadow: inset 0 1px #fff5; }
.profile-drawer .profile-avatar img { width: 50px; height: 50px; border-radius: 14px; }
.profile-drawer .profile-avatar > span { width: 22px; height: 22px; right: -4px; bottom: -3px; border-radius: 7px; border-color: #393149; background: #c8b4f4; color: #20192f; box-shadow: none; }
.profile-drawer .profile-avatar > span svg { width: 11px; height: 11px; }
.profile-drawer .profile-identity h3 { font-size: .98rem; overflow-wrap: anywhere; }
.profile-drawer .profile-identity p { font-size: .74rem; color: #d3cce5; }
.profile-drawer .profile-stats { gap: 8px; margin-top: 8px; }
.profile-drawer .profile-stats > div { min-height: 64px; padding: 10px 13px; border-radius: 12px; }
.profile-drawer .profile-stats span { font-size: .67rem; color: #c3bad6; letter-spacing: .025em; }
.profile-drawer .profile-stats strong { font-size: .98rem; color: var(--accent-violet); }
.profile-drawer #profileCredits { color: var(--data-blue); }
.profile-fold { margin-top: 10px; border-radius: 14px; overflow: clip; }
.profile-fold > summary { display: flex; align-items: center; gap: 10px; min-height: 66px; padding: 12px; cursor: pointer; list-style: none; }
.profile-fold > summary::-webkit-details-marker { display: none; }
.profile-fold > summary > span:nth-child(2) { min-width: 0; }
.profile-fold > summary strong { display: block; color: #f0eafa; font-size: .82rem; font-weight: 650; }
.profile-fold > summary small { display: block; margin-top: 3px; color: #bfb5d1; font-size: .7rem; }
.profile-fold-icon, .profile-drawer .toggle-icon { flex: 0 0 auto; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; border: 1px solid #a96eff50; color: var(--accent-violet); background: linear-gradient(140deg, #7434bb30, #46217b12); box-shadow: inset 0 1px #ffffff25; }
.profile-fold-icon svg, .profile-drawer .toggle-icon svg { width: 17px; height: 17px; }
.profile-fold-chevron { flex: 0 0 auto; width: 17px; height: 17px; margin-left: auto; color: #beb2d0; transition: transform 220ms var(--glass-ease); }
.profile-fold[open] > summary .profile-fold-chevron { transform: rotate(180deg); }
.profile-fold > summary:hover { background: #e3d6ff06; }
.profile-fold > summary:focus-visible { outline: 2px solid var(--focus); outline-offset: -3px; border-radius: 13px; }
.profile-drawer .profile-fold > .profile-section { margin: 0; padding: 14px 12px; border: 0; border-top: 1px solid var(--border); border-radius: 0; background: #0c0d182f; box-shadow: none; }
.profile-fold[open] > form, #purchasePanel:not([hidden]) { animation: readout-enter 220ms var(--glass-ease); }
.profile-drawer .form-stack.compact-form { gap: 12px; }
.profile-drawer .field-group label, .profile-drawer .field-group legend { font-size: .75rem; color: #e1d7f0; }
.profile-drawer .field-group p, .profile-drawer .section-row p { font-size: .7rem; color: #bfb6cf; line-height: 1.55; }
.profile-drawer .field-group select, .profile-drawer .field-group input:not([type=checkbox]):not([type=radio]):not([type=range]) { min-height: 44px; padding: 10px 12px; border-radius: 10px; border-color: #d5c5f539; background: #0d101e; box-shadow: inset 0 1px #ffffff05; backdrop-filter: none; -webkit-backdrop-filter: none; font-size: 16px; }
.profile-drawer .field-group input:focus, .profile-drawer .field-group select:focus { border-color: var(--lilac); box-shadow: 0 0 0 3px #bca4ff17; }
.profile-drawer .section-row h3 { font-size: .8rem; }
.profile-drawer .form-grid.two { grid-template-columns: 1fr; gap: 12px; }
.profile-drawer .button { min-height: 44px; padding: 10px 13px; border-radius: 11px; font-size: .8rem; }
.profile-drawer .button svg { width: 16px; height: 16px; }
.profile-drawer .button-secondary { color: #c294ff; background: linear-gradient(110deg, #4c21763b, #192b5838); border-color: #a76bea5c; box-shadow: inset 0 1px #ffffff18; }
.profile-drawer .button-secondary:hover { background: #bca3ff23; border-color: #dfceff65; }
.profile-drawer .check-grid { gap: 8px; }
.profile-drawer .check-grid label { min-height: 52px; padding: 10px; border-radius: 11px; background: #151725; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.profile-drawer .check-grid label:has(input:checked) { border-color: #bc9ff969; background: linear-gradient(120deg, #aa86fb19, #749be70c); }
.profile-drawer .check-grid strong { font-size: .76rem; }
.profile-drawer .check-grid small { font-size: .68rem; color: #bfb6cf; }
.profile-drawer .switch { display: flex; align-items: center; justify-content: center; min-width: 48px; min-height: 44px; }
.profile-drawer .switch span { width: 42px; height: 26px; border-color: #cdc0e34d; box-shadow: inset 0 1px #ffffff15; }
.profile-drawer .switch span::after { width: 18px; height: 18px; box-shadow: 0 1px 4px #0004; }
.profile-drawer .switch input:checked + span { border-color: #d2bcff5c; background: linear-gradient(110deg, #9073d7, #4b93a4); box-shadow: inset 0 1px #ffffff2c; }
.profile-drawer .switch input:checked + span::after { transform: translateX(16px); }
.profile-drawer .profile-credit-section { padding: 0; margin-top: 10px; border-radius: 14px; }
.profile-drawer .profile-credit-section > .section-toggle { min-height: 66px; padding: 12px; border-radius: 13px; }
.profile-drawer .section-toggle > span { gap: 10px; min-width: 0; }
.profile-drawer .section-toggle strong { font-size: .82rem; }
.profile-drawer .section-toggle small { font-size: .7rem; color: #bfb5d1; }
.profile-drawer .section-toggle > svg { width: 17px; height: 17px; }
.profile-drawer .toggle-icon { color: var(--accent-amber); border-color: #edb23d50; background: linear-gradient(140deg, #97601436, #51310b12); }
.profile-drawer #purchasePanel { padding: 0 12px 12px; }
.profile-drawer #logoutButton { display: flex; min-height: 44px; margin: 18px auto 0; width: fit-content; padding: 10px 18px; font-size: .78rem; color: #ff5865; border-color: #ef34494f; background: linear-gradient(120deg, #640d2826, #330a1926); box-shadow: inset 0 1px #ffffff09; }
@media (forced-colors: active) {
  .readout-verdict > div > strong, .readout-confidence > strong { -webkit-text-fill-color: currentColor; }
}
@media (max-width: 800px) {
  .main-content { padding: 24px 18px 48px; }
  .home-tool-card { min-height: 224px; padding: 18px; }
  .home-tool-visual { top: 65px; left: 22px; right: 22px; height: 72px; transform: scale(.82); }
}
@media (max-width: 959px) {
  .sidebar { backdrop-filter: none; -webkit-backdrop-filter: none; transition: transform 260ms var(--glass-ease), visibility 0s linear 260ms; }
  .nav-scrim, body.nav-open .nav-scrim { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .nav-scrim { transition: opacity 180ms ease, visibility 0s linear 180ms; }
}
@media (max-width: 480px) {
  .main-content { padding-inline: 16px; }
  .topbar { padding-inline: 16px; }
  .topbar-title h1 { font-size: 1.05rem; }
  .auth-view { padding: 22px 16px; }
  .auth-card { padding: 26px 22px; }
  .analysis-heading { margin-bottom: 22px; }
  .analysis-heading h2 { font-size: 1.3rem; }
  .market-console { margin-bottom: 24px; }
  .market-caption { font-size: .68rem; letter-spacing: .06em; }
  .market-key-switch button { padding-inline: 14px; }
  #page-signal .analysis-input-card { padding: 20px; border-radius: 24px; }
  .chart-ai-settings { padding: 14px; border-radius: 16px; }
  .chart-ai-settings > header { align-items: flex-start; flex-direction: column; gap: 5px; }
  .chart-ai-grid { grid-template-columns: 1fr; }
  .chart-ai-settings .field-group select, .chart-speed-switch { min-height: 48px; font-size: 16px; }
  .chart-speed-switch span { min-height: 40px; font-size: .76rem; }
  #page-signal .upload-zone { min-height: 260px; padding: 16px; }
  #page-signal .result-card { padding: 20px; border-radius: 24px; }
  .chart-readout { gap: 22px; }
  #resultPair { font-size: 1.07rem; gap: 3px; }
  #resultPair .asset-flag { width: 21px; height: 21px; }
  .readout-instrument { gap: 8px; padding-bottom: 18px; }
  .readout-instrument > div { gap: 7px; }
  .readout-summary { gap: 18px; }
  .readout-verdict-icon { width: 36px; height: 42px; border-radius: 11px 4px 11px 4px; }
  .readout-verdict-icon svg { width: 24px; height: 24px; }
  .readout-verdict > div > strong { font-size: 2.3rem; }
  .readout-confidence { padding-left: 18px; }
  .readout-confidence > strong { font-size: 2.15rem; }
  .readout-reasoning p { font-size: .92rem; }
  .readout-facts { gap: 7px; }
  .readout-facts > div { padding-inline: 8px; }
  .readout-facts dt { font-size: .7rem; }
  .readout-facts dd { font-size: .77rem; }
  .readout-confidence p { max-width: 180px; line-height: 1.5; }
  .home-tool-grid { gap: 12px; }
  .home-tool-card { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .market-key-cursor, .market-key-icon, .market-key-switch button, .readout-details summary svg { transition: none; }
  .chart-readout, .profile-drawer, .profile-fold[open] > form, #purchasePanel:not([hidden]), .page-section.is-route-entering { animation: none; }
  .profile-fold-chevron { transition: none; }
}
/* Nexora mode dial: restrained surfaces and a tactile spectrum control. */
#page-planner { --shape-ink:#eef2ff; --shape-muted:#bbc5dd; --shape-edge:#7e8bab55; --shape-cyan:#93dedf; --shape-surface:#10182c; }
.shape-method { color:var(--shape-muted); font-size:.8rem; margin:8px 0 0; }
.shape-method span { color:var(--shape-cyan); margin-left:8px; }
.shape-hour-card { padding:20px; border:1px solid var(--shape-edge); border-radius:18px; background:linear-gradient(130deg,#cad9ff12,transparent 60%),var(--shape-surface); }
.shape-hour-heading { display:flex; justify-content:space-between; gap:12px; color:var(--shape-muted); font-size:.75rem; }
#shapeHourWindow { display:block; margin:14px 0 20px; color:var(--shape-ink); font-family:'Nexora Sora',sans-serif; font-size:clamp(1.25rem,3vw,1.9rem); font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
.shape-slots { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.shape-slots span { padding:8px 2px; text-align:center; border-bottom:2px solid #93dedf66; color:var(--shape-cyan); font-size:.8rem; font-variant-numeric:tabular-nums; }
#shapeHourStatus { color:var(--shape-muted); font-size:.8125rem; line-height:1.6; margin:16px 0 0; }
.shape-rule-pair { display:flex; gap:16px; flex-wrap:wrap; color:var(--shape-muted); font-size:.75rem; }
.shape-rule-pair b { color:var(--shape-ink); font-size:1rem; margin-right:4px; }
.shape-disclaimer { color:var(--shape-muted); font-size:.8125rem; line-height:1.65; margin:0; }
.shape-method-details { border-top:1px solid var(--shape-edge); padding-top:8px; }
.shape-method-details summary { cursor:pointer; min-height:44px; padding:12px 0; color:var(--shape-ink); font-size:.85rem; }
.shape-method-details summary:focus-visible { outline:2px solid var(--shape-cyan); outline-offset:4px; border-radius:6px; }
.shape-method-details p { color:var(--shape-muted); font-size:.8125rem; line-height:1.65; }
#page-planner .shape-asset-readonly { cursor:default; }
#page-planner .future-row-score { color:var(--shape-cyan); font-variant-numeric:tabular-nums; }
#page-planner .future-row-score small { display:block; margin-bottom:3px; font-size:.625rem; color:var(--shape-muted); }
#page-planner .future-row-identity small { white-space:normal; }
#page-planner #loadShapeHour { min-height:44px; }
#page-planner .shape-method-details .future-asset-toolbar { grid-template-columns:1fr; }
@media (max-width:480px) {
  .shape-hour-card { padding:16px; }
  .shape-hour-heading { font-size:.7rem; }
  #page-planner .future-schedule-row { grid-template-columns:24px 44px minmax(0,1fr) 52px; gap:8px; }
  #page-planner .future-row-score { grid-column:3; grid-row:2; text-align:left; display:flex; gap:6px; align-items:center; font-size:.7rem; }
  #page-planner .future-row-score small { margin:0; }
  #page-planner .future-row-direction { grid-column:4; grid-row:1 / 3; }
  #page-planner .future-row-number { display:block; }
}

#page-planner { --nex-accent:#b7a0ff; --nex-glow:#8b5df538; --nex-muted:#b9b3cf; --nex-ink:#f2efff; --nex-track:linear-gradient(100deg,#40559f,#8554d6 65%,#baa1f3); }
#page-planner[data-nex-mode="light"] { --nex-accent:#a0c6ec; --nex-glow:#517eae25; --nex-track:linear-gradient(100deg,#2d4365,#739dce); }
#page-planner[data-nex-mode="medium"] { --nex-accent:#89e7f0; --nex-glow:#248b9628; --nex-track:linear-gradient(100deg,#295983,#428caa,#83d2d6); }
#page-planner[data-nex-mode="high"] { --nex-accent:#a5bdff; --nex-glow:#526bdd30; --nex-track:linear-gradient(100deg,#345399,#747adc,#a5bdff); }
#page-planner[data-nex-mode="extra_high"] { --nex-accent:#cea7f3; --nex-glow:#aa64e02c; --nex-track:linear-gradient(100deg,#664ca7,#9f69c7,#cea7f3); }
#page-planner[data-nex-mode="max"] { --nex-accent:#f7ce93; --nex-glow:#d1945030; --nex-track:linear-gradient(100deg,#815234,#bd874a,#f7ce93); }
#page-planner .future-control-card { padding:22px; }
#page-planner .card-heading { margin-bottom:18px; }
#page-planner .future-control-card .card-heading h3 { font-size:1rem; color:var(--nex-ink); }
#page-planner .form-stack { gap:14px; }
.nex-mode-dial { --dial-fill:1; position:relative; padding:18px 16px 10px; border:1px solid color-mix(in srgb,var(--nex-accent) 32%,transparent); border-radius:20px; background:radial-gradient(ellipse at 4% 0,#ffffff18,transparent 58%),linear-gradient(130deg,var(--nex-glow),#0b0e1940 75%); box-shadow:inset 0 1px #ffffff36,0 12px 28px #0002; }
.nex-mode-heading { display:flex; gap:12px; align-items:center; }
.nex-mode-heading > div { flex:1; min-width:0; }
.nex-mode-heading label { display:block; margin-bottom:5px; font-size:.75rem; color:var(--nex-muted); }
.nex-mode-heading output { display:block; font-family:'Nexora Unbounded','Nexora Sora',sans-serif; font-weight:650; font-size:clamp(1rem,2vw,1.35rem); line-height:1.5; letter-spacing:-.055em; color:var(--nex-accent); }
.nex-mode-emblem { width:34px; height:39px; display:flex; align-items:center; justify-content:center; gap:3px; transform:skewY(-16deg); }
.nex-mode-emblem i { display:block; width:5px; height:18px; border-radius:3px; background:linear-gradient(#f9f4ff,var(--nex-accent)); box-shadow:0 0 14px var(--nex-glow); }
.nex-mode-emblem i:nth-child(2) { height:28px; }.nex-mode-emblem i:nth-child(3) { height:34px; }.nex-mode-emblem i:nth-child(4) { height:23px; }
.nex-mode-reset { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; padding:0; background:transparent; border:0; border-radius:12px; color:var(--nex-muted); cursor:pointer; }
.nex-mode-reset svg { width:17px; height:17px; }.nex-mode-reset:hover { background:#ffffff09; color:var(--nex-ink); }
.nex-mode-track { position:relative; height:44px; margin-top:13px; }
.nex-mode-track-art { position:absolute; inset:14px 14px; display:flex; align-items:center; justify-content:space-between; border-radius:99px; background:#050711; box-shadow:inset 0 1px 5px #0008,0 1px #fff1; pointer-events:none; }
.nex-mode-track-art::before { position:absolute; content:''; inset:0; background:var(--nex-track); border-radius:99px; transform:scaleX(var(--dial-fill)); transform-origin:left center; opacity:.95; }
.nex-mode-track-art i { position:relative; z-index:1; width:3px; height:3px; background:#ece4ffb3; border-radius:50%; }
#nexModeRange { position:absolute; inset:0; width:100%; height:44px; min-height:44px; margin:0; padding:0; cursor:ew-resize; border:0; outline-offset:3px; border-radius:14px; appearance:none; -webkit-appearance:none; background:transparent; touch-action:pan-y; }
#nexModeRange::-webkit-slider-runnable-track { height:44px; background:transparent; }
#nexModeRange::-webkit-slider-thumb { -webkit-appearance:none; width:28px; height:28px; margin-top:8px; border:5px solid #f9f5ff; border-radius:50%; background:var(--nex-accent); box-shadow:0 2px 7px #0009,0 0 0 4px #fff1,0 0 20px var(--nex-glow); transition:box-shadow 160ms ease,transform 160ms ease; }
#nexModeRange::-moz-range-track { height:16px; background:transparent; }
#nexModeRange::-moz-range-thumb { box-sizing:border-box; width:28px; height:28px; border:5px solid #f9f5ff; border-radius:50%; background:var(--nex-accent); box-shadow:0 2px 7px #0009,0 0 0 4px #fff1; }
#nexModeRange:active::-webkit-slider-thumb { transform:scale(1.1); box-shadow:0 2px 10px #0009,0 0 0 5px #fff2; }
.nex-mode-stops { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:2px; margin:0 -8px; }
.nex-mode-stops button { min-width:0; min-height:44px; padding:4px 0; background:transparent; border:0; border-radius:8px; color:var(--nex-muted); font-size:.75rem; font-weight:550; cursor:pointer; }
.nex-mode-stops button[aria-pressed="true"] { color:var(--nex-accent); background:var(--nex-glow); font-weight:750; }
.nex-mode-stops button:hover { color:var(--nex-ink); }
#nexModeHint { font-size:.75rem; line-height:1.5; margin:9px 0 0; text-align:center; color:var(--nex-muted); }
.nex-time-window { padding:14px 16px 10px; border:1px solid #c7bce62b; border-radius:16px; background:#090c1670; }
.nex-window-caption { display:flex; justify-content:space-between; gap:8px; color:var(--nex-muted); font-size:.75rem; margin-bottom:12px; }
.nex-time-fields { display:grid; grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr); align-items:center; gap:7px; }
.nex-time-fields label { display:block; min-width:0; color:var(--nex-muted); font-size:.75rem; }
.nex-time-fields label > span { display:block; margin-bottom:4px; }
#page-planner .nex-time-fields input { width:100%; min-width:0; height:46px; min-height:44px; padding:6px 4px; background:transparent; border:0; border-radius:6px; color:var(--nex-ink); font-family:'Nexora Sora',sans-serif; font-size:1.0625rem; font-weight:650; color-scheme:dark; font-variant-numeric:tabular-nums; }
.nex-time-bridge { display:grid; place-items:center; color:var(--nex-accent); padding-top:15px; }.nex-time-bridge svg { width:16px; height:16px; }
#futureWindowDuration { font-size:.75rem; line-height:1.6; margin:7px 0 0; padding-top:8px; color:var(--nex-muted); border-top:1px solid #c7bce619; }
.nex-time-window.is-invalid { border-color:#fa8595; }.nex-time-window.is-invalid #futureWindowDuration { color:#ffa7b2; }
.nex-generate-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
#page-planner .nex-generate-actions button { min-height:46px; margin:0; padding:10px 15px; border-radius:12px; font-size:.8125rem; }
#page-planner .nex-generate-actions #loadShapeHour { display:flex; align-items:center; gap:7px; }
#loadShapeHour svg { width:16px; height:16px; }
#page-planner[data-nex-mode="max"] .future-generate-button { background:linear-gradient(110deg,#7b4821,#624227); border-color:#f7ce9370; }
#page-planner[data-nex-mode="ultra"] .future-generate-button { background:linear-gradient(110deg,#7640ce,#3b438f); border-color:#b7a0ff70; }
#shapeHourStatus { font-size:.75rem; line-height:1.55; margin:0; color:var(--nex-muted); }
.nex-assets-fold { border-top:1px solid #c7bce622; }.nex-assets-fold summary { display:flex; align-items:center; justify-content:space-between; min-height:44px; cursor:default; list-style:none; font-size:.8125rem; color:var(--nex-muted); }.nex-assets-fold summary svg { width:16px; height:16px; transform:rotate(180deg); }
#page-planner .nex-assets-fold .future-asset-toolbar { grid-template-columns:1fr; }
#page-planner .shape-asset-readonly { cursor:default; }
#page-planner .future-schedule-card > .card-heading h3 { font-size:.875rem; font-weight:800; letter-spacing:.015em; }
#page-planner .future-schedule-card > .card-heading .card-actions { gap:6px; }
#page-planner .future-copy-button { width:44px; min-width:44px; padding:0; }
#page-planner .future-schedule-row { grid-template-columns:24px 48px minmax(0,1fr) 67px; min-height:67px; gap:9px; padding:10px; }
#page-planner .future-row-direction { display:flex; align-items:center; justify-content:center; gap:4px; grid-column:auto; grid-row:auto; min-width:0; font-size:.7rem; }.future-row-direction svg { width:15px; height:15px; }
#page-planner .future-row-number { display:block; font-size:.6875rem; }
#page-planner .future-calendar-hero { border-color:#b7a0ff38; background:linear-gradient(120deg,#b7a0ff16,#070a1805); }
#page-planner #scheduleCard[data-mode="max"] .future-calendar-hero { border-color:#f7ce9345; background:linear-gradient(120deg,#f7ce931c,#070a1805); }
#page-planner #scheduleCard[data-mode="max"] #futureStrategyName { color:#f7ce93; }
#page-planner #scheduleCard[data-mode="ultra"] #futureStrategyName { color:#c7b1ff; }
#page-planner .future-empty { min-height:280px; }
.nex-risk-caption { font-size:.75rem; line-height:1.65; margin:18px 0 0; color:var(--nex-muted); text-align:center; }
#page-planner :is(.nex-mode-reset,.nex-mode-stops button,.nex-assets-fold summary,#nexModeRange,.nex-time-fields input):focus-visible { outline:2px solid var(--nex-accent); outline-offset:3px; }
@media(min-width:1020px) { #page-planner .future-planner-layout { grid-template-columns:minmax(360px,.9fr) minmax(430px,1.1fr); gap:20px; } }
@media(max-width:480px) {
  #page-planner .future-control-card { padding:16px; }
  .nex-mode-dial { padding:15px 12px 10px; }.nex-mode-stops { margin:0 -6px; }.nex-mode-stops button { font-size:.6875rem; }
  .nex-time-window { padding:12px 12px 9px; }.nex-window-caption { font-size:.6875rem; }
  .nex-time-fields { grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr); gap:4px; }
  #page-planner .nex-time-fields input { padding:6px 0; font-size:1rem; letter-spacing:-.035em; }
  #page-planner .future-schedule-row { grid-template-columns:39px minmax(0,1fr) 60px; gap:7px; padding:10px 8px; }
  #page-planner .future-row-number { display:none; }
  #page-planner .future-row-identity { padding-left:49px; }
  #page-planner .future-row-identity strong { font-size:.7rem; }
  #page-planner .future-row-identity small { font-size:.625rem; }
  #page-planner .future-schedule-row time { font-size:.75rem; }
  #page-planner .future-summary-grid strong { font-size:.75rem; }
}
@media(prefers-reduced-motion:reduce) { #nexModeRange::-webkit-slider-thumb { transition:none; } }
