:root {
  --bg: #0e1110;
  --panel: #161a18;
  --panel-2: #1c211e;
  --ink: #f2f3ed;
  --muted: #9da49d;
  --line: rgba(242,243,237,.12);
  --line-strong: rgba(242,243,237,.25);
  --accent: #d5ff5f;
  --accent-2: #a5c93f;
  --warm: #ffcb78;
  --blue: #82b9ff;
  --danger: #ff7d72;
  --sidebar: 244px;
  --journey-only: 78px;
  --ease: cubic-bezier(.22,.8,.22,1);
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--ink); }
body { overflow-x: hidden; }
button, input, textarea { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.hidden { display: none !important; }
.eyebrow { margin: 0 0 16px; font-size: 11px; font-weight: 700; letter-spacing: .18em; color: var(--accent); text-transform: uppercase; }
.welcome-screen { min-height: 100dvh; position: relative; overflow: hidden; display: flex; align-items: center; padding: clamp(32px, 8vw, 120px); background: radial-gradient(circle at 72% 55%, #25301d 0, transparent 28%), var(--bg); }
.welcome-screen::after { content: "EG"; position: absolute; right: -4vw; bottom: -17vw; font-size: min(48vw, 690px); line-height: .8; font-weight: 900; letter-spacing: -.12em; color: rgba(255,255,255,.025); pointer-events: none; }
.welcome-copy { position: relative; z-index: 2; max-width: 860px; }
.welcome-copy h1 { margin: 0; font-size: clamp(46px, 7.4vw, 108px); line-height: .98; letter-spacing: -.055em; font-weight: 680; }
.welcome-copy > p:not(.eyebrow) { max-width: 620px; margin: 34px 0; color: #bbc0b8; font-size: clamp(16px, 1.6vw, 21px); line-height: 1.7; }
.primary-button, .secondary-button { border: 0; border-radius: 999px; min-height: 50px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; cursor: pointer; transition: .25s var(--ease); }
.primary-button { background: var(--accent); color: #11140e; font-weight: 750; }
.primary-button:hover { transform: translateY(-2px); box-shadow: 0 12px 38px rgba(213,255,95,.18); }
.primary-button:disabled { opacity: .35; cursor: not-allowed; transform: none; box-shadow: none; }
.secondary-button { background: transparent; border: 1px solid var(--line-strong); color: var(--ink); }
.secondary-button:hover { border-color: var(--accent); color: var(--accent); }
.full-width { width: 100%; }
.welcome-foot { position: absolute; left: clamp(32px, 8vw, 120px); right: clamp(32px, 8vw, 120px); bottom: 28px; display: flex; justify-content: space-between; font: 650 10px/1 monospace; letter-spacing: .2em; color: #656b65; }
.welcome-orbit { position: absolute; border: 1px solid rgba(213,255,95,.15); border-radius: 50%; }
.orbit-a { width: 48vw; aspect-ratio: 1; right: -14vw; top: -17vw; animation: orbit 18s linear infinite; }
.orbit-b { width: 17vw; aspect-ratio: 1; right: 16vw; top: 12vh; animation: orbit 10s linear reverse infinite; }
.welcome-orbit::after { content: ""; position: absolute; width: 10px; height: 10px; background: var(--accent); border-radius: 50%; left: 12%; top: 14%; box-shadow: 0 0 22px var(--accent); }
@keyframes orbit { to { transform: rotate(360deg); } }
.onboarding-screen { min-height: 100dvh; display: grid; place-items: center; padding: 30px; background: linear-gradient(135deg,#0e1110 0%,#151b16 100%); }
.onboarding-card { width: min(680px, 100%); }
.onboarding-card h2 { margin: 0 0 32px; font-size: clamp(34px, 5vw, 58px); line-height: 1.08; letter-spacing: -.04em; }
.icon-button { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line); background: transparent; cursor: pointer; margin-bottom: 34px; }
.avatar-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-bottom: 28px; }
.avatar-choice { aspect-ratio: 1; border-radius: 24px; border: 1px solid var(--line); background: var(--panel); display: grid; place-items: center; font-size: 28px; cursor: pointer; transition: .2s; }
.avatar-choice:hover, .avatar-choice.selected { border-color: var(--accent); background: rgba(213,255,95,.09); transform: translateY(-2px); }
.field-label { display: block; font-size: 13px; color: #c6cac4; margin: 18px 0 9px; line-height: 1.5; }
.text-input { width: 100%; border: 1px solid var(--line); background: rgba(255,255,255,.035); color: var(--ink); border-radius: 16px; min-height: 52px; padding: 14px 16px; resize: none; transition: .2s; }
.text-input:focus { border-color: var(--accent); background: rgba(213,255,95,.03); }
.message-input { min-height: 100px; }
.character-count { text-align: right; color: var(--muted); font-size: 11px; margin: 6px 4px 18px; }
.workspace { min-height: 100dvh; display: grid; grid-template-columns: var(--sidebar) minmax(0,1fr); grid-template-rows: 72px minmax(calc(100dvh - 72px), auto); transition: grid-template-columns .42s var(--ease); }
.workspace.sidebar-collapsed { grid-template-columns: var(--journey-only) minmax(0,1fr); }
.topbar { grid-column: 1/-1; position: sticky; top: 0; z-index: 40; height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 0 22px 0 24px; background: rgba(14,17,16,.87); backdrop-filter: blur(20px); border-bottom: 1px solid var(--line); }
.brand-lockup { display: flex; gap: 12px; align-items: center; min-width: 220px; }
.brand-lockup strong { display: block; font-size: 13px; letter-spacing: .02em; }
.brand-lockup small { display: block; color: var(--muted); margin-top: 3px; font-size: 10px; }
.brand-mark { width: 26px; height: 28px; position: relative; display: flex; align-items: flex-end; gap: 3px; }
.brand-mark span { display: block; width: 5px; background: var(--accent); border-radius: 3px 3px 0 0; transform: skewY(-28deg); }
.brand-mark span:nth-child(1) { height: 10px; }.brand-mark span:nth-child(2) { height: 18px; }.brand-mark span:nth-child(3) { height: 27px; }
.topbar-actions { display: flex; align-items: center; gap: 14px; }
.user-message { margin: 0 12px 0 0; max-width: 360px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #aeb4ad; font-size: 12px; font-style: normal; }
.user-message::before { content: "“"; color: var(--accent); }
.user-message::after { content: "”"; color: var(--accent); }
.language-switch, .segmented { display: flex; border: 1px solid var(--line); padding: 3px; border-radius: 999px; }
.language-switch button, .segmented button { border: 0; background: none; min-width: 34px; height: 28px; border-radius: 999px; color: var(--muted); font-size: 10px; font-weight: 700; cursor: pointer; }
.language-switch button.active, .segmented button.active { background: var(--ink); color: var(--bg); }
.profile-button { width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; background: var(--panel); display: grid; place-items: center; font-size: 20px; cursor: pointer; }
.sidebar { position: sticky; top: 72px; height: calc(100dvh - 72px); grid-column: 1; grid-row: 2; padding: 17px 12px 14px; display: flex; flex-direction: column; background: #111412; border-right: 1px solid var(--line); z-index: 30; overflow: visible; transition: padding .42s var(--ease); }
.sidebar-toggle { position: absolute; right: -13px; top: 42%; width: 26px; height: 64px; border: 1px solid var(--line); border-left: 0; border-radius: 0 12px 12px 0; background: #151917; color: var(--muted); cursor: pointer; z-index: 8; transition: top .42s var(--ease); }
.sidebar-collapsed .sidebar { padding-left: 10px; padding-right: 10px; }
.sidebar-collapsed .sidebar-toggle { top: 50%; }
.sidebar-collapsed .sidebar-toggle span { display: inline-block; transform: rotate(180deg); }
.journey-panel { height: clamp(280px, 42vh, 420px); flex: 0 0 auto; padding: 3px 8px 16px; border-bottom: 1px solid var(--line); transition: height .42s var(--ease), padding .42s var(--ease); }
.journey-heading { height: 27px; display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 10px; letter-spacing: .08em; white-space: nowrap; overflow: hidden; }
.journey-heading b { color: var(--ink); font: 700 10px/1 monospace; }
.journey-track { position: relative; height: calc(100% - 27px); }
.journey-track .rail-line { position: absolute; left: 17px; top: 14px; bottom: 14px; width: 2px; background: var(--line); }
.journey-track .rail-line i { position: absolute; bottom: 0; left: 0; width: 100%; background: var(--accent); box-shadow: 0 0 10px var(--accent); }
.sidebar-tools { min-height: 0; flex: 1; display: flex; flex-direction: column; padding-top: 13px; opacity: 1; overflow: hidden; transition: opacity .22s ease, transform .42s var(--ease), padding .42s var(--ease); }
.tools-label { margin: 0 12px 8px; color: #676e68; font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.sidebar-collapsed .journey-panel { height: 100%; width: 100%; padding: 3px 5px 14px; border-bottom-color: transparent; }
.sidebar-collapsed .journey-heading { justify-content: center; }
.sidebar-collapsed .journey-heading span { display: none; }
.sidebar-collapsed .journey-track .rail-line { left: 23px; }
.sidebar-collapsed .sidebar-tools { flex: 0 0 0; height: 0; min-height: 0; padding: 0; opacity: 0; transform: translateX(-16px); pointer-events: none; }
.main-nav { display: grid; gap: 5px; }
.nav-item { position: relative; width: 100%; display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 0 12px; border: 0; border-radius: 11px; color: #a9aea9; background: transparent; cursor: pointer; text-align: left; font-size: 13px; }
.nav-item:hover { color: var(--ink); background: rgba(255,255,255,.04); }
.nav-item.active { color: var(--ink); background: rgba(213,255,95,.1); }
.nav-item.active::before { content: ""; position: absolute; left: 0; width: 3px; height: 20px; background: var(--accent); border-radius: 0 3px 3px 0; }
.nav-icon, [data-icon] { width: 20px; height: 20px; display: inline-grid; place-items: center; flex: 0 0 auto; }
.nav-icon svg, [data-icon] svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.sidebar-bottom { display: grid; gap: 5px; margin-top: auto; padding-top: 10px; }
.has-notice i { position: absolute; right: 13px; width: 7px; height: 7px; background: var(--accent); border-radius: 50%; box-shadow: 0 0 12px var(--accent); }
.has-notice.shake { animation: shake .5s ease 2; }
@keyframes shake { 25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)} }
.main-stage { grid-column: 2; grid-row: 2; min-width: 0; padding: clamp(26px,4vw,60px); }
.view { display: none; animation: viewIn .45s var(--ease); }
.view.active-view { display: block; }
@keyframes viewIn { from{opacity:0; transform:translateY(8px)} }
.page-intro { min-height: 120px; display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.page-intro h2 { margin: 0 0 10px; font-size: clamp(30px,4vw,54px); letter-spacing: -.04em; line-height: 1.05; font-weight: 620; }
.page-intro p:not(.eyebrow) { margin: 0; color: var(--muted); line-height: 1.6; }
.date-chip { width: 94px; aspect-ratio: 1; border: 1px solid var(--line); border-radius: 50%; display: grid; place-content: center; text-align: center; flex: 0 0 auto; }
.date-chip span { font-size: 27px; font-weight: 700; }.date-chip small { color: var(--muted); font-size: 10px; margin-top: 2px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(270px,.8fr); gap: 16px; }
.dashboard-grid > article { border: 1px solid var(--line); background: var(--panel); border-radius: 22px; padding: clamp(20px,3vw,32px); min-width: 0; }
.daily-card { grid-row: span 2; }
.accent-card { background: linear-gradient(145deg,rgba(213,255,95,.055),transparent 35%),var(--panel) !important; }
.card-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 28px; }
.card-heading > div { display: flex; gap: 12px; align-items: baseline; }.card-heading h3 { margin: 0; font-size: 18px; }.card-index { color: var(--accent); font: 700 10px/1 monospace; }
.status-pill { display: inline-flex; align-items: center; min-height: 26px; border: 1px solid var(--line); border-radius: 999px; padding: 0 10px; color: var(--muted); font-size: 10px; white-space: nowrap; }
.task-list { display: grid; }
.task-row { display: grid; grid-template-columns: 36px 1fr auto; gap: 13px; align-items: center; min-height: 74px; border-top: 1px solid var(--line); cursor: pointer; }
.task-row:last-child { border-bottom: 1px solid var(--line); }
.task-check { width: 27px; height: 27px; border: 1px solid var(--line-strong); border-radius: 50%; display: grid; place-items: center; transition: .25s; }
.task-row.done .task-check { background: var(--accent); border-color: var(--accent); color: #12150f; }
.task-row.done .task-check::after { content: "✓"; font-weight: 900; }.task-row.done .task-name { color: #878d87; text-decoration: line-through; }
.task-name strong { display: block; font-size: 14px; margin-bottom: 4px; }.task-name small { color: var(--muted); }
.task-tag { font: 700 9px/1 monospace; letter-spacing: .08em; color: var(--muted); }
.daily-summary { display: flex; justify-content: space-between; align-items: flex-end; padding-top: 28px; }
.daily-summary > div:first-child span { display: block; color: var(--muted); font-size: 11px; }.daily-summary strong { display: block; font-size: 40px; margin-top: 5px; }
.ring { width: 66px; height: 66px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--accent) var(--ring,0%),var(--line) 0); position: relative; }
.ring::after { content:""; position:absolute; inset:6px; background:var(--panel); border-radius:50%; }.ring span { position:relative; z-index:1; font:700 11px/1 monospace; }
.focus-card h4 { margin: 18px 0 32px; font-size: clamp(23px,2.2vw,32px); line-height: 1.2; letter-spacing: -.03em; }
.focus-kicker { margin: 0; color: var(--blue); font-size: 11px; letter-spacing: .08em; }
.focus-progress > span { height: 5px; background: var(--line); display: block; border-radius: 999px; overflow: hidden; }.focus-progress i { display:block; height:100%; background:var(--blue); border-radius:inherit; }
.focus-progress small { display:block; margin-top:8px; color:var(--muted); font:11px monospace; }.focus-progress em { float:right; font-style:normal; border:1px solid var(--line); border-radius:5px; padding:2px 5px; }
.text-button { margin-top: 24px; padding: 0; background: transparent; border: 0; color: var(--ink); cursor: pointer; font-size: 12px; }.text-button:hover { color: var(--accent); }
.mini-week { display: grid; grid-template-columns: repeat(7,1fr); gap: 6px; margin-top: 10px; }.mini-day { aspect-ratio:1; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; font-size:10px; color:var(--muted); }.mini-day.active { background:var(--accent); border-color:var(--accent); color:#111; }.rhythm-card > p { margin:18px 0 0; color:var(--muted); font-size:11px; }.rhythm-card > p strong { color:var(--ink); font-size:18px; }
.milestone { position:absolute; left:18px; transform:translateX(-50%); width:32px; height:32px; border-radius:50%; border:1px solid var(--line-strong); background:#151915; cursor:pointer; display:grid; place-items:center; color:var(--muted); z-index:2; }.milestone:hover,.milestone.current { border-color:var(--accent); color:var(--accent); }.milestone em { position:absolute; left:40px; width:max-content; padding:7px 9px; border:1px solid var(--line); border-radius:8px; background:#171b18; color:var(--ink); font-style:normal; font-size:10px; opacity:.78; transition:.2s; }.milestone:hover em,.milestone:focus em { opacity:1; border-color:var(--line-strong); }.milestone.finish { color:var(--warm); }.sidebar-collapsed .milestone { left:24px; }.sidebar-collapsed .milestone em { opacity:0; pointer-events:none; box-shadow:0 10px 30px rgba(0,0,0,.35); }.sidebar-collapsed .milestone:hover em,.sidebar-collapsed .milestone:focus em { opacity:1; }
.map-legend { display:flex; gap:22px; margin:-14px 0 28px; color:var(--muted); font-size:10px; }.map-legend span { display:flex; align-items:center; gap:7px; }.dot { width:8px;height:8px;border-radius:50%;background:#434943; }.dot.current { background:var(--accent); }.dot.complete { background:transparent; border:1px solid var(--muted); }
.capability-map { position:relative; display:grid; grid-template-columns:repeat(4,minmax(160px,1fr)); gap:46px 26px; padding:42px 18px; overflow:auto; border:1px solid var(--line); border-radius:24px; background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px); background-size:22px 22px; }
.map-node { position:relative; min-height:140px; border:1px solid var(--line); border-radius:18px; padding:18px; background:rgba(20,24,21,.95); cursor:pointer; text-align:left; transition:.25s var(--ease); overflow:hidden; }.map-node:hover { transform:translateY(-4px); border-color:var(--accent); }.map-node::after { content:""; position:absolute; right:-28px; top:50%; width:28px; height:1px; background:var(--line-strong); }.map-node:nth-child(4n)::after {display:none}.map-node.current { border-color:rgba(213,255,95,.45); box-shadow:inset 0 0 0 1px rgba(213,255,95,.08); }.map-node.complete { filter:grayscale(1); opacity:.5; }.node-meta { display:flex; justify-content:space-between; color:var(--muted); font:9px monospace; }.node-icon { width:34px;height:34px;border-radius:10px;background:rgba(213,255,95,.1);color:var(--accent);display:grid;place-items:center;margin:22px 0 12px;font-size:16px; }.map-node h3 { margin:0; font-size:15px; }.map-node p { margin:6px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.notes-board { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:22px; overflow:hidden; min-height:560px; }.note-column { min-width:0; padding:22px; border-right:1px solid var(--line); background:var(--panel); }.note-column:last-child {border-right:0}.note-column header { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }.note-column h3 {margin:0;font-size:15px}.note-column header span {font:10px monospace;color:var(--muted)}.note-scroll { height:460px; overflow:auto; padding-right:5px; }.note-scroll textarea { width:100%; min-height:380px; border:0; background:transparent; resize:none; color:#d7dbd5; line-height:1.85; font-size:13px; }.note-scroll textarea::placeholder { color:#636a63; }
.feedback-panel { display:none; }.feedback-panel.active {display:block}.reflection-hero { padding:clamp(28px,5vw,62px); border:1px solid var(--line); border-radius:24px; background:linear-gradient(120deg,rgba(213,255,95,.09),transparent 40%),var(--panel); }.reflection-hero > span {color:var(--accent);font-size:11px}.reflection-hero h3 {margin:22px 0;font-size:clamp(34px,5vw,64px);line-height:1.05;letter-spacing:-.05em}.reflection-hero p {max-width:680px;color:var(--muted);line-height:1.8}.feedback-stats {display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.feedback-stats article {border:1px solid var(--line);border-radius:18px;padding:24px;background:var(--panel)}.feedback-stats small,.feedback-stats span {display:block;color:var(--muted);font-size:10px}.feedback-stats strong {display:inline-block;margin:20px 0 6px;font-size:36px}.calendar-card {border:1px solid var(--line);border-radius:24px;padding:clamp(22px,4vw,44px);background:var(--panel)}.calendar-head {display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.calendar-head h3 {margin:0;font-size:24px}.calendar-head span {color:var(--muted);font-size:10px}.calendar-weekdays,.calendar-grid {display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-weekdays {margin-bottom:7px;color:var(--muted);font-size:10px;text-align:center}.calendar-day {min-height:62px;border:1px solid var(--line);border-radius:10px;padding:8px;color:var(--muted);font-size:11px}.calendar-day.empty {border-color:transparent}.calendar-day.active {background:rgba(213,255,95,.09);border-color:rgba(213,255,95,.3);color:var(--ink)}.calendar-day.today {box-shadow:inset 0 0 0 1px var(--accent)}.calendar-day i {display:block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-top:16px}
.letter-page {max-width:760px;margin:2vh auto;padding:clamp(28px,5vw,68px);border:1px solid var(--line);border-radius:24px;background:#eeeadd;color:#1b1d19}.letter-page .eyebrow{color:#5f7140}.letter-page h2{font-size:clamp(34px,5vw,58px);letter-spacing:-.04em}.letter-body{line-height:2;font-size:15px}.letter-body p{margin:0 0 20px}.email-link{display:inline-block;margin-top:24px;color:inherit;text-underline-offset:5px}.mobile-nav{display:none}.modal-layer {position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px;background:rgba(4,6,5,.78);backdrop-filter:blur(12px);animation:fadeIn .3s}.paper-panel{position:relative;width:min(720px,100%);max-height:90dvh;overflow:auto;border-radius:24px;padding:clamp(28px,5vw,60px);background:#eeeadd;color:#20231e;box-shadow:0 30px 100px rgba(0,0,0,.4)}.paper-panel .eyebrow{color:#657947}.paper-panel h2{font-size:clamp(34px,5vw,58px);line-height:1.08;letter-spacing:-.04em}.modal-close{position:absolute;right:20px;top:20px;width:38px;height:38px;border:1px solid rgba(0,0,0,.15);border-radius:50%;background:transparent;color:inherit;font-size:24px;cursor:pointer}.signature{margin-top:38px;font-weight:700}.signature span{font-weight:400;color:#6b7067}.guide-modal{background:#171b18;color:var(--ink)}.guide-modal .eyebrow{color:var(--accent)}.guide-list{display:grid;margin:30px 0}.guide-list>div{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:20px 0;border-top:1px solid var(--line)}.guide-list>div>span{color:var(--accent);font:700 10px monospace}.guide-list h3{margin:0 0 6px;font-size:15px}.guide-list p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.module-modal{background:#171b18;color:var(--ink)}.module-modal .eyebrow{color:var(--accent)}.module-description{color:var(--muted);line-height:1.7}.module-details{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:32px 0}.module-details>div{background:#171b18;padding:22px}.module-details span{color:var(--accent);font:700 10px monospace}.module-details h3{font-size:13px;margin:14px 0 8px}.module-details p{color:var(--muted);font-size:11px;line-height:1.7}.reading-modal{background:#eeeadd;color:#20231e;width:min(850px,100%)}.reading-modal .eyebrow{color:#657947}.reading-section{padding:24px 0;border-top:1px solid rgba(0,0,0,.12)}.reading-section h3{margin:0 0 14px}.reading-section p{white-space:pre-wrap;color:#4d514a;line-height:1.9}.profile-popover{position:fixed;right:20px;top:66px;z-index:90;width:260px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#1a1f1b;box-shadow:0 18px 50px rgba(0,0,0,.35)}.profile-popover>div{display:flex;align-items:center;gap:12px}.profile-popover>div>span{width:42px;height:42px;border-radius:50%;background:var(--panel-2);display:grid;place-items:center;font-size:22px}.profile-popover p{margin:0}.profile-popover strong,.profile-popover small{display:block}.profile-popover small{color:var(--muted);margin-top:3px}.profile-popover button{margin-top:14px;width:100%;border:0;border-top:1px solid var(--line);padding:13px 0 0;background:transparent;color:#b6bbb5;text-align:left;font-size:11px;cursor:pointer}.toast{position:fixed;left:50%;bottom:28px;z-index:200;transform:translate(-50%,20px);padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:#242a25;color:var(--ink);opacity:0;pointer-events:none;transition:.3s}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes fadeIn{from{opacity:0}}.letter-fly{position:fixed;z-index:150;background:#eeeadd;border-radius:10px;animation:letterFly .72s var(--ease) forwards}@keyframes letterFly{to{transform:translate(var(--fly-x),var(--fly-y)) scale(.04);opacity:.2}}
@media(max-width:1000px){:root{--sidebar:210px}.dashboard-grid{grid-template-columns:1fr}.daily-card{grid-row:auto}.capability-map{grid-template-columns:repeat(2,minmax(180px,1fr))}.map-node:nth-child(4n)::after{display:block}.map-node:nth-child(2n)::after{display:none}.notes-board{grid-template-columns:1fr}.note-column{border-right:0;border-bottom:1px solid var(--line)}.note-scroll{height:260px}.note-scroll textarea{min-height:210px}.user-message{max-width:190px}.journey-panel{height:clamp(250px,38vh,350px)}}
@media(max-width:720px){.workspace,.workspace.sidebar-collapsed{display:block;padding-bottom:74px}.topbar{height:62px;padding:0 15px}.brand-lockup{min-width:0}.brand-lockup small,.user-message,.language-switch{display:none}.sidebar{display:none}.main-stage{padding:25px 16px}.page-intro{min-height:auto;margin-bottom:26px}.page-intro h2{font-size:34px}.date-chip{width:72px}.dashboard-grid>article{border-radius:18px}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:60;height:62px;border:1px solid var(--line);border-radius:18px;background:rgba(22,26,24,.94);backdrop-filter:blur(20px);box-shadow:0 14px 40px rgba(0,0,0,.35)}.mobile-nav button{border:0;background:transparent;color:var(--muted);display:grid;place-content:center;justify-items:center;gap:3px}.mobile-nav button.active{color:var(--accent)}.mobile-nav small{font-size:9px}.capability-map{grid-template-columns:1fr;gap:12px;padding:14px}.map-node::after{display:none!important}.notes-board{min-height:0}.feedback-stats{grid-template-columns:1fr}.module-details{grid-template-columns:1fr}.calendar-day{min-height:42px;padding:5px}.calendar-day i{margin-top:8px}.welcome-screen{padding:30px}.welcome-copy h1{font-size:45px}.welcome-foot{left:30px;right:30px}.avatar-grid{grid-template-columns:repeat(5,1fr);gap:7px}.avatar-choice{border-radius:14px;font-size:22px}.onboarding-screen{padding:22px}.paper-panel{padding:28px 22px}.page-intro>.status-pill{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
