:root {
  color-scheme: dark;
  --bg: #090a0d;
  --text: #f1f3f7;
  --muted: #9298a5;
  --dim: #6d7380;
  --line: rgba(255,255,255,.085);
  --blue: #a8c6f8;
  --font: "DM Sans", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { min-width: 320px; min-height: 100%; scroll-behavior: smooth; }
body { min-width: 320px; min-height: 100vh; margin: 0; overflow-x: hidden; color: var(--text); background: radial-gradient(ellipse at 45% -22%, rgba(69,80,112,.21), transparent 48%), var(--bg); font-family: var(--font); font-size: 14px; -webkit-font-smoothing: antialiased; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
::selection { color: #fff; background: rgba(126,160,226,.4); }
.ambient { position: fixed; z-index: -1; pointer-events: none; filter: blur(86px); border-radius: 50%; opacity: .3; animation: drift 20s ease-in-out infinite alternate; }
.ambient-one { width: 400px; height: 370px; top: 4%; left: -270px; background: radial-gradient(circle,#526a97,#293852 52%,transparent 72%); }
.ambient-two { width: 440px; height: 420px; top: 15%; right: -300px; background: radial-gradient(circle,#386474,#283d4c 48%,transparent 72%); animation-delay: -8s; }
.ambient-three { width: 420px; height: 340px; bottom: -250px; left: 43%; background: radial-gradient(circle,#534f7d,#34304e 50%,transparent 72%); animation-delay: -13s; }
@keyframes drift { from { transform: translate3d(0,0,0) scale(.92); } to { transform: translate3d(38px,28px,0) scale(1.08); } }
.app-shell { width: min(1480px, calc(100% - 64px)); margin: 0 auto; }
.topbar { height: 73px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.065); }
.brand { display: inline-flex; align-items: center; gap: 11px; }.brand-mark { width: 27px; height: 27px; display: flex; align-items: flex-end; gap: 3px; padding: 5px; border: 1px solid rgba(210,224,255,.25); border-radius: 9px; background: linear-gradient(145deg,rgba(171,196,242,.2),rgba(83,98,129,.08)); box-shadow: inset 0 1px 0 rgba(255,255,255,.16),0 4px 15px rgba(50,65,98,.18); }.brand-mark i { width: 3px; border-radius: 3px; background: linear-gradient(180deg,#dce8ff,#89a9e4); }.brand-mark i:nth-child(1) { height: 7px; opacity: .7; }.brand-mark i:nth-child(2) { height: 12px; }.brand-mark i:nth-child(3) { height: 9px; opacity: .8; }.brand-name { font-size: 14px; font-weight: 600; letter-spacing: .035em; }.brand-dot { color: #9bbcf5; }
.topbar-meta { display: flex; align-items: center; gap: 15px; }.live-indicator { display: inline-flex; align-items: center; gap: 8px; color: #707785; font-size: 8px; font-weight: 600; letter-spacing: .16em; }.live-indicator i { width: 5px; height: 5px; border-radius: 50%; background: #82d3ac; box-shadow: 0 0 10px rgba(104,221,165,.55); }.avatar { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; background: radial-gradient(circle at 30% 20%,#657b9d,#343c4e 70%); color: #f3f6ff; font-size: 11px; font-weight: 600; }
.mobile-menu { display: none; }
.workspace-grid { display: grid; grid-template-columns: 218px minmax(340px,1fr) 306px; gap: 20px; align-items: start; padding-top: 20px; }
.glass-panel { border: 1px solid rgba(255,255,255,.09); background: linear-gradient(145deg,rgba(30,33,42,.71),rgba(17,19,25,.72) 72%); box-shadow: 0 14px 45px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.055); backdrop-filter: blur(25px) saturate(135%); -webkit-backdrop-filter: blur(25px) saturate(135%); }
.sidebar { min-height: calc(100vh - 114px); position: sticky; top: 20px; display: flex; flex-direction: column; padding: 17px 12px 13px; border-radius: 20px; }.side-heading { display: flex; align-items: center; gap: 8px; padding: 3px 9px 14px; color: #646b79; font-size: 8px; font-weight: 600; letter-spacing: .17em; }.side-heading-line { width: 13px; height: 1px; background: #8198c2; opacity: .75; }.side-menu { display: flex; flex-direction: column; gap: 4px; }.menu-link { min-height: 41px; display: flex; align-items: center; gap: 11px; padding: 0 10px; border: 1px solid transparent; border-radius: 11px; color: #9197a4; font-size: 11px; transition: color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease; }.menu-link:hover { color: #e0e5ee; background: rgba(255,255,255,.045); }.menu-link.active { color: #e9eef8; border-color: rgba(166,193,239,.1); background: linear-gradient(100deg,rgba(126,158,213,.15),rgba(143,168,211,.06)); box-shadow: inset 2px 0 0 #99b8ef,inset 0 1px 0 rgba(255,255,255,.035); }.menu-link.active .menu-icon { color: #b7d0ff; }.menu-icon { width: 17px; height: 17px; flex: 0 0 17px; color: #737c8c; }.menu-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }.menu-link span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.sidebar-bottom { display: flex; align-items: center; gap: 10px; margin-top: auto; padding: 13px 8px 2px; border-top: 1px solid rgba(255,255,255,.06); }.sidebar-orb { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid rgba(167,193,240,.17); border-radius: 50%; background: radial-gradient(circle at 40% 35%,rgba(150,184,244,.26),rgba(62,75,104,.1)); }.sidebar-orb span { width: 7px; height: 7px; border: 1px solid #9db9eb; border-radius: 50%; box-shadow: 0 0 12px rgba(143,180,240,.35); }.sidebar-bottom-title,.sidebar-bottom-copy { display: block; }.sidebar-bottom-title { color: #a9afbb; font-size: 9px; }.sidebar-bottom-copy { margin-top: 3px; color: #626977; font-size: 8px; }
.main-content { min-width: 0; padding: 15px 0 6px; }.view-heading { min-height: 95px; display: flex; align-items: flex-start; justify-content: space-between; padding: 0 3px; }.view-kicker,.card-eyebrow { margin: 0; color: #777f8d; font-size: 8px; font-weight: 600; letter-spacing: .17em; }.view-heading h1 { margin: 8px 0 4px; color: #f2f4f8; font-size: 25px; font-weight: 500; letter-spacing: -.045em; }.view-subtitle { margin: 0; color: #8a909c; font-size: 10px; }.view-index { margin-top: 9px; color: #b3c7eb; font-size: 11px; font-variant-numeric: tabular-nums; letter-spacing: .04em; }.view-index i { color: #666d79; font-style: normal; }.view-content { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.welcome-card { position: relative; min-height: 230px; overflow: hidden; display: flex; align-items: center; padding: 27px 30px; border-radius: 21px; }.welcome-card::before { content: ""; position: absolute; width: 370px; height: 270px; right: -90px; top: -130px; border-radius: 50%; background: radial-gradient(ellipse,rgba(100,135,196,.18),transparent 70%); filter: blur(11px); }.welcome-card-content { z-index: 1; max-width: 310px; }.welcome-card h2,.review-intro h2 { margin: 14px 0 9px; color: #eef2fa; font-size: clamp(22px,2.4vw,30px); font-weight: 500; letter-spacing: -.05em; line-height: 1.42; }.welcome-card-content > p:last-child,.review-intro > p:last-of-type { max-width: 275px; margin: 0; color: #979eab; font-size: 10px; line-height: 1.8; }.welcome-visual { width: 180px; height: 180px; position: absolute; top: 50%; right: 6%; transform: translateY(-50%); }.visual-orbit,.visual-core { position: absolute; top: 50%; left: 50%; display: block; border-radius: 50%; transform: translate(-50%,-50%); }.visual-orbit { border: 1px solid rgba(187,207,245,.12); }.orbit-a { width: 152px; height: 152px; }.orbit-b { width: 112px; height: 112px; border-color: rgba(187,207,245,.19); }.visual-core { width: 64px; height: 64px; border: 1px solid rgba(206,222,252,.29); background: radial-gradient(circle at 33% 27%,rgba(190,211,251,.36),rgba(69,93,137,.22) 44%,rgba(23,30,43,.37)); box-shadow: 0 0 55px rgba(113,150,215,.15),inset 0 1px 9px rgba(255,255,255,.15); backdrop-filter: blur(8px); }.visual-star { position: absolute; color: #bdd2f6; }.star-a { top: 19px; right: 27px; font-size: 14px; }.star-b { left: 18px; bottom: 27px; font-size: 17px; opacity: .7; }.star-c { right: 14px; bottom: 57px; font-size: 23px; color: #d9c6f3; }.card-index { position: absolute; right: 18px; bottom: 15px; color: #697384; font-size: 7px; letter-spacing: .13em; }
.section-row { display: flex; align-items: end; justify-content: space-between; padding: 4px 2px 0; }.section-row h2 { margin: 5px 0 0; color: #e6e9ef; font-size: 14px; font-weight: 500; letter-spacing: -.02em; }.section-note { color: #626a77; font-size: 8px; }.home-tiles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }.content-card { min-width: 0; border: 1px solid rgba(255,255,255,.075); border-radius: 16px; background: linear-gradient(145deg,rgba(29,32,40,.65),rgba(18,20,26,.68)); box-shadow: inset 0 1px 0 rgba(255,255,255,.035); }.tile-card { min-height: 123px; position: relative; display: flex; flex-direction: column; justify-content: flex-end; padding: 13px; overflow: hidden; }.tile-symbol { position: absolute; top: 13px; left: 13px; width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.07); border-radius: 8px; background: rgba(255,255,255,.035); font-size: 14px; }.symbol-blue { color: #aec8f7; }.symbol-violet { color: #ccb8ec; }.symbol-green { color: #a6d5bc; }.symbol-amber { color: #dec791; }.tile-label { color: #dce0e8; font-size: 10px; }.tile-card p { margin: 5px 0 0; color: #757d89; font-size: 8px; }.tile-arrow { position: absolute; right: 12px; bottom: 12px; color: #707989; font-size: 13px; }.two-tiles { grid-template-columns: repeat(2,minmax(0,1fr)); }
.assistant-panel { min-height: calc(100vh - 114px); height: calc(100vh - 114px); min-height: 520px; position: sticky; top: 20px; display: flex; flex-direction: column; overflow: hidden; border-radius: 20px; }.assistant-heading { display: flex; align-items: center; justify-content: space-between; padding: 18px 17px 13px; border-bottom: 1px solid rgba(255,255,255,.06); }.assistant-title-wrap { display: flex; align-items: center; gap: 10px; }.assistant-mark { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid rgba(174,196,240,.18); border-radius: 10px; color: #b7cdf4; background: linear-gradient(145deg,rgba(129,159,214,.17),rgba(60,71,99,.09)); }.assistant-mark svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.2; stroke-linejoin: round; }.assistant-title-wrap h2 { margin: 0; color: #e5e9f1; font-size: 12px; font-weight: 500; }.assistant-title-wrap p { margin: 4px 0 0; color: #737a87; font-size: 8px; }.panel-menu-button { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; gap: 2px; border: 1px solid rgba(255,255,255,.065); border-radius: 8px; background: rgba(255,255,255,.025); }.panel-menu-button span { width: 2px; height: 2px; border-radius: 50%; background: #838b98; }.assistant-status { display: flex; align-items: center; gap: 6px; margin: 11px 17px 0; color: #798b80; font-size: 8px; }.assistant-status span { width: 5px; height: 5px; border-radius: 50%; background: #83c69a; box-shadow: 0 0 8px rgba(124,201,151,.38); }.assistant-conversation { min-height: 0; flex: 1; display: flex; flex-direction: column; padding: 10px 16px; }.assistant-date { display: flex; align-items: center; gap: 8px; margin: 6px 0 26px; }.assistant-date span { height: 1px; flex: 1; background: rgba(255,255,255,.06); }.assistant-date small { color: #606774; font-size: 7px; letter-spacing: .13em; white-space: nowrap; }.assistant-welcome { margin: auto 0; padding: 18px 10px 30px; text-align: center; }.welcome-sparkle { width: 41px; height: 41px; display: grid; place-items: center; margin: 0 auto 13px; border: 1px solid rgba(173,196,239,.15); border-radius: 14px; color: #bfd2f4; background: radial-gradient(circle at 35% 28%,rgba(128,162,224,.2),rgba(255,255,255,.025)); box-shadow: 0 0 28px rgba(98,128,184,.1),inset 0 1px 0 rgba(255,255,255,.08); }.welcome-sparkle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linejoin: round; }.assistant-welcome h3 { margin: 0 0 8px; color: #dce1eb; font-size: 13px; font-weight: 500; }.assistant-welcome p { max-width: 215px; margin: 0 auto; color: #848b98; font-size: 9px; line-height: 1.9; }.assistant-hint { display: flex; align-items: center; gap: 8px; align-self: center; margin-bottom: 14px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.055); border-radius: 9px; color: #77808e; background: rgba(255,255,255,.025); font-size: 8px; }.hint-icon { color: #a8c2ed; font-size: 12px; }.assistant-composer-wrap { padding: 12px; border-top: 1px solid rgba(255,255,255,.06); background: rgba(5,6,10,.12); }.assistant-composer { min-height: 43px; display: flex; align-items: center; gap: 5px; padding: 4px 5px 4px 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; background: rgba(255,255,255,.035); }.assistant-composer input { width: 100%; min-width: 0; border: 0; outline: 0; color: #c5cad4; background: transparent; font-size: 9px; }.assistant-composer input::placeholder { color: #636b78; }.assistant-composer button { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border: 1px solid rgba(170,193,236,.12); border-radius: 9px; color: #91a7cc; background: rgba(129,158,210,.09); }.assistant-composer button svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }.assistant-composer input:disabled,.assistant-composer button:disabled { opacity: .8; }.composer-caption { margin: 8px 2px 0; color: #555d69; text-align: center; font-size: 7px; letter-spacing: .04em; }
.intro-card { min-height: 105px; display: flex; align-items: center; gap: 13px; padding: 17px; }.intro-icon { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.075); border-radius: 11px; background: rgba(255,255,255,.04); font-size: 18px; }.intro-card h2 { margin: 6px 0 4px; color: #e7ebf2; font-size: 14px; font-weight: 500; }.intro-card > div:nth-child(2) > p:last-child { margin: 0; color: #848b97; font-size: 9px; }.empty-badge { margin-left: auto; padding: 5px 8px; border: 1px solid rgba(255,255,255,.07); border-radius: 99px; color: #707887; background: rgba(255,255,255,.025); font-size: 7px; white-space: nowrap; }.plan-grid { display: flex; flex-direction: column; gap: 8px; }.plan-slot { min-height: 72px; position: relative; display: flex; align-items: center; gap: 13px; padding: 12px; }.slot-time { width: 35px; color: #c0c5cf; font-size: 9px; }.slot-line { width: 1px; height: 31px; background: rgba(155,184,235,.38); }.slot-placeholder { color: #6e7683; font-size: 9px; }.slot-plus { margin-left: auto; color: #778193; font-size: 15px; }
.assistant-feature { min-height: 190px; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; padding: 20px; border-radius: 18px; }.assistant-feature::after { content: ""; position: absolute; width: 180px; height: 180px; top: -95px; right: -28px; border-radius: 50%; background: radial-gradient(circle,rgba(130,153,206,.18),transparent 68%); }.assistant-feature-orb { width: 35px; height: 35px; position: absolute; top: 20px; right: 26px; display: grid; place-items: center; border: 1px solid rgba(182,204,247,.22); border-radius: 50%; color: #c6d8f8; background: rgba(139,167,216,.1); box-shadow: 0 0 32px rgba(115,151,217,.12); }.assistant-feature-orb span { width: 63px; height: 63px; position: absolute; border: 1px solid rgba(183,204,241,.1); border-radius: 50%; }.assistant-feature h2 { margin: 11px 0 6px; color: #ebeff7; font-size: 19px; font-weight: 500; }.assistant-feature > p:not(.card-eyebrow) { margin: 0; color: #9299a6; font-size: 9px; }.assistant-feature .empty-badge { width: fit-content; margin: 14px 0 0; }.topic-list { display: flex; flex-direction: column; gap: 8px; }.topic-card { min-height: 65px; display: flex; align-items: center; gap: 13px; padding: 10px 13px; }.topic-number { color: #7386a5; font-size: 9px; font-variant-numeric: tabular-nums; }.topic-name { color: #d9dee7; font-size: 10px; }.topic-card p { margin: 4px 0 0; color: #747c89; font-size: 8px; }.topic-arrow { margin-left: auto; color: #798293; font-size: 12px; }
.movement-card { min-height: 185px; position: relative; overflow: hidden; display: flex; align-items: center; padding: 22px; }.movement-copy { z-index: 1; }.movement-copy h2 { margin: 9px 0 5px; color: #e8edf4; font-size: 19px; font-weight: 500; }.movement-copy > p:not(.card-eyebrow) { margin: 0; color: #89919d; font-size: 9px; }.movement-copy .empty-badge { display: inline-flex; margin: 13px 0 0; }.movement-rings { width: 142px; height: 142px; position: absolute; right: 9%; top: 50%; transform: translateY(-50%); }.movement-ring { position: absolute; inset: 0; border: 1px solid rgba(155,199,176,.1); border-radius: 50%; }.ring-mid { inset: 16px; border-color: rgba(155,199,176,.15); }.ring-inner { inset: 34px; border-color: rgba(155,199,176,.2); background: radial-gradient(circle,rgba(104,161,128,.12),transparent 72%); }.movement-rings b { position: absolute; inset: 0; display: grid; place-items: center; color: #a9d6b7; font-weight: 400; }.week-card { padding: 16px; }.week-days,.week-dots { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); justify-items: center; }.week-days { color: #777f8c; font-size: 8px; }.week-dots { margin-top: 12px; }.week-dots i { width: 8px; height: 8px; border: 1px solid rgba(169,207,181,.3); border-radius: 50%; background: rgba(169,207,181,.07); }.week-dots i:nth-child(4) { border-color: rgba(169,207,181,.65); background: rgba(169,207,181,.25); }.week-card p { margin: 15px 0 0; color: #6f7784; text-align: center; font-size: 8px; }
.finance-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }.finance-total { min-height: 95px; padding: 13px; }.finance-total strong { display: block; margin-top: 9px; color: #e4e8ef; font-size: 19px; font-weight: 400; letter-spacing: .08em; }.finance-total > span { display: block; margin-top: 4px; color: #747c88; font-size: 8px; }.chart-placeholder { min-height: 165px; padding: 15px; }.chart-heading { display: flex; align-items: center; justify-content: space-between; }.chart-heading h2 { margin: 5px 0 0; color: #e1e5ed; font-size: 12px; font-weight: 500; }.chart-heading .empty-badge { margin: 0; }.chart-lines { height: 75px; display: flex; flex-direction: column; justify-content: space-around; margin-top: 8px; }.chart-lines i { height: 1px; background: rgba(255,255,255,.055); }.chart-axis { display: flex; justify-content: space-between; color: #616977; font-size: 7px; }
.journal-layout { display: grid; grid-template-columns: minmax(130px,.8fr) minmax(0,1.2fr); gap: 9px; }.journal-list,.journal-entry { min-height: 190px; padding: 13px; }.journal-person { min-height: 37px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid rgba(255,255,255,.045); color: #aeb4bf; font-size: 8px; }.person-avatar { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; font-size: 8px; }.person-a { color: #d3bce8; background: rgba(173,143,214,.14); }.person-b { color: #b4d2ed; background: rgba(128,175,216,.14); }.person-c { color: #d7c39e; background: rgba(208,175,113,.13); }.journal-person i { margin-left: auto; color: #687180; font-size: 12px; font-style: normal; }.journal-list .empty-badge { display: inline-flex; margin: 11px 0 0; }.journal-entry { display: flex; flex-direction: column; justify-content: center; }.journal-line { width: 91%; height: 5px; margin-top: 12px; border-radius: 99px; background: rgba(255,255,255,.055); }.journal-line.short { width: 58%; }.journal-line.medium { width: 74%; }.entry-placeholder { margin-top: 18px; color: #69717f; font-size: 8px; }
.review-intro { min-height: 178px; position: relative; overflow: hidden; padding: 20px; border-radius: 18px; }.review-intro h2 { margin: 11px 0 5px; font-size: 20px; }.review-decoration { position: absolute; right: 10%; top: 29px; color: rgba(183,204,244,.65); font-size: 45px; }.review-prompts { display: flex; flex-direction: column; gap: 8px; }.prompt-card { min-height: 76px; position: relative; padding: 12px 14px 13px 40px; }.prompt-card > span { position: absolute; top: 14px; left: 14px; color: #8294b4; font-size: 8px; }.prompt-card h3 { margin: 0; color: #cdd2dc; font-size: 9px; font-weight: 400; }.prompt-line { width: 100%; height: 17px; margin-top: 10px; border-bottom: 1px solid rgba(255,255,255,.055); }
.page-footer { display: flex; align-items: center; justify-content: space-between; padding: 18px 2px 15px; color: #515865; font-size: 7px; letter-spacing: .06em; }.footer-mark { display: flex; align-items: center; gap: 7px; letter-spacing: .14em; }.footer-mark i { width: 4px; height: 4px; border-radius: 50%; background: #748a79; }
@media (min-width: 1500px) { .workspace-grid { grid-template-columns: 230px minmax(400px,1fr) 325px; gap: 22px; }.welcome-card { min-height: 250px; }.assistant-panel { min-height: calc(100vh - 114px); height: calc(100vh - 114px); } }
@media (max-width: 1120px) { .app-shell { width: calc(100% - 38px); }.workspace-grid { grid-template-columns: 184px minmax(300px,1fr) 268px; gap: 13px; }.sidebar { padding-inline: 9px; }.menu-link { gap: 9px; padding-inline: 8px; font-size: 10px; }.assistant-heading { padding-inline: 13px; }.assistant-conversation { padding-inline: 11px; }.welcome-card { min-height: 215px; padding-inline: 23px; }.welcome-visual { right: 0; transform: translate(14%,-50%) scale(.88); } }
@media (max-width: 880px) { .app-shell { width: calc(100% - 30px); }.topbar { height: 65px; }.mobile-menu { display: flex; gap: 5px; margin: 11px 0 2px; padding: 4px; overflow-x: auto; border: 1px solid rgba(255,255,255,.06); border-radius: 13px; background: rgba(255,255,255,.025); scrollbar-width: none; }.mobile-menu::-webkit-scrollbar { display: none; }.mobile-menu .menu-link { min-height: 34px; flex: 0 0 auto; padding: 0 11px; border-radius: 9px; font-size: 9px; }.mobile-menu .menu-link.active { box-shadow: inset 0 0 0 1px rgba(166,193,239,.09); }.mobile-menu .menu-icon { width: 14px; height: 14px; flex-basis: 14px; }.mobile-menu .menu-icon svg { width: 14px; height: 14px; }.workspace-grid { grid-template-columns: minmax(0,1fr); gap: 13px; padding-top: 10px; }.sidebar { display: none; }.main-content { padding-top: 9px; }.view-heading { min-height: 87px; }.view-heading h1 { font-size: 23px; }.assistant-panel { height: 360px; min-height: 360px; position: relative; top: auto; }.assistant-conversation { padding-inline: 18px; }.assistant-welcome { padding-bottom: 18px; }.assistant-welcome p { max-width: 300px; }.assistant-hint { margin-bottom: 10px; }.welcome-visual { right: 7%; transform: translateY(-50%) scale(.92); } }
@media (max-width: 540px) { .app-shell { width: calc(100% - 24px); }.topbar { height: 59px; }.brand-name { font-size: 12px; }.brand-mark { width: 24px; height: 24px; }.topbar-meta { gap: 0; }.live-indicator { display: none; }.avatar { width: 28px; height: 28px; }.mobile-menu { margin-top: 8px; gap: 3px; }.mobile-menu .menu-link { gap: 6px; padding-inline: 9px; font-size: 8px; }.mobile-menu .menu-icon,.mobile-menu .menu-icon svg { width: 13px; height: 13px; }.workspace-grid { gap: 10px; padding-top: 7px; }.main-content { padding-top: 7px; }.view-heading { min-height: 77px; }.view-heading h1 { margin-top: 6px; font-size: 21px; }.view-subtitle { font-size: 9px; }.view-index { margin-top: 7px; font-size: 9px; }.view-content { gap: 12px; }.welcome-card { min-height: 187px; padding: 19px 18px; border-radius: 17px; }.welcome-card-content { max-width: 62%; }.welcome-card h2 { margin-top: 11px; font-size: 21px; }.welcome-card-content > p:last-child { font-size: 8px; }.welcome-visual { width: 145px; height: 145px; right: -9%; transform: translateY(-50%) scale(.8); }.orbit-a { width: 138px; height: 138px; }.orbit-b { width: 102px; height: 102px; }.visual-core { width: 58px; height: 58px; }.home-tiles { gap: 7px; }.tile-card { min-height: 105px; padding: 10px; border-radius: 13px; }.tile-symbol { top: 10px; left: 10px; width: 22px; height: 22px; font-size: 12px; }.tile-label { font-size: 9px; }.tile-card p { max-width: 90%; font-size: 7px; line-height: 1.5; }.tile-arrow { right: 8px; bottom: 8px; font-size: 11px; }.section-row h2 { font-size: 12px; }.section-note { font-size: 7px; }.intro-card { min-height: 91px; gap: 10px; padding: 12px; border-radius: 14px; }.intro-icon { width: 31px; height: 31px; flex-basis: 31px; border-radius: 9px; font-size: 15px; }.intro-card h2 { font-size: 12px; }.intro-card > div:nth-child(2) > p:last-child { font-size: 8px; }.empty-badge { padding: 4px 6px; font-size: 6px; }.plan-slot { min-height: 62px; gap: 9px; padding: 10px; }.slot-time { width: 29px; font-size: 8px; }.slot-placeholder { font-size: 8px; }.assistant-feature { min-height: 175px; padding: 17px; }.assistant-feature h2 { font-size: 17px; }.assistant-feature-orb { right: 20px; }.topic-card { min-height: 57px; gap: 10px; padding: 9px 11px; }.topic-name { font-size: 9px; }.topic-card p { font-size: 7px; }.movement-card { min-height: 158px; padding: 17px; }.movement-copy h2 { font-size: 16px; }.movement-copy > p:not(.card-eyebrow) { font-size: 8px; }.movement-rings { width: 120px; height: 120px; right: -4%; transform: translate(8%,-50%) scale(.8); }.week-card { padding: 12px; }.finance-total { min-height: 81px; padding: 10px; }.finance-total strong { font-size: 16px; }.chart-placeholder { min-height: 145px; padding: 12px; }.chart-lines { height: 61px; }.journal-layout { grid-template-columns: minmax(110px,.8fr) minmax(0,1.2fr); gap: 7px; }.journal-list,.journal-entry { min-height: 176px; padding: 10px; }.journal-person { gap: 5px; font-size: 7px; }.person-avatar { width: 19px; height: 19px; }.review-intro { min-height: 155px; padding: 17px; }.review-intro h2 { font-size: 18px; }.review-decoration { right: 8%; font-size: 36px; }.prompt-card { min-height: 70px; padding: 11px 10px 11px 33px; }.prompt-card > span { left: 11px; }.prompt-card h3 { font-size: 8px; }.assistant-panel { height: 340px; min-height: 340px; border-radius: 17px; }.assistant-heading { padding: 14px; }.assistant-status { margin-left: 14px; }.assistant-composer-wrap { padding: 10px; }.page-footer { padding-top: 13px; font-size: 6px; }.footer-mark { font-size: 6px; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

/* Today's planning */
.planner-overview { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(240px,.85fr); gap: 10px; }
.progress-card { min-height: 190px; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; padding: 20px; }
.progress-card::before { content: ""; position: absolute; width: 260px; height: 210px; top: -145px; left: -30px; border-radius: 50%; background: radial-gradient(ellipse,rgba(104,144,207,.16),transparent 70%); filter: blur(8px); }
.progress-copy { position: relative; z-index: 1; }.progress-copy h2 { margin: 12px 0 7px; color: #e9edf5; font-size: clamp(16px,1.7vw,21px); font-weight: 500; letter-spacing: -.045em; line-height: 1.45; }.progress-detail { margin: 0; color: #858d9b; font-size: 9px; }
.progress-ring { --progress: 0%; width: 110px; height: 110px; flex: 0 0 110px; position: relative; display: grid; place-items: center; margin-right: 4px; border-radius: 50%; background: conic-gradient(from -90deg,#a9c8fb var(--progress),rgba(255,255,255,.075) var(--progress)); box-shadow: 0 0 30px rgba(121,158,218,.06); transition: background .3s ease; }.progress-ring::before { content: ""; position: absolute; inset: 5px; border: 1px solid rgba(255,255,255,.06); border-radius: inherit; background: radial-gradient(circle at 35% 25%,rgba(80,101,140,.27),rgba(16,19,25,.96) 68%); }.progress-ring > div { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; }.progress-ring strong { color: #e8eef9; font-size: 24px; font-variant-numeric: tabular-nums; font-weight: 400; letter-spacing: -.05em; }.progress-ring span { color: #808898; font-size: 8px; }.progress-glow { position: absolute; width: 170px; height: 100px; right: 0; bottom: -95px; border-radius: 50%; background: rgba(104,151,228,.12); filter: blur(24px); }
.calendar-card { min-height: 190px; display: flex; flex-direction: column; padding: 15px; }.calendar-card-heading { display: flex; align-items: center; gap: 9px; }.calendar-mark { width: 29px; height: 29px; flex: 0 0 29px; display: grid; place-items: center; border: 1px solid rgba(173,199,245,.13); border-radius: 9px; color: #a9c7f4; background: rgba(126,157,211,.08); }.calendar-mark svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }.calendar-heading-copy { min-width: 0; display: flex; flex: 1; flex-direction: column; gap: 4px; }.calendar-heading-copy strong { color: #dfe4ed; font-size: 9px; font-weight: 500; }.calendar-heading-copy small { color: #777f8d; font-size: 7px; }.calendar-state { display: inline-flex; align-items: center; gap: 5px; color: #848b98; font-size: 7px; white-space: nowrap; }.calendar-state i { width: 5px; height: 5px; border-radius: 50%; background: #7d838e; }.calendar-state.connected { color: #a9cfb4; }.calendar-state.connected i { background: #83ca9a; box-shadow: 0 0 8px rgba(124,201,151,.42); }.calendar-preview { min-height: 57px; flex: 1; display: flex; align-items: center; gap: 9px; margin-top: 8px; color: #767e8b; font-size: 8px; line-height: 1.65; }.calendar-empty-icon { width: 27px; height: 27px; flex: 0 0 27px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.06); border-radius: 8px; color: #8092af; background: rgba(255,255,255,.025); font-size: 14px; }.calendar-actions { display: flex; align-items: center; gap: 7px; }.calendar-connect,.calendar-sync { min-height: 29px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 10px; border: 1px solid rgba(159,187,233,.16); border-radius: 9px; color: #bdcdef; background: rgba(126,157,211,.08); font-size: 8px; cursor: pointer; transition: background .18s ease,border-color .18s ease; }.calendar-connect:hover,.calendar-sync:hover { border-color: rgba(159,187,233,.32); background: rgba(126,157,211,.15); }.calendar-connect span,.calendar-sync span { font-size: 11px; }.calendar-note { margin: 7px 0 0; color: #626a77; font-size: 7px; }.calendar-events-card { min-height: 130px; padding: 15px; }.events-heading { display: flex; align-items: center; justify-content: space-between; }.events-heading h2 { margin: 5px 0 0; color: #dce1e9; font-size: 12px; font-weight: 500; }.event-day-label { color: #777f8c; font-size: 8px; }.calendar-events { margin-top: 11px; }.events-empty { display: flex; align-items: center; gap: 10px; color: #717987; font-size: 8px; }.events-empty-line { width: 24px; height: 1px; background: #8299c0; opacity: .55; }.calendar-event { min-height: 43px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid rgba(255,255,255,.05); }.calendar-event:last-child { border-bottom: 0; }.event-time { width: 42px; flex: 0 0 42px; color: #9eabc1; font-size: 8px; font-variant-numeric: tabular-nums; }.event-color { width: 2px; height: 25px; border-radius: 2px; background: #90b2ea; }.event-content { min-width: 0; display: flex; flex-direction: column; gap: 3px; }.event-content strong { overflow: hidden; color: #d5dae4; font-size: 9px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }.event-content span { overflow: hidden; color: #757e8b; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.task-manager { padding: 17px; }.task-manager-heading { display: flex; align-items: flex-start; justify-content: space-between; }.task-manager-heading h2 { margin: 6px 0 4px; color: #e5e9f0; font-size: 14px; font-weight: 500; }.task-manager-heading > div:first-child > p:last-child { margin: 0; color: #7c8491; font-size: 8px; }.task-count-pill { padding: 6px 9px; border: 1px solid rgba(255,255,255,.07); border-radius: 99px; color: #8992a1; background: rgba(255,255,255,.025); font-size: 7px; }.task-entry { min-height: 41px; display: flex; align-items: center; gap: 8px; margin-top: 15px; padding: 4px 5px 4px 10px; border: 1px solid rgba(255,255,255,.085); border-radius: 11px; background: rgba(5,7,11,.24); transition: border-color .18s ease,background .18s ease; }.task-entry:focus-within { border-color: rgba(159,187,233,.32); background: rgba(5,7,11,.36); }.entry-plus { color: #94b1e2; font-size: 17px; line-height: 1; }.task-entry input { width: 100%; min-width: 0; flex: 1; border: 0; outline: 0; color: #dce2ec; background: transparent; font-size: 9px; }.task-entry input::placeholder { color: #6d7582; }.task-entry button { min-height: 30px; flex: 0 0 auto; padding: 0 10px; border: 1px solid rgba(180,203,243,.16); border-radius: 8px; color: #dce7fb; background: rgba(133,165,221,.15); font-size: 8px; cursor: pointer; }.task-entry button:hover { background: rgba(133,165,221,.24); }.task-entry button span { margin-left: 3px; font-size: 10px; }.task-list-heading { display: flex; justify-content: space-between; margin-top: 16px; color: #989fac; font-size: 8px; }.task-list-heading span:last-child { color: #737c89; font-variant-numeric: tabular-nums; }.task-progress-track { height: 2px; overflow: hidden; margin-top: 8px; border-radius: 99px; background: rgba(255,255,255,.07); }.task-progress-track span { width: 0; height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,#81c29e,#c0e5cd); transition: width .25s ease; }.planning-task-list { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }.planning-task { min-height: 44px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid rgba(255,255,255,.045); }.planning-task:last-child { border-bottom: 0; }.task-toggle { width: 16px; height: 16px; flex: 0 0 16px; display: grid; place-items: center; border: 1px solid rgba(201,210,226,.33); border-radius: 5px; color: #16231a; background: transparent; cursor: pointer; transition: all .18s ease; }.task-toggle svg { width: 10px; height: 10px; opacity: 0; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }.planning-task.done .task-toggle { border-color: #9bd0ae; background: #9bd0ae; }.planning-task.done .task-toggle svg { opacity: 1; }.planning-task-text { min-width: 0; flex: 1; overflow: hidden; color: #cdd2dc; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.planning-task.done .planning-task-text { color: #747c88; text-decoration: line-through; text-decoration-color: #626b78; }.task-delete { width: 27px; height: 27px; display: grid; place-items: center; border: 0; border-radius: 7px; color: #727a87; background: transparent; cursor: pointer; opacity: .55; transition: opacity .18s ease,color .18s ease,background .18s ease; }.task-delete:hover { color: #e4a0a0; background: rgba(230,130,130,.09); opacity: 1; }.task-delete svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; }.task-empty { display: none; min-height: 102px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; color: #68717f; }.task-empty.visible { display: flex; }.empty-check { width: 23px; height: 23px; display: grid; place-items: center; margin-bottom: 3px; border: 1px solid rgba(168,207,182,.18); border-radius: 50%; color: #a4ceb2; background: rgba(119,177,141,.07); font-size: 11px; }.task-empty strong { color: #939ba8; font-size: 8px; font-weight: 500; }.task-empty > span:last-child { font-size: 7px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; clip-path: inset(50%); }
.calendar-dialog { width: min(440px,calc(100vw - 28px)); max-height: min(90dvh,800px); overflow-y: auto; padding: 20px; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; color: var(--text); background: linear-gradient(145deg,rgba(35,39,49,.98),rgba(17,19,25,.98)); box-shadow: 0 30px 100px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.07); backdrop-filter: blur(30px); }.calendar-dialog::backdrop { background: rgba(2,3,6,.65); backdrop-filter: blur(5px); }.dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 16px; }.dialog-heading h2 { margin: 7px 0 4px; color: #e9edf5; font-size: 18px; font-weight: 500; }.dialog-heading > div > p:last-child { max-width: 330px; margin: 0; color: #8b929f; font-size: 8px; line-height: 1.7; }.dialog-close { width: 27px; height: 27px; flex: 0 0 27px; border: 1px solid rgba(255,255,255,.09); border-radius: 8px; color: #a3aab6; background: rgba(255,255,255,.035); font-size: 18px; cursor: pointer; }.calendar-connect-form { padding: 13px; border: 1px solid rgba(255,255,255,.075); border-radius: 13px; background: rgba(255,255,255,.025); }.calendar-connect-form + .calendar-connect-form { margin-top: 9px; }.connect-form-title { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }.connect-number { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid rgba(163,190,236,.14); border-radius: 8px; color: #a9bfdf; background: rgba(126,157,211,.08); font-size: 8px; }.connect-form-title > span:last-child { display: flex; flex-direction: column; gap: 3px; }.connect-form-title strong { color: #dce1ea; font-size: 9px; font-weight: 500; }.connect-form-title small { color: #7e8795; font-size: 7px; }.calendar-connect-form label { display: block; margin: 9px 0 5px; color: #a2a9b5; font-size: 8px; }.calendar-connect-form input { width: 100%; height: 35px; padding: 0 10px; border: 1px solid rgba(255,255,255,.09); border-radius: 8px; outline: 0; color: #e0e5ee; background: rgba(6,8,12,.4); font-size: 8px; }.calendar-connect-form input:focus { border-color: rgba(162,190,239,.4); }.calendar-connect-form input::placeholder { color: #616a77; }.form-help { margin: 7px 0 10px; color: #737c89; font-size: 7px; line-height: 1.6; }.connect-submit { min-height: 32px; padding: 0 11px; border: 1px solid rgba(166,192,238,.2); border-radius: 8px; color: #dce7fb; background: rgba(133,165,221,.13); font-size: 8px; cursor: pointer; }.connect-submit:hover { background: rgba(133,165,221,.22); }.connect-submit span { margin-left: 4px; }.calendar-dialog-status { min-height: 13px; margin: 9px 2px 0; color: #d0bd85; font-size: 8px; }.calendar-dialog-status.error { color: #e2a1a1; }.calendar-dialog-status.success { color: #a8d3b6; }
@media (max-width: 880px) { .planner-overview { grid-template-columns: minmax(0,1.1fr) minmax(250px,.9fr); }.progress-card,.calendar-card { min-height: 180px; } }
@media (max-width: 540px) { .planner-overview { grid-template-columns: 1fr; gap: 8px; }.progress-card { min-height: 155px; padding: 16px; }.progress-copy h2 { margin: 9px 0 5px; font-size: 18px; }.progress-ring { width: 92px; height: 92px; flex-basis: 92px; }.progress-ring strong { font-size: 20px; }.calendar-card { min-height: 162px; padding: 13px; }.calendar-preview { min-height: 44px; margin-top: 5px; }.task-manager { padding: 13px; }.task-entry { gap: 6px; padding-left: 8px; }.task-entry input { font-size: 8px; }.task-entry button { padding-inline: 8px; font-size: 7px; }.task-count-pill { font-size: 6px; }.task-manager-heading h2 { font-size: 13px; }.calendar-events-card { padding: 13px; }.calendar-dialog { padding: 15px; }.calendar-connect-form { padding: 11px; } }
.calendar-disconnect { min-height: 29px; margin-left: auto; padding: 0 9px; border: 1px solid rgba(255,255,255,.07); border-radius: 9px; color: #858d99; background: rgba(255,255,255,.025); font-size: 8px; cursor: pointer; }.calendar-disconnect:hover { color: #e2a0a0; border-color: rgba(230,130,130,.2); background: rgba(230,130,130,.06); }

.assistant-status b{color:inherit;font-size:inherit;font-weight:400}.assistant-status.loading{color:#c8ac78}.assistant-status.loading span{background:#dfbf82;box-shadow:0 0 8px rgba(223,191,130,.36)}.assistant-status.error{color:#dfa0a0}.assistant-status.error span{background:#d88484;box-shadow:0 0 8px rgba(216,132,132,.3)}.assistant-conversation{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(155,177,212,.18) transparent}.assistant-conversation.has-messages .assistant-date{margin-bottom:12px}.assistant-conversation.has-messages .assistant-welcome,.assistant-conversation.has-messages .assistant-hint{display:none}.assistant-messages{min-height:0;display:flex;flex-direction:column;gap:9px;padding:1px 0 12px}.assistant-message{max-width:96%;display:flex;flex-direction:column;align-self:flex-start;gap:5px;padding:9px 11px;border:1px solid rgba(255,255,255,.065);border-radius:12px;color:#cbd3df;background:rgba(255,255,255,.035);font-size:9px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.assistant-message.user{align-self:flex-end;border-color:rgba(159,187,233,.15);color:#e0e7f2;background:rgba(111,140,190,.13)}.assistant-message.pending{color:#919baa}.assistant-message.error{border-color:rgba(220,132,132,.17);color:#dfa0a0;background:rgba(176,82,82,.07)}.assistant-composer-wrap{display:block;width:100%;margin:0}.assistant-composer input:disabled,.assistant-composer button:disabled{opacity:.55;cursor:wait}.assistant-composer button:not(:disabled){cursor:pointer}.assistant-composer button:not(:disabled):hover{border-color:rgba(170,193,236,.32);background:rgba(129,158,210,.17)}
@media(max-width:880px){.assistant-conversation{min-height:0}.assistant-messages{max-height:none}}
