:root {
  color-scheme: dark;
  --bg: #09080d;
  --surface: #111016;
  --surface-2: #17151f;
  --line: #292631;
  --text: #f5f3f8;
  --muted: #96919f;
  --violet: #9b6cff;
  --violet-2: #6f42d8;
  --violet-soft: rgba(155, 108, 255, 0.13);
  --button-gradient: linear-gradient(135deg, #8658ed 0%, #9b6cff 52%, #ad7cf1 100%);
  --button-glow: 0 10px 28px -12px rgba(155, 108, 255, .62);
  --danger: #ff5d69;
  --warning: #ffb74d;
  --success: #65d49a;
  --radius: 16px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin: 0; min-width: 320px; background: radial-gradient(circle at 70% -10%, rgba(111,66,216,.13), transparent 30%), var(--bg); color: var(--text); font-size: 16px; }
body.entry-active { overflow:hidden; }
[hidden] { display:none !important; }

/* Keeps the Hub handoff branded while authentication and entitlement checks run. */
.hub-launch-screen { position:fixed; inset:0; z-index:1000; isolation:isolate; display:none; place-items:center; min-height:100dvh; overflow:hidden; background:radial-gradient(circle at 50% 42%,rgba(117,75,235,.2),transparent 36%),#07060b; color:#f5f3f8; }
.hub-launch-screen::before,.hub-launch-screen::after { content:""; position:absolute; inset:0; pointer-events:none; }
.hub-launch-screen::before { z-index:-1; background:repeating-linear-gradient(to bottom,transparent 0 4px,rgba(255,255,255,.012) 5px); }
.hub-launch-screen::after { z-index:-3; box-shadow:inset 0 0 160px rgba(0,0,0,.88); }
.hub-launch-pending body { overflow:hidden; }
.hub-launch-pending .hub-launch-screen { display:grid; }
.hub-launch-pending #entryScreen,.hub-launch-pending #plannerShell { visibility:hidden; }
.hub-launch-grid { position:absolute; inset:0; z-index:-2; opacity:.25; background-image:linear-gradient(rgba(155,108,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(155,108,255,.12) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 72%,transparent); transform:perspective(500px) rotateX(58deg) scale(1.6) translateY(24%); transform-origin:center bottom; }
.hub-launch-mark { position:relative; display:grid; place-items:center; width:clamp(156px,19vw,250px); aspect-ratio:1; filter:drop-shadow(0 0 28px rgba(155,108,255,.5)) drop-shadow(0 0 64px rgba(208,106,223,.24)); }
.hub-launch-orbit { position:absolute; inset:7%; border:1px solid rgba(166,126,255,.34); border-radius:50%; animation:hubLaunchOrbit 2.8s linear infinite; }
.hub-launch-orbit::before { content:""; position:absolute; top:-4px; left:50%; width:8px; height:8px; border-radius:50%; background:#a66cff; box-shadow:0 0 16px rgba(166,108,255,.9); }
.hub-launch-logo { width:78%; height:78%; object-fit:contain; animation:hubLaunchSpin 7s linear infinite; will-change:transform; }
.hub-launch-status { position:absolute; top:calc(50% + clamp(105px,13vw,160px)); display:grid; justify-items:center; gap:7px; margin:0; font:750 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.2em; }
.hub-launch-status small { color:#9d96a5; font-size:8px; }
@keyframes hubLaunchSpin { to { transform:rotate(360deg); } }
@keyframes hubLaunchOrbit { to { transform:rotate(-360deg); } }
html[data-theme="light"] .hub-launch-screen { background:radial-gradient(circle at 50% 42%,rgba(117,75,235,.14),transparent 38%),#f7f5fb; color:#17121f; }
html[data-theme="light"] .hub-launch-screen::before { background:repeating-linear-gradient(to bottom,transparent 0 4px,rgba(77,50,110,.018) 5px); }
html[data-theme="light"] .hub-launch-screen::after { box-shadow:inset 0 0 120px rgba(88,58,125,.09); }
html[data-theme="light"] .hub-launch-grid { opacity:.13; }
html[data-theme="light"] .hub-launch-status small { color:#62596c; }
@media (max-width:600px) { .hub-launch-mark { width:min(52vw,205px); } .hub-launch-status { top:calc(50% + min(34vw,130px)); } }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
button, label, input, select, textarea { -webkit-tap-highlight-color: transparent; }
.skip-link { position: fixed; left: 1rem; top: -4rem; z-index: 100; background: var(--violet); color: #fff; padding: .7rem 1rem; border-radius: 8px; }
.skip-link:focus { top: 1rem; }

.entry-screen { position:fixed; inset:0; z-index:200; min-height:100dvh; overflow-x:hidden; overflow-y:auto; isolation:isolate; background:radial-gradient(circle at 50% 38%, rgba(117,75,235,.16), transparent 35%), #07060b; color:var(--text); }
.entry-grid { position:absolute; inset:0; z-index:-3; opacity:.25; background-image:linear-gradient(rgba(155,108,255,.12) 1px, transparent 1px),linear-gradient(90deg, rgba(155,108,255,.12) 1px, transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to bottom, transparent, #000 22%, #000 72%, transparent); transform:perspective(500px) rotateX(58deg) scale(1.6) translateY(24%); transform-origin:center bottom; }
.entry-screen::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:repeating-linear-gradient(to bottom, transparent 0 4px, rgba(255,255,255,.012) 5px); }
.entry-screen::after { content:""; position:absolute; inset:0; z-index:-2; pointer-events:none; box-shadow:inset 0 0 160px rgba(0,0,0,.88); }
.entry-glow { position:absolute; z-index:-2; border-radius:50%; filter:blur(90px); opacity:.22; }
.entry-glow-one { width:380px; height:380px; left:-150px; top:18%; background:#6f42d8; }
.entry-glow-two { width:320px; height:320px; right:-120px; bottom:8%; background:#d06adf; }
.entry-topbar { position:relative; display:flex; align-items:center; justify-content:space-between; padding:clamp(1.2rem,3vw,2.4rem) clamp(1.2rem,5vw,5rem); color:#777180; font:750 .67rem/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing:.15em; }
.entry-status { display:flex; align-items:center; gap:.55rem; color:#a59eae; }
.entry-status i { width:7px; height:7px; border-radius:50%; background:var(--success); box-shadow:0 0 14px var(--success); animation:entryPulse 2s ease-in-out infinite; }
.entry-top-tools { display:flex; align-items:center; gap:1.1rem; }
.entry-language-switch { display:flex; align-items:center; padding:2px; border:1px solid rgba(155,108,255,.24); border-radius:4px; background:rgba(12,10,17,.7); }
.entry-language-switch button { min-width:34px; padding:.38rem .48rem; border:0; border-radius:2px; background:transparent; color:#6f6878; cursor:pointer; font:850 .62rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.1em; }
.entry-language-switch button:hover { color:#d8ccf2; }
.entry-language-switch button.active { color:#fff; background:var(--button-gradient); box-shadow:0 0 18px rgba(155,108,255,.28); }
.entry-main { width:min(1100px,100%); min-height:calc(100dvh - 150px); margin:0 auto; padding:clamp(2rem,5vw,5rem); display:grid; grid-template-columns:minmax(260px,.82fr) minmax(340px,1fr); align-items:center; gap:clamp(2rem,7vw,7rem); }
.entry-logo-wrap { position:relative; width:min(38vw,390px); aspect-ratio:1; justify-self:end; display:grid; place-items:center; filter:drop-shadow(0 30px 70px rgba(108,66,216,.22)); }
.entry-logo { width:78%; height:78%; object-fit:contain; border-radius:50%; animation:entryLogoSpin 16s linear infinite; will-change:transform; }
.entry-orbit { position:absolute; border-radius:50%; border:1px solid rgba(155,108,255,.26); }
.entry-orbit::after { content:""; position:absolute; width:7px; height:7px; top:9%; left:22%; border-radius:50%; background:#c493ff; box-shadow:0 0 18px #9b6cff; }
.orbit-one { inset:3%; animation:entrySpin 18s linear infinite; }
.orbit-two { inset:13%; border-style:dashed; border-color:rgba(222,116,211,.18); animation:entrySpin 24s linear infinite reverse; }
.entry-copy { max-width:550px; }
.entry-kicker { margin:0 0 1rem; color:#a989ff; font:850 .7rem/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing:.25em; }
.entry-copy h1 { margin:0; font-size:clamp(3.2rem,7vw,6.6rem); line-height:.76; letter-spacing:-.075em; font-weight:950; }
.entry-copy h1 span { color:transparent; -webkit-text-stroke:1px #9b6cff; text-shadow:0 0 40px rgba(155,108,255,.2); }
.entry-intro { max-width:480px; margin:1.5rem 0; color:#aaa4b1; font-size:clamp(.92rem,1.4vw,1.05rem); line-height:1.7; }
.entry-profile { display:grid; grid-template-columns:1fr auto; gap:.2rem 1rem; max-width:480px; margin:1.6rem 0; padding:.8rem 1rem; border:1px solid rgba(155,108,255,.22); border-left:2px solid var(--violet); background:linear-gradient(90deg,rgba(155,108,255,.09),transparent); }
.entry-profile span { color:#777180; font:750 .6rem/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing:.15em; }
.entry-profile strong { grid-row:1/3; grid-column:2; align-self:center; color:#d7c5ff; font-size:1.05rem; letter-spacing:.12em; }
.entry-profile small { color:#918a99; font-size:.72rem; }
.entry-actions { display:grid; grid-template-columns:minmax(210px,1fr) auto; gap:.7rem; max-width:480px; }
.entry-primary,.entry-secondary { min-height:58px; border-radius:4px; cursor:pointer; font-weight:900; letter-spacing:.08em; }
.entry-primary { position:relative; display:grid; justify-items:start; align-content:center; padding:.65rem 1.2rem; border:1px solid transparent; overflow:hidden; background:var(--button-gradient); color:#fff; box-shadow:var(--button-glow); }
.entry-primary::after { content:""; position:absolute; inset:-100% -40%; background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.28) 50%,transparent 60%); transform:translateX(-55%); transition:transform .5s ease; }
.entry-primary:hover::after { transform:translateX(55%); }
.entry-primary span { font-size:.9rem; }
.entry-primary small { margin-top:.2rem; font-size:.61rem; opacity:.62; letter-spacing:.02em; }
.entry-secondary { padding:0 1.2rem; border:1px solid #37313f; background:rgba(17,16,22,.8); color:#b4adba; }
.entry-secondary:hover { border-color:#8f67e8; color:#fff; background:rgba(155,108,255,.08); }
.entry-secondary span { margin-right:.35rem; color:var(--violet); }
.entry-hint { margin:.8rem 0 0; color:#625d68; font-size:.66rem; }
.entry-footer { position:relative; display:flex; align-items:center; justify-content:center; gap:.6rem; padding:1.2rem; color:#5f5966; font:750 .58rem/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing:.14em; }
.entry-footer strong { color:#9e80e7; }
.entry-footer i { width:1px; height:12px; background:#35303a; }
.tutorial-modal { z-index:260; padding:0; place-items:stretch; background:#09080d; }
.tutorial-modal .modal-backdrop { display:none; }
.tutorial-card { width:100%; height:100dvh; max-height:none; border:0; border-radius:0; padding:clamp(1.2rem,4vw,4rem); background:radial-gradient(circle at 78% 28%,rgba(155,108,255,.18),transparent 30%),linear-gradient(145deg,#14111c,#09080d 65%); box-shadow:none; display:grid; grid-template-rows:auto 2px minmax(0,1fr) auto auto; }
.tutorial-head { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:1rem; }
.tutorial-progress { height:2px; margin-bottom:1.4rem; background:#27232e; overflow:hidden; }
.tutorial-progress span { display:block; width:25%; height:100%; background:linear-gradient(90deg,var(--violet-2),#d06adf); transition:width .25s ease; box-shadow:0 0 14px rgba(155,108,255,.55); }
.tutorial-content { min-height:0; display:grid; align-content:center; text-align:center; padding:clamp(1rem,3vw,3rem); overflow:auto; }
.tutorial-step-layout { width:min(1080px,100%); margin:auto; display:grid; grid-template-columns:minmax(280px,.8fr) minmax(340px,1.2fr); gap:clamp(2rem,7vw,7rem); align-items:center; text-align:left; }
.tutorial-step-copy { max-width:520px; }
.tutorial-step-icon { width:76px; height:76px; margin:0 0 1.6rem; display:grid; place-items:center; border:1px solid rgba(155,108,255,.38); background:rgba(155,108,255,.08); color:#cbb2ff; font-size:2rem; box-shadow:0 0 35px rgba(155,108,255,.1); transform:rotate(45deg); }
.tutorial-step-icon span { transform:rotate(-45deg); }
.tutorial-content h3 { margin:0 0 .7rem; font-size:clamp(1.7rem,4vw,3.4rem); line-height:1; letter-spacing:-.04em; }
.tutorial-content p { max-width:540px; margin:0; color:var(--muted); line-height:1.7; }
.tutorial-page-preview { min-height:360px; padding:1.1rem; border:1px solid rgba(155,108,255,.28); border-radius:18px; background:linear-gradient(145deg,rgba(27,23,36,.96),rgba(10,9,14,.96)); box-shadow:35px 40px 80px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,255,255,.025); transform:perspective(1100px) rotateY(-8deg) rotateX(3deg); }
.tutorial-preview-bar { height:34px; display:flex; align-items:center; gap:.35rem; border-bottom:1px solid var(--line); }
.tutorial-preview-bar i { width:7px; height:7px; border-radius:50%; background:#544b61; }
.tutorial-preview-bar span { margin-left:auto; color:#72667f; font:800 .58rem/1 ui-monospace,monospace; letter-spacing:.16em; }
.tutorial-preview-grid { display:grid; grid-template-columns:70px 1fr; gap:.8rem; padding-top:.9rem; }
.tutorial-preview-nav { display:grid; align-content:start; gap:.45rem; }
.tutorial-preview-nav i { height:22px; border-radius:5px; background:#282330; }
.tutorial-preview-nav i.active { background:var(--violet-soft); box-shadow:inset 2px 0 var(--violet); }
.tutorial-preview-main { display:grid; align-content:start; gap:.65rem; }
.tutorial-preview-main b { width:55%; height:25px; border-radius:6px; background:#f1edf7; opacity:.9; }
.tutorial-preview-cards { display:grid; gap:.55rem; }
.tutorial-preview-cards i { display:block; height:54px; border:1px solid #332d3c; border-radius:9px; background:linear-gradient(100deg,rgba(155,108,255,.12),rgba(8,7,11,.55) 42%); box-shadow:0 8px 18px rgba(0,0,0,.16); transform:translateX(calc(var(--preview-index) * 2px)); }
.tutorial-preview-cards i:nth-child(2) { height:90px; border-left:3px solid var(--violet); }
.tutorial-preview-main em { width:42%; height:7px; border-radius:99px; background:linear-gradient(90deg,var(--violet) 62%,#29242f 62%); box-shadow:0 0 12px rgba(155,108,255,.2); }
.preview-page-2 .tutorial-preview-cards i { display:grid; height:62px; border-left:3px solid #69a8ff; }
.preview-page-3 .tutorial-preview-cards { grid-template-columns:repeat(7,1fr); gap:.3rem; }
.preview-page-3 .tutorial-preview-cards i, .preview-page-3 .tutorial-preview-cards i:nth-child(2) { height:170px; border-left:1px solid #332d3c; background:linear-gradient(to top,rgba(155,108,255,.22) calc((var(--preview-index) + 2) * 8%),rgba(8,7,11,.55) 0); transform:none; }
.preview-page-4 .tutorial-preview-cards { grid-template-columns:repeat(3,1fr); }
.preview-page-4 .tutorial-preview-cards i, .preview-page-4 .tutorial-preview-cards i:nth-child(2) { height:82px; border-left:1px solid #332d3c; transform:none; }
.preview-page-5 .tutorial-preview-cards i { opacity:calc(1 - (var(--preview-index) * .16)); }
.preview-page-6 .tutorial-preview-cards { grid-template-columns:repeat(2,1fr); }
.tutorial-dots { display:flex; justify-content:center; gap:.4rem; margin:.5rem 0 1.3rem; }
.tutorial-dots i { width:20px; height:3px; background:#332e3a; }
.tutorial-dots i.active { background:var(--violet); box-shadow:0 0 8px rgba(155,108,255,.5); }
.tutorial-actions { display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:.7rem; }
@keyframes entrySpin { to { transform:rotate(360deg); } }
@keyframes entryLogoSpin { to { transform:rotate(360deg); } }
@keyframes entryPulse { 50% { opacity:.45; box-shadow:0 0 4px var(--success); } }

.app-shell { min-height: 100dvh; display: grid; grid-template-columns: 236px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100dvh; border-right: 1px solid #211e28; padding: 1.35rem .8rem 1rem; display: flex; flex-direction: column; background: rgba(8,7,12,.96); backdrop-filter: blur(18px); z-index: 10; }
.brand { min-height:76px; padding:0 .55rem 1.2rem; display:grid; align-content:start; justify-items:start; }
.brand-logo { display:block; width:152px; height:54px; object-fit:contain; object-position:left center; }
.brand small { display:block; margin:-.12rem 0 0 52px; color:#9d94aa; font:750 .61rem/1.2 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.sidebar-section-label { margin:0 0 .65rem; padding:0 .72rem; color:#a176ff; font:850 .63rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.16em; }
nav { display: flex; flex: 1; flex-direction: column; gap: .18rem; }
.nav-button, .utility-button { border: 0; background: transparent; text-align: left; cursor: pointer; border-radius: 10px; }
.nav-button { position:relative; min-height:38px; padding:.55rem .7rem; color:#918b9b; font-size:.8rem; font-weight:650; display:flex; gap:.7rem; align-items:center; transition:color .16s ease,background .16s ease; }
.nav-icon { flex:0 0 20px; width:20px; height:20px; display:grid; place-items:center; color:#918b9b; }
.nav-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.nav-label { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nav-coming-soon { margin-left:auto; padding:.2rem .38rem; border-radius:999px; background:linear-gradient(100deg,#8f5cff,#ef69b8); color:#fff; font-size:.48rem; font-weight:900; line-height:1; letter-spacing:.08em; box-shadow:0 5px 16px rgba(208,79,174,.34); }
.nav-button:hover { background:rgba(255,255,255,.035); color:#d9d4df; }
.nav-button:hover .nav-icon { color:#b9afc8; }
.nav-button.active { background:rgba(117,75,172,.25); color:#f5f2fa; box-shadow:inset 3px 0 #a56cff; font-weight:780; }
.nav-button.active .nav-icon { color:#f0eaff; }
.settings-nav { margin-top:auto; }
.sidebar-bottom { margin-top: auto; display: grid; gap: .25rem; }
.utility-button { display: block; padding: .55rem .7rem; color: var(--muted); font-size: .86rem; }
.utility-button:hover { color: var(--text); background: var(--surface-2); }
.sidebar-bottom p { color: #6e6975; font-size: .72rem; padding: 0 .7rem; }
.sidebar-account { position:relative; margin-top:.75rem; padding-top:.75rem; border-top:1px solid #26212f; }
.sidebar-account-trigger { width:100%; min-height:58px; display:flex; align-items:center; gap:.65rem; padding:.55rem; border:0; border-radius:12px; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.sidebar-account-trigger:hover,.sidebar-account-trigger[aria-expanded="true"] { background:rgba(155,108,255,.1); }
.sidebar-account-avatar { flex:0 0 38px; width:38px; height:38px; overflow:hidden; display:grid; place-items:center; border:1px solid rgba(155,108,255,.45); border-radius:50%; background:linear-gradient(145deg,#9b6cff,#d55cb7); color:#fff; font-weight:900; }
.sidebar-account-avatar img { width:100%; height:100%; object-fit:cover; }
.sidebar-account-copy { min-width:0; flex:1; display:grid; gap:.14rem; }
.sidebar-account-copy strong,.sidebar-account-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sidebar-account-copy strong { font-size:.73rem; }
.sidebar-account-copy small { color:#8d8597; font-size:.59rem; }
.sidebar-account-more { color:#91899d; font-size:.72rem; letter-spacing:.05em; }
.sidebar-account-menu { position:absolute; z-index:40; left:0; right:0; bottom:calc(100% + .55rem); display:grid; gap:.2rem; padding:.5rem; border:1px solid #30283c; border-radius:13px; background:#120e19; box-shadow:0 22px 55px rgba(0,0,0,.58); }
.sidebar-account-menu[hidden] { display:none; }
.sidebar-account-menu button,.sidebar-account-menu a { min-height:38px; display:flex; align-items:center; gap:.65rem; padding:.55rem .65rem; border:0; border-radius:8px; background:transparent; color:#d9d3e1; font:700 .7rem/1 Inter,ui-sans-serif,system-ui,sans-serif; text-decoration:none; cursor:pointer; }
.sidebar-account-menu button:hover,.sidebar-account-menu a:hover { background:rgba(155,108,255,.11); color:#fff; }
.sidebar-account-menu span { width:18px; color:#b995ff; text-align:center; font-size:.9rem; }
.sidebar-account-menu .sidebar-account-logout { margin-top:.2rem; padding-top:.65rem; border-top:1px solid #2d2635; border-radius:0 0 8px 8px; color:#ff5f78; }
.file-button input { display: none; }

main { width: min(1400px, 100%); padding: 2.4rem clamp(1.2rem, 4vw, 4rem) 4rem; }
.topbar { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.8rem; }
.scope-switch { display:flex; align-items:center; gap:.25rem; padding:.25rem; margin-left:auto; border:1px solid var(--line); border-radius:11px; background:rgba(12,11,16,.75); }
.scope-switch button { min-height:34px; padding:.35rem .7rem; border:0; border-radius:8px; background:transparent; color:var(--muted); cursor:pointer; font-size:.74rem; font-weight:850; }
.scope-switch button.active { background:var(--violet-soft); color:var(--text); box-shadow:inset 0 0 0 1px rgba(155,108,255,.3); }
.eyebrow, .kicker { color: var(--violet); font-weight: 800; font-size: .72rem; letter-spacing: .16em; margin: 0 0 .45rem; }
h1 { margin: 0; font-size: clamp(2rem, 4vw, 3.25rem); letter-spacing: -.045em; line-height: .98; }
h2 { margin: 0; font-size: 1.05rem; line-height: 1.35; }
.top-actions { display: flex; gap: .65rem; }
button { min-height: 42px; }
.primary-button, .secondary-button, .bad-day-button, .danger-button, .icon-button { border-radius: 10px; padding: .68rem 1rem; border: 1px solid transparent; cursor: pointer; font-weight: 800; }
.primary-button { background: var(--button-gradient); color: #fff; box-shadow: var(--button-glow); }
.primary-button:hover { filter: brightness(1.08); box-shadow: 0 12px 34px -10px rgba(155, 108, 255, .72); }
.secondary-button, .icon-button { background: var(--surface-2); border-color: var(--line); }
.bad-day-button { background: transparent; border-color: var(--line); color: var(--muted); }
.bad-day-button[aria-pressed="true"] { color: var(--warning); border-color: rgba(255,183,77,.45); background: rgba(255,183,77,.08); }
.sidebar-bad-day-status { margin:.45rem .7rem 0; color:var(--warning); font:800 .58rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.07em; }
.sidebar-bad-day-status[hidden] { display:none; }
.bad-day-active .sidebar { border-right-color:rgba(255,183,77,.22); box-shadow:inset -1px 0 rgba(255,183,77,.05); }
.bad-day-active .nav-button.active { border-left-color:var(--warning); background:linear-gradient(90deg,rgba(255,183,77,.14),rgba(255,183,77,.045)); }
.bad-day-active .nav-button.active .nav-icon { color:var(--warning); }
.bad-day-active .view.active > .panel,
.bad-day-active .view.active > .settings-grid .panel,
.bad-day-active .view.active > .system-two-column .panel { border-color:rgba(255,183,77,.18); }
.bad-day-active .view.active .kicker { color:var(--warning); }
.bad-day-active .view.active .brain-entry-edit,
.bad-day-active .view.active .task-edit,
.bad-day-active .view.active .card-arrow { color:var(--warning); border-color:rgba(255,183,77,.38); background:rgba(255,183,77,.07); }
.bad-day-active .view.active .brain-entry-edit:hover,
.bad-day-active .view.active .task-edit:hover { border-color:rgba(255,183,77,.58); background:rgba(255,183,77,.14); }
.bad-day-active .view.active .count-pill,
.bad-day-active .view.active .category-toggle-list > summary { border-color:rgba(255,183,77,.28); }
.bad-day-active .view.active .category-toggle-list[open] > summary { color:var(--warning); }
.danger-button { background: rgba(255,93,105,.1); color: var(--danger); border-color: rgba(255,93,105,.25); }
.icon-button { padding: .5rem .8rem; font-size: 1.15rem; }
.grow { flex: 1; }

.view { display: none; }
.view.active { display: block; animation: enter .2s ease-out; }
@keyframes enter { from { opacity: 0; transform: translateY(4px); } }
.command-strip { display: flex; align-items: center; gap: 1rem; padding: .85rem 1rem; border: 1px solid rgba(155,108,255,.24); background: linear-gradient(90deg, rgba(155,108,255,.1), transparent); border-radius: 12px; margin-bottom: 1rem; }
.command-strip span { color: var(--violet); font-weight: 900; font-size: .68rem; letter-spacing: .16em; }
.command-strip p { margin: 0; font-weight: 750; }
.command-strip > div { display:grid; gap:.25rem; min-width:0; }
.reflection-text { color:#898191; font-size:.72rem; line-height:1.45; }
.bad-day-mission { margin-bottom:1rem; padding:1.1rem; border:1px solid rgba(255,183,77,.42); border-left:3px solid var(--warning); border-radius:14px; background:radial-gradient(circle at 92% 0,rgba(255,183,77,.15),transparent 34%),linear-gradient(145deg,rgba(31,23,16,.94),rgba(14,12,12,.96)); box-shadow:0 18px 55px rgba(0,0,0,.2),inset 0 0 30px rgba(255,183,77,.025); }
.bad-day-mission-head { display:flex; justify-content:space-between; align-items:start; gap:1rem; }
.bad-day-mission-head .kicker { color:var(--warning); }
.bad-day-mission-head > span { padding:.3rem .55rem; border:1px solid rgba(255,183,77,.4); border-radius:999px; color:var(--warning); font-size:.62rem; font-weight:900; letter-spacing:.1em; }
.bad-day-mission-quote { max-width:900px; margin:.75rem 0 1rem; color:#d6c7b6; font-size:.86rem; line-height:1.55; }
.bad-day-mission-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.6rem; }
.bad-day-mission-grid > div, .bad-day-mission-grid > button { min-width:0; min-height:64px; padding:.7rem .8rem; border:1px solid rgba(255,183,77,.18); border-radius:10px; background:rgba(8,7,7,.5); color:inherit; text-align:left; }
.bad-day-mission-grid > button { cursor:pointer; }
.bad-day-mission-grid > button:hover, .bad-day-mission-grid > button.done { border-color:rgba(255,183,77,.55); background:rgba(255,183,77,.1); }
.bad-day-mission-grid span, .bad-day-mission-grid strong { display:block; }
.bad-day-mission-grid span { color:#867768; font-size:.56rem; font-weight:900; letter-spacing:.1em; }
.bad-day-mission-grid strong { margin-top:.25rem; color:#f4e6d6; font-size:1rem; }
.bad-day-mission-grid > button strong { color:var(--warning); font-size:.72rem; }
.bad-day-movement-hint { margin:.65rem 0 0; color:#8f8174; font-size:.68rem; line-height:1.45; }
.bad-day-progress { height:7px; margin-top:.8rem; border-radius:99px; overflow:hidden; background:#30271e; }
.bad-day-progress span { display:block; width:0; height:100%; background:linear-gradient(90deg,#d87823,var(--warning)); box-shadow:0 0 14px rgba(255,183,77,.35); transition:width .3s ease; }
.bad-day-mission-footer { display:flex; justify-content:space-between; gap:1rem; margin-top:.55rem; color:#8f8174; font-size:.65rem; }
.bad-day-mission-footer b { color:var(--warning); letter-spacing:.1em; }
.bad-day-active .command-strip { border-color:rgba(255,183,77,.35); background:linear-gradient(90deg,rgba(255,183,77,.11),transparent); }
.bad-day-active .command-strip > span, .bad-day-active #todayView .kicker { color:var(--warning); }
.bad-day-active .execution-panel, .bad-day-active .timer-panel, .bad-day-active .habits-panel { border-color:rgba(255,183,77,.22); }
.bad-day-active .timer-preset.active { color:var(--warning); border-color:rgba(255,183,77,.48); background:rgba(255,183,77,.08); }
.bad-day-active .timer-panel .primary-button { background:linear-gradient(135deg,#d77823,var(--warning)); box-shadow:0 10px 28px -12px rgba(255,183,77,.62); color:#171008; }
.bad-day-active .habit-streak, .bad-day-active .todo-divider b { color:var(--warning); }
.bad-day-active #todayCount { border-color:rgba(255,183,77,.35); color:var(--warning); }
.onboarding-insights { margin-bottom:1rem; border-color:rgba(155,108,255,.24); background:linear-gradient(135deg,rgba(155,108,255,.08),rgba(18,16,23,.96) 46%); }
.insights-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:.45rem; }
.profile-vision-display { margin:.15rem 0 .9rem; padding:.75rem .9rem; border-left:2px solid var(--violet); background:rgba(8,7,11,.45); color:#c8bfce; line-height:1.55; }
.profile-vision-display:empty { display:none; }
.profile-goals-display { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; }
.profile-goals-display span { padding:.48rem .7rem; border:1px solid rgba(155,108,255,.3); border-radius:999px; background:rgba(155,108,255,.09); color:#d9caff; font-size:.78rem; font-weight:750; }
.brain-dump-display { padding-top:.9rem; border-top:1px solid var(--line); }
.brain-dump-entry-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem .8rem; }
.brain-dump-entry-list > div { min-width:0; display:grid; grid-template-columns:auto 1fr; gap:.5rem; align-items:start; padding:.55rem .65rem; border:1px solid #2e2935; border-radius:8px; background:rgba(8,7,11,.48); color:#aaa2b2; font-size:.78rem; line-height:1.45; }
.brain-dump-entry-list i { width:6px; height:6px; margin-top:.42rem; border-radius:50%; background:var(--violet); box-shadow:0 0 8px rgba(155,108,255,.55); }
.brain-dump-entry-list span { min-width:0; overflow-wrap:anywhere; }
.brain-dump-entry-list small, .brain-dump-entry-list > p { color:var(--muted); }
.deadline-alert { width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem; border:1px solid rgba(255,93,105,.35); background:rgba(255,93,105,.09); color:#ffd7da; padding:.9rem 1rem; border-radius:12px; margin-bottom:1rem; font:inherit; font-weight:700; text-align:left; cursor:pointer; transition:border-color .16s ease,background .16s ease,transform .16s ease; }
.deadline-alert::after { content:"↓"; flex:0 0 auto; font-size:1rem; }
.deadline-alert:hover { border-color:rgba(255,93,105,.7); background:rgba(255,93,105,.14); transform:translateY(-1px); }
.deadline-alert:focus-visible { outline:3px solid rgba(255,93,105,.3); outline-offset:3px; }
.deadlines-panel:focus { outline:none; }
.system-hud { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 1rem; padding: .8rem 1rem; margin-bottom: 1rem; border: 1px solid rgba(155,108,255,.35); background: linear-gradient(110deg, rgba(155,108,255,.16), rgba(17,16,22,.82) 45%, rgba(255,255,255,.02)); border-radius: 14px; box-shadow: inset 0 0 30px rgba(155,108,255,.04); }
.level-seal { width: 58px; height: 58px; display: grid; place-items: center; align-content: center; border-radius: 50%; border: 1px solid var(--violet); background: #0b0911; box-shadow: 0 0 24px rgba(155,108,255,.22); }
.level-seal span, .rank-block span { color: var(--muted); font-size: .57rem; letter-spacing: .13em; font-weight: 850; }
.level-seal strong { font-size: 1.45rem; line-height: 1; color: var(--violet); }
.xp-copy { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .45rem; }
.xp-copy strong { letter-spacing: .12em; }
.xp-copy span { color: var(--muted); font-size: .72rem; }
.xp-track { height: 9px; overflow: hidden; border-radius: 99px; background: #28242f; }
.xp-track span { display:block; height: 100%; background: linear-gradient(90deg, #7041da, #b18cff); box-shadow: 0 0 14px var(--violet); transition: width .3s ease; }
.rank-block { text-align: center; min-width: 74px; }
.rank-block strong { display:block; color: var(--violet); font-size: 2rem; line-height: 1; text-shadow: 0 0 18px rgba(155,108,255,.45); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .72fr); gap: 1rem; }
.right-column { display: grid; gap: 1rem; align-content: start; }
.panel { background: linear-gradient(145deg, rgba(23,21,31,.92), rgba(15,14,20,.96)); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.2rem; box-shadow: 0 18px 50px rgba(0,0,0,.16); }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.section-heading > div { min-width: 0; }
.section-heading.compact { margin-bottom: .8rem; }
.count-pill { flex: 0 0 auto; font-size: .76rem; border: 1px solid var(--line); color: var(--muted); border-radius: 999px; padding: .35rem .6rem; white-space: nowrap; }
.task-stack { display: grid; gap: .65rem; }
.task-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .85rem; min-height: 70px; background: rgba(8,7,11,.55); border: 1px solid #24212b; border-radius: 12px; padding: .85rem; position: relative; }
.task-card { cursor: pointer; }
.task-card:hover { border-color: #484052; background: rgba(18,15,23,.72); }
.task-card.high { border-left: 3px solid var(--danger); }
.task-card.medium { border-left: 3px solid var(--warning); }
.task-card.low { border-left: 3px solid #635e69; }
.task-card.deadline-overdue .task-title, .task-card.deadline-overdue .urgent { color:#ff7d88; }
.task-card.completed { opacity: .48; }
.task-card.completed .task-title { text-decoration: line-through; }
.task-check { appearance: none; width: 24px; height: 24px; flex: 0 0 24px; border: 2px solid #625b6d; border-radius: 7px; display: grid; place-items: center; cursor: pointer; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.task-check:hover { border-color: var(--violet); }
.task-check:checked { background: linear-gradient(145deg, var(--violet), #7046db); border-color: var(--violet); box-shadow: 0 0 0 3px rgba(155,108,255,.12); }
.task-check:checked::after { content: ""; width: 6px; height: 11px; border: solid #fff; border-width: 0 2px 2px 0; transform: translateY(-1px) rotate(45deg); }
.task-title { margin: 0 0 .35rem; font-weight: 780; line-height: 1.25; }
.task-meta { display: flex; flex-wrap: wrap; gap: .45rem .7rem; color: var(--muted); font-size: .76rem; }
.task-type { color: var(--violet-light); border: 1px solid rgba(155,108,255,.34); border-radius: 999px; padding: .08rem .38rem; font-size: .64rem; font-weight: 900; letter-spacing: .08em; }
.area-badge { border-radius:999px; padding:.08rem .4rem; font-size:.64rem; font-weight:900; letter-spacing:.07em; }
.area-badge.business { color:#7fdcaf; border:1px solid rgba(101,212,154,.32); }
.area-badge.personal { color:#91bcff; border:1px solid rgba(105,168,255,.34); }
.area-badge.both { color:#d1b9ff; border:1px solid rgba(155,108,255,.36); }
.task-meta .urgent { color: var(--danger); font-weight: 800; }
.category-dot { width: 7px; height: 7px; border-radius: 99px; display: inline-block; margin-right: .3rem; background: var(--category-color, var(--violet)); }
.task-edit { border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: 1.1rem; padding: .45rem; }
.task-edit:hover { color: var(--text); }
.task-archive { font-size: 1.1rem; }
.task-list-tools { display:flex; align-items:center; gap:.65rem; }
.tasks-page-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,30%); gap:1rem; align-items:start; }
.tasks-main-panel { min-width:0; }
.overdue-tasks-panel { min-width:0; padding:1rem; border-color:rgba(255,93,105,.48); background:rgba(255,93,105,.07); }
.overdue-tasks-panel:focus { outline:none; }
.overdue-tasks-panel .section-heading { margin-bottom:.7rem; }
.overdue-tasks-panel h2 { color:var(--danger); font-size:1.15rem; }
.overdue-tasks-panel .count-pill { color:var(--danger); border-color:rgba(255,93,105,.4); }
.overdue-task-titles { display:grid; gap:.45rem; }
.overdue-task-titles button { width:100%; padding:.65rem .7rem; border:1px solid rgba(255,93,105,.24); border-radius:9px; background:rgba(8,7,11,.45); color:#ff8a94; font:inherit; font-size:.78rem; font-weight:780; line-height:1.35; text-align:left; cursor:pointer; overflow-wrap:anywhere; }
.overdue-task-titles button:hover, .overdue-task-titles button:focus-visible { border-color:var(--danger); background:rgba(255,93,105,.12); outline:none; }
.appointment-task-card { border-left:3px solid #69a8ff; }
.appointment-task-card.business { border-left-color:var(--success); }
.appointment-task-card.both { border-left-color:var(--violet); }
.appointment-task-card.important { box-shadow:inset 0 0 0 1px rgba(255,183,77,.18); }
.appointment-task-icon { width:22px; height:22px; display:grid; place-items:center; align-self:start; margin-top:.12rem; border:1px solid #69a8ff; border-radius:50%; color:#9fc5ff; font-size:.78rem; }
.appointment-task-card.business .appointment-task-icon { border-color:var(--success); color:var(--success); }
.appointment-kind { border-color:rgba(105,168,255,.5); color:#9fc5ff; }
.appointment-task-location { color:var(--muted); overflow-wrap:anywhere; }
.subtask-list { grid-column: 2 / -1; display: grid; gap: .35rem; margin-top: -.25rem; }
.subtask-row { display: flex; align-items: center; gap: .5rem; color: var(--muted); font-size: .78rem; }
.subtask-row input { appearance:none; width:17px; height:17px; flex:0 0 17px; padding:0; border:1.5px solid #625b6d; border-radius:4px; display:grid; place-items:center; cursor:pointer; }
.subtask-row input:checked { background:var(--violet); border-color:var(--violet); }
.subtask-row input:checked::after { content:""; width:4px; height:8px; border:solid #fff; border-width:0 1.7px 1.7px 0; transform:translateY(-1px) rotate(45deg); }
.subtask-row.done span { text-decoration: line-through; opacity: .65; }
.quest-xp { color: var(--violet); font-weight: 850; font-size: .68rem; }
.text-button { border: 0; background: transparent; color: var(--violet); cursor: pointer; padding: .8rem .2rem .1rem; font-weight: 800; }
.todo-divider { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1.1rem 0 .55rem; padding-top:.85rem; border-top:1px solid var(--line); color:var(--muted); font-size:.68rem; font-weight:850; letter-spacing:.13em; }
.todo-divider b { display:grid; place-items:center; min-width:25px; height:25px; border-radius:99px; background:var(--surface-2); color:var(--text); }
.compact-tasks .task-card { min-height:58px; padding:.7rem .8rem; }
.empty-state { color: var(--muted); text-align: center; padding: 2.2rem 1rem; border: 1px dashed var(--line); border-radius: 12px; }
.archive-explainer { max-width: 720px; margin-bottom: 1rem; line-height: 1.55; }
.archive-tabs { display:inline-flex; gap:.3rem; margin-bottom:1.2rem; padding:.3rem; border:1px solid var(--line); border-radius:11px; background:#0d0b12; }
.archive-tabs button { min-height:36px; padding:.45rem .9rem; border:0; border-radius:8px; background:transparent; color:var(--muted); cursor:pointer; font-weight:850; }
.archive-tabs button.active { background:var(--violet-soft); color:var(--text); box-shadow:inset 0 0 0 1px rgba(155,108,255,.25); }
.archive-list { display: grid; gap: .7rem; }
.archive-list.completed-layout { grid-template-columns:minmax(0,1.75fr) minmax(270px,.75fr); align-items:start; gap:1rem; }
.archive-list .empty-state { margin-top:.85rem; }
.archive-content-section { display:grid; gap:.8rem; padding:1rem; border:1px solid var(--line); border-radius:14px; background:color-mix(in srgb,var(--surface) 82%,transparent); }
.archive-content-section + .archive-content-section { margin-top:1rem; }
.completed-layout .archive-content-section + .archive-content-section { margin-top:0; }
.archive-section-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.archive-section-heading h3 { margin:.16rem 0 0; font-size:1.1rem; }
.archive-section-heading .kicker { margin:0; }
.archive-content-section > .muted-copy { margin:0; }
.archive-section-list { display:grid; gap:.7rem; }
.appointment-archive-section { border-color:color-mix(in srgb,#69a8ff 35%,var(--line)); }
.task-archive-section { border-color:color-mix(in srgb,var(--success) 30%,var(--line)); }
.appointment-archive-section .archive-task-card { padding:.75rem; align-items:flex-start; gap:.65rem; }
.appointment-archive-section .archive-task-main h3 { font-size:.86rem; }
.appointment-archive-section .archive-task-meta { gap:.35rem; font-size:.66rem; }
.appointment-archive-section .archive-task-note { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; font-size:.7rem; }
.appointment-archive-section .archive-restore { min-height:34px; padding:.4rem .6rem; font-size:.72rem; }
.archive-task-card { display: flex; align-items: center; gap: 1rem; padding: 1rem; border: 1px solid var(--line); border-left: 3px solid var(--violet); border-radius: 12px; background: rgba(8,7,11,.5); }
.archive-task-main { flex: 1; min-width: 0; }
.archive-task-main h3 { margin: 0 0 .4rem; font-size: .96rem; overflow-wrap: anywhere; }
.archive-task-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .7rem; color: var(--muted); font-size: .74rem; }
.archive-task-note { margin: .55rem 0 0; color: var(--muted); font-size: .78rem; }
.archive-restore { flex: 0 0 auto; }
.archive-task-card.completed-record { border-left-color:var(--success); }
.archive-task-card.completed-record .archive-task-main h3 { text-decoration:line-through; text-decoration-color:rgba(255,255,255,.3); }
.xp-earned-note { color:var(--success); font-weight:850; }
.xp-blocked-note { color:var(--warning); font-weight:850; }

.timer-display { font-variant-numeric: tabular-nums; text-align: center; font-size: clamp(3.1rem, 7vw, 5rem); font-weight: 850; letter-spacing: -.07em; line-height: 1; margin: 1.3rem 0; }
.status-dot { color: var(--muted); font-size: .66rem; letter-spacing: .13em; }
.status-dot.running { color: var(--success); }
.timer-presets, .timer-actions { display: flex; gap: .5rem; }
.timer-preset { flex: 1; background: transparent; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); cursor: pointer; font-weight: 800; font-size: .73rem; }
.timer-preset.active { color: var(--violet); border-color: var(--violet-2); background: var(--violet-soft); }
.timer-actions { margin-top: .6rem; }
.progress-track { height: 8px; border-radius: 999px; background: #28242f; overflow: hidden; }
.progress-track span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--violet-2), var(--violet)); transition: width .35s ease; }
.mini-stats { display: grid; grid-template-columns: repeat(2,1fr); gap: .65rem; margin-top: 1rem; }
.mini-stat { background: rgba(8,7,11,.45); border-radius: 10px; padding: .75rem; }
.mini-stat strong, .mini-stat span { display: block; }
.mini-stat strong { font-size: 1.3rem; }
.mini-stat span { color: var(--muted); font-size: .72rem; margin-top: .15rem; }
.habits-panel { margin-top: 1rem; }
.habits-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem; }
.habit-card { border: 1px solid var(--line); background: rgba(8,7,11,.42); border-radius: 12px; padding: .9rem; }
.habit-top { display: flex; justify-content: space-between; align-items: start; gap: 1rem; }
.habit-top strong { display: block; }
.habit-top small { color: var(--muted); }
.habit-streak { color: var(--violet); font-weight: 800; font-size: .78rem; }
.habit-days { display: grid; grid-template-columns: repeat(7,1fr); gap: .35rem; margin-top: .8rem; }
.habit-day { min-height: 38px; border-radius: 8px; border: 1px solid var(--line); background: transparent; color: var(--muted); cursor: pointer; font-size: .7rem; font-weight: 800; padding: 0; }
.habit-day.done { background: var(--violet); color: #0b0811; border-color: var(--violet); }
.habit-day.future { opacity: .35; cursor: not-allowed; }

.filter-row { display: flex; align-items:flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.category-toggle-list { position:relative; z-index:30; width:min(340px,100%); border:1px solid var(--line); border-radius:12px; background:#0d0b12; }
.category-toggle-list summary { list-style:none; padding:.65rem .85rem; color:var(--muted); cursor:pointer; font-size:.74rem; font-weight:850; letter-spacing:.08em; }
.category-toggle-list summary::-webkit-details-marker { display:none; }
.category-toggle-list summary::after { content:"⌄"; float:right; color:var(--violet); }
.category-toggle-list[open] summary::after { transform:rotate(180deg); }
.task-filter-list { position:absolute; top:calc(100% + .4rem); left:0; right:0; display:grid; gap:.12rem; padding:.55rem; border:1px solid var(--line); border-radius:12px; background:rgba(13,11,18,.98); box-shadow:0 22px 60px rgba(0,0,0,.62),0 0 0 1px rgba(155,108,255,.06); backdrop-filter:blur(18px); }
.task-filter-option { min-height:34px; width:100%; display:flex; align-items:center; gap:.65rem; padding:.4rem .58rem; border:0; border-radius:8px; background:transparent; color:var(--muted); text-align:left; cursor:pointer; font-size:.76rem; font-weight:750; }
.task-filter-option:hover, .task-filter-option.active { color:var(--text); background:var(--violet-soft); }
.task-filter-option i { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:var(--category-color); box-shadow:0 0 10px color-mix(in srgb,var(--category-color) 55%,transparent); }
.task-filter-option small { margin-left:auto; color:#777080; font-size:.66rem; }
.appointments-intro { max-width:560px; }
.appointments-intro .muted-copy { margin:0; }
.appointment-actions { display:flex; align-items:center; gap:.65rem; }
.appointment-list { display:grid; gap:.7rem; }
.appointments-footnote { margin:.55rem .2rem 0; text-align:right; color:var(--muted); font-size:.7rem; }
.appointment-card { display:grid; grid-template-columns:auto 90px minmax(0,1fr) auto; align-items:center; gap:1rem; padding:1rem; border:1px solid var(--line); border-left:3px solid #69a8ff; border-radius:12px; background:rgba(8,7,11,.5); cursor:pointer; }
.appointment-card.business { border-left-color:var(--success); }
.appointment-card.both { border-left-color:var(--violet); }
.appointment-card.important { box-shadow:inset 0 0 0 1px rgba(255,183,77,.18); }
.appointment-card:hover { border-color:#554a62; }
.appointment-card.overdue, .appointment-task-card.overdue { border-color:rgba(255,93,105,.58); box-shadow:inset 3px 0 0 var(--danger); }
.appointment-overdue-label { color:var(--danger); font-weight:900; letter-spacing:.06em; }
.appointment-reminder-label { color:var(--violet-light); }
.appointment-reminders { margin:1rem 0; padding:1rem; border:1px solid var(--line); border-radius:12px; }
.appointment-reminders legend { padding:0 .45rem; color:var(--violet-light); font-weight:850; }
.appointment-reminders .muted-copy { margin:.1rem 0 .85rem; }
.appointment-complete-button { border-color:rgba(101,212,154,.5); color:var(--success); }
.appointment-complete-button:hover { background:rgba(101,212,154,.12); }
.archive-task-card.completed-appointment-record { border-left-color:#69a8ff; }
.appointment-when { display:grid; text-align:center; gap:.1rem; }
.appointment-when strong { font-size:1.15rem; color:#9fc5ff; }
.appointment-card.business .appointment-when strong { color:var(--success); }
.appointment-when span { color:var(--muted); font-size:.72rem; }
.appointment-main { min-width:0; }
.appointment-main h3 { margin:0 0 .35rem; font-size:.98rem; overflow-wrap:anywhere; }
.appointment-main p { margin:.3rem 0 0; color:var(--muted); font-size:.78rem; }
.appointment-meta { display:flex; flex-wrap:wrap; gap:.45rem .65rem; align-items:center; color:var(--muted); font-size:.74rem; }
.appointment-link { color:var(--violet); }
.appointment-location { white-space:nowrap; max-width:230px; overflow:hidden; text-overflow:ellipsis; color:var(--muted); font-size:.78rem; text-align:right; }
.compact-appointments .appointment-card { padding:.75rem; }
.filter-chips { display: flex; flex-wrap: wrap; gap: .45rem; }
.filter-chip { border: 1px solid var(--line); background: transparent; color: var(--muted); border-radius: 999px; padding: .45rem .75rem; cursor: pointer; min-height: 38px; font-size: .8rem; font-weight: 750; }
.filter-chip.active { color: var(--text); background: var(--violet-soft); border-color: var(--violet-2); }
.search-box { min-width: 220px; display: flex; align-items: center; gap: .5rem; border: 1px solid var(--line); border-radius: 10px; padding: 0 .75rem; background: var(--surface); }
.search-box input { width: 100%; background: transparent; border: 0; color: var(--text); outline: 0; }

.week-summary { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.week-score { text-align: right; }
.week-score strong, .week-score span { display: block; }
.week-score strong { font-size: 2.25rem; color: var(--violet); }
.week-score span { color: var(--muted); font-size: .75rem; }
.week-grid { display: grid; grid-template-columns: repeat(7, minmax(120px,1fr)); gap: .65rem; overflow-x: auto; padding-bottom: .5rem; }
.system-week-grid { margin-bottom:1rem; }
.day-column { min-height: 220px; padding: .8rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.day-column[data-date] { cursor:pointer; }
.day-column[data-date]:hover { border-color:#51485c; }
.day-column.today { border-color: var(--violet-2); box-shadow: inset 0 3px var(--violet); }
.day-name { color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .1em; }
.day-date { font-size: 1.35rem; font-weight: 850; margin: .2rem 0 .8rem; }
.week-task { padding: .55rem 0; border-top: 1px solid #25222b; font-size: .76rem; line-height: 1.3; }
.week-task[data-task] { cursor:pointer; }
.week-task[data-task]:hover { color:var(--violet); }
.week-task.done { color: var(--muted); text-decoration: line-through; }
.deadlines-panel { margin-top: 1rem; }
.deadline-list { display: grid; gap: .6rem; }
.deadline-item { display: grid; grid-template-columns: 110px 1fr auto; gap: 1rem; align-items: center; padding: .85rem; border: 1px solid var(--line); border-radius: 10px; }
.deadline-item[data-task] { cursor:pointer; }
.deadline-item[data-task]:hover { border-color:var(--danger); background:rgba(255,93,105,.05); }
.deadline-item.overdue { border-color:rgba(255,93,105,.68); border-left:3px solid var(--danger); background:rgba(255,93,105,.11); box-shadow:inset 0 0 28px rgba(255,93,105,.05); }
.deadline-item.overdue strong, .deadline-item.overdue .deadline-date, .deadline-item.overdue .count-pill { color:#ff7d88; }
.deadline-item.overdue .count-pill { border-color:rgba(255,93,105,.48); background:rgba(255,93,105,.08); }
.deadline-date { color: var(--danger); font-weight: 850; }
.deadline-item small { color: var(--muted); }

.arc-hero { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; background: radial-gradient(circle at 85% 50%, rgba(155,108,255,.2), transparent 30%), linear-gradient(145deg, rgba(23,21,31,.96), rgba(15,14,20,.96)); }
.arc-hero h2 { font-size: clamp(1.5rem,3vw,2.25rem); }
.muted-copy { color: var(--muted); margin: .5rem 0 0; }
.sync-status { color:#72d7a5; font-size:.78rem; font-weight:700; letter-spacing:.04em; margin:.7rem 0 0; }
.arc-actions { display: flex; align-items: center; gap: 1rem; }
.week-orbit { width: 76px; height: 76px; border-radius: 50%; display: grid; place-items: center; align-content: center; border: 1px solid var(--violet-2); background: #0d0b12; }
.week-orbit span { font-size: .55rem; letter-spacing: .12em; color: var(--muted); }
.week-orbit strong { font-size: 1.55rem; line-height: 1; color: var(--violet); }
.week-orbit small { color: var(--muted); }
.goal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin-bottom: 1rem; }
.goal-card { padding: 1rem; border-radius: 14px; border: 1px solid var(--line); background: var(--surface); }
.goal-card { cursor:pointer; }
.goal-card:hover { border-color:var(--violet-2); transform:translateY(-1px); }
.goal-card header { display:flex; justify-content:space-between; gap:.75rem; align-items:start; }
.goal-card h3 { margin:0; font-size:1rem; }
.goal-card .goal-value { font-weight:900; color:var(--violet); }
.goal-track, .skill-track { height:7px; margin-top:.8rem; background:#28242f; border-radius:99px; overflow:hidden; }
.goal-track span, .skill-track span { display:block; height:100%; background:linear-gradient(90deg,var(--violet-2),var(--violet)); }
.skill-panel { margin-bottom: 1rem; }
.twelve-week-panel { margin-bottom:1rem; }
.twelve-week-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.week-cycle-card { border:1px solid var(--line); background:rgba(8,7,11,.45); border-radius:12px; padding:.8rem; cursor:pointer; text-align:left; }
.week-cycle-card:hover, .week-cycle-card.current { border-color:var(--violet-2); }
.week-cycle-card.current { box-shadow:inset 0 2px var(--violet); }
.week-cycle-head { display:flex; justify-content:space-between; align-items:center; gap:.5rem; }
.week-cycle-head strong { font-size:.82rem; }
.week-cycle-head span { color:var(--violet); font-weight:900; font-size:.76rem; }
.week-cycle-card p { color:var(--muted); font-size:.72rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin:.45rem 0; }
.week-days-meter { display:grid; grid-template-columns:repeat(7,1fr); gap:.24rem; }
.week-days-meter i { display:block; height:22px; border-radius:4px; background:#28242f; position:relative; overflow:hidden; }
.week-days-meter i::after { content:""; position:absolute; inset:auto 0 0; height:var(--day-progress,0%); background:var(--violet); opacity:.85; }
.clickable-card { cursor:pointer; position:relative; }
.clickable-card:hover { border-color:var(--violet-2); }
.settings-group { margin-bottom:2rem; }
.settings-group-heading { display:flex; align-items:center; gap:.8rem; margin:0 0 .8rem .15rem; }
.settings-group-heading > span { display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(155,108,255,.32); border-radius:10px; background:rgba(155,108,255,.09); color:#b995ff; font:900 .65rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; }
.settings-group-heading .kicker { margin-bottom:.18rem; }
.settings-group-heading h2 { font-size:1.12rem; }
.admin-settings-group { padding-top:1rem; border-top:1px dashed rgba(155,108,255,.35); }
.admin-status-card { box-shadow:inset 3px 0 0 var(--purple); }
.admin-xp-summary { display:block; margin-top:1rem; color:var(--purple-soft); font-size:.9rem; }
.settings-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.settings-card { min-height:190px; display:flex; flex-direction:column; align-items:flex-start; }
.settings-card .secondary-button, .settings-card .danger-button, .settings-card .file-button { margin-top:auto; }
.account-danger-card { border-color:rgba(255,93,105,.32); background:linear-gradient(145deg,rgba(255,93,105,.07),rgba(18,15,25,.94)); }
.account-danger-card .kicker { color:#ff7883; }
.delete-account-card { max-width:560px; }
.delete-account-warning { margin:0; padding:1rem; border:1px solid rgba(255,93,105,.32); border-radius:12px; background:rgba(255,93,105,.08); color:#f4c2c7; line-height:1.6; }
.delete-account-confirm-label { display:grid; gap:.55rem; margin-top:1rem; color:var(--muted); }
.delete-account-confirm-label strong { color:#ff7883; font-family:var(--display); }
.delete-account-confirm-label input { width:100%; }
.delete-account-card .danger-button:disabled { opacity:.42; cursor:not-allowed; box-shadow:none; }
.settings-button-row { width:100%; margin-top:auto; display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; }
.settings-button-row .secondary-button, .settings-button-row .text-button { margin-top:0; }
.language-switch { display:flex; gap:.35rem; margin-top:auto; padding:.25rem; width:100%; border:1px solid var(--line); border-radius:10px; }
.language-switch button { flex:1; min-height:38px; border:0; border-radius:7px; background:transparent; color:var(--muted); cursor:pointer; font-weight:850; }
.language-switch button.active { background:var(--violet-soft); color:var(--text); }
.card-arrow { position:absolute; right:1.2rem; bottom:1rem; color:var(--violet); font-size:1.5rem; }
.settings-account-card { min-height:230px; }
.settings-account-preview { width:100%; display:flex; align-items:center; gap:.7rem; margin:.85rem 0 .15rem; padding:.65rem; border:1px solid #2d2636; border-radius:11px; background:rgba(8,7,11,.44); }
.settings-account-preview > span:last-child { min-width:0; display:grid; gap:.18rem; }
.settings-account-preview strong,.settings-account-preview small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.settings-account-preview strong { font-size:.78rem; }
.settings-account-preview small { color:#91899d; font-size:.64rem; }
.local-note { color:var(--muted); font-size:.82rem; margin:1rem .2rem; }
.skills-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.skill-card { padding:1rem; border:1px solid var(--line); border-radius:12px; background:rgba(8,7,11,.46); cursor:pointer; }
.skill-card:hover { border-color:var(--violet-2); }
.skill-head { display:flex; justify-content:space-between; gap:.5rem; }
.skill-rank { color:var(--violet); font-weight:900; }
.skill-difficulty { display:flex; justify-content:space-between; gap:.75rem; margin-top:.65rem; color:#8f8798; font-size:.64rem; font-weight:850; letter-spacing:.08em; }
.skill-difficulty b { color:#c9b5f5; letter-spacing:0; }
.skill-card p { color:var(--muted); font-size:.78rem; margin:.65rem 0 0; }
.skill-card-links { display:block; margin-top:.45rem; color:#716b7b; font-size:.66rem; }
.skill-create-quest { width:100%; margin:.65rem 0 .85rem; }
.skill-create-quest[hidden] { display:none; }
.skill-quest-overview { margin:.25rem 0 1rem; padding:1rem; border:1px solid var(--line); border-radius:12px; background:rgba(8,7,11,.42); }
.skill-quest-overview[hidden] { display:none; }
.skill-quest-overview-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.8rem; }
.skill-quest-overview-head strong { font-size:.82rem; }
.skill-quest-overview-head span { color:var(--muted); font-size:.7rem; }
.skill-quest-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.skill-quest-group { min-width:0; padding:.75rem; border:1px solid #292530; border-radius:10px; background:#0c0a10; }
.skill-quest-group h4 { margin:0 0 .55rem; color:var(--violet-2); font-size:.62rem; letter-spacing:.1em; }
.skill-quest-link { width:100%; display:flex; justify-content:space-between; gap:.7rem; padding:.5rem 0; border:0; border-bottom:1px solid #24212a; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.skill-quest-link:last-child { border-bottom:0; }
.skill-quest-link small { flex:0 0 auto; color:var(--muted); }
.skill-quest-empty { margin:0; color:var(--muted); font-size:.72rem; line-height:1.45; }
.habit-skill-link { display:inline-flex; align-items:center; gap:.3rem; margin-top:.35rem; color:var(--violet-2); font-size:.66rem; }
.habit-skill-link::before { content:"◇"; }
.habit-editor-skill { display:grid; grid-template-columns:minmax(0,1fr) 110px 110px; gap:.55rem; margin-top:.6rem; }
.habit-editor-skill label:first-child { grid-column:1/-1; }
.system-two-column { display:grid; grid-template-columns:1.2fr .8fr; gap:1rem; }
.rules-list { margin:0; padding-left:1.35rem; display:grid; gap:.7rem; }
.rules-list li::marker { color:var(--violet); font-weight:900; }
.anti-habits-list { display:grid; gap:.65rem; }
.anti-habit { display:grid; grid-template-columns:1fr auto; gap:.6rem; align-items:center; padding:.75rem; border:1px solid var(--line); border-radius:10px; }
.anti-habit button { min-height:34px; padding:.35rem .65rem; border-radius:8px; border:1px solid rgba(255,93,105,.25); background:rgba(255,93,105,.07); color:#ffc2c7; cursor:pointer; font-weight:800; font-size:.7rem; }
.anti-habit.clean { border-color:rgba(101,212,154,.25); }
.anti-habit.clean button { color:var(--success); border-color:rgba(101,212,154,.25); background:rgba(101,212,154,.07); }
.config-stack { display:grid; gap:.65rem; }
.goal-config { display:grid; grid-template-columns:minmax(0,2fr) minmax(70px,.6fr) minmax(70px,.6fr) minmax(70px,.6fr); gap:.55rem; padding:.7rem; border:1px solid var(--line); border-radius:10px; }
.wide-modal { width:min(760px,100%); }
.system-modal-card { width:min(1120px,calc(100vw - 2rem)); max-width:100%; max-height:94dvh; overflow-x:hidden; overflow-y:auto; padding:1.4rem; scrollbar-gutter:stable; }
.system-modal-card .modal-header { position:sticky; top:-1.4rem; z-index:5; margin:-1.4rem -1.4rem 1rem; padding:1.4rem 1.4rem 1rem; border-bottom:1px solid var(--line); background:rgba(18,16,23,.97); backdrop-filter:blur(12px); }
.system-modal-card .form-actions { position:sticky; bottom:-1.4rem; z-index:5; margin:0 -1.4rem -1.4rem; padding:1rem 1.4rem 1.4rem; border-top:1px solid var(--line); background:rgba(18,16,23,.97); backdrop-filter:blur(12px); }
.system-config-section { padding:1.15rem; border:1px solid var(--line); border-radius:14px; background:linear-gradient(145deg,rgba(20,17,28,.88),rgba(10,9,14,.72)); }
.system-identity-section { background:radial-gradient(circle at 90% 0,rgba(155,108,255,.17),transparent 36%),linear-gradient(145deg,rgba(20,17,28,.92),rgba(10,9,14,.76)); }
.config-section-heading { display:flex; align-items:start; justify-content:space-between; gap:1rem; margin-bottom:.35rem; }
.config-section-heading h3 { margin:.16rem 0 0; font-size:1.12rem; }
.config-section-heading > span { display:grid; place-items:center; min-width:38px; height:38px; border:1px solid rgba(155,108,255,.34); border-radius:50%; color:var(--violet); font-size:.7rem; font-weight:900; }
.config-help { max-width:760px; margin:.25rem 0 1rem; color:var(--muted); font-size:.78rem; line-height:1.55; }
.config-column-labels { display:grid; gap:.55rem; padding:0 .72rem .4rem; color:#746d7d; font-size:.6rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.goal-column-labels { grid-template-columns:minmax(0,2fr) minmax(70px,.6fr) minmax(70px,.6fr) minmax(70px,.6fr); }
.habit-column-labels { grid-template-columns:minmax(0,2fr) minmax(80px,.6fr); }
.system-config-split { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.system-config-split > div { min-width:0; }
.habit-config { grid-template-columns:minmax(0,2fr) minmax(80px,.6fr); }
.anti-config { grid-template-columns:1fr; }
.system-weeks-editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.system-week-editor { display:grid; grid-template-columns:68px minmax(0,.8fr) minmax(0,1.2fr); gap:.65rem; align-items:end; padding:.75rem; border:1px solid #2d2934; border-radius:11px; background:rgba(7,6,10,.48); }
.system-week-number { align-self:center; text-align:center; }
.system-week-number span, .system-week-number strong { display:block; }
.system-week-number span { color:var(--muted); font-size:.55rem; font-weight:900; letter-spacing:.1em; }
.system-week-number strong { color:var(--violet); font-size:1.35rem; line-height:1.1; }
.system-week-editor label { min-width:0; font-size:.68rem; }
.system-week-editor input { min-width:0; }
.skill-modal-card { width:min(680px,calc(100vw - 2rem)); overflow-x:hidden; }
.skill-creation-intro { display:flex; align-items:center; gap:.9rem; padding:1rem; border:1px solid rgba(155,108,255,.32); border-radius:12px; background:radial-gradient(circle at 5% 50%,rgba(155,108,255,.18),transparent 32%),#0c0a11; }
.skill-creation-intro strong { display:block; }
.skill-creation-intro p { margin:.25rem 0 0; color:var(--muted); font-size:.76rem; line-height:1.45; }
.skill-system-rune { display:grid; place-items:center; flex:0 0 48px; height:48px; border:1px solid var(--violet); border-radius:50%; color:var(--violet); font-size:1.3rem; box-shadow:0 0 24px rgba(155,108,255,.12); }
.skill-xp-summary { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.skill-xp-summary > div { padding:.85rem; border:1px solid var(--line); border-radius:10px; background:#0b0910; }
.skill-xp-summary span, .skill-xp-summary strong { display:block; }
.skill-xp-summary span { color:var(--muted); font-size:.58rem; font-weight:900; letter-spacing:.08em; }
.skill-xp-summary strong { margin-top:.3rem; color:var(--violet); font-size:1.05rem; }
.skill-reward-rules { padding:.85rem; border:1px solid var(--line); border-radius:10px; background:rgba(8,7,11,.5); }
.skill-reward-rules > div { display:flex; justify-content:space-between; gap:1rem; padding:.4rem 0; color:var(--muted); font-size:.76rem; border-top:1px solid #25212b; }
.skill-reward-rules > div:first-of-type { margin-top:.45rem; }
.skill-reward-rules b { color:#c8b1fa; }
.subtask-editor { margin:0; padding:.75rem; border:1px solid var(--line); border-radius:10px; }
.subtask-editor legend { color:var(--muted); font-size:.82rem; font-weight:700; padding:0 .3rem; }
.subtask-input-row { display:grid; grid-template-columns:1fr auto; gap:.45rem; margin-bottom:.4rem; }
.subtask-input-row button { min-height:40px; }
.editor-list { display:grid; gap:.7rem; }
.editor-row { border:1px solid var(--line); border-radius:12px; padding:.8rem; background:rgba(8,7,11,.42); display:grid; gap:.65rem; }
.editor-row-main { display:grid; grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(90px,.55fr)) auto; gap:.55rem; align-items:end; }
.editor-row-main.category-editor-main { grid-template-columns:auto minmax(0,1.5fr) minmax(120px,.7fr) 60px auto; }
.category-editor-head, .category-editor-row { display:grid; grid-template-columns:92px minmax(170px,1.5fr) minmax(125px,.75fr) 72px 42px; gap:.65rem; align-items:center; }
.category-editor-head { padding:0 .65rem; color:var(--muted); font-size:.65rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.category-editor-row { padding:.7rem; border:1px solid var(--line); border-radius:11px; background:rgba(8,7,11,.42); }
.category-editor-row label { display:block; }
.category-editor-row label > span { display:none; }
.category-editor-row input, .category-editor-row select { min-height:42px; }
.category-visibility { min-height:38px; display:flex; align-items:center; justify-content:center; gap:.35rem; padding:.35rem .45rem; border:1px solid var(--line); border-radius:8px; background:transparent; color:var(--muted); cursor:pointer; }
.category-visibility span { color:#68616f; font-size:.75rem; }
.category-visibility small { font-size:.58rem; font-weight:900; letter-spacing:.06em; }
.category-visibility.active { color:var(--text); border-color:rgba(155,108,255,.52); background:var(--violet-soft); }
.category-visibility.active span { color:var(--violet); }
.category-color-field input[type="color"] { padding:.25rem; cursor:pointer; }
.category-delete { color:var(--danger); }
.editor-row label { font-size:.7rem; }
.weekday-editor { display:grid; grid-template-columns:repeat(7,1fr); gap:.35rem; }
.weekday-toggle { min-height:34px; border:1px solid var(--line); border-radius:8px; background:transparent; color:var(--muted); cursor:pointer; font-size:.7rem; font-weight:850; }
.weekday-toggle.active { border-color:var(--violet); color:var(--text); background:var(--violet-soft); }
.habit-day.unscheduled { opacity:.22; border-style:dashed; }
.habit-day.scheduled.future { opacity:.55; border-color:#51485c; }
.day-plan-content { display:grid; gap:.85rem; margin-bottom:1rem; }
.day-plan-group { display:grid; gap:.5rem; }
.day-plan-group h3 { margin:0; color:var(--muted); font-size:.72rem; letter-spacing:.12em; }
.day-plan-item { padding:.7rem; border:1px solid var(--line); border-radius:9px; cursor:pointer; }
.day-plan-item:hover { border-color:var(--violet-2); }
.day-plan-item strong, .day-plan-item span { display:block; }
.day-plan-item span { margin-top:.2rem; color:var(--muted); font-size:.75rem; }
.day-plan-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; }
.combined-week-system { margin-top:1rem; }
#systemView { position:relative; }
.system-lock-overlay { position:absolute; inset:0; z-index:8; display:grid; place-items:start center; padding:clamp(3rem,8vw,7rem) 1rem; }
.system-lock-overlay[hidden] { display:none; }
.system-lock-card { position:relative; overflow:hidden; width:min(540px,100%); padding:2.25rem; border:1px solid rgba(155,108,255,.42); border-radius:22px; text-align:center; color:var(--text); background:rgba(13,11,18,.96); box-shadow:0 30px 100px rgba(0,0,0,.7),0 0 80px rgba(155,108,255,.1); backdrop-filter:blur(18px); }
.system-lock-card::before { content:""; position:absolute; inset:-45% -20% auto; height:75%; pointer-events:none; background:radial-gradient(circle,rgba(155,108,255,.16),transparent 68%); }
.system-coming-soon-symbol { position:relative; display:grid; place-items:center; width:72px; height:72px; margin:0 auto .85rem; color:#b98cff; filter:drop-shadow(0 8px 18px rgba(155,108,255,.32)); }
.system-coming-soon-symbol svg { width:64px; height:64px; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.system-lock-card .kicker { position:relative; color:var(--violet); }
.system-lock-card h2 { position:relative; margin:.45rem auto .8rem; max-width:430px; color:var(--text); font-size:clamp(1.65rem,4vw,2.15rem); line-height:1.08; }
.system-lock-card p:not(.kicker) { position:relative; max-width:440px; margin-inline:auto; color:var(--muted); line-height:1.62; }
.system-lock-card .primary-button { margin:1rem auto 0; }
.coming-soon-pill { position:relative; display:inline-flex; align-items:center; justify-content:center; margin-top:1.1rem; padding:.62rem 1rem; border:1px solid rgba(255,255,255,.42); border-radius:999px; background:linear-gradient(100deg,#a66cff,#f06cba); color:#fff; font-size:.7rem; letter-spacing:.14em; box-shadow:0 12px 30px rgba(63,12,88,.3); }
.admin-twelve-weeks-access { position:fixed; right:clamp(1rem,2.5vw,2.2rem); bottom:clamp(1rem,2.5vw,2rem); z-index:35; width:auto; min-width:220px; box-shadow:0 14px 40px rgba(155,108,255,.36); }
.admin-twelve-weeks-access.is-unlocked { background:var(--surface-2); color:var(--text); border:1px solid var(--violet-2); }
#systemView.system-locked > :not(.system-lock-overlay):not(.admin-twelve-weeks-access) { filter:blur(8px); opacity:.48; pointer-events:none; user-select:none; }
#braindumpView { position:relative; }
#braindumpView.brain-dump-locked > :not(.brain-dump-lock-overlay) { filter:blur(8px); opacity:.48; pointer-events:none; user-select:none; }

.onboarding-screen[hidden] { display:none; }
.onboarding-screen { position:fixed; inset:0; z-index:280; display:grid; place-items:center; min-height:100dvh; padding:clamp(.75rem,2.5vw,2rem); overflow:auto; background:radial-gradient(circle at 82% 18%,rgba(155,108,255,.2),transparent 32%),radial-gradient(circle at 15% 82%,rgba(79,209,197,.08),transparent 30%),#09080d; }
.onboarding-grid { position:fixed; inset:0; pointer-events:none; opacity:.17; background-image:linear-gradient(rgba(155,108,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(155,108,255,.16) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to bottom,black,transparent 88%); }
.onboarding-card { position:relative; z-index:1; width:min(980px,100%); border:1px solid rgba(155,108,255,.28); border-radius:22px; padding:clamp(1.1rem,3vw,2.4rem); background:linear-gradient(145deg,rgba(20,17,28,.98),rgba(10,9,14,.98)); box-shadow:0 38px 110px rgba(0,0,0,.58),inset 0 0 0 1px rgba(255,255,255,.025); }
.onboarding-head { display:flex; justify-content:space-between; gap:2rem; align-items:flex-start; padding-bottom:1.25rem; margin-bottom:1.25rem; border-bottom:1px solid var(--line); }
.onboarding-head h2 { margin:.25rem 0 .45rem; font-size:clamp(1.7rem,4vw,3rem); letter-spacing:-.035em; }
.onboarding-head p:not(.kicker) { margin:0; color:var(--muted); line-height:1.55; }
.onboarding-seal { flex:0 0 58px; aspect-ratio:1; display:grid; place-items:center; border:1px solid rgba(155,108,255,.4); color:#cbb2ff; font:850 .8rem/1 ui-monospace,monospace; transform:rotate(45deg); box-shadow:0 0 26px rgba(155,108,255,.12); }
.onboarding-seal::first-line { transform:rotate(-45deg); }
.profile-onboarding-form { gap:1rem; }
.onboarding-fieldset { min-width:0; margin:0; padding:1rem; border:1px solid var(--line); border-radius:12px; }
.onboarding-fieldset legend { padding:0 .35rem; color:var(--text); font-weight:800; }
.onboarding-fieldset legend small, #profileOnboardingAgeLabel small { color:var(--muted); font-weight:650; }
.onboarding-fieldset > p { margin:0 0 .75rem; color:var(--muted); font-size:.78rem; }
.profile-goal-inputs { display:grid; gap:.55rem; }
.profile-goal-row { display:grid; grid-template-columns:1fr auto; gap:.45rem; }
.life-area-choices { display:flex; flex-wrap:wrap; gap:.55rem; }
.life-area-choice { display:flex; align-items:center; gap:.45rem; padding:.6rem .75rem; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:#0c0b10; cursor:pointer; }
.life-area-choice:has(input:checked) { border-color:var(--violet); color:var(--text); background:var(--violet-soft); }
.life-area-choice input { width:auto; margin:0; accent-color:var(--violet); }
.onboarding-actions { display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:.65rem; margin-top:1.2rem; }
.brain-dump-card { width:min(1180px,100%); }
.brain-dump-layout { display:grid; grid-template-columns:1fr; gap:1rem; }
.brain-dump-screen .brain-dump-guide { display:none; }
.brain-dump-guide { color:var(--muted); line-height:1.65; }
.brain-dump-guide ol { margin:0; padding-left:1.3rem; display:grid; gap:.8rem; }
.brain-dump-guide li::marker { color:var(--violet); font-weight:900; }
.brain-dump-guide p { margin:1.1rem 0 0; }
.brain-dump-privacy { padding:.8rem; border-left:2px solid var(--violet); background:rgba(155,108,255,.07); font-size:.78rem; }
.brain-dump-workspace { display:grid; align-content:start; gap:.5rem; }
.brain-dump-workspace > label { color:var(--text); font-weight:850; }
#brainDumpInput { min-height:310px; resize:vertical; font:500 .95rem/1.65 ui-monospace,SFMono-Regular,Consolas,monospace; background:rgba(7,6,10,.84); }
.brain-dump-list-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brain-dump-list-head > label { color:var(--text); font-weight:850; }
.brain-dump-items { display:grid; gap:.7rem; max-height:48dvh; overflow:auto; padding-right:.25rem; }
.brain-dump-item { display:grid; grid-template-columns:1fr auto; gap:.45rem .7rem; align-items:start; padding:.65rem; border:1px solid #312b39; border-radius:12px; background:rgba(7,6,10,.62); }
.brain-dump-item > input { grid-column:1; grid-row:1; min-height:46px; border-color:transparent; background:#0b0910; font-weight:750; }
.brain-dump-item > button { grid-column:2; grid-row:1; }
.brain-dump-item-details { grid-column:1/-1; grid-row:2; }
.brain-dump-item-details summary { width:max-content; color:#8f79bd; font-size:.72rem; font-weight:800; cursor:pointer; }
.brain-dump-item-details textarea { min-height:72px; margin-top:.45rem; resize:vertical; }
.brain-dump-add-button { width:36px; height:36px; margin:.65rem auto .9rem; border:1px solid rgba(155,108,255,.45); border-radius:50%; background:rgba(155,108,255,.1); color:#c6adff; font-size:1.15rem; cursor:pointer; }
#addBrainQuickItem { width:30px; height:30px; margin:.3rem auto .4rem; font-size:1rem; }
.brain-dump-add-button:hover { background:var(--violet-soft); border-color:var(--violet); }
#brainDumpSuggestionCount { display:none; }
.compact-items { max-height:58dvh; }
.brain-dump-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem 1rem; color:#736d7b; font-size:.69rem; }
#brainDumpSaveState { color:#72cfa0; }
.brain-dump-confirmation { position:absolute; inset:50% auto auto 50%; z-index:4; width:min(510px,calc(100% - 2rem)); transform:translate(-50%,-50%); padding:1.4rem; border:1px solid rgba(155,108,255,.42); border-radius:16px; background:#15111d; box-shadow:0 35px 100px rgba(0,0,0,.72); text-align:center; }
.brain-dump-confirmation h3 { margin:.35rem 0 .5rem; font-size:clamp(1.25rem,3vw,1.8rem); }
.brain-dump-confirmation > p:not(.kicker) { margin:0 0 1.1rem; color:var(--muted); line-height:1.55; }
.brain-dump-confirmation > div { display:flex; justify-content:center; flex-wrap:wrap; gap:.65rem; }
.brain-dump-card.confirming::after { content:""; position:absolute; inset:0; z-index:3; border-radius:inherit; background:rgba(5,4,8,.72); backdrop-filter:blur(5px); }
.compact-edit-modal { z-index:290; }
.brain-generated-panel { margin-bottom:1rem; border-color:rgba(155,108,255,.3); }
.brain-triage-intro { margin-bottom:1rem; background:linear-gradient(135deg,rgba(155,108,255,.09),rgba(18,16,23,.96) 55%); }
.brain-triage-intro h2 { margin:.2rem 0 .45rem; }
.brain-triage-intro #brainTriageText { margin:0; color:var(--muted); }
.brain-triage-intro > button { margin-top:1rem; }
.brain-quick-capture { margin-bottom:1rem; border-color:rgba(155,108,255,.42); animation:quickCaptureEnter .24s ease-out; }
.brain-quick-capture .brain-dump-items { max-height:none; }
.brain-quick-capture .form-actions { margin-top:.35rem; }
@keyframes quickCaptureEnter { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
.brain-triage-list { display:grid; gap:.75rem; }
.brain-triage-card { display:grid; grid-template-columns:auto minmax(220px,1fr) auto; gap:.75rem; align-items:center; padding:1rem; border:1px solid var(--line); border-radius:13px; background:rgba(7,6,10,.68); }
.brain-entry-edit { width:38px; height:38px; border:1px solid rgba(155,108,255,.42); border-radius:10px; background:rgba(155,108,255,.1); color:#cbb4ff; font-size:1rem; cursor:pointer; }
.brain-entry-edit:hover { background:var(--violet-soft); border-color:var(--violet); }
.brain-triage-copy { display:grid; gap:.38rem; min-width:0; }
.brain-triage-copy strong { overflow-wrap:anywhere; }
.brain-triage-copy > span { color:var(--muted); font-size:.72rem; }
.brain-triage-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.4rem; }
.brain-triage-actions button { min-height:36px; padding:.45rem .65rem; border:1px solid #393142; border-radius:9px; background:#17131d; color:#d7cfdf; font:inherit; font-size:.7rem; font-weight:800; line-height:1; cursor:pointer; }
.brain-triage-actions button:hover { border-color:var(--violet); color:#fff; }
.brain-triage-actions button:first-child { border-color:rgba(255,92,105,.48); color:#ff929c; }
.brain-triage-actions .dump-action { color:#89818e; }
.profile-complete-modal { z-index:310; }
.profile-complete-card { max-width:650px; text-align:left; }
.profile-complete-card h2 { margin:.3rem 0 1rem; }
.profile-complete-actions { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; margin-top:1rem; }
.notebook-compose { margin-bottom:1rem; }
.notebook-list-panel { min-height:260px; }
.notebook-entries { display:grid; gap:.65rem; }
.brain-triage-list + .notebook-entries:not(:empty) { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line); }
.notebook-entries article { display:grid; grid-template-columns:minmax(140px,.3fr) minmax(280px,1fr) auto; gap:1rem; align-items:start; padding:1rem; border:1px solid var(--line); border-radius:12px; background:rgba(8,7,11,.52); }
.notebook-date { display:grid; gap:.3rem; }
.notebook-date strong { color:#c8b5ef; font-size:.78rem; }
.notebook-date span { font-weight:800; overflow-wrap:anywhere; }
.notebook-entries p { margin:0; color:#aaa2b2; line-height:1.6; overflow-wrap:anywhere; }
.notebook-entries article > div:last-child { display:flex; gap:.35rem; }
.brain-dump-confirmation.confirmation-pop { animation:confirmationEnter .28s cubic-bezier(.2,.8,.25,1); }
.brain-dump-confirmation.confirmation-pop-second { border-color:#b78cff; animation:confirmationSecond .58s cubic-bezier(.2,.9,.2,1); box-shadow:0 35px 110px rgba(0,0,0,.75),0 0 0 1px rgba(183,140,255,.2),0 0 42px rgba(155,108,255,.2); }
.brain-dump-confirmation.confirmation-pop-second::before { content:""; position:absolute; inset:-1px; z-index:-1; border:1px solid rgba(183,140,255,.7); border-radius:inherit; animation:confirmationRing .7s ease-out; }
@keyframes confirmationEnter { from { opacity:0; transform:translate(-50%,-47%) scale(.92); } to { opacity:1; transform:translate(-50%,-50%) scale(1); } }
@keyframes confirmationSecond { 0% { opacity:0; transform:translate(-50%,-50%) scale(.68) rotate(-1.5deg); } 48% { opacity:1; transform:translate(-50%,-50%) scale(1.08) rotate(.6deg); } 72% { transform:translate(-50%,-50%) scale(.97) rotate(0); } 100% { transform:translate(-50%,-50%) scale(1); } }
@keyframes confirmationRing { from { opacity:.85; transform:scale(.92); } to { opacity:0; transform:scale(1.16); } }

.modal[hidden] { display: none; }
.modal { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 1rem; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.72); backdrop-filter: blur(5px); }
.modal-card { z-index: 1; width: min(580px, 100%); max-height: 92dvh; overflow: auto; background: #121017; border: 1px solid #312d39; border-radius: 18px; padding: 1.2rem; box-shadow: 0 30px 90px rgba(0,0,0,.6); }
.bad-day-intro-modal { z-index:120; }
.bad-day-intro-modal .modal-backdrop { background:rgba(5,4,3,.82); backdrop-filter:blur(8px); }
.bad-day-intro-card { position:relative; width:min(680px,100%); padding:clamp(1.4rem,4vw,2.4rem); overflow:hidden; border-color:rgba(255,183,77,.48); background:radial-gradient(circle at 50% 0,rgba(255,183,77,.16),transparent 36%),linear-gradient(155deg,#1b1510,#0d0b0a 72%); text-align:center; box-shadow:0 36px 110px rgba(0,0,0,.75),0 0 60px rgba(255,183,77,.08); }
.bad-day-intro-close { position:absolute; top:1rem; right:1rem; }
.bad-day-intro-mark { width:68px; height:68px; margin:0 auto 1rem; display:grid; place-items:center; border:1px solid var(--warning); transform:rotate(45deg); color:var(--warning); font-size:1.6rem; font-weight:950; box-shadow:0 0 30px rgba(255,183,77,.12); }
.bad-day-intro-mark span { transform:rotate(-45deg); }
.bad-day-intro-card .kicker { color:var(--warning); }
.bad-day-intro-card h2 { margin:.3rem auto .75rem; max-width:520px; font-size:clamp(1.55rem,4vw,2.5rem); }
.bad-day-intro-card > p:not(.kicker) { max-width:540px; margin:0 auto; color:#b9ada0; line-height:1.65; }
.bad-day-intro-card blockquote { max-width:520px; margin:1.25rem auto; padding:1rem; border:1px solid rgba(255,183,77,.2); border-left:3px solid var(--warning); background:rgba(255,183,77,.055); color:#f0dfcb; font-weight:750; line-height:1.55; text-align:left; }
.bad-day-intro-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:.65rem; }
.bad-day-confirm-button { min-height:44px; padding:.7rem 1.2rem; border:1px solid #f2a83b; border-radius:10px; background:linear-gradient(135deg,#d77823,var(--warning)); color:#171008; cursor:pointer; font-weight:950; letter-spacing:.06em; box-shadow:0 10px 30px -12px rgba(255,183,77,.7); }
.task-modal-card { width:min(840px,calc(100vw - 2rem)); max-width:100%; max-height:94dvh; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.task-modal-card form, .task-modal-card .form-grid, .task-modal-card label, .task-modal-card fieldset { min-width:0; }
.task-modal-card input, .task-modal-card select, .task-modal-card textarea { min-width:0; max-width:100%; }
.task-modal-card .modal-header { position:sticky; top:-1.2rem; z-index:3; margin:-1.2rem -1.2rem 1rem; padding:1.2rem 1.2rem .9rem; background:#121017; border-bottom:1px solid var(--line); }
.task-modal-card .form-actions { position:sticky; bottom:-1.2rem; z-index:3; margin:0 -1.2rem -1.2rem; padding:.9rem 1.2rem 1.2rem; background:#121017; border-top:1px solid var(--line); }
.modal.tutorial-modal { z-index:260; }
.tutorial-modal .tutorial-card { width:100%; border-radius:0; background:linear-gradient(145deg,#14111c,#0d0b12); box-shadow:none; }
.modal-header { display: flex; justify-content: space-between; margin-bottom: 1rem; }
form { display: grid; gap: .9rem; }
form label { display: grid; gap: .4rem; color: var(--muted); font-size: .82rem; font-weight: 700; }
input, select, textarea { width: 100%; background: #0c0b10; border: 1px solid var(--line); border-radius: 9px; padding: .75rem; color: var(--text); outline: 0; }
input:focus, select:focus, textarea:focus { border-color: var(--violet); box-shadow: 0 0 0 3px var(--violet-soft); }
input[type="date"],input[type="time"] { accent-color:var(--violet); background-image:linear-gradient(135deg,rgba(155,108,255,.08),rgba(232,90,185,.025)); }
input[type="date"]::-webkit-calendar-picker-indicator,input[type="time"]::-webkit-calendar-picker-indicator { width:18px; height:18px; padding:.18rem; border-radius:6px; background-color:rgba(155,108,255,.18); filter:invert(68%) sepia(45%) saturate(4410%) hue-rotate(222deg) brightness(102%); cursor:pointer; }
.creatorby-native-select { position:absolute !important; width:1px !important; height:1px !important; margin:0 !important; padding:0 !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; white-space:nowrap !important; opacity:0 !important; pointer-events:none !important; }
.creatorby-select { position:relative; width:100%; min-width:0; }
.creatorby-select-trigger { width:100%; min-height:43px; display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.72rem .8rem; border:1px solid var(--line); border-radius:9px; background:linear-gradient(135deg,#100d16,#0c0b10); color:var(--text); cursor:pointer; text-align:left; }
.creatorby-select-trigger:hover,.creatorby-select.is-open .creatorby-select-trigger { border-color:var(--violet); box-shadow:0 0 0 3px var(--violet-soft); }
.creatorby-select-trigger > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.creatorby-select-trigger > b { color:var(--violet); font-size:1rem; transition:transform .16s ease; }
.creatorby-select.is-open .creatorby-select-trigger > b { transform:rotate(180deg); }
.creatorby-select-menu { position:absolute; z-index:180; top:calc(100% + .38rem); left:0; right:0; display:none; max-height:260px; overflow:auto; padding:.4rem; border:1px solid rgba(155,108,255,.42); border-radius:11px; background:linear-gradient(155deg,rgba(24,19,34,.99),rgba(12,10,17,.99)); box-shadow:0 22px 55px rgba(0,0,0,.55),0 0 0 1px rgba(232,90,185,.08); backdrop-filter:blur(18px); }
.creatorby-select.is-open .creatorby-select-menu { display:grid; gap:.2rem; }
.creatorby-select-option { width:100%; min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.58rem .68rem; border:0; border-radius:8px; background:transparent; color:#eee9f7; cursor:pointer; text-align:left; }
.creatorby-select-option:hover,.creatorby-select-option:focus-visible { outline:0; background:rgba(155,108,255,.16); color:#fff; }
.creatorby-select-option.is-selected { background:linear-gradient(100deg,rgba(126,75,235,.5),rgba(226,83,182,.22)); color:#fff; }
.creatorby-select-option b { visibility:hidden; color:#f6b9e5; }
.creatorby-select-option.is-selected b { visibility:visible; }
.creatorby-select-option:disabled { opacity:.45; cursor:not-allowed; }
.creatorby-select.is-disabled { opacity:.55; pointer-events:none; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .8rem; }
.checkbox-line { grid-template-columns: auto 1fr; align-items: center; justify-content: start; }
.checkbox-line input { width: 20px; height: 20px; }
.form-actions { display: flex; gap: .5rem; align-items: center; }
.form-actions span { flex: 1; }
.toast { position: fixed; z-index: 90; right: 1rem; bottom: 1rem; transform: translateY(130%); opacity: 0; background: #221e2a; border: 1px solid #3a3444; border-radius: 10px; padding: .8rem 1rem; transition: .2s ease; font-weight: 700; box-shadow: 0 15px 45px rgba(0,0,0,.45); }
.toast.show { transform: translateY(0); opacity: 1; }

@media (max-width: 1280px) and (min-width: 1051px) {
  .settings-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 1050px) {
  .archive-list.completed-layout { grid-template-columns:1fr; }
  .entry-main { grid-template-columns:minmax(220px,.75fr) minmax(310px,1fr); gap:2rem; }
  .app-shell { display: block; padding-bottom: 116px; }
  .sidebar { position: fixed; top: auto; bottom: 0; width: 100%; height: 108px; padding: .35rem max(.45rem, env(safe-area-inset-right)) calc(.35rem + env(safe-area-inset-bottom)) max(.45rem, env(safe-area-inset-left)); border: 0; border-top: 1px solid var(--line); }
  .brand, .sidebar-bottom, .sidebar-section-label, .sidebar-account { display: none; }
  nav { display:grid; grid-template-columns: repeat(4,1fr); grid-template-rows:repeat(2,1fr); gap:.08rem .12rem; }
  .settings-nav { margin-top:0; }
  .nav-button { justify-content:center; flex-direction:column; gap:.04rem; padding:.12rem .04rem; font-size:.5rem; min-height:45px; white-space:nowrap; }
  .nav-coming-soon { position:absolute; top:2px; right:2px; margin:0; padding:.13rem .2rem; font-size:.32rem; letter-spacing:.03em; }
  .admin-twelve-weeks-access { right:.75rem; bottom:4.8rem; min-width:0; max-width:calc(100vw - 1.5rem); }
  .nav-icon { flex-basis:18px; width:18px; height:18px; }
  .nav-icon svg { width:16px; height:16px; }
  .nav-button.active { box-shadow: inset 0 2px var(--violet); }
  main { padding: 1.3rem 1rem 2rem; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .right-column { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .habits-grid { grid-template-columns: 1fr; }
  .goal-grid, .skills-grid { grid-template-columns:1fr; }
  .twelve-week-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .settings-grid { grid-template-columns:1fr; }
  .system-two-column { grid-template-columns:1fr; }
  .system-weeks-editor, .system-config-split { grid-template-columns:1fr; }
  .bad-day-mission-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 620px) {
  main { padding:.85rem .65rem 1rem; }
  .panel { padding:.85rem; border-radius:11px; }
  .topbar { gap:.75rem; margin-bottom:1rem; }
  .top-actions { gap:.35rem; }
  .top-actions button,.primary-button,.secondary-button,.danger-button { min-height:38px; padding:.48rem .58rem; font-size:.7rem; }
  .system-hud { gap:.65rem; padding:.75rem; }
  .level-seal { width:54px; height:54px; }
  .task-card,.appointment-card { padding:.72rem; border-radius:10px; }
  .section-heading h2 { font-size:1rem; }
  .calendar-toolbar-actions { width:100%; display:grid; grid-template-columns:auto 1fr auto auto; gap:.35rem; }
  .calendar-toolbar-actions button { min-width:0; }
  .calendar-panel { overflow-x:auto; }
  .calendar-weekdays,.calendar-grid { min-width:560px; }
  .global-quick-capture { bottom:7.4rem; width:42px; height:42px; }
  .entry-screen { position:fixed; }
  .entry-topbar { padding:1.1rem; }
  #entryVersion { display:none; }
  .entry-top-tools { gap:0; }
  .entry-main { min-height:calc(100dvh - 112px); padding:1.5rem 1.1rem 2rem; grid-template-columns:1fr; align-content:center; gap:1.2rem; text-align:center; }
  .entry-logo-wrap { width:min(52vw,210px); justify-self:center; }
  .entry-copy { margin:0 auto; }
  .entry-copy h1 { font-size:clamp(3rem,17vw,4.7rem); }
  .entry-intro { margin:1rem auto; font-size:.84rem; line-height:1.55; }
  .entry-profile { text-align:left; margin:1rem auto; }
  .entry-actions { grid-template-columns:1fr; }
  .entry-secondary { min-height:48px; }
  .entry-hint { font-size:.6rem; }
  .entry-footer { padding:.8rem; }
  .tutorial-content { min-height:230px; padding:.5rem; }
  .tutorial-card { padding:1rem; }
  .tutorial-step-layout { grid-template-columns:1fr; gap:1.2rem; text-align:center; }
  .tutorial-step-copy { margin:auto; }
  .tutorial-step-icon { margin:0 auto 1rem; }
  .tutorial-content p { margin:auto; }
  .tutorial-page-preview { min-height:210px; transform:none; }
  .tutorial-actions { grid-template-columns:auto 1fr auto; }
  .tutorial-actions > span { display:none; }
  #tutorialBack { grid-column:2; }
  .onboarding-screen { place-items:end center; padding:.5rem; }
  .onboarding-card { max-height:96dvh; overflow:auto; border-radius:18px 18px 8px 8px; padding:1rem; }
  .onboarding-head { gap:.8rem; padding-bottom:.85rem; margin-bottom:.9rem; }
  .onboarding-seal { flex-basis:42px; }
  .brain-dump-layout { grid-template-columns:1fr; gap:1rem; }
  .brain-dump-guide { font-size:.84rem; }
  #brainDumpInput { min-height:240px; }
  .brain-dump-items { max-height:none; }
  .onboarding-actions { grid-template-columns:auto 1fr auto; }
  .onboarding-actions > span { display:none; }
  .onboarding-actions .secondary-button { grid-column:2; }
  .onboarding-actions .primary-button { grid-column:3; }
  .insights-actions { justify-content:flex-start; }
  .brain-dump-entry-list { grid-template-columns:1fr; }
  .brain-triage-card { grid-template-columns:auto 1fr; }
  .brain-triage-actions { grid-column:1/-1; }
  .brain-triage-actions { justify-content:flex-start; }
  .profile-complete-actions { grid-template-columns:1fr; }
  .system-modal-card { width:100%; max-height:96dvh; padding:1rem; border-radius:16px 16px 8px 8px; }
  .system-modal-card .modal-header { top:-1rem; margin:-1rem -1rem 1rem; padding:1rem; }
  .system-modal-card .form-actions { bottom:-1rem; margin:0 -1rem -1rem; padding:.85rem 1rem 1rem; flex-wrap:wrap; }
  .system-config-section { padding:.85rem; }
  .config-column-labels { display:none; }
  .goal-config, .habit-config, .anti-config { grid-template-columns:1fr; }
  .system-week-editor { grid-template-columns:54px 1fr; }
  .system-week-editor label:last-child { grid-column:2; }
  .skill-xp-summary { grid-template-columns:1fr; }
  .bad-day-mission-grid { grid-template-columns:1fr 1fr; }
  .bad-day-mission-head { align-items:center; }
  .bad-day-mission-quote { font-size:.8rem; }
  .bad-day-intro-actions { display:grid; grid-template-columns:1fr; }
  .sidebar-bad-day-status { display:none; }
  .skill-quest-groups { grid-template-columns:1fr; }
  .habit-editor-skill { grid-template-columns:1fr 1fr; }
  .habit-editor-skill label:first-child { grid-column:1/-1; }
  .notebook-entries article { grid-template-columns:1fr; }
  .notebook-entries article > div:last-child { justify-content:flex-end; }
  html, body { overflow-x:hidden; }
  .topbar { display: grid; align-items: start; }
  .scope-switch { margin-left:0; width:100%; }
  .scope-switch button { flex:1; }
  h1 { font-size: 2.05rem; }
  .top-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .top-actions button { min-width: 0; padding: .55rem .5rem; font-size: .76rem; white-space: nowrap; }
  .command-strip { display: grid; align-items: start; gap: .35rem; }
  .command-strip p { min-width: 0; overflow-wrap: anywhere; }
  .section-heading { align-items: start; }
  .count-pill { font-size: .7rem; }
  .dashboard-grid, .right-column { grid-template-columns: 1fr; }
  .filter-row { display: grid; }
  .tasks-page-grid { grid-template-columns:1fr; }
  .task-list-tools { display:grid; grid-template-columns:minmax(0,1fr) auto; }
  .archive-task-card { align-items: flex-start; flex-wrap: wrap; }
  .archive-restore { width: 100%; }
  .category-toggle-list { min-width:0; width:100%; }
  .appointment-actions { display:grid; grid-template-columns:1fr auto; }
  .search-box { min-width: 0; height: 44px; }
  .form-grid { grid-template-columns: 1fr; }
  .task-card { grid-template-columns: auto minmax(0,1fr) auto; }
  .deadline-item { grid-template-columns: 1fr; gap: .25rem; }
  .appointment-card { grid-template-columns:auto 64px minmax(0,1fr); gap:.7rem; }
  .appointment-card > * { min-width:0; }
  .appointment-meta, .appointment-main p { overflow-wrap:anywhere; }
  .appointment-location { grid-column:3; text-align:left; max-width:100%; white-space:normal; }
  .week-grid { grid-template-columns: repeat(7, 145px); }
  .modal { padding: .5rem; align-items: end; }
  .modal-card { max-height: 94dvh; border-radius: 18px 18px 8px 8px; }
  .task-modal-card { width:100%; max-height:96dvh; padding:1rem; scrollbar-gutter:auto; }
  .task-modal-card .modal-header { top:-1rem; margin:-1rem -1rem .8rem; padding:1rem; }
  .task-modal-card .form-actions { bottom:-1rem; margin:0 -1rem -1rem; padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom)); flex-wrap:wrap; }
  .system-hud { grid-template-columns:auto 1fr; }
  .rank-block { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; text-align:left; border-top:1px solid var(--line); padding-top:.55rem; }
  .rank-block strong { font-size:1.35rem; }
  .arc-hero { align-items:flex-start; }
  .arc-actions { flex-direction:column; align-items:flex-end; }
  .goal-config { grid-template-columns:1fr 1fr 1fr; }
  .goal-config input:first-child { grid-column:1/-1; }
  .twelve-week-grid { grid-template-columns:1fr; }
  .editor-row-main, .editor-row-main.category-editor-main { grid-template-columns:1fr 1fr; }
  .category-editor-head { display:none; }
  .category-editor-row { grid-template-columns:1fr 1fr 48px; }
  .category-editor-row .category-visibility { grid-column:1/-1; justify-content:flex-start; }
  .category-editor-row label > span { display:block; margin:0 0 .35rem; color:var(--muted); font-size:.68rem; font-weight:800; }
  .category-color-field { grid-column:auto; }
  .editor-row-main > :first-child { grid-column:1/-1; }
  .day-plan-actions { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }

/* Account access uses the same HUD layout as the signed-in start screen. */
.entry-access-state,.entry-signup-panel { width:min(480px,100%); }
.entry-auth-heading { margin:0 0 1rem; }
.entry-auth-heading span { color:#a989ff; font:850 .6rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.18em; }
.entry-auth-heading h2 { margin:.5rem 0 .3rem; font-size:1.65rem; line-height:1.05; letter-spacing:-.035em; }
.entry-auth-heading p { margin:0; color:#918a99; font-size:.78rem; }
.execution-google-button { width:100%; min-height:52px; display:flex; align-items:center; justify-content:center; gap:.75rem; border:1px solid #5b5662; border-radius:4px; background:#111015; color:#f3f0f6; font-weight:800; cursor:pointer; }
.execution-google-button:hover { border-color:#aaa2b2; background:#17151c; }
.execution-google-button svg { width:19px; height:19px; flex:none; }
.execution-google-button:disabled,.execution-auth-submit:disabled { opacity:.6; cursor:wait; }
.entry-login-divider { display:flex; align-items:center; gap:.75rem; margin:.9rem 0; color:#777080; font-size:.68rem; }
.entry-login-divider::before,.entry-login-divider::after { content:""; flex:1; height:1px; background:#302a37; }
.entry-email-panel { width:100%; }
.execution-auth-link,.execution-auth-legal { color:#aaa2bc; }
.execution-auth-form { display:grid; gap:16px; }
.execution-auth-form > label:not(.execution-remember-row) { display:grid; gap:7px; color:#dcd7e2; font-size:12px; font-weight:750; }
.execution-auth-form input:not([type="checkbox"]) { width:100%; height:46px; padding:0 13px; border:1px solid #302a38; border-radius:4px; outline:none; background:#0d0b11; color:#f5f3fa; -webkit-text-fill-color:#f5f3fa; caret-color:#f5f3fa; }
.execution-auth-form input:not([type="checkbox"])::placeholder { color:#8f879f; -webkit-text-fill-color:#8f879f; }
.execution-auth-form input:not([type="checkbox"]):focus { border-color:#7c5cfc; box-shadow:0 0 0 3px rgba(124,92,252,.18); }
.execution-remember-row { display:flex; align-items:center; gap:9px; color:#938b9d; font-size:12px; font-weight:500; cursor:pointer; }
.execution-remember-row input { width:17px; height:17px; min-width:17px; min-height:17px; margin:0; padding:0; border-radius:3px; accent-color:#7c5cfc; }
.execution-auth-submit { position:relative; width:100%; min-height:58px; display:grid; justify-items:start; align-content:center; padding:.6rem 1rem; border:0; border-radius:4px; color:#fff; background:var(--button-gradient); box-shadow:var(--button-glow); overflow:hidden; cursor:pointer; }
.execution-auth-submit::after { content:""; position:absolute; inset:-100% -40%; background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.28) 50%,transparent 60%); transform:translateX(-55%); transition:transform .5s ease; }
.execution-auth-submit:hover::after { transform:translateX(55%); }
.execution-auth-submit span { font-size:.82rem; letter-spacing:.08em; }
.execution-auth-submit small { margin-top:.18rem; font-size:.59rem; opacity:.65; font-weight:650; }
.execution-auth-submit:hover { filter:brightness(1.07); }
.execution-auth-message { display:none; padding:10px 12px; border-radius:9px; background:rgba(124,92,252,.14); color:#c9bbff; font-size:13px; line-height:1.45; }
.execution-auth-message:not(:empty) { display:block; }
.execution-auth-link,.execution-auth-legal { position:relative; margin:17px 0 0; text-align:center; font-size:12px; }
.execution-auth-link a,.execution-auth-legal a { color:#9b6cff; font-weight:700; }
.execution-auth-legal { margin-top:14px; font-size:10px; line-height:1.5; }
.entry-guide-button { width:100%; margin-top:.9rem; padding:.72rem 1rem; border:1px solid #37313f; border-radius:4px; background:transparent; color:#aaa2b2; font-size:.72rem; font-weight:800; letter-spacing:.08em; cursor:pointer; }
.entry-guide-button span { margin-right:.35rem; color:var(--violet); }
.entry-guide-button:hover { border-color:#8f67e8; color:#fff; background:rgba(155,108,255,.07); }
.account-avatar-button { flex:0 0 38px; width:38px; height:38px; padding:0; overflow:hidden; display:grid; place-items:center; border:1px solid rgba(155,108,255,.42); border-radius:50%; background:linear-gradient(145deg,#9b6cff,#d55cb7); color:#fff; font-weight:900; }
.account-avatar-button img,.execution-account-photo img { width:100%; height:100%; object-fit:cover; }
.execution-account-card { width:min(470px,calc(100vw - 2rem)); }
.execution-account-profile { display:flex; align-items:center; gap:1rem; padding:1rem; border:1px solid var(--line); border-radius:13px; background:rgba(8,7,11,.5); }
.execution-account-photo { flex:0 0 72px; width:72px; height:72px; overflow:hidden; display:grid; place-items:center; border:1px solid rgba(155,108,255,.4); border-radius:50%; background:linear-gradient(145deg,#9b6cff,#d55cb7); color:#fff; font-size:1.5rem; font-weight:900; }
.execution-account-profile strong,.execution-account-profile span,.execution-account-profile small { display:block; }
.execution-account-profile span { margin:.25rem 0; color:#aaa2b2; }
.execution-account-profile small { color:#777080; }
.execution-avatar-upload { display:flex; justify-content:center; margin:1rem 0; padding:.65rem .8rem; border:1px dashed rgba(155,108,255,.45); border-radius:10px; color:#c8b4f7; cursor:pointer; }
.execution-avatar-upload input { display:none; }
.execution-account-actions { display:grid; grid-template-columns:1fr 1fr auto; gap:.7rem; margin-top:1rem; }
.execution-account-actions a { display:grid; place-items:center; text-decoration:none; }
@media (max-width:620px) { .execution-account-actions { grid-template-columns:1fr; } .top-actions .account-avatar-button { justify-self:end; } }

.appearance-settings-card { grid-column:1 / -1; }
.theme-preference-switch { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; margin-top:1rem; }
.theme-preference-switch button { position:relative; min-height:112px; padding:1rem 2.2rem 1rem 1rem; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; gap:.25rem .75rem; align-content:center; text-align:left; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); color:var(--text); cursor:pointer; }
.theme-preference-switch button:hover { border-color:rgba(155,108,255,.55); }
.theme-preference-switch button.active { border-color:var(--violet); background:var(--violet-soft); box-shadow:inset 0 0 0 1px rgba(155,108,255,.16); }
.theme-preference-switch .theme-choice-icon { grid-row:1 / 3; align-self:center; font-size:1.4rem; color:var(--violet); }
.theme-preference-switch strong { font-size:.9rem; }
.theme-preference-switch small { color:var(--muted); line-height:1.35; }
.theme-preference-switch b { display:none; position:absolute; right:.8rem; top:50%; transform:translateY(-50%); color:var(--violet); }
.theme-preference-switch button.active b { display:block; }

.remembered-accounts { margin-top:1rem; padding-top:.9rem; border-top:1px solid var(--line); }
.remembered-accounts > span { display:block; margin-bottom:.55rem; color:var(--muted); font:800 .58rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.13em; }
.remembered-account { width:100%; display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:.7rem; padding:.65rem .75rem; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--text); text-align:left; cursor:pointer; }
.remembered-account + .remembered-account { margin-top:.45rem; }
.remembered-account:hover { border-color:var(--violet); background:var(--violet-soft); }
.remembered-account-avatar { width:34px; height:34px; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(155,108,255,.45); border-radius:50%; background:var(--surface-2); color:var(--violet); font-weight:900; }
.remembered-account-avatar img { width:100%; height:100%; object-fit:cover; }
.remembered-account strong,.remembered-account small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.remembered-account small { margin-top:.15rem; color:var(--muted); font-size:.66rem; }
.remembered-account em { color:var(--violet); font-style:normal; font-size:.72rem; }

/* Keep the complete desktop sign-in flow visible at 100% browser zoom on
   common laptop and desktop viewport heights. */
@media (min-width:621px) and (max-height:1000px) {
  .entry-topbar { padding:.8rem clamp(1.5rem,4vw,4rem); }
  .entry-main { width:min(1050px,100%); min-height:calc(100dvh - 100px); padding:.5rem clamp(2rem,4vw,4rem) .75rem; gap:clamp(2rem,5vw,5rem); }
  .entry-logo-wrap { width:min(31vw,300px); }
  .entry-copy { max-width:480px; }
  .entry-kicker { margin-bottom:.5rem; font-size:.62rem; }
  .entry-copy h1 { font-size:clamp(3.2rem,5.2vw,4.8rem); line-height:.75; }
  .entry-intro { margin:.65rem 0; font-size:.84rem; line-height:1.45; }
  .execution-google-button { min-height:44px; }
  .entry-login-divider { margin:.45rem 0; font-size:.62rem; }
  .execution-auth-form { gap:8px; }
  .execution-auth-form > label:not(.execution-remember-row) { gap:4px; font-size:11px; }
  .execution-auth-form input:not([type="checkbox"]) { height:40px; }
  .auth-inline-link { min-height:24px; margin:0; }
  .execution-remember-row { font-size:11px; }
  .execution-auth-submit { min-height:46px; padding:.45rem .9rem; }
  .remembered-accounts { margin-top:.5rem; padding-top:.45rem; }
  .remembered-accounts > span { margin-bottom:.35rem; }
  .remembered-account { min-height:46px; padding:.4rem .65rem; }
  .execution-auth-link { margin-top:.5rem; font-size:11px; }
  .execution-auth-legal { margin-top:.35rem; font-size:9px; line-height:1.35; }
  .entry-guide-button { min-height:36px; margin-top:.45rem; padding:.48rem .8rem; font-size:.65rem; }
  .entry-footer { padding:.45rem 1rem; }
}

.brand-logo-light { display:none; }

html[data-theme="light"] { color-scheme:light; --bg:#f7f5fb; --surface:#ffffff; --surface-2:#f2eef9; --line:#ddd6e8; --text:#18131f; --muted:#71697c; --violet-soft:rgba(124,92,252,.11); --danger:#d9364b; --warning:#bb7410; --success:#178253; }
html[data-theme="light"] body { background:radial-gradient(circle at 70% -10%,rgba(137,94,232,.12),transparent 32%),var(--bg); }
html[data-theme="light"] .sidebar { background:rgba(255,255,255,.94); border-color:var(--line); }
html[data-theme="light"] .brand-logo-dark { display:none; }
html[data-theme="light"] .brand-logo-light { display:block; }
html[data-theme="light"] .panel,
html[data-theme="light"] .modal-card,
html[data-theme="light"] .account-menu,
html[data-theme="light"] .sidebar-account-menu { background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(246,242,251,.98)); box-shadow:0 14px 42px rgba(51,34,76,.08); }
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea,
html[data-theme="light"] .archive-tabs,
html[data-theme="light"] .scope-switch,
html[data-theme="light"] .language-switch { background:#fff; color:var(--text); -webkit-text-fill-color:var(--text); }
html[data-theme="light"] .task-card,
html[data-theme="light"] .archive-task-card,
html[data-theme="light"] .remembered-account,
html[data-theme="light"] .execution-account-profile { background:rgba(255,255,255,.9); }
html[data-theme="light"] .entry-screen { background:radial-gradient(circle at 50% 38%,rgba(117,75,235,.12),transparent 38%),#f7f5fb; }
html[data-theme="light"] .entry-screen::after { box-shadow:inset 0 0 150px rgba(106,78,145,.12); }
html[data-theme="light"] .entry-screen::before { background:repeating-linear-gradient(to bottom,transparent 0 4px,rgba(77,50,110,.018) 5px); }
html[data-theme="light"] .entry-copy h1 { color:#17121f; }
html[data-theme="light"] .entry-intro,
html[data-theme="light"] .entry-hint,
html[data-theme="light"] .entry-status { color:#6f6679; }
html[data-theme="light"] .entry-language-switch { background:rgba(255,255,255,.82); }
html[data-theme="light"] .execution-auth-form > label:not(.execution-remember-row) { color:#302839; }
html[data-theme="light"] .execution-auth-form input:not([type="checkbox"]) { background:#fff; color:#18131f; -webkit-text-fill-color:#18131f; caret-color:#18131f; border-color:#d5ccdf; }
html[data-theme="light"] .execution-google-button,
html[data-theme="light"] .entry-guide-button,
html[data-theme="light"] .entry-secondary { background:#fff; color:#27202e; border-color:#cfc5db; }
html[data-theme="light"] .modal-backdrop { background:rgba(28,20,38,.34); }
html[data-theme="light"] .system-lock-card { color:#21172c; background:radial-gradient(circle at 50% 0%,rgba(155,108,255,.13),transparent 58%),linear-gradient(145deg,#fff,#f6f1fb); box-shadow:0 24px 70px rgba(55,35,84,.16); }
html[data-theme="light"] .system-lock-card::before { display:none; }
html[data-theme="light"] .admin-twelve-weeks-access.is-unlocked { background:#fff; color:#21172c; }
html[data-theme="light"] .tutorial-card,
html[data-theme="light"] .onboarding-card { background:radial-gradient(circle at 78% 28%,rgba(155,108,255,.13),transparent 32%),linear-gradient(145deg,#fff,#f5f0fa 65%); }

@media (max-width:720px) { .theme-preference-switch { grid-template-columns:1fr; } }

/* V1.15: complete light-theme contrast pass across entry, guide, modals and planner. */
html[data-theme="light"] {
  --warning:#c65f08;
  --danger:#bd2942;
  --success:#137447;
}
html[data-theme="light"] body,
html[data-theme="light"] .entry-screen,
html[data-theme="light"] .tutorial-modal,
html[data-theme="light"] .onboarding-screen { color:var(--text); }
html[data-theme="light"] .entry-screen::after { box-shadow:inset 0 0 120px rgba(88,58,125,.09); }
html[data-theme="light"] .tutorial-modal,
html[data-theme="light"] .onboarding-screen { background:radial-gradient(circle at 78% 20%,rgba(124,92,252,.12),transparent 34%),#f7f5fb; }
html[data-theme="light"] .entry-grid,
html[data-theme="light"] .onboarding-grid { opacity:.13; }
html[data-theme="light"] .entry-copy h1,
html[data-theme="light"] .entry-auth-heading h2,
html[data-theme="light"] .tutorial-content h2,
html[data-theme="light"] .onboarding-card h2 { color:#17121f; }
html[data-theme="light"] .entry-copy h1 span { -webkit-text-stroke-color:#6f42d8; text-shadow:none; }
html[data-theme="light"] .entry-topbar,
html[data-theme="light"] .entry-profile span,
html[data-theme="light"] .entry-profile small,
html[data-theme="light"] .entry-auth-heading p,
html[data-theme="light"] .entry-login-divider,
html[data-theme="light"] .execution-remember-row,
html[data-theme="light"] .execution-auth-link,
html[data-theme="light"] .execution-auth-legal,
html[data-theme="light"] .execution-account-profile span,
html[data-theme="light"] .execution-account-profile small { color:#62596c; }
html[data-theme="light"] .entry-profile strong,
html[data-theme="light"] .execution-avatar-upload { color:#5d31bd; }
html[data-theme="light"] .entry-login-divider::before,
html[data-theme="light"] .entry-login-divider::after,
html[data-theme="light"] .tutorial-progress { background:#ddd5e6; }
html[data-theme="light"] .entry-language-switch button { color:#62596c; }
html[data-theme="light"] .entry-language-switch button:hover { color:#251c2d; }
html[data-theme="light"] .execution-auth-form input:not([type="checkbox"])::placeholder { color:#81758d; -webkit-text-fill-color:#81758d; }
html[data-theme="light"] .execution-google-button:hover,
html[data-theme="light"] .entry-guide-button:hover,
html[data-theme="light"] .entry-secondary:hover { background:#f0eafb; color:#17121f; border-color:#8d68dc; }
html[data-theme="light"] .execution-auth-message { background:#eee7ff; color:#4f2a9e; }
html[data-theme="light"] .remembered-account-avatar { background:#eee7ff; }

html[data-theme="light"] .tutorial-page-preview { background:linear-gradient(145deg,#fff,#eee8f6); border-color:#cfc2df; box-shadow:24px 28px 60px rgba(63,42,88,.14); }
html[data-theme="light"] .tutorial-preview-nav i { background:#d9d0e3; }
html[data-theme="light"] .tutorial-preview-cards i { border-color:#d8cee3; background:linear-gradient(100deg,rgba(124,92,252,.14),rgba(255,255,255,.9) 42%); }
html[data-theme="light"] .preview-page-3 .tutorial-preview-cards i,
html[data-theme="light"] .preview-page-3 .tutorial-preview-cards i:nth-child(2) { border-color:#d8cee3; background:linear-gradient(to top,rgba(124,92,252,.24) calc((var(--preview-index) + 2) * 8%),#fff 0); }
html[data-theme="light"] .tutorial-preview-main b { background:#31263d; }
html[data-theme="light"] .tutorial-preview-main em,
html[data-theme="light"] .goal-track,
html[data-theme="light"] .skill-track,
html[data-theme="light"] .progress-track,
html[data-theme="light"] .xp-track,
html[data-theme="light"] .week-days-meter i { background:#ddd5e5; }
html[data-theme="light"] .tutorial-dots i { background:#d7cede; }

html[data-theme="light"] .brand small,
html[data-theme="light"] .nav-button,
html[data-theme="light"] .nav-icon,
html[data-theme="light"] .sidebar-account-copy small,
html[data-theme="light"] .sidebar-account-more { color:#776e80; }
html[data-theme="light"] .nav-button:hover { background:#f0eafb; color:#211928; }
html[data-theme="light"] .nav-button:hover .nav-icon { color:#5b486b; }
html[data-theme="light"] .nav-button.active { background:#e2d7f1; color:#21172c; box-shadow:inset 3px 0 #8252e4; }
html[data-theme="light"] .nav-button.active .nav-icon { color:#5b2cbc; }
html[data-theme="light"] .sidebar-account-menu button,
html[data-theme="light"] .sidebar-account-menu a { color:#211928; }
html[data-theme="light"] .sidebar-account-menu button:hover,
html[data-theme="light"] .sidebar-account-menu a:hover { background:#eee6fa; color:#17121f; }
html[data-theme="light"] .scope-switch { background:#fff; }

html[data-theme="light"] .system-hud { background:linear-gradient(110deg,#eee7ff,#fff 52%,#f3edfb); border-color:#c5afea; box-shadow:0 12px 35px rgba(72,46,106,.08); }
html[data-theme="light"] .level-seal { background:#fff; border-color:#7041da; box-shadow:0 0 0 5px rgba(124,92,252,.09); }
html[data-theme="light"] .level-seal span,
html[data-theme="light"] .rank-block span,
html[data-theme="light"] .xp-copy span { color:#655b70; }
html[data-theme="light"] .xp-track { background:#d7cedf; }
html[data-theme="light"] .panel { background:linear-gradient(145deg,#fff,#faf8fd); box-shadow:0 14px 38px rgba(57,38,80,.07); }
html[data-theme="light"] .task-card,
html[data-theme="light"] .archive-task-card,
html[data-theme="light"] .appointment-card,
html[data-theme="light"] .week-cycle-card,
html[data-theme="light"] .habit-card,
html[data-theme="light"] .mini-stat,
html[data-theme="light"] .skill-card,
html[data-theme="light"] .skill-quest-overview,
html[data-theme="light"] .skill-quest-group,
html[data-theme="light"] .system-week-editor,
html[data-theme="light"] .skill-xp-summary > div,
html[data-theme="light"] .skill-reward-rules,
html[data-theme="light"] .editor-row,
html[data-theme="light"] .category-editor-row,
html[data-theme="light"] .brain-dump-entry-list > div,
html[data-theme="light"] .brain-dump-item,
html[data-theme="light"] .brain-triage-card,
html[data-theme="light"] .notebook-entries article,
html[data-theme="light"] .settings-account-preview { background:#fff; border-color:#ddd4e6; color:#18131f; }
html[data-theme="light"] .task-card:hover,
html[data-theme="light"] .week-cycle-card:hover { background:#f3eef9; border-color:#a995bb; }
html[data-theme="light"] .profile-vision-display { background:#f2ecfb; color:#342a3d; }
html[data-theme="light"] .profile-goals-display span { background:#eee6fb; color:#4c288f; }
html[data-theme="light"] .brain-dump-entry-list > div { color:#4f4658; }
html[data-theme="light"] .deadline-alert { background:#fff0f2; color:#9e1c34; border-color:#e79aa7; }
html[data-theme="light"] .deadline-item.overdue { background:#fff0f2; border-color:#df7183; }
html[data-theme="light"] .overdue-tasks-panel { background:#fff4f5; border-color:#e49aa6; }
html[data-theme="light"] .overdue-task-titles button { background:#fff; color:#9e1c34; border-color:#edbdc5; }
html[data-theme="light"] .task-card.deadline-overdue .task-title, html[data-theme="light"] .task-card.deadline-overdue .urgent, html[data-theme="light"] .deadline-item.overdue strong, html[data-theme="light"] .deadline-item.overdue .deadline-date, html[data-theme="light"] .deadline-item.overdue .count-pill { color:#9e1c34; }
html[data-theme="light"] .task-check,
html[data-theme="light"] .subtask-row input { background:#fff; border-color:#746a80; }
html[data-theme="light"] .task-type { color:#5527ab; }
html[data-theme="light"] .area-badge.business { color:#09683b; }
html[data-theme="light"] .area-badge.personal { color:#245fae; }
html[data-theme="light"] .area-badge.both { color:#6030b7; }
html[data-theme="light"] .appointment-task-icon,
html[data-theme="light"] .appointment-kind { color:#2d68b8; }

html[data-theme="light"] .category-toggle-list,
html[data-theme="light"] .task-filter-list,
html[data-theme="light"] .archive-tabs { background:#fff; box-shadow:0 12px 32px rgba(58,40,78,.08); }
html[data-theme="light"] .task-filter-option small { color:#6c6177; }
html[data-theme="light"] .onboarding-insights,
html[data-theme="light"] .brain-triage-intro { background:linear-gradient(135deg,#eee7ff,#fff 58%); }
html[data-theme="light"] .account-danger-card { background:linear-gradient(145deg,#fff3f4,#fff); }
html[data-theme="light"] .skill-creation-intro { background:radial-gradient(circle at 5% 50%,rgba(124,92,252,.16),transparent 34%),#fff; }
html[data-theme="light"] .system-config-section { background:linear-gradient(145deg,#fff,#f5f0fa); }
html[data-theme="light"] .life-area-choice { background:#fff; }
html[data-theme="light"] #brainDumpInput,
html[data-theme="light"] .brain-dump-item > input { background:#fff; color:#18131f; -webkit-text-fill-color:#18131f; }
html[data-theme="light"] .brain-dump-confirmation { background:#fff; box-shadow:0 28px 70px rgba(52,34,73,.18); }
html[data-theme="light"] .brain-triage-actions button { background:#fff; color:#2d2535; border-color:#cfc4d8; }
html[data-theme="light"] .brain-triage-actions button:hover { background:#eee7fa; color:#211729; }
html[data-theme="light"] .modal-card,
html[data-theme="light"] .task-modal-card .modal-header,
html[data-theme="light"] .task-modal-card .form-actions,
html[data-theme="light"] .system-modal-card .modal-header,
html[data-theme="light"] .system-modal-card .form-actions { background:#fff; color:#18131f; }
html[data-theme="light"] .toast { background:#fff; color:#18131f; border-color:#d3c8dc; box-shadow:0 15px 42px rgba(49,32,68,.16); }

html[data-theme="light"] .bad-day-button[aria-pressed="true"] { color:#a94500; border-color:#df8b42; background:#fff2e6; }
html[data-theme="light"] .bad-day-active .view.active .kicker,
html[data-theme="light"] .bad-day-active .command-strip > span,
html[data-theme="light"] .bad-day-active #todayView .kicker,
html[data-theme="light"] .bad-day-mission-head .kicker,
html[data-theme="light"] .bad-day-mission-footer b,
html[data-theme="light"] .bad-day-mission-grid > button strong { color:#b34d00; }
html[data-theme="light"] .bad-day-active .command-strip { border-color:#e7a064; background:linear-gradient(90deg,#fff0e3,#fff); }
html[data-theme="light"] .bad-day-mission { background:radial-gradient(circle at 92% 0,rgba(224,112,20,.12),transparent 35%),linear-gradient(145deg,#fffaf5,#fff3e7); border-color:#df8b42; color:#20160f; box-shadow:0 16px 38px rgba(105,56,20,.1); }
html[data-theme="light"] .bad-day-mission h2,
html[data-theme="light"] .bad-day-mission-quote { color:#20160f; }
html[data-theme="light"] .bad-day-mission-grid > div,
html[data-theme="light"] .bad-day-mission-grid > button { background:#fff; border-color:#e8c6a8; color:#20160f; }
html[data-theme="light"] .bad-day-mission-grid span,
html[data-theme="light"] .bad-day-movement-hint,
html[data-theme="light"] .bad-day-mission-footer { color:#6e543f; }
html[data-theme="light"] .bad-day-mission-grid strong { color:#20160f; }
html[data-theme="light"] .bad-day-progress { background:#ead8c7; }
html[data-theme="light"] .bad-day-intro-modal .modal-backdrop { background:rgba(40,28,18,.35); }
html[data-theme="light"] .bad-day-intro-card { background:radial-gradient(circle at 50% 0,rgba(224,112,20,.12),transparent 38%),#fffaf5; border-color:#dd873c; color:#1d1510; box-shadow:0 28px 80px rgba(70,42,22,.2); }
html[data-theme="light"] .bad-day-intro-card .kicker,
html[data-theme="light"] .bad-day-intro-mark { color:#b84f00; border-color:#d66d18; }
html[data-theme="light"] .bad-day-intro-card h2,
html[data-theme="light"] .bad-day-intro-card > p:not(.kicker) { color:#1d1510; }
html[data-theme="light"] .bad-day-intro-card blockquote { background:#fff0e2; border-color:#e8b98e; border-left-color:#d66d18; color:#342116; }
html[data-theme="light"] .bad-day-confirm-button { background:linear-gradient(135deg,#d75d08,#ef831f); color:#fff; border-color:#c95200; }

/* Planning, recurrence and calendar additions */
.auth-inline-link { margin:.75rem 0 0; border:0; background:transparent; color:#b99aff; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.recurrence-editor { margin:1rem 0 0; padding:1rem; border:1px solid var(--line); border-radius:12px; background:rgba(155,108,255,.035); }
.recurrence-editor legend { padding:0 .45rem; color:#b99aff; font-size:.75rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.recurrence-editor.feature-locked { opacity:.58; position:relative; }
.recurrence-editor.feature-locked::after { content:"EXECUTE"; position:absolute; right:1rem; top:-.7rem; padding:.2rem .5rem; border-radius:999px; background:var(--button-gradient); color:#fff; font-size:.6rem; font-weight:900; letter-spacing:.1em; }
.daily-ritual-card { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; border-left:3px solid var(--violet); }
.daily-ritual-card p { margin:.25rem 0 0; color:var(--muted); }
.daily-ritual-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; }
.capacity-warning { display:grid; gap:.25rem; padding:1rem 1.15rem; border:1px solid var(--warning); border-radius:var(--radius); background:rgba(255,183,77,.09); color:var(--text); }
.capacity-warning span { color:var(--muted); }
.bulk-action-bar { position:sticky; top:.75rem; z-index:15; display:flex; align-items:end; flex-wrap:wrap; gap:.65rem; margin-bottom:1rem; padding:.85rem; border:1px solid rgba(155,108,255,.45); border-radius:14px; background:rgba(17,16,22,.96); box-shadow:0 18px 42px rgba(0,0,0,.28); backdrop-filter:blur(18px); }
.bulk-action-bar label { display:grid; gap:.25rem; color:var(--muted); font-size:.7rem; }
.bulk-action-bar input,.bulk-action-bar select { min-height:38px; }
.bulk-select-checkbox { width:20px; height:20px; flex:0 0 auto; accent-color:var(--violet); }
.task-card.bulk-selected { outline:2px solid var(--violet); background:linear-gradient(120deg,rgba(155,108,255,.14),var(--surface)); }
.calendar-toolbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1rem; }
.calendar-toolbar h2 { margin:0; text-transform:capitalize; }
.calendar-toolbar-actions,.calendar-provider-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; }
.calendar-panel { padding:1rem; overflow:hidden; }
.calendar-weekdays,.calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.calendar-weekdays { border-bottom:1px solid var(--line); color:var(--muted); font-size:.68rem; font-weight:900; letter-spacing:.08em; text-align:center; text-transform:uppercase; }
.calendar-weekdays span { padding:.65rem .2rem; }
.calendar-day { min-height:118px; padding:.45rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.01); cursor:pointer; overflow:hidden; }
.calendar-day:nth-child(7n) { border-right:0; }
.calendar-day.outside { opacity:.38; }
.calendar-day.today { background:var(--violet-soft); box-shadow:inset 0 0 0 1px var(--violet); }
.calendar-day-number {
  display:inline-grid;
  place-items:center;
  min-width:1.8rem;
  height:1.8rem;
  margin:0 0 .35rem;
  padding:0;
  border:0;
  border-radius:999px;
  appearance:none;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font:inherit;
  font-size:.72rem;
  font-weight:900;
}
.calendar-day-number:hover { background:rgba(155,108,255,.14); color:var(--text); }
.calendar-day.today .calendar-day-number {
  background:var(--button-gradient);
  color:#fff;
  box-shadow:0 7px 18px -10px rgba(255,110,199,.9);
}
.calendar-entry { display:block; width:100%; margin:.2rem 0; padding:.28rem .4rem; overflow:hidden; border:0; border-radius:6px; background:rgba(155,108,255,.14); color:var(--text); cursor:pointer; font-size:.66rem; text-align:left; text-overflow:ellipsis; white-space:nowrap; }
.calendar-entry.appointment { border-left:2px solid #69a8ff; background:rgba(105,168,255,.12); }
.calendar-entry.overdue { color:#ff8790; background:rgba(255,93,105,.11); }
.calendar-sync-panel { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:1rem; margin-top:1rem; }
.calendar-sync-panel p { margin:.3rem 0 0; color:var(--muted); }
.replan-task-list { display:grid; gap:.55rem; max-height:42vh; margin:1rem 0; overflow:auto; }
.replan-task { display:flex; align-items:flex-start; gap:.75rem; padding:.8rem; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.replan-task input { margin-top:.2rem; accent-color:var(--violet); }
.replan-task span { display:grid; gap:.25rem; }
.replan-task small { color:var(--muted); }
.replan-task.deadline { border-color:rgba(255,93,105,.45); }
.quick-capture-preview,.daily-ritual-summary { margin:.85rem 0; padding:.85rem; border:1px solid var(--line); border-radius:10px; background:rgba(155,108,255,.055); color:var(--muted); line-height:1.55; }
.global-quick-capture { position:fixed; z-index:90; right:1.35rem; bottom:1.35rem; width:54px; height:54px; border:0; border-radius:50%; background:var(--button-gradient); color:#fff; box-shadow:var(--button-glow); cursor:pointer; font-size:1.65rem; line-height:1; }
.global-quick-capture:hover { transform:translateY(-2px); }
.habit-editor-schedule { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; margin-top:.65rem; }

.legal-page { min-height:100vh; background:radial-gradient(circle at 70% 0,rgba(111,66,216,.13),transparent 34%),var(--bg); color:var(--text); }
.legal-shell { width:min(940px,calc(100% - 2rem)); margin:0 auto; padding:3rem 0 5rem; }
.legal-back { color:#b99aff; text-decoration:none; }
.legal-shell header { margin:2rem 0; padding:2rem; border:1px solid var(--line); border-radius:20px; background:var(--surface); }
.legal-shell header { display:grid; grid-template-columns:72px 1fr; gap:1.2rem; align-items:start; }
.legal-shell header img { width:72px; height:72px; object-fit:contain; }
.legal-shell h1 { margin:.25rem 0; font-size:clamp(2.2rem,6vw,4.5rem); }
.legal-language-switch { display:inline-flex; margin-top:.75rem; padding:3px; border:1px solid var(--line); border-radius:9px; }
.legal-language-switch button { padding:.45rem .7rem; border:0; border-radius:6px; background:transparent; color:var(--muted); cursor:pointer; }
.legal-language-switch button.active { background:var(--button-gradient); color:#fff; }
.legal-nav { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; }
.legal-nav a { padding:.55rem .8rem; border:1px solid var(--line); border-radius:999px; color:var(--text); text-decoration:none; }
.legal-section { margin:1rem 0; padding:1.5rem; border:1px solid var(--line); border-radius:16px; background:var(--surface); line-height:1.65; }
.legal-required { padding:.8rem; border-left:3px solid var(--warning); background:rgba(255,183,77,.09); }

html[data-theme="light"] .bulk-action-bar,
html[data-theme="light"] .replan-task,
html[data-theme="light"] .calendar-entry { background:#fff; color:#18131f; }
html[data-theme="light"] .calendar-day { background:#fff; }
html[data-theme="light"] .calendar-day.today { background:#eee7ff; }
html[data-theme="light"] .calendar-day-number:hover { background:rgba(155,108,255,.12); color:#21172d; }
html[data-theme="light"] .calendar-day.today .calendar-day-number { background:var(--button-gradient); color:#fff; }
html[data-theme="light"] .calendar-entry { background:#eee7ff; }
html[data-theme="light"] .calendar-entry.appointment { background:#e9f3ff; }
html[data-theme="light"] .recurrence-editor,
html[data-theme="light"] .quick-capture-preview,
html[data-theme="light"] .daily-ritual-summary { background:#f7f3fb; }

.vault-intro { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; background:radial-gradient(circle at 92% 15%,rgba(236,90,190,.14),transparent 32%),linear-gradient(135deg,rgba(155,108,255,.12),rgba(8,7,11,.7)); }
.vault-security-badge { flex:0 0 auto; padding:.55rem .75rem; border:1px solid rgba(155,108,255,.4); border-radius:999px; color:#cbb4ff; background:rgba(155,108,255,.1); font-size:.67rem; font-weight:850; letter-spacing:.08em; }
.vault-gate { max-width:680px; margin:1rem auto; }
.vault-gate form { display:grid; grid-template-columns:1fr 1fr auto; gap:.75rem; align-items:end; margin-top:1rem; }
.vault-forgot-button { margin-top:.7rem; }
.vault-danger-gate { border-color:rgba(255,83,106,.38); }
.vault-recovery-actions,.vault-kit-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:.8rem; }
.danger-text { color:#ff8d9c; }
.vault-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; }
.vault-toolbar .search-box { flex:1; }
.vault-toolbar-actions,.vault-card-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; }
.vault-entry-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.vault-entry-card { display:grid; gap:.9rem; }
.vault-entry-head { display:grid; grid-template-columns:auto 1fr auto; gap:.75rem; align-items:center; }
.vault-entry-head h3 { margin:.1rem 0 0; }
.vault-entry-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:#fff; background:linear-gradient(135deg,#8a5dff,#e85ab9); font-weight:900; }
.vault-status { padding:.3rem .55rem; border-radius:999px; font-size:.65rem; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.vault-status-active { color:#8ee7b6; background:rgba(42,180,111,.12); }
.vault-status-paused { color:#ffd18a; background:rgba(255,183,77,.12); }
.vault-status-deleted { color:#ff9da9; background:rgba(255,83,106,.12); }
.vault-entry-card dl { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin:0; }
.vault-entry-card dl div { min-width:0; padding:.55rem .65rem; border:1px solid var(--line); border-radius:9px; background:rgba(255,255,255,.018); }
.vault-entry-card dt { color:var(--muted); font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.vault-entry-card dd { min-width:0; display:flex; align-items:center; gap:.35rem; overflow:hidden; margin:.2rem 0 0; color:var(--text); }
.vault-entry-card dd > a,.vault-entry-card dd > span { min-width:0; overflow:hidden; color:inherit; text-overflow:ellipsis; white-space:nowrap; }
.vault-entry-card dd > a,.vault-connected-card a { color:var(--violet); text-decoration:none; }
.vault-entry-card dd > a:hover,.vault-connected-card a:hover { text-decoration:underline; }
.vault-entry-modal { width:min(1040px,calc(100vw - 2rem)); }
.vault-password-modal { width:min(560px,calc(100vw - 2rem)); }
.vault-recovery-kit-modal { width:min(760px,calc(100vw - 2rem)); max-height:min(88dvh,850px); padding:clamp(1.35rem,2.4vw,2rem); }
.vault-recovery-kit-modal .modal-header { margin-bottom:.8rem; }
.vault-recovery-kit-modal .modal-header h2 { font-size:clamp(1.35rem,2.5vw,1.8rem); }
.vault-kit-strength { display:grid; gap:.35rem; margin:1rem 0 1.15rem; padding:1rem 1.1rem; border:1px solid rgba(155,108,255,.38); border-radius:12px; background:linear-gradient(135deg,rgba(155,108,255,.13),rgba(236,90,190,.06)); }
.vault-kit-strength strong { color:var(--text); font-size:.9rem; line-height:1.45; }
.vault-kit-strength span { color:var(--muted); font-size:.82rem; line-height:1.55; }
.vault-recovery-kit-modal > label:not(.vault-kit-confirm) { display:grid; gap:.45rem; }
.vault-recovery-code { box-sizing:border-box; width:100%; margin:0; min-height:112px; padding:1rem; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.9rem; line-height:1.65; letter-spacing:.045em; overflow-wrap:anywhere; resize:none; }
.vault-recovery-kit-modal .vault-kit-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:.75rem; margin:1rem 0; }
.vault-recovery-kit-modal .vault-kit-actions button { min-height:46px; white-space:normal; }
.vault-kit-confirm { align-items:flex-start; gap:.75rem; margin:1rem 0; padding:1rem; border:1px solid rgba(255,183,77,.35); border-radius:10px; background:rgba(255,183,77,.07); }
.vault-kit-confirm input { flex:0 0 auto; margin-top:.15rem; }
.vault-kit-confirm span { color:var(--text); font-size:.88rem; line-height:1.6; }
.vault-recovery-kit-modal .execution-auth-message { margin:.85rem 0; }
.vault-recovery-kit-modal #vaultCloseRecoveryKit { display:block; min-width:140px; min-height:44px; margin-left:auto; }
.vault-password-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:.35rem; align-items:center; }
.vault-eye-button { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; padding:0; border:1px solid rgba(155,108,255,.3); border-radius:9px; background:rgba(155,108,255,.08); color:var(--violet); cursor:pointer; }
.vault-eye-button:hover,.vault-eye-button:focus-visible { outline:0; border-color:var(--violet); background:linear-gradient(135deg,rgba(126,75,235,.2),rgba(232,90,185,.13)); box-shadow:0 0 0 3px var(--violet-soft); }
.vault-secret-value.is-visible { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.vault-category-intro { margin:.15rem 0 .25rem; padding:.75rem .85rem; border-left:3px solid var(--violet); border-radius:0 9px 9px 0; background:linear-gradient(90deg,rgba(155,108,255,.1),rgba(232,90,185,.025)); color:var(--muted); font-size:.78rem; line-height:1.5; }
.vault-category-fields > label[hidden] { display:none !important; }
.vault-connected-section { margin:1rem 0; padding:1rem; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.018); }
.vault-connected-section .section-heading { margin-bottom:.75rem; }
.vault-connected-row { display:grid; grid-template-columns:1fr 1fr 1fr 1.2fr 1fr auto; gap:.55rem; align-items:end; padding:.75rem 0; border-top:1px solid var(--line); }
.vault-connected-row:first-child { border-top:0; }
.vault-remove-connected { margin-bottom:.15rem; }
.vault-connected-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.72rem .8rem; border:1px solid rgba(155,108,255,.28); border-radius:10px; background:linear-gradient(100deg,rgba(155,108,255,.09),rgba(232,90,185,.035)); color:var(--text); cursor:pointer; font-weight:800; text-align:left; }
.vault-connected-toggle:hover { border-color:var(--violet); }
.vault-connected-toggle b { color:var(--violet); font-size:1.15rem; }
.vault-connected-card-list { display:grid; gap:.5rem; padding-top:.55rem; }
.vault-connected-card { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(130px,.7fr); gap:.5rem .75rem; align-items:center; padding:.65rem .7rem; border:1px solid var(--line); border-radius:9px; background:rgba(8,7,11,.28); }
.vault-connected-card > div:first-child { min-width:0; display:grid; gap:.15rem; }
.vault-connected-card strong,.vault-connected-card span,.vault-connected-card a { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vault-connected-card span,.vault-connected-card small { color:var(--muted); }
.vault-connected-card small { grid-column:1 / -1; line-height:1.45; }
.vault-security-badge { display:grid; gap:.18rem; min-width:210px; cursor:help; }
.vault-security-badge strong { font-size:.72rem; }
.vault-security-badge small { color:var(--muted); font-size:.58rem; letter-spacing:.08em; }
.vault-entry-card dl { grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); }
.vault-entry-photo,.entry-photo-thumbnail { display:block; width:100%; max-height:220px; margin:.75rem 0; border:1px solid var(--line); border-radius:10px; object-fit:contain; background:rgba(8,7,11,.35); }
.entry-photo-thumbnail { width:min(240px,100%); max-height:130px; margin:.65rem 0 0; }
.photo-upload-field { display:grid; gap:.5rem; padding:.75rem; border:1px dashed rgba(155,108,255,.35); border-radius:11px; color:var(--muted); }
.photo-upload-field input[type="file"] { padding:.45rem; }
.photo-preview img { display:block; width:min(320px,100%); max-height:220px; border-radius:9px; object-fit:contain; }
.photo-remove { justify-self:start; }
.calendar-transfer-button svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.calendar-transfer-modal { width:min(650px,calc(100vw - 2rem)); }
.calendar-transfer-section { display:grid; gap:.7rem; padding:1rem; border:1px solid var(--line); border-radius:12px; }
.calendar-transfer-section + .calendar-transfer-section { margin-top:.85rem; }
.calendar-transfer-section h3 { margin:0; }
.calendar-import-picker { display:grid; place-items:center; min-height:44px; }
.overdue-task-titles button { display:grid; gap:.25rem; text-align:left; }
.overdue-task-titles button span { color:var(--muted); font-size:.72rem; }
.overdue-task-titles button small { color:#ff6c82; font-size:.65rem; }
#deadlineXpStatus { color:#ff6c82; font-size:.58rem; font-weight:850; letter-spacing:.04em; }
html[data-theme="light"] .vault-intro { background:radial-gradient(circle at 92% 15%,rgba(236,90,190,.12),transparent 32%),linear-gradient(135deg,#f2ebff,#fff); }
html[data-theme="light"] .vault-security-badge { color:#5b2cbc; }
html[data-theme="light"] .vault-entry-icon { color:#fff; }
html[data-theme="light"] .creatorby-select-trigger { background:linear-gradient(135deg,#fff,#f7f2ff); }
html[data-theme="light"] .creatorby-select-menu { background:linear-gradient(155deg,#23192f,#120e19); box-shadow:0 20px 48px rgba(55,30,80,.24); }
html[data-theme="light"] input[type="date"]::-webkit-calendar-picker-indicator,html[data-theme="light"] input[type="time"]::-webkit-calendar-picker-indicator { filter:none; color:var(--violet); }
html[data-theme="light"] .vault-connected-card { background:#faf7ff; }

@media (max-width:900px) { .vault-entry-list { grid-template-columns:1fr; } .vault-connected-row { grid-template-columns:1fr 1fr; } .vault-remove-connected { justify-self:end; } }
@media (max-width:620px) { .vault-intro,.vault-toolbar { align-items:stretch; flex-direction:column; } .vault-security-badge { min-width:0; width:100%; } .vault-toolbar-actions { display:grid; grid-template-columns:1fr 1fr; } .vault-toolbar-actions button { min-width:0; padding:.55rem .35rem; font-size:.66rem; } .vault-gate form { grid-template-columns:1fr; } .vault-entry-card dl { grid-template-columns:1fr; } .vault-password-row { grid-template-columns:1fr auto; } .vault-password-row .text-button:first-of-type { grid-column:1 / -1; } .vault-connected-row { grid-template-columns:1fr; } .vault-connected-card { grid-template-columns:1fr; } .vault-recovery-kit-modal { width:calc(100vw - 1rem); max-height:94dvh; padding:1rem; } .vault-recovery-kit-modal .vault-kit-actions { grid-template-columns:1fr; } .vault-recovery-kit-modal .vault-kit-actions button,.vault-recovery-kit-modal #vaultCloseRecoveryKit { width:100%; } .vault-recovery-code { min-height:126px; font-size:.78rem; } }

@media (max-width:760px) {
  .legal-shell header { grid-template-columns:1fr; }
  .daily-ritual-card,.calendar-sync-panel { grid-template-columns:1fr; display:grid; }
  .calendar-toolbar { align-items:flex-start; flex-direction:column; }
  .calendar-weekdays { font-size:.56rem; }
  .calendar-day { min-height:82px; padding:.25rem; }
  .calendar-entry { padding:.2rem; font-size:.56rem; }
  .bulk-action-bar { position:static; align-items:stretch; }
  .bulk-action-bar > * { flex:1 1 140px; }
  .habit-editor-schedule { grid-template-columns:1fr; }
  .global-quick-capture { right:.8rem; bottom:.8rem; }
}
