:root {
  --bg:#111016;
  --card:#1b1922;
  --ink:#f7f4ff;
  --muted:#8f8a9a;
  --line:#2d2a36;
  --violet:#9b8cff;
  --violet-dark:#7968f1;
  --violet-pale:#29243b;
  --lime:#c6f36d;
  --green:#6dd7ac;
  --orange:#f5a65b;
  --red:#ff7d72;
  --yellow:#c6f36d;
  --sidebar:220px;
  --radius:17px;
}

* { scrollbar-color:#3b3746 #17151c; }
html { color-scheme:dark; background:#111016; overscroll-behavior-y:none; }
body {
  min-height:100vh;
  overscroll-behavior-y:none;
  touch-action:pan-x pan-y;
  color:var(--ink);
  background:
    radial-gradient(circle at 82% -8%,rgba(155,140,255,.12),transparent 27rem),
    #111016;
  font-size:13px;
}
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { touch-action:manipulation; }
button { color:inherit; }
svg { stroke:currentColor; }
.icon-sprite { position:absolute; width:0; height:0; overflow:hidden; }

.app-shell { min-height:100vh; grid-template-columns:var(--sidebar) minmax(0,1fr); }
.workspace { min-width:0; margin-left:var(--sidebar); }
.sidebar {
  width:var(--sidebar);
  padding:22px 15px 18px;
  color:#d9d5e3;
  background:rgba(20,18,25,.96);
  border-right:1px solid #292630;
  backdrop-filter:blur(22px);
}
.brand { gap:10px; color:#fff; font-size:12px; font-weight:850; letter-spacing:.12em; }
.brand-mark { position:relative; width:27px; height:27px; background:var(--violet); border-radius:50%; }
.brand-mark::after {
  content:"";
  position:absolute;
  left:-4px;
  top:9px;
  width:33px;
  height:8px;
  border:1px solid var(--lime);
  border-radius:50%;
  transform:rotate(-16deg);
}
.brand-mark i { display:none; }
.side-nav { gap:5px; margin-top:30px; }
.nav-item {
  height:43px;
  padding:0 11px;
  color:#898491;
  background:transparent;
  border-radius:12px;
  font-size:10px;
}
.nav-item:hover { color:#ddd8e7; background:#1e1b25; }
.nav-item.active { color:#18200d; background:var(--lime); box-shadow:none; }
.nav-item svg { width:17px; height:17px; }
.nav-item b { color:#d5cfff; background:#2c273d; }
.nav-item.active b { color:#261f39; background:rgba(17,16,22,.12); }
.sidebar-quest {
  padding:15px;
  color:#1c1730;
  background:var(--violet);
  border:0;
  border-radius:16px;
  box-shadow:none;
}
.sidebar-quest::after { background:var(--lime); opacity:.28; }
.sidebar-quest .mini-icon { color:#202a12; background:var(--lime); }
.sidebar-quest strong { font-size:11px; }
.sidebar-quest p { color:#403663; font-size:9px; }
.sidebar-quest button { color:#231d38; font-size:9px; }
.sidebar-quest .mini-progress { background:rgba(33,27,53,.16); }
.sidebar-quest .mini-progress i { background:#211b35; }
.sidebar-user { border-color:#302d38; }
.sidebar-user strong { color:#f4f1fa; font-size:10px; }
.sidebar-user small { color:#797482; font-size:8px; }
.sidebar-user svg { color:#66616f; }

.topbar {
  height:66px;
  padding:0 28px;
  background:rgba(17,16,22,.84);
  border-color:rgba(51,47,61,.75);
  backdrop-filter:blur(24px);
}
.search-box {
  width:min(360px,45vw);
  height:36px;
  color:#7b7683;
  background:#1b1921;
  border:1px solid #302d38;
  border-radius:11px;
}
.search-box:focus-within { border-color:#655b8d; box-shadow:0 0 0 3px rgba(155,140,255,.08); }
.search-box input { color:#f1edf8; font-size:10px; }
.search-box input::placeholder { color:#6d6875; }
.icon-button {
  width:36px;
  height:36px;
  color:#aaa5b2;
  background:#1d1b23;
  border:1px solid #302d38;
  border-radius:11px;
}
.primary-button {
  height:36px;
  padding:0 13px;
  color:#1b1630;
  background:var(--violet);
  border:0;
  border-radius:11px;
  box-shadow:none;
  font-size:9px;
}
.primary-button:hover { background:#ad9fff; box-shadow:none; transform:none; }
.top-avatar {
  display:none;
  width:30px;
  height:30px;
  place-items:center;
  color:#1e1729;
  background:var(--violet);
  border-radius:10px;
  font-size:8px;
  font-weight:850;
}
.mobile-brand { display:none; }

.main-content { max-width:1260px; padding:30px 32px 45px; }
.page-heading { margin-bottom:22px; align-items:flex-end; }
.page-heading h1 { margin:4px 0 0; color:#f8f5ff; font-size:25px; letter-spacing:-.8px; }
.page-heading h1 span { color:var(--lime); }
.page-heading p:not(.eyebrow) { color:#898491; font-size:10px; }
.eyebrow { color:#7f7987; font-size:8px; letter-spacing:.02em; text-transform:none; }
.date-chip,.streak-chip {
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:7px 9px;
  color:#1c2510;
  background:var(--lime);
  border:0;
  border-radius:9px;
  font-size:8px;
  font-weight:850;
}
.date-chip svg,.streak-chip svg { width:12px; height:12px; }
.a2-heading { max-width:820px; }
.a2-heading h1 { font-size:26px; }

.card,
.stat-card,
.project-card,
.metric-card {
  color:var(--ink);
  background:#1b1922;
  border:1px solid #2d2a36;
  border-radius:17px;
  box-shadow:none;
}
.card-pad { padding:17px; }
.section-head { margin-bottom:14px; }
.section-head h2 { color:#f5f2fb; font-size:12px; }
.section-head p { color:#7f7a86; font-size:8px; }
.text-button { color:#9e92e9; font-size:8px; }
.text-button:hover { color:var(--lime); }
.text-button svg { width:12px; }
.main-stack,.side-stack { gap:12px; }

/* A2 pulse */
.a2-overview { width:min(820px,100%); display:grid; gap:20px; }
.a2-bento { display:grid; grid-template-columns:1.1fr .9fr; gap:8px; }
.a2-tile {
  position:relative;
  min-width:0;
  color:#f7f4ff;
  text-align:left;
  background:#1b1922;
  border:1px solid #2d2a36;
  border-radius:17px;
  overflow:hidden;
}
button.a2-tile { cursor:pointer; }
button.a2-tile:hover { border-color:#454050; }
.a2-pulse { grid-row:span 2; min-height:204px; padding:16px; }
.a2-label { color:#8f8a9a; font-size:8px; letter-spacing:.7px; text-transform:uppercase; }
.a2-pulse > strong { display:block; margin:18px 0 3px; font-size:37px; line-height:.95; letter-spacing:-2px; }
.a2-pulse > strong small { margin-left:2px; color:var(--lime); font-size:11px; letter-spacing:0; }
.a2-pulse > p { margin:0; color:#8f8a9a; font-size:8px; }
.a2-rings { position:absolute; left:16px; right:16px; bottom:17px; height:57px; display:flex; align-items:flex-end; gap:5px; }
.a2-rings i { flex:1; height:var(--h); background:#34313c; border-radius:5px; transition:.25s; }
.a2-rings i.hot { background:linear-gradient(var(--lime),#789732); }
.a2-mini { min-height:98px; padding:13px; display:block; }
.a2-mini b { display:block; margin-top:12px; font-size:15px; }
.a2-mini > span:last-child { display:block; margin-top:3px; color:#8f8a9a; font-size:8px; }
.a2-lilac { color:#1d1734; background:var(--violet); border-color:transparent; }
.a2-lilac .a2-label,.a2-lilac > span:last-child { color:#433875; }
.a2-section { min-width:0; }
.a2-section-head { display:flex; align-items:center; justify-content:space-between; margin:0 2px 10px; }
.a2-section-head h2 { margin:0; color:#f2eef8; font-size:11px; }
.a2-section-head button,.a2-section-head > span { padding:0; color:#8f8a9a; background:none; border:0; font-size:8px; }
.projects-inline { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.project-mini {
  min-width:0;
  padding:10px 10px 9px;
  color:#f6f2fa;
  background:#1b1922;
  border:1px solid #2d2a36;
  border-radius:13px;
}
.project-mini:hover { transform:none; border-color:#454050; box-shadow:none; }
.project-mini::after { display:none; }
.project-mini-top { display:flex; align-items:center; justify-content:space-between; }
.project-mini-top i { width:8px; height:8px; background:var(--project-color); border-radius:3px; }
.project-mini-top small { color:#8f8a9a; font-size:7px; }
.project-mini h3 { margin:12px 0 7px; overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.project-mini .mini-bar { height:2px; margin:0; background:#34313c; }
.project-mini .mini-bar i { background:var(--project-color); }
.review-list { display:grid; gap:8px; }
.review-task {
  display:block;
  padding:13px;
  background:#1e1b27;
  border:1px solid #393342;
  border-radius:17px;
}
.review-task-main { display:grid; grid-template-columns:27px minmax(0,1fr) auto; gap:9px; align-items:center; }
.review-task .small-avatar { width:27px; height:27px; border:0; border-radius:9px; box-shadow:none; font-size:8px; }
.review-task-copy strong { color:#f5f1fa; font-size:9px; line-height:1.3; }
.review-task-copy span { color:#8f8a9a; font-size:7px; }
.review-xp { color:var(--lime); font-size:8px; font-weight:850; }
.review-task-bottom { display:flex; align-items:center; gap:8px; margin-top:12px; padding-top:10px; border-top:1px solid #2d2a36; }
.review-task-bottom p { flex:1; margin:0; color:#aaa5b2; font-size:8px; line-height:1.4; }
.review-actions { display:flex; gap:6px; }
.review-button { width:30px; height:30px; border-radius:10px; font-size:14px; font-weight:800; }
.review-button.reject { color:var(--red); background:#2e2022; border:1px solid #573338; }
.review-button.approve { color:#162009; background:var(--lime); border:0; }
.important-list { display:grid; }
.important-task { gap:9px; padding:10px 3px; border-bottom:1px solid #25232c; border-radius:0; }
.important-task:last-child { border-bottom:0; }
.important-task:hover { background:transparent; }
.task-check { width:17px; height:17px; color:transparent; background:none; border:1px solid #504c59; border-radius:5px; }
.task-check:hover { color:#17131e; background:var(--lime); border-color:var(--lime); }
.task-check svg { width:10px; }
.task-title { margin:0 0 3px; color:#f2eef8; font-size:9px; }
.task-title .hot-dot { display:none; }
.task-meta { color:#8f8a9a; font-size:7px; }
.project-tag { padding:0; color:#8f8a9a; background:none; border-radius:0; font-weight:500; }
.project-tag i { background:var(--project-color); }
.important-task > .small-avatar { width:24px; height:24px; border:0; border-radius:8px; box-shadow:none; }
.a2-quest-strip {
  width:100%;
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 110px auto;
  align-items:center;
  gap:10px;
  padding:11px;
  color:#e9e4f2;
  text-align:left;
  background:#1b1922;
  border:1px solid #2d2a36;
  border-radius:14px;
}
.a2-quest-icon { width:32px; height:32px; display:grid; place-items:center; color:#211b35; background:var(--violet); border-radius:10px; }
.a2-quest-icon svg { width:16px; }
.a2-quest-strip strong { display:block; font-size:9px; }
.a2-quest-strip small { display:block; margin-top:3px; overflow:hidden; color:#817c89; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.a2-quest-progress { height:4px; background:#34313c; border-radius:5px; overflow:hidden; }
.a2-quest-progress i { display:block; height:100%; background:var(--lime); border-radius:inherit; }
.a2-quest-strip > b { color:var(--lime); font-size:8px; }

/* Tasks */
.tasks-title-row { display:flex; align-items:center; gap:10px; }
.tasks-title-row h1 { flex:0 0 auto; }
.task-project-picker { position:relative; min-width:0; }
.project-filter-trigger {
  max-width:260px;
  min-height:32px;
  padding:7px 10px;
  display:flex;
  align-items:center;
  gap:7px;
  color:#aaa4b2;
  background:#1b1922;
  border:1px solid #302d39;
  border-radius:10px;
  font-size:10px;
  font-weight:700;
}
.project-filter-trigger.selected { color:#191321; background:var(--lime); border-color:var(--lime); }
.project-filter-trigger span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.project-filter-trigger svg { width:12px; height:12px; flex:0 0 auto; transform:rotate(90deg); }
.project-filter-menu {
  position:absolute;
  z-index:30;
  top:calc(100% + 8px);
  left:0;
  width:min(310px,82vw);
  max-height:330px;
  padding:7px;
  overflow-y:auto;
  color:#eeeaf5;
  background:rgba(27,25,34,.98);
  border:1px solid #3a3543;
  border-radius:15px;
  box-shadow:0 24px 70px rgba(0,0,0,.55);
  backdrop-filter:blur(20px);
}
.project-filter-menu button { width:100%; padding:10px; display:flex; justify-content:space-between; gap:12px; color:#b9b3c1; text-align:left; background:transparent; border:0; border-radius:10px; font-size:11px; }
.project-filter-menu button:hover,.project-filter-menu button.active { color:#1c2410; background:var(--lime); }
.project-filter-menu button span { min-width:0; display:flex; align-items:center; gap:8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.project-filter-menu button i { width:8px; height:8px; flex:0 0 auto; background:var(--project-color); border-radius:3px; }
.project-filter-menu button small { opacity:.72; }
.page-toolbar { margin-bottom:14px; }
.filter-group { gap:6px; }
.filter-chip {
  padding:7px 10px;
  color:#85808d;
  background:#1b1922;
  border:1px solid #2d2a36;
  border-radius:9px;
  font-size:8px;
}
.filter-chip.active { color:#1e1729; background:var(--violet); border-color:var(--violet); box-shadow:none; }
.kanban { gap:10px; }
.kanban.kanban-1 { grid-template-columns:minmax(280px,520px); }
.kanban.kanban-2 { grid-template-columns:repeat(2,minmax(260px,1fr)); }
.kanban-column { min-height:400px; padding:11px; background:#16141b; border:1px solid #28252f; border-radius:17px; }
.column-head { padding:3px 3px 11px; }
.column-title { color:#dcd7e5; font-size:9px; }
.status-dot { box-shadow:0 0 0 3px color-mix(in srgb,var(--status-color) 14%,#17151c); }
.column-count { color:#9993a2; background:#24212b; font-size:8px; }
.task-cards { gap:7px; }
.task-card { padding:12px; background:#1d1a24; border:1px solid #2c2934; border-radius:13px; box-shadow:none; }
.task-card:hover { transform:none; border-color:#45404f; box-shadow:none; }
.task-card h3 { margin:10px 0 6px; color:#f3eff8; font-size:10px; }
.task-card p { color:#8d8795; font-size:8px; }
.priority-badge { padding:4px 6px; background:color-mix(in srgb,var(--priority-color) 16%,#1d1a24); font-size:7px; }
.star-button,.more-button { color:#6f6a78; }
.star-button.active { color:var(--lime); }
.task-card-footer { border-color:#2c2934; color:#827c8b; font-size:7px; }
.task-card-footer .small-avatar { border:0; box-shadow:none; }
.task-assignee-button { padding:0; border:0!important; cursor:pointer; transition:transform .15s,box-shadow .15s; }
.task-assignee-button:hover { transform:scale(1.08); box-shadow:0 0 0 3px rgba(198,243,109,.18)!important; }
.task-assignee-button:active { transform:scale(.94); }
.move-actions button { color:#a29cab; background:#292630; }
.move-actions .submit-review { color:#1a230d!important; background:var(--lime)!important; }
.review-state { margin-left:4px; font-size:7px; }
.review-state.pending { color:#c1b7ff; background:#302a46; }
.review-state.rejected { color:#ff9a93; background:#382327; }
.review-wait { color:#a99dff; }
.empty-column { color:#706b78; border-color:#37333f; background:transparent; }
.tasks-empty-state { max-width:520px; }
.tasks-empty-state h2 { margin:0 0 6px; color:#f2eef8; font-size:15px; }
.tasks-empty-state p { margin:0; color:#8a8592; font-size:10px; }

/* Projects */
.project-grid { grid-template-columns:repeat(3,minmax(220px,1fr)); gap:10px; }
.project-card { padding:17px; background:#1b1922; border-color:#2d2a36; }
.project-card::before { height:3px; }
.project-card .project-icon { color:var(--project-color); background:color-mix(in srgb,var(--project-color) 16%,#1b1922); }
.project-card .more-button { width:36px; height:36px; display:grid; place-items:center; margin:-5px -7px -5px 0; border-radius:10px; }
.project-card .more-button:hover { color:var(--lime); background:#292630; }
.project-card .more-button svg { width:19px; height:19px; }
.project-card-chips { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.direction-chip { padding:5px 7px; border-radius:7px; font-size:8px; font-weight:750; }
.direction-life { color:#bfe8ff; background:#1b3544; }
.direction-work { color:#c8beff; background:#30294a; }
.direction-home { color:#ffd2ad; background:#412d23; }
.theme-chip { color:var(--theme-color,var(--violet)); background:color-mix(in srgb,var(--theme-color,var(--violet)) 15%,#1b1922); font-size:8px; }
.project-card h3 { color:#f4f0f8; font-size:12px; }
.project-card > p { color:#8a8592; font-size:8px; }
.project-stats,.project-budget { color:#8a8592; border-color:#2d2a36; font-size:8px; }
.project-budget strong { color:#dcd7e5; }
.mini-bar { background:#34313c; }
.small-avatar { border-color:#1b1922; box-shadow:none; }

/* Finance */
.finance-metrics { gap:10px; margin-bottom:12px; }
.metric-card { padding:16px; }
.metric-card span { color:#8f8a9a; font-size:8px; }
.metric-card b { color:#f5f1fa; font-size:17px; }
.metric-card small { color:var(--lime); font-size:7px; }
.finance-layout { gap:12px; }
.category-row { color:#aaa4b2; font-size:8px; }
.category-track { background:#302d38; }
.transaction { border-color:#2d2a36; }
.transaction-icon { background:color-mix(in srgb,var(--transaction-color) 14%,#1b1922); }
.transaction-copy strong,.transaction-amount { color:#eeeaf4; font-size:9px; }
.transaction-copy span,.transaction-amount small { color:#817c89; font-size:7px; }
.transaction-amount.income { color:var(--lime); }
.finance-summary { color:#f8f5ff; background:#1e1b27; border-color:#393342; }
.finance-summary::after { background:var(--violet); opacity:.2; }
.finance-summary .section-head p,.finance-total small,.budget-legend,.finance-number span { color:#8f8a9a; }
.budget-track { background:#34313c; }
.budget-track i { background:linear-gradient(90deg,var(--violet),var(--lime)); }
.finance-number { background:#25212e; border-color:#302b39; }

/* Game */
.game-layout { gap:12px; }
.game-hero { min-height:300px; background:radial-gradient(circle at 82% 28%,#8d7df0 0,#4a3d86 30%,#1d192a 72%); }
.hero-kicker { color:#251e3d; background:var(--lime); border:0; }
.game-hero p { color:#b7afc4; }
.game-xp .xp-track { background:#332d43; }
.xp-track i { background:linear-gradient(90deg,var(--violet),var(--lime)); }
.quest-item { background:#1d1a24; border-color:#2d2a36; }
.quest-item.completed { background:#17251f; border-color:#294a3b; }
.quest-symbol { color:#1e1729; background:var(--violet); }
.quest-item strong { color:#eeeaf4; }
.quest-item p { color:#85808e; }
.quest-item .mini-progress { background:#34313c; }
.quest-reward { color:#1f2811; background:var(--lime); }
.leader-row.current { background:#2a253c; }
.leader-copy strong { color:#eeeaf4; }
.leader-copy small,.leader-place { color:#827d8a; }
.leader-xp { color:var(--lime); }
.badge { background:#1d1a24; border-color:#2d2a36; }
.quest-card { background:#1e1b27; }
.quest-top .mini-icon { color:#211b35; background:var(--violet); }
.quest-top small { color:#8b8593; }
.quest-row .mini-progress { background:#34313c; }
.quest-row .mini-progress i { background:var(--lime); }
.quest-row b { color:var(--lime); }

/* Modal, toast and states */
.modal-backdrop { background:rgba(5,4,8,.72); }
.modal-card { color:#f5f1fa; background:#1b1922; border:1px solid #34303d; box-shadow:0 30px 90px rgba(0,0,0,.5); }
.modal-close { color:#9b95a3; background:#292630; }
.modal-head h2 { color:#f8f5ff; }
.modal-head p { color:#8a8592; }
.field label { color:#aaa4b2; }
.field input,.field select,.field textarea { color:#f4f0f8; background:#15131a; border-color:#34303d; }
.field input:focus,.field select:focus,.field textarea:focus { color:#fff; background:#17151c; border-color:#766aaf; box-shadow:0 0 0 3px rgba(155,140,255,.09); }
.field input[type="color"] { padding:4px; }
.field small { margin-top:5px; display:block; color:#7f7987; font-size:8px; }
.check-field input { accent-color:var(--lime); }
.secondary-button { color:#aaa4b2; background:#292630; }
.toast { color:#18200d; background:var(--lime); border-radius:9px; box-shadow:0 15px 35px rgba(0,0,0,.35); }
.loading-screen { color:#8f8a9a; }
.loader { border-color:#37333f; border-top-color:var(--lime); }

.action-list,.choice-list { display:grid; gap:7px; }
.action-row,.choice-row {
  width:100%;
  min-height:62px;
  padding:10px 12px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  color:#eeeaf4;
  text-align:left;
  background:#211e29;
  border:1px solid #302d39;
  border-radius:14px;
}
.action-row:hover,.choice-row:hover,.choice-row.selected { background:#292532; border-color:#4c4558; }
.action-row > span:nth-child(2),.choice-row > span:nth-child(2) { min-width:0; }
.action-row strong,.choice-row strong { display:block; font-size:13px; }
.action-row small,.choice-row small { display:block; margin-top:3px; color:#85808f; font-size:10px; }
.action-row > svg { width:16px; height:16px; color:#686271; }
.action-symbol,.choice-avatar { width:38px; height:38px; display:grid; place-items:center; color:#1a1620; background:var(--violet); border-radius:11px; font-size:18px; font-weight:850; }
.action-row.danger { color:#ff9188; background:#271d20; border-color:#49292e; }
.action-row.danger .action-symbol { color:#ff9a92; background:#3b2428; }
.action-row.danger > svg { color:#b35f60; }
.action-separator { height:1px; margin:5px 3px; background:#302d38; }
.choice-row b { min-width:20px; color:var(--lime); font-size:17px; text-align:center; }
.choice-row.selected { border-color:#655e75; box-shadow:inset 0 0 0 1px rgba(198,243,109,.08); }
.choice-avatar { color:#fff; font-size:12px; }
.choice-avatar.empty { color:#8e8995; background:#302d38; }
.modal-back-button { margin-top:14px; padding:9px 2px; color:#9f99a7; background:none; border:0; font-size:12px; font-weight:750; }
.danger-note { padding:13px; color:#b9aab0; background:#251d20; border:1px solid #3b292d; border-radius:12px; font-size:11px; line-height:1.5; }
.danger-button { height:40px; padding:0 15px; color:#fff; background:#b74e50; border:0; border-radius:11px; font-size:11px; font-weight:800; }
.danger-button:disabled { opacity:.65; }

@media (max-width:1050px) {
  :root { --sidebar:198px; }
  .sidebar { width:var(--sidebar); }
  .main-content,.topbar { padding-left:22px; padding-right:22px; }
  .project-grid { grid-template-columns:repeat(2,minmax(220px,1fr)); }
}

@media (max-width:760px) {
  :root { --sidebar:0px; }
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  body { padding-bottom:calc(88px + env(safe-area-inset-bottom)); background:#111016; font-size:16px; line-height:1.45; }
  .app-shell,.workspace { display:block; margin-left:0; }
  .sidebar { display:none; }
  .topbar {
    position:sticky;
    height:58px;
    padding:0 16px;
    gap:8px;
    background:rgba(17,16,22,.94);
    border-bottom-color:transparent;
  }
  #menu-button { display:none; }
  .mobile-brand { display:flex; align-items:center; gap:8px; color:#fff; font-size:13px; font-weight:850; letter-spacing:.11em; }
  .mobile-brand .brand-mark { width:25px; height:25px; }
  .mobile-brand .brand-mark::after { left:-4px; top:8px; width:31px; height:7px; }
  .search-box { width:30px; height:30px; margin-left:auto; display:grid; place-items:center; flex:0 0 auto; transition:.2s; }
  .search-box svg { width:14px; }
  .search-box input { width:0; padding:0; opacity:0; pointer-events:none; }
  .search-box:focus-within { position:absolute; z-index:5; left:16px; right:52px; width:auto; padding:0 10px; display:flex; background:#1b1922; }
  .search-box:focus-within input { width:100%; opacity:1; pointer-events:auto; }
  .top-actions { gap:6px; }
  .top-actions .icon-button,.top-actions .primary-button { display:none; }
  .top-avatar { display:grid; }
  .main-content { width:100%; max-width:520px; min-height:calc(100vh - 58px); margin:0 auto; padding:20px 16px 30px; }
  .page-heading { margin-bottom:20px; align-items:flex-end; }
  .page-heading h1 { font-size:26px; line-height:1.08; letter-spacing:-.7px; }
  .page-heading p:not(.eyebrow) { display:none; }
  .a2-heading h1 { font-size:26px; }
  .eyebrow { margin-bottom:2px; font-size:12px; }
  .date-chip { display:none; }
  .streak-chip { padding:8px 10px; font-size:12px; }
  .streak-chip svg { width:14px; height:14px; }
  .a2-overview { gap:25px; }
  .a2-pulse { min-height:224px; padding:17px; }
  .a2-label { font-size:11px; }
  .a2-pulse > strong { margin-top:20px; font-size:38px; }
  .a2-pulse > strong small { font-size:14px; }
  .a2-pulse > p { font-size:11px; }
  .a2-mini { min-height:108px; padding:15px; }
  .a2-mini b { margin-top:12px; font-size:18px; line-height:1.2; }
  .a2-mini > span:last-child { margin-top:5px; font-size:11px; }
  .a2-section-head { margin-bottom:12px; }
  .a2-section-head h2 { font-size:15px; }
  .a2-section-head button,.a2-section-head > span { font-size:11px; }
  .project-mini { min-height:75px; padding:11px; }
  .project-mini-top small { font-size:10px; }
  .project-mini h3 { margin:10px 0 9px; font-size:12px; line-height:1.25; }
  .review-task { padding:15px; }
  .review-task-main { grid-template-columns:34px minmax(0,1fr) auto; gap:10px; }
  .review-task .small-avatar { width:34px; height:34px; font-size:11px; }
  .review-task-copy strong { font-size:13px; line-height:1.35; }
  .review-task-copy span { font-size:11px; }
  .review-xp { font-size:11px; }
  .review-task-bottom { margin-top:14px; padding-top:12px; }
  .review-task-bottom p { font-size:12px; line-height:1.45; }
  .review-button { width:36px; height:36px; font-size:17px; }
  .important-task { gap:11px; padding:13px 3px; }
  .task-check { width:22px; height:22px; }
  .task-title { margin-bottom:5px; font-size:13px; line-height:1.35; }
  .task-meta { font-size:11px; }
  .important-task > .small-avatar { width:30px; height:30px; }
  .a2-quest-strip { grid-template-columns:30px minmax(0,1fr) auto; }
  .a2-quest-progress { display:none; }
  .a2-quest-strip strong { font-size:12px; }
  .a2-quest-strip small { font-size:11px; }
  .a2-quest-strip > b { font-size:11px; }
  .section-head h2 { font-size:16px; }
  .section-head p,.text-button { font-size:12px; }
  .tasks-title-row { gap:8px; }
  .project-filter-trigger { max-width:190px; min-height:36px; padding:8px 10px; font-size:12px; }
  .project-filter-menu { position:fixed; top:116px; left:16px; right:16px; width:auto; max-height:56vh; }
  .project-filter-menu button { padding:12px; font-size:13px; }
  .page-toolbar { align-items:flex-start; }
  .page-toolbar .primary-button { width:36px; padding:0; }
  .page-toolbar .primary-button span { display:none; }
  .filter-group { flex-wrap:nowrap; padding-bottom:4px; overflow-x:auto; }
  .filter-chip { padding:9px 12px; font-size:12px; white-space:nowrap; }
  .kanban { margin:0 -16px; padding:0 16px 12px; display:flex; gap:9px; overflow-x:auto; scroll-snap-type:x mandatory; }
  .kanban-column { flex:0 0 84vw; min-height:390px; scroll-snap-align:center; }
  .kanban.kanban-1 .kanban-column { flex-basis:100%; }
  .column-title { font-size:14px; }
  .column-count { font-size:11px; }
  .task-card { padding:14px; }
  .task-card h3 { font-size:15px; line-height:1.35; }
  .task-card p { font-size:12px; line-height:1.45; }
  .priority-badge,.review-state { font-size:10px; }
  .task-card-footer { font-size:11px; }
  .task-assignee-button { width:34px; height:34px; font-size:11px; }
  .tasks-empty-state h2 { font-size:17px; }
  .tasks-empty-state p { font-size:13px; }
  .project-grid { grid-template-columns:1fr; }
  .direction-chip { font-size:11px; }
  .theme-chip { font-size:11px; }
  .project-card h3 { font-size:17px; }
  .project-card > p { font-size:13px; line-height:1.45; }
  .project-stats,.project-budget { font-size:12px; }
  .finance-metrics { grid-template-columns:1fr 1fr; }
  .finance-metrics .metric-card:last-child { grid-column:1/-1; }
  .metric-card span { font-size:12px; }
  .metric-card b { font-size:22px; }
  .metric-card small { font-size:11px; }
  .finance-layout,.game-layout { grid-template-columns:1fr; }
  .category-row { font-size:12px; }
  .transaction-copy strong,.transaction-amount { font-size:14px; }
  .transaction-copy span,.transaction-amount small { font-size:11px; }
  .game-hero { min-height:315px; padding:21px; }
  .game-hero-copy { max-width:68%; }
  .game-hero h2 { font-size:26px; }
  .game-hero p { font-size:13px; }
  .game-mascot { right:-45px; width:62%; }
  .badges { grid-template-columns:repeat(2,1fr); }
  .modal-backdrop { align-items:end; padding:0; }
  .modal-card { width:100%; max-height:91vh; padding:23px 18px calc(23px + env(safe-area-inset-bottom)); border-radius:22px 22px 0 0; }
  .modal-head h2 { font-size:22px; }
  .modal-head p,.field label { font-size:13px; }
  .field input,.field select,.field textarea { font-size:16px; }
  .field small { font-size:11px; }
  .primary-button,.secondary-button,.danger-button { min-height:44px; font-size:13px; }
  .action-row,.choice-row { min-height:68px; padding:11px 12px; }
  .action-row strong,.choice-row strong { font-size:14px; }
  .action-row small,.choice-row small { font-size:12px; }
  .modal-back-button { min-height:44px; font-size:13px; }
  .danger-note { font-size:12px; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .bottom-nav {
    left:12px;
    right:12px;
    bottom:calc(13px + env(safe-area-inset-bottom));
    height:60px;
    padding:5px 7px;
    background:rgba(27,25,33,.96);
    border:1px solid #302d38;
    border-radius:20px;
    box-shadow:0 15px 40px rgba(0,0,0,.48);
    backdrop-filter:blur(20px);
  }
  .bottom-nav button { color:#75717d; font-size:10px; }
  .bottom-nav button.active { color:var(--lime); }
  .bottom-nav svg { width:17px; height:17px; }
  .bottom-nav .bottom-create {
    width:38px;
    height:38px;
    color:#17131e;
    background:var(--violet);
    border-radius:13px;
    box-shadow:none;
    transform:none;
  }
  .bottom-nav .bottom-create svg { width:18px; height:18px; }
  .toast { bottom:calc(82px + env(safe-area-inset-bottom)); font-size:12px; }
}

@media (max-width:370px) {
  .main-content { padding-inline:13px; }
  .projects-inline { gap:5px; }
  .project-mini { padding-inline:8px; }
  .a2-pulse { min-height:196px; }
  .review-task-bottom p { max-width:185px; }
}

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