:root {
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 16px;
  color: #172033;
  background: #fff;
  --accent: #0044ffe0;
  --soft: color-mix(in srgb, var(--accent) 7%, #fff);
  --line: color-mix(in srgb, var(--accent) 20%, #fff);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; padding-bottom: 82px; }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

.topbar { height: 56px; display: flex; align-items: center; justify-content: space-between; padding: 0 max(18px, calc((100vw - 1120px)/2)); border-bottom: 1px solid #edf0f5; background: #fff; }
.brand { display: flex; align-items: center; gap: 9px; }
.brand strong { font-size: 17px; }
.brand-icon { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 7px; background: #f2f4f8; font-size: 20px; }
.header-actions { display: flex; align-items: center; gap: 8px; }
.settings-shortcut, .notes-shortcut, .top-menu, .notification-button { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); font-size: 19px; font-weight: 700; }
.notes-shortcut svg,.settings-shortcut svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.settings-shortcut svg circle{fill:#fff}.settings-shortcut:hover svg circle{fill:#f5f5f3}html[data-mode="dark"] .settings-shortcut svg circle{fill:#10192e}
.notification-wrap { position:relative; }
.notification-button { position:relative; cursor:pointer; }
.notification-button svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.notification-button > span { position:absolute; top:-5px; right:-5px; min-width:17px; height:17px; padding:0 3px; border:2px solid #fff; border-radius:999px; background:#fa4d7c; color:#fff; font-size:9px; line-height:13px; }
.notification-panel { position:absolute; z-index:30; top:45px; right:0; width:min(360px,calc(100vw - 24px)); max-height:min(520px,75vh); overflow:auto; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:0 18px 50px #202b3540; }
.notification-head { position:sticky; top:0; display:flex; align-items:center; justify-content:space-between; padding:15px 16px; border-bottom:1px solid var(--line); background:#fff; }
.notification-head button { padding:0; border:0; background:transparent; color:var(--accent); font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.notification-list { display:grid; }
.notification-item { display:grid; grid-template-columns:36px minmax(0,1fr); gap:11px; padding:13px 16px; border:0; border-bottom:1px solid #eef1f2; background:#fff; color:#273038; font:inherit; text-align:left; cursor:pointer; }
.notification-item.unread { background:color-mix(in srgb,var(--accent) 6%,#fff); }
.notification-avatar { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--soft); font-weight:800; }
.notification-item strong, .notification-item span, .notification-item small { display:block; }
.notification-item span { margin-top:2px; font-size:12px; line-height:1.4; }
.notification-item small { margin-top:5px; color:#8b969d; font-size:10px; }
.notification-empty { padding:28px 16px; color:#8b969d; font-size:12px; text-align:center; }
html[data-mode="dark"] .notification-panel, html[data-mode="dark"] .notification-head, html[data-mode="dark"] .notification-item { background:#252e35; color:#f3f6f8; border-color:#43515a; }
.notification-back { display:none; }

@media (max-width: 650px) {
  body.mobile-overlay-open { overflow:hidden; }
  .notification-wrap { position:static; }
  .notification-panel { position:fixed; z-index:100; inset:0; width:100%; max-height:none; overflow:auto; border:0; border-radius:0; box-shadow:none; }
  .notification-head { z-index:1; display:grid; grid-template-columns:40px 1fr auto; min-height:58px; padding:8px 12px; }
  .notification-head strong { font-size:18px; }
  .notification-back { display:grid; place-items:center; width:36px; height:36px; padding:0; border:0; border-radius:50%; background:transparent; color:inherit; font-size:23px; }
  .notification-head #notificationReadAll { font-size:12px; }
  .notification-item { grid-template-columns:44px minmax(0,1fr); gap:12px; padding:15px 16px; }
  .notification-avatar { width:44px; height:44px; }
  .notification-item span { font-size:14px; }
  .notification-empty { padding:60px 20px; font-size:14px; }
  .site-search-dialog { inset:0; width:100%; height:100dvh; max-width:none; max-height:none; margin:0; border:0; border-radius:0; box-shadow:none; }
  .site-search-dialog::backdrop { background:#fff; backdrop-filter:none; }
  .site-search-head { grid-template-columns:40px minmax(0,1fr); min-height:58px; padding:8px 12px; }
  .site-search-head svg { display:none; }
  .site-search-head input { grid-column:2; grid-row:1; padding:9px 14px; border-radius:999px; background:var(--soft); font-size:15px; }
  .site-search-head button { grid-column:1; grid-row:1; font-size:0; background:transparent; }
  .site-search-head button::before { content:'←'; font-size:23px; }
  .site-search-results { max-height:calc(100dvh - 58px); padding:6px 10px 24px; }
  .site-search-result { padding:13px 10px; border-radius:0; border-bottom:1px solid var(--line); }
}
.menu-overlay { position: fixed; inset: 0; z-index: 20; background: rgba(0,0,0,.52); }
.overlay-dismiss { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: transparent; cursor: default; }
.menu-popover { position: absolute; top: 18px; right: max(18px, calc((100vw - 960px)/2)); width: 225px; padding: 16px; border-radius: 28px; background: #fff; box-shadow: 0 10px 25px #00000027; color: #111; }
.menu-popover.expanded { width: min(320px, calc(100vw - 36px)); }
.menu-choices { display: grid; gap: 7px; }
.menu-choices button { min-height: 43px; padding: 9px 12px; border: 0; border-radius: 999px; background: #f4f4f6; color: #111; font-size: 15px; text-align: center; }
.menu-choices button:hover { background: color-mix(in srgb, var(--accent) 13%, #f4f4f6); }
.menu-detail-head { display: flex; align-items: center; gap: 8px; margin-bottom: 13px; }
.menu-detail-head button { width: 28px; height: 28px; border: 0; border-radius: 50%; background: #f4f4f6; font-size: 24px; line-height: 1; }
.menu-detail-head h2 { margin: 0; font-size: 16px; }
.menu-detail { min-width: 0; }
.menu-detail form { display: grid; gap: 8px; }
.menu-detail label { display: grid; gap: 5px; font-size: 13px; }
.menu-detail input, .menu-detail select { width: 100%; min-width: 0; padding: 9px; border: 1px solid #ddd; border-radius: 10px; background: #fff; font-size: 14px; }
.menu-detail form button { padding: 10px; border: 0; border-radius: 10px; background: color-mix(in srgb, var(--accent) 22%, #fff); font-weight: 700; }
.manager-list { display: grid; gap: 7px; max-height: 330px; overflow: auto; margin-top: 10px; }
.manager-item { display: flex; align-items: center; gap: 5px; padding: 7px; border-radius: 10px; background: #f6f6f7; font-size: 13px; }
.manager-item span { flex: 1; overflow-wrap: anywhere; }
.manager-item input { flex: 1; width: 0; min-width: 0; }
.manager-item button { border: 0; background: #fff; border-radius: 7px; padding: 5px 7px; font-size: 12px; }
.menu-note { margin: 8px 0 0; color: #777; font-size: 12px; line-height: 1.4; }
.reminder-toast { position: fixed; right: 18px; bottom: 88px; z-index: 15; max-width: 300px; padding: 12px 15px; border: 2px solid var(--accent); border-radius: 12px; background: #fff; box-shadow: 0 12px 26px #00000020; }

.shell { max-width: 1050px; margin: 0 auto; padding: 28px 16px 42px; }
.settings-card { width: 100%; max-width: 980px; min-height: 600px; margin: 0 auto; padding: 24px 22px 30px; border: 3px solid var(--accent); border-radius: 20px; background: var(--soft); box-shadow: 0 0 0 1px var(--accent), 0 14px 30px #14265015; }
.theme-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 20px; }
.theme-picker { display: flex; align-items: center; gap: 12px; }
.theme-picker label { font-size: 18px; font-weight: 700; }
.theme-picker select { min-width: 170px; padding: 9px 13px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: #111; font-weight: 600; box-shadow: 0 6px 14px #0000000d; }
.mode-toggle { display: flex; gap: 10px; }
.mode-toggle button { padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: #111; font-size: 14px; font-weight: 700; box-shadow: 0 6px 14px #00000012; }
.mode-toggle button.active { border-color: color-mix(in srgb, var(--accent) 40%, #fff); background: color-mix(in srgb, var(--accent) 30%, #fff); box-shadow: 0 10px 18px #0000001f; }
.settings-view { display: flex; justify-content: center; }
.custom-row { display: flex; align-items: center; gap: 10px; margin: 6px 0 12px; color: #222; }
.custom-row strong { font-size: 18px; }
.custom-row button { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: #132a60; font-size: 24px; line-height: 1; box-shadow: 0 6px 14px #00000012; }
.custom-panel { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin: 0 0 16px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: #222; }
.custom-panel label { display: grid; gap: 5px; font-size: 13px; font-weight: 700; }
.custom-panel input[type="text"], .custom-panel input:not([type]) { width: 150px; padding: 8px; border: 1px solid var(--line); border-radius: 8px; }
.custom-panel input[type="color"] { width: 48px; height: 36px; padding: 2px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.custom-panel button { padding: 9px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--soft); font-weight: 700; }
.preview-frame { display: flex; justify-content: center; margin: 8px auto 0; padding: 15px; }
.preview-calendar { width: min(100%, 430px); padding: 20px; border: 2px solid var(--accent); border-radius: 15px; background: var(--cell-light, #fff); color: #111; box-shadow: 0 8px 20px #00000014; }
.preview-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 15px; }
.preview-head strong { font-size: 18px; }
.preview-head span { color: #555; font-size: 13px; }
.preview-calendar .weekdays span { color: #333; }
.preview-calendar .calendar-grid { gap: 4px; }
.preview-day, .preview-blank { display: grid; place-items: center; min-height: 45px; border-radius: 8px; background: var(--cell-light, #fff); color: #111; font-size: 14px; }
.preview-day.selected { background: var(--accent); color: var(--theme-text, #fff); font-weight: 900; }
.settings-actions { display: flex; justify-content: flex-end; align-items: center; gap: 8px; margin-top: 9px; font-size: 13px; }
.settings-actions button { padding: 6px 11px; border: 1px solid var(--accent); border-radius: 9px; background: #fff; color: #173da4; }

.friend-strip { display: flex; gap: 8px; overflow-x: auto; padding: 2px 0 18px; scrollbar-width: thin; }
.friend-chip { display: flex; align-items: center; gap: 7px; flex: none; padding: 4px 12px 4px 5px; border: 1px solid #e6e8ed; border-radius: 999px; background: #f4f5f7; color: #222; font-size: 14px; font-weight: 700; }
.friend-chip.selected { border-color: #1f1f1f; background: #1f1f1f; color: #fff; }
.chip-avatar { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 50%; background: color-mix(in srgb, var(--accent) 18%, #fff); color: #1b1b1b; font-size: 14px; font-weight: 800; }
.workspace { display: grid; grid-template-columns: minmax(275px, 380px) minmax(0, 480px); gap: 20px; align-items: start; max-width: 880px; margin: 0 auto; }
.calendar-column, .todo-column, .other-view { border: 1px solid var(--line); border-radius: 15px; background: #fff; color: #222; box-shadow: 0 8px 18px #1426500f; }
.calendar-column { padding: 18px; border: 2px solid color-mix(in srgb, var(--accent) 65%, #fff); background: color-mix(in srgb, var(--cell-light, #fff) 22%, #fff); }
.todo-column { min-height: 500px; padding: 20px; border: 0; background: transparent; box-shadow: none; }

.identity { display: flex; align-items: center; gap: 11px; margin-bottom: 21px; }
.identity-avatar { display: grid; place-items: center; flex: none; width: 52px; height: 52px; border: 3px solid #fff; border-radius: 50%; background: color-mix(in srgb, var(--accent) 20%, #fff); font-size: 19px; font-weight: 800; box-shadow: 0 2px 9px #00000018; }
.identity strong, .identity div span { display: block; }
.identity strong { font-size: 18px; }
.identity div span { margin-top: 3px; color: #777; font-size: 14px; }
.calendar-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.month-title { padding: 6px 0; border: 0; background: transparent; color: #222; font-size: 17px; font-weight: 800; }
.month-picker-anchor { position: relative; min-width: 0; }
.month-title { cursor: pointer; }
.month-title:hover { color: var(--accent); }
.month-picker { position: absolute; z-index: 30; top: calc(100% + 8px); left: 0; width: 248px; padding: 14px; border: 1px solid color-mix(in srgb, var(--accent) 20%, #e5e8eb); border-radius: 16px; background: #fff; color: #252a30; box-shadow: 0 18px 42px #20232925; }
.month-picker[hidden] { display: none; }
.month-picker-year { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.month-picker-year strong { font-size: 17px; }
.month-picker-year button { width: 30px; height: 30px; border: 1px solid #e8eaec; border-radius: 50%; background: #fff; color: #4d555c; font-size: 19px; line-height: 1; cursor: pointer; }
.month-picker-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.month-picker-grid button { padding: 10px 3px; border: 0; border-radius: 9px; background: transparent; color: #454d54; font: inherit; font-size: 13px; cursor: pointer; }
.month-picker-grid button:hover { background: color-mix(in srgb, var(--accent) 13%, #fff); }
.month-picker-grid button.active { background: var(--accent); color: #fff; font-weight: 700; }
html[data-mode="dark"] .month-picker { background: #262a31; color: #fff; border-color: #41464d; }
html[data-mode="dark"] .month-picker-year button { background: #343941; border-color: #515760; color: #fff; }
html[data-mode="dark"] .month-picker-grid button { color: #e3e5e7; }
html[data-mode="dark"] .month-picker-grid button.active { color: #fff; }
.month-actions { display: flex; gap: 7px; }
.month-actions button { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; background: #fff; font-size: 23px; line-height: 1; }
.month-actions button:hover { background: var(--soft); }
.weekdays, .calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); text-align: center; }
.weekdays span { padding: 3px 0 10px; color: #666; font-size: 13px; }
.weekdays span:first-child, .calendar-day.sunday { color: #d84c50; }
.weekdays span:last-child, .calendar-day.saturday { color: #2877c1; }
.calendar-grid { row-gap: 7px; }
.calendar-day { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-width: 0; min-height: 45px; border: 0; border-radius: 10px; background: transparent; color: #333; font-size: 14px; }
.calendar-day:hover { background: var(--soft); }
.calendar-day.selected { background: var(--accent); color: var(--theme-text, #fff) !important; }
.calendar-day.today:not(.selected) { box-shadow: inset 0 0 0 2px var(--accent); }
.calendar-day .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--accent); }
.calendar-day.selected .dot { background: #fff; }
.calendar-blank { min-height: 45px; }

.tasks-head { display: flex; align-items: end; justify-content: space-between; gap: 9px; padding-bottom: 17px; border-bottom: 1px solid #e9edf4; }
.small-label { margin: 0 0 5px; color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.tasks-head h1 { margin: 0; font-size: 25px; letter-spacing: -.04em; }
.count { padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; background: var(--soft); color: #1a3069; font-size: 13px; font-weight: 700; white-space: nowrap; }
.task-group { margin-top: 21px; }
.group-heading { display: flex; align-items: center; gap: 7px; margin-bottom: 8px; }
.group-heading strong { padding: 7px 13px; border: 1px solid var(--line); border-radius: 999px; background: var(--soft); color: #22345f; font-size: 14px; }
.group-add, .remove-group { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 50%; background: #fff; font-size: 21px; line-height: 1; }
.group-add:hover, .remove-group:hover { background: var(--soft); }
.task-list { list-style: none; margin: 0; padding: 0; }
.task-row { display: flex; align-items: flex-start; gap: 10px; min-height: 39px; padding: 6px 2px; }
.task-row .task-text { cursor: grab; user-select: none; }
.task-row .task-text:active { cursor: grabbing; }
.task-row.dragging { opacity: .45; }
.task-row.drop-before { box-shadow: inset 0 2px var(--accent); }
.task-row.drop-after { box-shadow: inset 0 -2px var(--accent); }
.task-check { appearance: none; display: grid; place-items: center; flex: none; width: 24px; height: 24px; margin: 0; border: 2px solid #d3d7dd; border-radius: 8px; background: #d3d7dd; cursor: pointer; }
.task-check:checked { border-color: var(--accent); background: var(--accent); }
.task-check:checked:after { content: "✓"; color: var(--theme-text, #fff); font-size: 15px; font-weight: 900; }
.task-text { flex: 1; overflow-wrap: anywhere; font-size: 15px; line-height: 1.5; }
.routine-label { display: inline-flex; align-items: center; margin-left: 6px; padding: 2px 7px; border: 1px solid color-mix(in srgb, var(--group-color) 35%, #fff); border-radius: 999px; background: color-mix(in srgb, var(--group-color) 13%, #fff); color: color-mix(in srgb, var(--group-color) 78%, #27323a); font-size: 10px; font-weight: 750; line-height: 1.3; white-space: nowrap; vertical-align: middle; }
.task-actions { position: relative; z-index: 2; flex: none; }
.task-more { display: grid; place-items: center; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 7px; background: transparent; color: #8e98a0; font-size: 20px; line-height: 1; cursor: pointer; }
.task-more:hover, .task-more[aria-expanded="true"] { background: var(--soft); color: #35414a; }
.task-row:has(.task-action-menu:not([hidden])) { position: relative; z-index: 40; }
.task-action-menu { position: absolute; z-index: 50; top: 28px; right: 0; left: auto; box-sizing: border-box; width: max-content; min-width: 162px; max-width: min(220px, calc(100vw - 32px)); padding: 5px; border: 1px solid #dfe5e7; border-radius: 10px; background: #fff; color: #273038; box-shadow: 0 8px 24px #23313a2b; }
.task-action-menu[hidden] { display: none; }
.task-action-menu button { display: block; width: 100%; padding: 8px 10px; border: 0; border-radius: 6px; background: transparent; color: #9b514d; font-size: 12px; font-weight: 700; text-align: left; white-space: nowrap; cursor: pointer; }
.task-action-menu button:hover { background: #fbefed; }
.task-action-menu [data-add-to-routines] { color: #273038; }
.task-action-menu [data-add-to-routines]:hover { background: #f1f4f5; }
html[data-mode="dark"] .task-action-menu { border-color: #43515a; background: #253139; color: #f2f5f6; }
html[data-mode="dark"] .task-action-menu button,
html[data-mode="dark"] .task-action-menu [data-add-to-routines] { color: #f2f5f6; }
html[data-mode="dark"] .task-action-menu button:hover,
html[data-mode="dark"] .task-action-menu [data-add-to-routines]:hover { background: #34434c; }
.inline-form { display: flex; gap: 7px; margin: 8px 0 13px; }
.inline-form input { flex: 1; min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 9px; }
.inline-form button { padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--soft); color: #152451; font-size: 14px; font-weight: 700; }
.inline-form button:hover { background: color-mix(in srgb, var(--accent) 15%, #fff); }
.group-empty { margin: 7px 0 0 35px; color: #999; font-size: 14px; }
.other-view { min-height: 450px; padding: 26px; }
.other-heading { margin-bottom: 22px; }
.other-heading h1 { margin: 0 0 5px; font-size: 25px; }
.other-heading p { margin: 0; color: #777; }
.friend-post { display: flex; gap: 12px; margin-bottom: 11px; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.friend-post p { margin: 7px 0 11px; }
.cheer { padding: 8px 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--soft); font-size: 13px; font-weight: 700; }
.cheer[aria-pressed=true] { background: color-mix(in srgb, var(--accent) 30%, #fff); }
.demo-note { color: #888; font-size: 12px; }
.profile-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.profile-stats>div { padding: 20px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.profile-stats span, .profile-stats strong { display: block; }
.profile-stats span { color: #777; font-size: 13px; }
.profile-stats strong { margin-top: 7px; font-size: 22px; }
#profileView { box-sizing: border-box; width: min(100%, 972px); margin: 0 auto 40px; }
#profileView .profile-stats { margin-bottom: 28px; }
.personal-connections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.personal-connections button { display: flex; align-items: center; gap: 10px; min-height: 88px; padding: 18px 22px; border: 1px solid var(--line, #e2e6e9); border-radius: 15px; background: var(--surface, #fff); color: var(--text, #273038); font: inherit; cursor: pointer; text-align: left; }
.personal-connections button:hover { border-color: var(--accent); box-shadow: 0 8px 22px #14265012; }
.personal-connections button:focus-visible, .personal-list-back:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.personal-connections button span:first-child { font-size: 15px; font-weight: 700; }
.personal-connections button strong { font-size: 25px; }
.personal-connections button span:last-child { margin-left: auto; color: #8b969f; }
.personal-list-page { max-width: 720px; margin: 0 auto; }
.personal-list-back { display: inline-flex; align-items: center; gap: 10px; padding: 8px 0; border: 0; background: transparent; color: var(--text, #273038); font: inherit; font-weight: 700; cursor: pointer; }
.personal-list-heading { margin: 24px 0 16px; }
.personal-list-heading h2 { margin: 5px 0 0; font-size: 27px; }
.personal-list-content { padding: 4px 18px; border: 1px solid var(--line, #e2e6e9); border-radius: 15px; background: var(--surface, #fff); }
.personal-trash-link { display:flex; align-items:center; gap:9px; width:100%; margin:0 0 18px; padding:15px 19px; border:1px solid var(--line); border-radius:14px; background:var(--surface, #fff); color:var(--text, #273038); font:inherit; font-weight:700; text-align:left; cursor:pointer; }
.personal-trash-link:hover, .personal-trash-link:focus-visible { border-color:var(--accent); }
.personal-trash-link span:last-child { margin-left:auto; color:#87929b; }
.personal-trash-page > p:first-child { color:#7d8992; font-size:13px; }
.trash-item { display:flex; align-items:center; gap:14px; padding:15px 0; border-bottom:1px solid var(--line); }
.trash-item-icon { display:grid; place-items:center; flex:none; width:36px; height:36px; border-radius:10px; background:var(--soft); color:var(--accent); }
.trash-item > div { min-width:0; flex:1; }
.trash-item strong, .trash-item small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.trash-item small { margin-top:4px; color:#87929b; }
.trash-item button, .empty-trash-button { padding:8px 13px; border:1px solid var(--line); border-radius:9px; background:var(--surface, #fff); color:var(--text, #273038); font:inherit; font-weight:700; cursor:pointer; }
.trash-item button:hover { border-color:var(--accent); }
.trash-empty { padding:26px 0; color:#87929b; text-align:center; }
.empty-trash-button { margin-top:18px; color:#b04858; }
.empty-trash-button:disabled { opacity:.45; cursor:default; }
#trashStatus { min-height:1em; color:#87929b; font-size:12px; }
@media (max-width: 550px) { .personal-connections { grid-template-columns: 1fr; } }
.home-sections { display: flex; width: max-content; max-width: 100%; gap: 4px; margin: 0 auto 22px; padding: 4px; border: 1px solid #e6e9e9; border-radius: 999px; background: #f4f6f6; }
.home-sections[hidden] { display: none; }
.home-sections button { min-width: 108px; padding: 9px 18px; border: 0; border-radius: 999px; background: transparent; color: #7c878e; font-size: 13px; font-weight: 700; cursor: pointer; }
.home-sections button.active { background: #fff; color: #27323a; box-shadow: 0 2px 9px #1e2d3514; }
.home-sections button:hover:not(.active) { color: #35414a; }
.bottom-nav { position: fixed; right: 0; bottom: 0; left: 0; z-index: 5; display: flex; align-items: center; justify-content: center; gap: clamp(15px,7vw,95px); height: 70px; border-top: 1px solid var(--line); background: #fff; box-shadow: 0 -4px 18px #00000008; }
.bottom-nav button { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 58px; height: 56px; border: 0; background: transparent; color: #a4a4a4; }
.bottom-nav button svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bottom-nav button small { font-size: 11px; }
.bottom-nav button.active { color: #242424; font-weight: 800; }

html[data-mode="dark"], html[data-mode="dark"] body { background: #0c1120; }
html[data-mode="dark"] .topbar, html[data-mode="dark"] .bottom-nav { border-color: #263350; background: #10192e; color: #fff; }
html[data-mode="dark"] .notes-shortcut{color:#fff}
html[data-mode="dark"] .home-sections { border-color: #3c4853; background: #202b34; }
html[data-mode="dark"] .home-sections button.active { background: #38444e; color: #fff; }
html[data-mode="dark"] .top-menu, html[data-mode="dark"] .settings-shortcut { color: #fff; }
html[data-mode="dark"] .settings-card { background: color-mix(in srgb, var(--accent) 48%, #000); color: #fff; }
html[data-mode="dark"] .theme-picker select, html[data-mode="dark"] .mode-toggle button { color: #111; }
html[data-mode="dark"] .custom-row { color: #fff; }

@media (max-width: 760px) {
  .shell { padding: 15px 10px 34px; }
  .settings-card { padding: 16px 12px; border-width: 2px; }
  .theme-toolbar { flex-direction: column; align-items: stretch; }
  .theme-picker select { flex: 1; }
  .mode-toggle { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
  .mode-toggle button { padding: 9px 4px; }
  .workspace { grid-template-columns: 1fr; gap: 14px; }
  .calendar-column, .todo-column { padding: 16px; }
  .todo-column { min-height: 380px; }
  .bottom-nav { gap: clamp(2px,5vw,30px); }
}
@media (max-width: 420px) {
  .topbar { padding: 0 12px; }
  .tasks-head h1 { font-size: 22px; }
  .calendar-day { min-height: 38px; }
  .profile-stats { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* A quieter, editorial treatment for the planning view. */
:root { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #202329; background: #fafaf9; }
body { background: #fafaf9; }
.topbar { height: 68px; border-bottom-color: #ececea; background: #fff; }
.brand { gap: 10px; }
.brand { color: inherit; text-decoration: none; }
.brand:hover strong { color: color-mix(in srgb, var(--accent) 65%, #202329); }
.brand strong { font-size: 20px; font-weight: 750; letter-spacing: -.055em; }
.brand-icon { width: 30px; height: 30px; border-radius: 10px; background: #202329; color: #fff; font-size: 17px; }
.settings-shortcut, .notes-shortcut, .top-menu { width: 38px; height: 38px; border-color: #e8e8e6; border-radius: 11px; background: #fff; color: #40444c; font-size: 18px; }
.settings-shortcut:hover, .notes-shortcut:hover, .top-menu:hover { background: #f5f5f3; }
.shell { padding-top: 36px; }
.friend-strip { gap: 9px; padding-bottom: 30px; }
.friend-chip { gap: 8px; padding: 5px 14px 5px 5px; border-color: #ecece9; background: #fff; color: #5e6269; font-size: 13px; font-weight: 600; }
.friend-chip.selected { border-color: #272b30; background: #272b30; color: #fff; }
.chip-avatar { width: 27px; height: 27px; background: #eaece9; color: #525860; font-size: 12px; }
.friend-chip.selected .chip-avatar { background: #fff; color: #272b30; }
.workspace { gap: 44px; max-width: 910px; grid-template-columns: minmax(300px, 370px) minmax(0, 480px); }
.calendar-column { padding: 26px; border: 1.5px solid color-mix(in srgb, var(--accent) 46%, #e6e7e3); border-radius: 19px; background: #fff; box-shadow: 0 10px 30px #1a1a1a08; }
.todo-column { padding: 10px 0; color: #242830; }
.identity { margin-bottom: 31px; }
.identity-avatar { width: 46px; height: 46px; border: 0; background: color-mix(in srgb, var(--accent) 15%, #f1f2ee); color: #30343b; box-shadow: none; font-size: 18px; }
.identity strong { font-size: 16px; letter-spacing: -.02em; }
.identity div span { color: #94979c; font-size: 12px; }
.calendar-head { margin-bottom: 22px; }
.month-title { font-size: 16px; font-weight: 700; letter-spacing: -.025em; }
.month-actions button { width: 29px; height: 29px; border-color: #e5e7e5; color: #5e6269; font-size: 19px; }
.weekdays span { padding-bottom: 12px; color: #a0a4aa; font-size: 11px; font-weight: 650; }
.calendar-grid { row-gap: 7px; }
.calendar-day { min-height: 39px; border-radius: 11px; color: #535861; font-size: 13px; }
.calendar-day.selected { font-weight: 700; }
.calendar-day.today:not(.selected) { box-shadow: inset 0 0 0 1.5px var(--accent); }
.calendar-day .dot { width: 4px; height: 4px; }
.tasks-head { align-items: center; padding-bottom: 23px; border-bottom-color: #e9eae7; }
.small-label { margin-bottom: 8px; color: #9a9da3; font-size: 10px; letter-spacing: .18em; }
.tasks-head h1 { font-size: 32px; font-weight: 720; letter-spacing: -.055em; }
.count { padding: 6px 0; border: 0; background: none; color: #8d9298; font-size: 12px; font-weight: 600; }
.task-group { margin-top: 26px; }
.group-heading { gap: 10px; margin-bottom: 8px; }
.group-heading strong { padding: 0; border: 0; background: none; color: #454a52; font-size: 12px; font-weight: 760; letter-spacing: .045em; text-transform: uppercase; }
.task-group .task-list, .task-group .group-empty, .task-group .inline-form { margin-left: 16px; }
.group-add, .remove-group { width: 25px; height: 25px; border-color: #e4e7e5; color: #757b82; font-size: 17px; }
.task-row { align-items: center; min-height: 43px; gap: 12px; padding: 7px 0; }
.task-photo-button { display:grid; place-items:center; flex:none; width:29px; height:29px; padding:5px; border:0; border-radius:8px; background:transparent; color:#9aa6ab; cursor:pointer; }
.task-photo-button:hover, .task-photo-button:focus-visible { background:#edf3f4; color:#446d78; }
.task-photo-button svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.task-check { width: 20px; height: 20px; border: 1.5px solid #c9ced0; border-radius: 6px; background: #fff; }
.task-text { color: #41464e; font-size: 14px; }
.group-empty { color: #a7aab0; font-size: 13px; }
.bottom-nav { height: 72px; border-top-color: #e8e9e6; box-shadow: 0 -8px 30px #20232905; }
.bottom-nav button { width: 68px; height: 61px; gap: 3px; color: #989da4; }
.bottom-nav button svg { width: 23px; height: 23px; stroke-width: 1.7; }
.bottom-nav button small { font-size: 10px; font-weight: 550; }
.bottom-nav button.active { color: #22262c; }
.bottom-nav { gap: clamp(4px, 4vw, 48px); }
.bottom-nav button { flex: none; }
@media (max-width: 760px) {
  .shell { padding-top: 19px; }
  .friend-strip { padding-bottom: 18px; }
  .workspace { grid-template-columns: 1fr; gap: 26px; }
  .calendar-column { padding: 20px; }
  .todo-column { padding: 0 7px; }
}

/* Compact calendar with a single clear date state. */
.calendar-column { padding: 24px 25px 27px; border: 1px solid color-mix(in srgb, var(--accent) 25%, #e8e9e7); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px #20232908; }
.identity { gap: 13px; margin-bottom: 23px; padding-bottom: 20px; border-bottom: 1px solid #f0f0ed; }
.identity-avatar { width: 42px; height: 42px; background: color-mix(in srgb, var(--accent) 10%, #f4f3f0); color: #3f4449; font-size: 15px; font-weight: 700; }
.identity strong { color: #24282d; font-size: 15px; }
.identity div span { margin-top: 2px; color: #96999d; font-size: 11px; }
.calendar-head { margin-bottom: 18px; }
.month-title { color: #272b30; font-size: 15px; font-weight: 720; }
.month-actions { gap: 5px; }
.month-actions button { width: 28px; height: 28px; border: 0; background: #f4f4f2; color: #666b70; font-size: 18px; }
.month-actions button:hover { background: #e9e9e6; }
.weekdays span { padding: 4px 0 10px; color: #a3a7aa; font-size: 11px; font-weight: 600; }
.calendar-column .calendar-grid { row-gap: 6px; }
.calendar-column .calendar-day, .calendar-column .calendar-blank { position: relative; width: 36px; min-height: 36px; height: 36px; margin: 0 auto; border-radius: 50%; font-size: 12px; }
.calendar-column .calendar-day { gap: 0; }
.calendar-column .calendar-day.selected { background: var(--accent); color: var(--theme-text, #fff); box-shadow: 0 3px 8px color-mix(in srgb, var(--accent) 22%, transparent); }
.calendar-column .calendar-day.today:not(.selected) { box-shadow: inset 0 0 0 1.5px var(--accent); }
.calendar-column .calendar-day .dot { position: absolute; bottom: 3px; width: 3px; height: 3px; background: var(--accent); }
.calendar-column .calendar-day.selected .dot { display: none; }
@media (max-width: 420px) {
  .calendar-column { padding: 19px 15px 21px; }
  .calendar-column .calendar-day, .calendar-column .calendar-blank { width: 34px; min-height: 34px; height: 34px; }
}

.group-heading { gap: 7px; }
.group-heading strong { padding: 7px 11px; border: 1px solid color-mix(in srgb, var(--group-color) 35%, #fff); border-radius: 999px; background: color-mix(in srgb, var(--group-color) 10%, #fff); color: color-mix(in srgb, var(--group-color) 70%, #252a30); letter-spacing: 0; text-transform: none; font-size: 13px; }
.task-group .task-check:checked { border-color: var(--group-color); background: var(--group-color); }

/* GameZip uses all five theme values; the settings preview mirrors the live calendar. */
.settings-card { background: color-mix(in srgb, var(--accent) 10%, #fff); border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent), 0 14px 30px #14265015; }
.calendar-column, .preview-calendar.calendar-column { background: color-mix(in srgb, var(--cell-light, #fff) 18%, #fff); }
.preview-frame { margin-top: 12px; }
.preview-calendar.calendar-column { width: min(100%, 370px); padding: 24px 25px 27px; border: 1px solid color-mix(in srgb, var(--accent) 25%, #e8e9e7); border-radius: 18px; color: #202329; box-shadow: 0 12px 28px #20232908; }
.preview-calendar .calendar-grid { gap: 0; row-gap: 6px; }
.preview-calendar .weekdays span { color: #a3a7aa; }
.preview-calendar .calendar-day.sunday { color: #d84c50; }
.preview-calendar .calendar-day.saturday { color: #2877c1; }
.preview-calendar .calendar-day.selected { color: var(--theme-text, #fff) !important; }
html[data-mode="dark"], html[data-mode="dark"] body { background: var(--bg, #000); color: var(--text, #fff); }
html[data-mode="dark"] .settings-card { background: color-mix(in srgb, var(--accent) 50%, #000); border-color: var(--accent); color: var(--text, #fff); }
html[data-mode="dark"] .calendar-column, html[data-mode="dark"] .preview-calendar.calendar-column { background: color-mix(in srgb, var(--cell-dark, #333) 72%, var(--bg, #000)); border-color: color-mix(in srgb, var(--accent) 50%, var(--cell-dark, #333)); color: var(--text, #fff); }
html[data-mode="dark"] .calendar-column .identity { border-bottom-color: color-mix(in srgb, var(--text, #fff) 18%, transparent); }
html[data-mode="dark"] .calendar-column .identity strong, html[data-mode="dark"] .calendar-column .month-title, html[data-mode="dark"] .calendar-column .calendar-day { color: var(--text, #fff); }
html[data-mode="dark"] .calendar-column .calendar-day.selected { color: var(--theme-text, #fff); }
html[data-mode="dark"] .todo-column, html[data-mode="dark"] .task-text, html[data-mode="dark"] .tasks-head h1 { color: var(--text, #fff); }

.manage-view { width: min(100%, 780px); margin: 6px auto 50px; }
.manage-page-head { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 28px; }
.manage-page-head > button { flex: none; width: 40px; height: 40px; border: 1px solid #e6e8e5; border-radius: 12px; background: #fff; color: #40464d; font-size: 22px; }
.manage-page-head h1 { margin: 0; font-size: clamp(27px, 4vw, 36px); letter-spacing: -.055em; }
.manage-page-head p:last-child { margin: 7px 0 0; color: #8a9097; font-size: 14px; }
.manage-content { display: grid; gap: 16px; }
.manage-card { padding: 25px; border: 1px solid #e8eae7; border-radius: 18px; background: #fff; box-shadow: 0 10px 28px #20232906; }
.manage-card h2 { margin: 0 0 17px; color: #2b3035; font-size: 17px; letter-spacing: -.025em; }
.manage-card h2 span { margin-left: 4px; color: #9ca2a8; font-size: 13px; font-weight: 600; }
.manage-form { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.manage-form label { display: grid; flex: 1; min-width: 160px; gap: 7px; color: #6e757c; font-size: 12px; font-weight: 700; }
.manage-form input:not([type="color"]), .manage-form select, .manage-edit-form input:not([type="color"]), .manage-edit-form select { width: 100%; min-height: 40px; padding: 9px 11px; border: 1px solid #dfe3e2; border-radius: 10px; background: #fff; color: #31373d; font-size: 14px; }
.manage-form input[type="color"], .manage-edit-form input[type="color"] { width: 42px; height: 40px; padding: 3px; border: 1px solid #dfe3e2; border-radius: 10px; background: #fff; cursor: pointer; }
.manage-primary, .manage-edit-form button, .manage-delete { min-height: 40px; padding: 9px 14px; border: 1px solid #e2e5e3; border-radius: 10px; background: #fff; color: #394149; font-size: 13px; font-weight: 700; }
.manage-primary { border-color: var(--accent); background: var(--accent); color: var(--theme-text, #fff); }
.manage-list { display: grid; gap: 10px; }
.manage-row { display: flex; align-items: center; gap: 9px; padding: 11px; border: 1px solid #eceeeb; border-radius: 12px; background: #fdfdfc; }
.manage-edit-form { display: flex; flex: 1; align-items: center; gap: 8px; min-width: 0; }
.manage-edit-form input:not([type="color"]) { flex: 1; min-width: 100px; }
.manage-edit-form select { flex: 0 1 170px; min-width: 100px; }
.manage-delete { color: #a15d59; }
.manage-delete:disabled { opacity: .4; cursor: not-allowed; }
.manage-help, .manage-empty { margin: 0 0 15px; color: #92989e; font-size: 13px; line-height: 1.5; }
.manage-success { margin:0 0 14px; padding:12px 15px; border:1px solid #b8ddca; border-radius:11px; background:#effaf4; color:#28724c; font-size:12px; font-weight:700; }
.manage-list + .manage-help { margin: 15px 0 0; }
.manage-link { margin-top: 18px; padding: 0; border: 0; background: none; color: #505a64; font-size: 13px; font-weight: 700; }
.manage-category-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.manage-category-chip { padding: 8px 12px; border: 1px solid color-mix(in srgb, var(--group-color) 35%, #fff); border-radius: 999px; background: color-mix(in srgb, var(--group-color) 10%, #fff); color: color-mix(in srgb, var(--group-color) 70%, #252a30); font-size: 13px; font-weight: 700; }
@media (max-width: 600px) { .manage-card { padding: 18px; } .manage-row, .manage-edit-form { flex-wrap: wrap; } .manage-edit-form select { flex: 1; } }

.task-group .inline-form { align-items: center; gap: 10px; margin-top: 10px; padding: 2px 0 5px; border-bottom: 1px solid color-mix(in srgb, var(--group-color) 50%, #e4e6e4); }
.task-group .inline-form:focus-within { border-bottom: 2px solid var(--group-color); padding-bottom: 4px; }
.task-group .inline-form input { min-height: 34px; padding: 7px 2px; border: 0; border-radius: 0; background: transparent; color: #30353b; font-size: 14px; }
.task-group .inline-form input:focus-visible { outline: 0; }
.task-group .inline-form input::placeholder { color: #a5a9ad; }
.task-group .inline-form button { padding: 7px 3px; border: 0; border-radius: 0; background: transparent; color: color-mix(in srgb, var(--group-color) 75%, #252a30); font-size: 13px; font-weight: 700; }
.task-group .inline-form button:hover { background: transparent; color: var(--group-color); }
.task-group .inline-form button:focus-visible { outline-color: var(--group-color); }

.task-group .task-check { width: 19px; height: 19px; border: 1.5px solid #cbd1d2; border-radius: 50%; background: #fff; }
.task-group .task-check:checked { border-color: var(--group-color); background: color-mix(in srgb, var(--group-color) 13%, #fff); }
.task-group .task-check:checked::after { content: "✓"; color: color-mix(in srgb, var(--group-color) 80%, #242a2e); font-size: 12px; font-weight: 800; line-height: 1; }

.theme-picker select { cursor: ns-resize; }
.custom-row { justify-content: space-between; margin: 10px 0 13px; }
.custom-row > div { display: grid; gap: 3px; }
.custom-row strong { font-size: 16px; letter-spacing: -.02em; }
.custom-row span { color: #8e949b; font-size: 12px; }
.custom-row button { width: 31px; height: 31px; border-color: color-mix(in srgb, var(--accent) 35%, #fff); color: #303942; font-size: 21px; box-shadow: none; }
.custom-panel { display: block; margin-bottom: 21px; padding: 22px; border-color: color-mix(in srgb, var(--accent) 22%, #fff); border-radius: 17px; background: #fff; box-shadow: 0 8px 24px #1b24300b; }
.custom-panel-top { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 19px; }
.custom-panel-top p { margin: 0 0 5px; color: #9298a0; font-size: 12px; }
.custom-panel .custom-name-field { display: grid; gap: 7px; min-width: 230px; color: #555c63; font-size: 12px; font-weight: 700; }
.custom-panel .custom-name-field input { width: 100%; padding: 10px 12px; border: 1px solid #dfe4e2; border-radius: 10px; background: #fff; color: #242b31; font-size: 14px; }
.custom-swatches { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.custom-panel .custom-swatch { display: grid; gap: 7px; padding: 12px; border: 1px solid #e9ece9; border-radius: 12px; color: #484f57; font-size: 12px; font-weight: 700; }
.custom-panel .custom-swatch input[type="color"] { width: 100%; height: 55px; padding: 3px; border-color: #e0e4e1; border-radius: 9px; cursor: pointer; }
.custom-panel .custom-swatch span { color: #9ca2a8; font-size: 11px; font-weight: 500; }
.custom-panel-footer { display: flex; justify-content: flex-end; padding-top: 18px; }
.custom-panel-footer button { padding: 10px 17px; border: 1px solid var(--accent); border-radius: 10px; background: var(--accent); color: var(--theme-text, #fff); font-size: 13px; font-weight: 700; }
html[data-mode="dark"] .custom-panel { background: #fff; color: #242b31; }
html[data-mode="dark"] .custom-panel-top p, html[data-mode="dark"] .custom-swatch span { color: #9298a0; }
@media (max-width: 600px) { .custom-panel-top { display: block; } .custom-panel-top p { margin-top: 10px; } .custom-swatches { gap: 6px; } .custom-panel .custom-swatch { padding: 8px; } }

#newCategoryForm { display: grid; grid-template-columns: minmax(0, 1fr) 215px auto auto; align-items: end; gap: 15px; }
#newCategoryForm .category-color-field { display: grid; min-width: 0; gap: 7px; }
#newCategoryForm label { min-width: 0; color: #777e85; font-size: 11px; letter-spacing: .025em; }
#newCategoryForm input[name="name"] { height: 43px; border-color: #e4e8e5; background: #fcfcfb; font-weight: 500; }
#newCategoryForm input[name="name"]::placeholder { color: #a8aeb2; }
#newCategoryForm input[name="name"]:focus { border-color: var(--accent); outline: 0; box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent); }
#newCategoryForm .category-color-control { display: flex; align-items: center; gap: 10px; height: 43px; padding: 4px 10px 4px 5px; border: 1px solid #e4e8e5; border-radius: 10px; background: #fcfcfb; }
#newCategoryForm .category-color-control input[type="color"] { flex: none; width: 32px; height: 31px; padding: 2px; border: 0; border-radius: 7px; background: transparent; }
#newCategoryForm .category-color-control output { color: #7d858b; font-size: 11px; font-weight: 650; font-variant-numeric: tabular-nums; text-transform: uppercase; }
.category-color-picker { display: inline-flex; flex: none; align-items: center; gap: 7px; }
#newCategoryForm .category-color-control .category-random-color, .category-row .manage-edit-form .category-random-color { flex: none; min-height: 28px; padding: 4px 7px; border: 1px solid #e2e7e5; border-radius: 7px; background: #f6f8f7; color: #4c5962; font-size: 10px; font-weight: 750; cursor: pointer; }
#newCategoryForm .category-color-control .category-random-color { margin-left: auto; }
#newCategoryForm .category-color-control .category-random-color:hover, .category-row .manage-edit-form .category-random-color:hover { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 9%, #fff); }
.category-random-color:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
#newCategoryForm .manage-primary { display: flex; align-items: center; justify-content: center; gap: 17px; min-height: 43px; padding: 10px 17px; white-space: nowrap; }
#newCategoryForm .manage-primary span { font-size: 15px; font-weight: 500; }
@media (max-width: 600px) { #newCategoryForm { grid-template-columns: minmax(0, 1fr) 190px; } #newCategoryForm .manage-primary { grid-column: 1 / -1; } }

.routine-form { display: grid; flex: 1; gap: 18px; min-width: 0; }
.routine-main { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(160px, 1fr); gap: 12px; }
.routine-main label, .routine-schedule > label, .repeat-interval label { display: grid; gap: 7px; min-width: 0; color: #6e757c; font-size: 12px; font-weight: 700; }
.routine-main input, .routine-main select, .routine-schedule select, .repeat-interval input { width: 100%; min-height: 40px; padding: 9px 11px; border: 1px solid #dfe3e2; border-radius: 10px; background: #fff; color: #31373d; font: inherit; font-size: 14px; }
.routine-schedule { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding-top: 17px; border-top: 1px solid #edf0ee; }
.routine-schedule > label { width: 100%; }
.routine-field-title { display: flex; align-items: center; gap: 6px; }
.routine-field-title small { color: #a3abb0; font-size: 11px; font-weight: 500; }
.repeat-fields { grid-column: 1 / -1; min-width: 0; }
.repeat-help { display: block; margin: 0; padding-bottom: 10px; color: #9aa0a6; font-size: 12px; font-weight: 500; }
.weekday-picker { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 7px; min-width: 0; margin: 0; padding: 0; border: 0; }
.weekday-picker legend { margin-bottom: 8px; color: #6e757c; font-size: 12px; font-weight: 700; }
.manage-form .weekday-picker label, .manage-edit-form .weekday-picker label { position: relative; display: block; flex: none; min-width: 0; cursor: pointer; }
.manage-form .weekday-picker input[type="checkbox"], .manage-edit-form .weekday-picker input[type="checkbox"] { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; opacity: 0; }
.weekday-picker span { display: grid; place-items: center; width: 100%; height: 38px; padding: 0 2px; border: 1px solid #dfe3e2; border-radius: 10px; background: #fff; color: #747a81; font-size: 11px; font-weight: 700; }
.weekday-picker input:checked + span { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 15%, #fff); color: #303740; }
.weekday-picker input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
.repeat-interval { display: flex; align-items: end; gap: 10px; }
.repeat-interval label { flex: 1; }
.repeat-interval input[type="number"] { width: 75px; }
.interval-step { display: flex; align-items: center; gap: 8px; min-height: 40px; color: #80878e; font-size: 13px; font-weight: 500; }
.interval-step input[type="number"] { flex: none; }
.task-group .task-check:checked { border-color: var(--group-color); border-radius: 6px; background: var(--group-color); }
.task-group .task-check:checked::after { content: "✦"; color: #fff; font-size: 12px; line-height: 1; font-weight: 400; }

.custom-panel { padding: 22px 24px 17px; border-color: #e9e8eb; box-shadow: none; }
.custom-panel-top { align-items: center; margin-bottom: 20px; }
.custom-panel-top p { margin: 0; }
.custom-panel .custom-name-field { min-width: min(100%, 280px); }
.custom-swatches { gap: 0; border: 1px solid #eaebed; border-radius: 12px; overflow: hidden; }
.custom-panel .custom-swatch { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 12px 14px; border: 0; border-radius: 0; cursor: pointer; }
.custom-panel .custom-swatch + .custom-swatch { border-left: 1px solid #eaebed; }
.custom-panel .custom-swatch input[type="color"] { flex: none; width: 42px; height: 42px; padding: 2px; border: 1px solid #e1e3e4; border-radius: 9px; }
.custom-panel .custom-swatch > span { display: grid; gap: 4px; min-width: 0; }
.custom-panel .custom-swatch strong { color: #3d444b; font-size: 13px; line-height: 1; }
.custom-panel .custom-swatch small { color: #9299a0; font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
.custom-panel-footer { padding-top: 16px; }
.custom-panel-footer button { display: flex; align-items: center; gap: 15px; padding: 9px 14px; font-size: 12px; }
.custom-panel-footer button span { font-size: 15px; font-weight: 500; }
@media (max-width: 600px) { .custom-panel { padding: 17px; } .custom-panel-top p { margin: 8px 0 0; } .custom-panel .custom-swatch { flex-direction: column; align-items: flex-start; gap: 8px; padding: 10px; } .custom-panel .custom-swatch input[type="color"] { width: 100%; } }

.calendar-column .calendar-grid, .preview-calendar .calendar-grid { row-gap: 7px; }
.calendar-column .calendar-day, .calendar-column .calendar-blank,
.preview-calendar.calendar-column .calendar-day, .preview-calendar.calendar-column .calendar-blank { width: 44px; min-height: 54px; height: 54px; border-radius: 10px; }
.calendar-column .calendar-day { gap: 2px; justify-content: flex-start; padding: 2px 0; }
.calendar-column .calendar-day.selected, .preview-calendar.calendar-column .calendar-day.selected { background: transparent; box-shadow: none; }
.calendar-column .calendar-day.today:not(.selected) { box-shadow: none; }
.day-marks { display: flex; align-items: center; justify-content: center; width: 44px; height: 23px; }
.day-mark { display: grid; place-items: center; flex: none; width: 22px; height: 22px; border-radius: 7px; background: var(--mark-color); color: #fff; font-size: 12px; line-height: 1; }
.day-mark + .day-mark { margin-left: -8px; border: 2px solid #fff; }
.day-number { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; color: inherit; font-size: 12px; }
.calendar-column .calendar-day.selected .day-number, .preview-calendar.calendar-column .calendar-day.selected .day-number { background: #202329; color: #fff; font-weight: 800; }
.calendar-column .calendar-day.today:not(.selected) .day-number { box-shadow: inset 0 0 0 1.5px var(--accent); }
html[data-mode="dark"] .day-mark + .day-mark { border-color: var(--cell-dark, #1e293b); }
@media (max-width: 420px) { .calendar-column .calendar-day, .calendar-column .calendar-blank, .preview-calendar.calendar-column .calendar-day, .preview-calendar.calendar-column .calendar-blank { width: 39px; min-height: 51px; height: 51px; } .day-marks { width: 39px; } }

.manage-list:has(.category-row) { gap: 0; }
.category-row { gap: 12px; padding: 15px 2px; border: 0; border-bottom: 1px solid #e9ecea; border-radius: 0; background: transparent; }
.category-row:first-child { padding-top: 7px; }
.category-row:last-child { border-bottom: 0; }
.category-row .manage-edit-form { gap: 13px; }
.category-row .manage-edit-form input[type="color"] { flex: none; width: 34px; height: 34px; padding: 2px; border: 0; border-radius: 50%; background: transparent; box-shadow: 0 0 0 1px #e0e5e3; }
.category-row .manage-edit-form input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; }
.category-row .manage-edit-form input[type="color"]::-webkit-color-swatch { border: 0; border-radius: 50%; }
.category-row .manage-edit-form input[type="color"]::-moz-color-swatch { border: 0; border-radius: 50%; }
.category-row .manage-edit-form input[name="name"] { min-height: 38px; padding: 7px 4px; border: 1px solid transparent; background: transparent; color: #30363d; font-size: 14px; font-weight: 650; }
.category-row .manage-edit-form input[name="name"]:hover, .category-row .manage-edit-form input[name="name"]:focus { border-color: #e2e6e4; background: #fff; }
.category-row .manage-edit-form button { min-height: 34px; padding: 7px 13px; border: 0; border-radius: 9px; background: color-mix(in srgb, var(--accent) 11%, #fff); color: #3e4851; }
.category-row .manage-edit-form button:hover { background: color-mix(in srgb, var(--accent) 20%, #fff); }
.category-row .manage-delete { min-height: 34px; padding: 6px 4px; border: 0; background: transparent; color: #a76c67; font-size: 12px; }
.category-row .manage-delete:hover { color: #8f4240; text-decoration: underline; }
@media (max-width: 600px) { .category-row { flex-wrap: nowrap; } .category-row .manage-edit-form { flex-wrap: nowrap; gap: 7px; } .category-row .manage-edit-form input[name="name"] { min-width: 75px; } }
.day-mark { width: 24px; height: 23px; border-radius: 39% 43% 38% 45% / 43% 37% 45% 39%; background: var(--mark-background); font-size: 12px; }
.routine-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.routine-actions > span { margin-right: auto; color: #9299a0; font-size: 12px; }
.repeat-error { margin: -8px 0 0; color: #b14c4c; font-size: 12px; }
.routine-row { display: grid; gap: 9px; padding: 17px; }
.routine-row .manage-delete { justify-self: end; min-height: 30px; padding: 5px 8px; border: 0; background: transparent; }
@media (max-width: 650px) { .routine-main, .routine-schedule { grid-template-columns: 1fr; } .repeat-interval { flex-wrap: wrap; } }
.routine-create-card { border-color: color-mix(in srgb, var(--accent) 24%, #e8eae7); box-shadow: 0 16px 38px #2023290a; }
.routine-create-card h2 { margin-bottom: 5px; font-size: 19px; }
.routine-create-card > .manage-help { margin-bottom: 23px; }
.routine-form { gap: 17px; }
.routine-form .routine-main input, .routine-form .routine-main select, .routine-form .routine-schedule input, .routine-form .routine-schedule select { min-height: 46px; border-color: #dfe5e3; border-radius: 11px; background: #fcfdfc; }
.routine-form input:focus, .routine-form select:focus { border-color: var(--accent); outline: 0; box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent); }
.routine-create-card .routine-actions { padding-top: 3px; }
.routine-create-card .routine-actions .manage-primary { min-width: 140px; min-height: 44px; }
.routine-row { border-color: #e4eae7; background: #fff; }
.routine-row .routine-actions button { background: color-mix(in srgb, var(--accent) 11%, #fff); border-color: transparent; }

.group-heading { position: relative; }
.group-visibility-icon { display: inline-grid; place-items: center; flex: none; width: 28px; height: 28px; border: 1px solid color-mix(in srgb, var(--group-color) 25%, #dfe4e3); border-radius: 50%; background: color-mix(in srgb, var(--group-color) 7%, #fff); color: color-mix(in srgb, var(--group-color) 65%, #525e64); }
.group-visibility-icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.group-pill { display: inline-flex; align-items: center; gap: 4px; min-height: 39px; padding: 4px 5px 4px 9px; border-radius: 999px; background: color-mix(in srgb, var(--group-color) 9%, #f1f2f3); }
.group-heading .group-pill strong { padding: 0 2px 0 0; border: 0; background: transparent; color: color-mix(in srgb, var(--group-color) 78%, #38414b); font-size: 13px; font-weight: 700; }
.group-pill .group-add { width: 30px; height: 30px; margin-left: 4px; border: 0; background: #fff; color: #303740; box-shadow: 0 1px 3px #212a331c; font-size: 21px; cursor: pointer; }
.group-pill .group-add:hover { background: color-mix(in srgb, var(--group-color) 14%, #fff); }
.share-control { position: relative; display: inline-flex; align-items: center; }
.share-trigger { display: inline-flex; align-items: center; gap: 5px; min-width: 24px; min-height: 27px; padding: 2px; border: 0; border-radius: 7px; background: transparent; color: #9198a2; font: inherit; font-size: 12px; cursor: pointer; }
.share-trigger:hover { color: #424b54; background: #ffffffad; }
.share-trigger svg { width: 20px; height: 20px; fill: currentColor; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.share-control.compact .share-trigger { min-height: 34px; padding: 5px 9px; border: 1px solid #e4e8e8; border-radius: 9px; background: #fff; color: #626d76; font-weight: 650; }
.share-control.compact .share-trigger svg { width: 17px; height: 17px; }
.share-panel { position: absolute; z-index: 50; top: calc(100% + 10px); left: 0; width: min(310px, calc(100vw - 45px)); padding: 16px; border: 1px solid #e5e9e9; border-radius: 16px; background: #fff; color: #2c3339; box-shadow: 0 18px 45px #27313d2a; }
.share-panel[hidden] { display: none; }
.share-panel-head { display: grid; gap: 3px; margin-bottom: 12px; }
.share-panel-head strong { font-size: 14px; }
.share-panel-head span { color: #8b949c; font-size: 12px; }
.share-modes { display: grid; gap: 6px; }
.share-modes label { display: flex; align-items: center; gap: 10px; padding: 10px 11px; border: 1px solid #e8ebed; border-radius: 10px; color: #46505a; font-size: 12px; font-weight: 650; cursor: pointer; }
.share-modes label.selected { border-color: color-mix(in srgb, var(--accent) 35%, #e8ebed); background: color-mix(in srgb, var(--accent) 7%, #fff); }
.share-modes input { margin: 0; accent-color: var(--accent); }
.share-specific { margin-top: 15px; padding-top: 12px; border-top: 1px solid #eef0f1; }
.share-specific[hidden] { display: none; }
.share-specific p { margin: 0 0 8px; color: #737d85; font-size: 11px; font-weight: 700; }
.share-people { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; max-height: 230px; overflow-y: auto; }
.share-people label { display: flex; align-items: center; gap: 6px; min-width: 0; padding: 6px; border-radius: 9px; color: #4d565f; font-size: 12px; cursor: pointer; }
.share-people label:hover { background: #f5f6f6; }
.share-people input { accent-color: var(--group-color, var(--accent)); margin: 0; }
.share-group-choices, .diary-privacy-groups { margin-bottom: 14px; padding-bottom: 11px; border-bottom: 1px solid #eef0f1; }
.share-group-choices p, .diary-privacy-groups p { margin: 0 0 8px; color: #737d85; font-size: 11px; font-weight: 700; }
.share-group-choices > div, .diary-privacy-groups > div { display: grid; gap: 5px; }
.share-group-choices label, .diary-privacy-groups label { display: flex; align-items: center; gap: 8px; padding: 7px 9px; border: 1px solid #e9edeb; border-radius: 9px; color: #46505a; font-size: 12px; cursor: pointer; }
.share-group-choices label:hover, .diary-privacy-groups label:hover { background: #f7f8f8; }
.share-group-choices label span, .diary-privacy-groups label span { flex: 1; }
.share-group-choices small, .diary-privacy-groups small { color: #8d979c; font-size: 11px; }
.share-avatar { display: grid; place-items: center; flex: none; width: 22px; height: 22px; border-radius: 50%; background: #edf0f1; color: #59626a; font-size: 10px; font-weight: 750; }
.share-done { display: block; margin: 12px 0 0 auto; padding: 8px 13px; border: 0; border-radius: 8px; background: #252c33; color: #fff; font-size: 12px; font-weight: 700; cursor: pointer; }
.category-row .share-panel { left: auto; right: 0; }
.friend-shared-group { margin: 16px 0; padding: 15px; border: 1px solid color-mix(in srgb, var(--group-color) 26%, #e9edec); border-radius: 12px; background: color-mix(in srgb, var(--group-color) 6%, #fff); }
.friend-shared-group h2 { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; color: color-mix(in srgb, var(--group-color) 75%, #303942); font-size: 14px; }
.friend-shared-group ul { margin: 0; padding-left: 25px; font-size: 13px; }
.friend-shared-group li + li { margin-top: 7px; }
.friend-shared-group p, .friend-empty { color: #828b92; font-size: 13px; }
@media (max-width: 600px) { .category-row { flex-wrap: wrap; } .category-row .share-control { margin-left: 45px; } }

.friend-strip { max-width: 880px; margin: 0 auto; align-items: center; gap: 8px; padding: 2px 0 22px; overflow-x: auto; scrollbar-width: none; }
.friend-strip::-webkit-scrollbar { display: none; }
.friend-chip { display: inline-flex; justify-content: center; align-items: center; gap: 0; flex: none; width: 38px; height: 38px; padding: 3px; border: 1px solid transparent; border-radius: 999px; background: transparent; box-shadow: none; color: #59616a; cursor: pointer; transition: background .16s ease, border-color .16s ease, width .16s ease; }
.friend-chip:hover { border-color: #d9dfe1; background: #f7f8f8; }
.friend-chip .chip-avatar { width: 31px; height: 31px; border-radius: 50%; background: var(--friend-tint, #e8ebec); color: #46515a; font-size: 12px; font-weight: 750; }
.friend-chip .friend-name { display: none; white-space: nowrap; }
.friend-chip.selected { justify-content: flex-start; gap: 8px; width: auto; min-width: 100px; padding: 3px 12px 3px 4px; border-color: #272b30; background: #272b30; color: #fff; font-size: 12px; font-weight: 700; }
.friend-chip.selected .chip-avatar { width: 29px; height: 29px; background: #fff; color: #272b30; }
.friend-chip.selected .friend-name { display: inline; }
.friend-chip:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (max-width: 600px) { .friend-strip { gap: 5px; padding-bottom: 18px; } .friend-chip { width: 36px; height: 36px; } }

.diary-shortcut { display: grid; place-items: center; flex: none; width: 36px; height: 36px; margin-left: auto; border: 1px solid #e5e8e8; border-radius: 50%; background: #fff; color: #737d85; cursor: pointer; }
.diary-shortcut:hover { border-color: var(--accent); color: var(--accent); background: color-mix(in srgb, var(--accent) 7%, #fff); }
.diary-shortcut svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.diary-shortcut.has-image { padding: 3px; overflow: hidden; border-color: color-mix(in srgb, var(--accent) 35%, #e5e8e8); }
.diary-shortcut.has-image img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.calendar-heading-left { display: flex; align-items: center; gap: 9px; min-width: 0; }
.calendar-filter { position: relative; flex: none; }
.calendar-filter-button { display: flex; align-items: center; gap: 7px; height: 34px; padding: 1px 5px 1px 0; border: 0; border-radius: 9px; background: transparent; cursor: pointer; }
.calendar-filter-button:hover .calendar-filter-mark { filter: brightness(.93); }
.calendar-filter-button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.calendar-filter-mark { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: #fff; font-size: 16px; line-height: 1; }
.calendar-filter-caret { width: 6px; height: 6px; margin-top: -3px; border-right: 1.5px solid #636d76; border-bottom: 1.5px solid #636d76; transform: rotate(45deg); }
.calendar-filter-menu { position: absolute; z-index: 35; top: calc(100% + 8px); left: 0; width: 190px; padding: 6px; border: 1px solid #e5e9e8; border-radius: 13px; background: #fff; box-shadow: 0 16px 36px #232d3624; }
.calendar-filter-menu[hidden] { display: none; }
.calendar-filter-option { display: flex; align-items: center; gap: 9px; width: 100%; padding: 9px; border: 0; border-radius: 8px; background: transparent; color: #465058; text-align: left; font-size: 12px; cursor: pointer; }
.calendar-filter-option:hover, .calendar-filter-option.active { background: #f2f4f3; color: #222b33; }
.calendar-todo-options { margin: 2px 0 5px 12px; padding-left: 8px; border-left: 1px solid #e5e9e8; }
.calendar-todo-option { display: flex; align-items: center; gap: 8px; padding: 6px 7px; border-radius: 7px; color: #59646c; font-size: 12px; cursor: pointer; }
.calendar-todo-option:hover { background: #f2f4f3; }
.calendar-todo-option input { width: 14px; height: 14px; margin: 0; accent-color: var(--accent); }
.calendar-todo-option .filter-option-dot { width: 11px; height: 11px; }
.filter-option-dot { flex: none; width: 16px; height: 16px; border-radius: 50%; }
html[data-mode="dark"] .calendar-filter-button { background: transparent; }
html[data-mode="dark"] .calendar-filter-caret { border-color: #d4dade; }
html[data-mode="dark"] .diary-shortcut { background: #303740; border-color: #58616a; color: #e8ebed; }
html[data-mode="dark"] .calendar-filter-menu { background: #303740; border-color: #58616a; }
html[data-mode="dark"] .calendar-filter-option { color: #e8ebed; }
html[data-mode="dark"] .calendar-filter-option:hover, html[data-mode="dark"] .calendar-filter-option.active { background: #444d56; }
html[data-mode="dark"] .calendar-todo-option { color: #e8ebed; }
html[data-mode="dark"] .calendar-todo-option:hover { background: #444d56; }

.diary-view { width: min(100%, 760px); margin: 0 auto 55px; }
.diary-head { display: flex; align-items: center; gap: 15px; margin-bottom: 24px; }
.diary-head > button { flex: none; width: 38px; height: 38px; border: 1px solid #e4e8e6; border-radius: 11px; background: #fff; color: #47515a; font-size: 21px; cursor: pointer; }
.diary-head h1 { margin: 2px 0 0; color: #273038; font-size: 28px; letter-spacing: -.045em; }
.diary-paper { padding: 30px; border: 1px solid #e5e9e7; border-radius: 18px; background: #fff; box-shadow: 0 12px 32px #202b3509; }
.diary-date-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-bottom: 20px; border-bottom: 1px solid #edf0ee; }
.diary-date-row span { color: #9aa2a8; font-size: 11px; font-weight: 750; letter-spacing: .12em; }
.diary-date-row h2 { margin: 6px 0 0; color: #273038; font-size: 19px; letter-spacing: -.025em; }
.diary-date-actions { display: flex; gap: 6px; }
.diary-date-actions button { width: 32px; height: 32px; border: 1px solid #e6eae8; border-radius: 50%; background: #fff; color: #657078; font-size: 20px; cursor: pointer; }
.diary-date-actions button:hover { background: #f5f7f6; }
#diaryText { display: block; width: 100%; min-height: 320px; padding: 25px 0; resize: vertical; border: 0; outline: 0; background: transparent; color: #303941; font: inherit; font-size: 15px; line-height: 1.9; }
#diaryText::placeholder { color: #aeb5b8; }
.diary-footer { display: flex; justify-content: space-between; gap: 12px; padding-top: 15px; border-top: 1px solid #edf0ee; color: #99a1a6; font-size: 12px; }
#diaryStatus { color: #657d6c; }
html[data-mode="dark"] .diary-head h1, html[data-mode="dark"] .diary-date-row h2 { color: var(--text, #fff); }
html[data-mode="dark"] .diary-paper { background: color-mix(in srgb, var(--cell-dark, #333) 72%, var(--bg, #000)); border-color: #49515a; }
html[data-mode="dark"] #diaryText { color: var(--text, #fff); }
html[data-mode="dark"] .diary-date-row, html[data-mode="dark"] .diary-footer { border-color: #535c64; }
@media (max-width: 600px) { .diary-paper { padding: 21px; } .diary-date-row h2 { font-size: 16px; } }

.calendar-column, .preview-calendar.calendar-column { border-width: 2px; }

.message-friend { margin-top: 16px; padding: 9px 13px; border: 1px solid #e4e9e6; border-radius: 9px; background: #fff; color: #4a545b; font-size: 12px; font-weight: 700; cursor: pointer; }
.message-friend:hover { border-color: var(--accent); color: var(--accent); }
.dm-view { width: min(100%, 880px); margin: 0 auto 40px; }
.dm-page-head { margin-bottom: 20px; }
.dm-page-head h1 { margin: 0; color: #262e35; font-size: 30px; letter-spacing: -.045em; }
.dm-page-head > p:last-child { margin: 5px 0 0; color: #9098a0; font-size: 13px; }
.dm-layout { display: grid; grid-template-columns: 290px minmax(0, 1fr); min-height: 540px; overflow: hidden; border: 1px solid #e4e9e7; border-radius: 18px; background: #fff; box-shadow: 0 10px 32px #24313c0b; }
.dm-sidebar { display: flex; flex-direction: column; min-width: 0; border-right: 1px solid #edf0ee; }
.dm-sidebar-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 17px 12px; }
.dm-sidebar-head strong { color: #273038; font-size: 17px; }
.dm-sidebar-head button { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #e5e9e9; border-radius: 50%; background: #f7f9f9; color: #273038; font-size: 23px; line-height: 1; cursor: pointer; }
.dm-sidebar-head button svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.dm-sidebar-head button:hover, .dm-sidebar-head button.active { border-color: var(--accent); color: var(--accent); }
.dm-search-wrap { display: flex; align-items: center; gap: 8px; margin: 0 13px 10px; padding: 0 13px; border: 1px solid #e7ecee; border-radius: 22px; background: #f6f8f9; color: #62717b; }
.dm-search-wrap:focus-within { border-color: var(--accent); background: #fff; }
.dm-search-wrap span { font-size: 20px; line-height: 1; }
.dm-search-wrap input { width: 100%; min-width: 0; height: 39px; border: 0; outline: 0; background: transparent; color: #273038; font: inherit; font-size: 13px; }
.dm-contacts { display: flex; flex-direction: column; gap: 3px; min-width: 0; padding: 4px 11px 11px; overflow-y: auto; }
.dm-list-empty { margin: 14px 8px; color: #89949c; font-size: 12px; line-height: 1.5; }
.dm-contact { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 57px; padding: 8px; border: 0; border-radius: 11px; background: transparent; color: #313940; text-align: left; cursor: pointer; }
.dm-contact:hover { background: #f7f8f7; }
.dm-contact.active { background: color-mix(in srgb, var(--accent) 10%, #f8f9f8); }
.dm-avatar { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 50%; background: color-mix(in srgb, var(--accent) 14%, #e9edeb); color: #49535b; font-size: 12px; font-weight: 800; }
.dm-contact-copy { display: grid; gap: 3px; min-width: 0; }
.dm-contact-copy strong { font-size: 13px; }
.dm-contact-copy small { overflow: hidden; color: #9aa2a8; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.dm-thread { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.dm-thread-head { display: flex; align-items: center; gap: 10px; min-height: 69px; padding: 12px 20px; border-bottom: 1px solid #edf0ee; }
.dm-block-button { margin-left: auto; padding: 7px 11px; border: 1px solid #dce3e5; border-radius: 9px; background: transparent; color: #5b6570; font-size: 12px; cursor: pointer; }
.dm-block-button:hover { background: #f3f5f6; }
.global-block { padding: 6px 9px; border: 0; background: transparent; color: #75808a; font-size: 11px; cursor: pointer; }
.global-block:hover { color: #b14d4d; text-decoration: underline; }
.settings-blocked-section { margin-top:24px; padding:20px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.settings-blocked-section > div:first-child { margin-bottom:14px; }
.settings-blocked-section h2 { margin:4px 0 5px; font-size:18px; }
.settings-blocked-section h2 span { color:#87929b; font-weight:600; }
.settings-blocked-section > div:first-child > p:last-child { margin:0; color:#7d8992; font-size:12px; }
.settings-blocked-section .global-person:last-child { border-bottom:0; }
html[data-mode="dark"] .settings-blocked-section { border-color:#43515a; background:#252e35; }

/* Search, weekly insights, and profile editing */
.site-search-button { display:grid; place-items:center; width:36px; height:36px; padding:0; border:1px solid var(--line); border-radius:10px; background:var(--soft); color:inherit; cursor:pointer; }
.site-search-button svg, .site-search-head svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.site-search-dialog { width:min(650px,calc(100vw - 28px)); max-height:min(680px,80vh); padding:0; overflow:hidden; border:1px solid var(--line); border-radius:17px; background:#fff; box-shadow:0 24px 80px #1d2a3550; }
.site-search-dialog::backdrop, .profile-edit-dialog::backdrop { background:#202a3440; backdrop-filter:blur(4px); }
.site-search-head { display:grid; grid-template-columns:24px 1fr 34px; align-items:center; gap:10px; padding:14px 16px; border-bottom:1px solid var(--line); }
.site-search-head input { width:100%; padding:8px 0; border:0; outline:0; background:transparent; color:inherit; font:inherit; font-size:16px; }
.site-search-head button { width:32px; height:32px; border:0; border-radius:50%; background:var(--soft); color:inherit; font-size:20px; cursor:pointer; }
.site-search-results { max-height:560px; overflow:auto; padding:8px; }
.site-search-results > p { padding:35px 15px; color:#87929b; text-align:center; }
.site-search-result { display:grid; grid-template-columns:38px minmax(0,1fr) 15px; align-items:center; gap:11px; width:100%; padding:11px; border:0; border-radius:11px; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.site-search-result:hover { background:var(--soft); }
.site-search-result > span:first-child { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; background:color-mix(in srgb,var(--accent) 14%,#fff); color:var(--accent); font-weight:800; }
.site-search-result strong, .site-search-result small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.site-search-result small { margin-top:3px; color:#87929b; font-size:10px; }
.personal-profile-actions { display:flex; align-items:center; gap:7px; margin-top:17px; }
.personal-edit { padding:8px 13px; border:1px solid var(--line); border-radius:999px; background:#fff; color:#34414a; font:inherit; font-size:11px; font-weight:750; white-space:nowrap; cursor:pointer; }
.personal-profile-actions .personal-logout { margin-top:0; }
.personal-bio { margin:9px 0 0; color:#67757d; font-size:13px; line-height:1.5; white-space:pre-wrap; }
.personal-avatar { background-color:var(--profile-color,#e5eeee); background-position:center; background-size:cover; }
.personal-avatar.has-image { color:transparent; }
.has-profile-image { background-position:center !important; background-size:cover !important; color:transparent !important; }
.weekly-report { margin:0 0 24px; padding:20px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.weekly-report-head { display:flex; align-items:start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.weekly-report-head h2 { margin:4px 0 0; font-size:20px; }
.weekly-report-head > strong { color:#738089; font-size:11px; }
.weekly-report-grid { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:10px; }
.weekly-report-grid > div { padding:14px; border-radius:12px; background:var(--soft); }
.weekly-report-grid span, .weekly-report-grid strong { display:block; }
.weekly-report-grid span { color:#7e8990; font-size:11px; }
.weekly-report-grid strong { margin-top:6px; font-size:20px; }
.weekly-report-grid i { display:block; height:6px; margin-top:10px; overflow:hidden; border-radius:99px; background:#dfe5e7; }
.weekly-report-grid i b { display:block; height:100%; border-radius:inherit; background:var(--accent); }
.profile-edit-dialog { width:min(530px,calc(100vw - 28px)); padding:0; border:1px solid var(--line); border-radius:18px; background:#fff; color:#2b3740; box-shadow:0 24px 80px #1d2a3550; }
.profile-edit-dialog form { display:grid; gap:15px; padding:22px; }
.profile-edit-head { display:flex; align-items:start; justify-content:space-between; }
.profile-edit-head h2 { margin:4px 0 0; }
.profile-edit-head button { width:32px; height:32px; border:0; border-radius:50%; background:var(--soft); font-size:20px; cursor:pointer; }
.profile-edit-dialog label { display:grid; gap:6px; color:#66747c; font-size:11px; font-weight:700; }
.profile-edit-dialog input:not([type=file]), .profile-edit-dialog textarea { box-sizing:border-box; width:100%; padding:10px 11px; border:1px solid var(--line); border-radius:10px; background:#fff; color:#273038; font:inherit; }
.profile-edit-dialog textarea { min-height:90px; resize:vertical; }
.profile-edit-dialog input[type=color] { width:55px; height:38px; padding:2px; }
.profile-image-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.profile-image-fields label { padding:12px; border:1px solid var(--line); border-radius:11px; }
.profile-edit-status { min-height:16px; margin:0; color:#7d8992; font-size:11px; }
.profile-edit-actions { display:flex; justify-content:flex-end; gap:8px; }
.profile-edit-actions button { padding:9px 14px; border:1px solid var(--line); border-radius:9px; background:#fff; font:inherit; font-weight:700; cursor:pointer; }
.profile-edit-actions button[type=submit] { border-color:#27343d; background:#27343d; color:#fff; }
html[data-mode="dark"] .site-search-dialog, html[data-mode="dark"] .profile-edit-dialog, html[data-mode="dark"] .weekly-report, html[data-mode="dark"] .personal-edit { border-color:#43515a; background:#252e35; color:#f3f6f8; }
@media(max-width:680px){ .weekly-report-grid{grid-template-columns:1fr 1fr}.profile-image-fields{grid-template-columns:1fr}.personal-hero-body{grid-template-columns:62px minmax(0,1fr)}.personal-profile-actions{grid-column:2;margin-top:0;flex-wrap:wrap} }
.dm-thread-head > div { display: grid; gap: 2px; }
.dm-thread-head strong { color: #2c343a; font-size: 14px; }
.dm-thread-head div span { color: #9aa2a8; font-size: 11px; }
.dm-messages { display: flex; flex: 1; flex-direction: column; gap: 12px; min-height: 345px; padding: 20px; overflow-y: auto; }
.dm-empty { display: grid; justify-items: center; align-content: center; flex: 1; color: #4d575f; text-align: center; }
.dm-empty .dm-avatar { width: 46px; height: 46px; margin-bottom: 12px; font-size: 16px; }
.dm-empty strong { font-size: 15px; }
.dm-empty p { margin: 5px 0 0; color: #9ba2a7; font-size: 12px; }
.dm-empty-symbol { display: grid; place-items: center; width: 70px; height: 70px; margin-bottom: 14px; border-radius: 50%; background: #f3f6f7; color: #273038; font-size: 34px; }
.dm-empty-symbol svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.dm-empty button { margin-top: 18px; padding: 9px 17px; border: 0; border-radius: 999px; background: #273038; color: #fff; font-size: 12px; font-weight: 700; cursor: pointer; }
.dm-message { align-self: flex-end; max-width: min(85%, 420px); }
.dm-message p { margin: 0; padding: 10px 14px; border-radius: 15px 15px 4px 15px; background: color-mix(in srgb, var(--accent) 17%, #f4f6f5); color: #27313a; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; white-space: pre-wrap; }
.dm-message time { display: block; margin: 4px 3px 0 0; color: #a2aab0; font-size: 10px; text-align: right; }
.dm-message-meta { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.dm-compose { display: flex; gap: 8px; padding: 13px 17px; border-top: 1px solid #edf0ee; }
.dm-compose[hidden] { display: none; }
.dm-compose input { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid #e1e7e4; border-radius: 10px; background: #fff; color: #2d363d; font-size: 13px; }
.dm-compose input:focus { border-color: var(--accent); outline: 2px solid color-mix(in srgb, var(--accent) 15%, transparent); }
.dm-compose button { padding: 9px 15px; border: 0; border-radius: 10px; background: #252d34; color: #fff; font-size: 12px; font-weight: 700; cursor: pointer; }
.dm-compose button:hover { background: #414b53; }
.dm-demo-note { margin: 11px 0 0; color: #a1a8ad; font-size: 11px; text-align: right; }
html[data-mode="dark"] .dm-page-head h1 { color: var(--text, #fff); }
html[data-mode="dark"] .dm-layout { background: #272e36; border-color: #4e5860; }
html[data-mode="dark"] .dm-sidebar, html[data-mode="dark"] .dm-thread-head, html[data-mode="dark"] .dm-compose { border-color: #4e5860; }
html[data-mode="dark"] .dm-sidebar-head strong { color: #e8ecee; }
html[data-mode="dark"] .dm-search-wrap { background: #343f48; border-color: #56616b; }
html[data-mode="dark"] .dm-search-wrap input { color: #e8ecee; }
html[data-mode="dark"] .dm-contact, html[data-mode="dark"] .dm-thread-head strong { color: #e8ecee; }
html[data-mode="dark"] .dm-contact:hover, html[data-mode="dark"] .dm-contact.active { background: #39434c; }
html[data-mode="dark"] .dm-message p { background: #454d59; color: #fff; }
@media (max-width: 650px) { .dm-layout { grid-template-columns: 1fr; } .dm-sidebar { max-height: 250px; border-right: 0; border-bottom: 1px solid #edf0ee; } .dm-contacts { overflow-y: auto; } .dm-thread-head { min-height: 59px; } .dm-messages { min-height: 300px; } }

.diary-attachments { padding: 0 0 22px; }
.diary-attachment-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 11px; }
.diary-attachment-head strong { color: #49525a; font-size: 13px; }
.diary-add-image { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid #e1e7e4; border-radius: 9px; background: #fff; color: #4b555d; font-size: 12px; font-weight: 700; cursor: pointer; }
.diary-add-image:hover { border-color: var(--accent); color: var(--accent); }
.diary-add-image:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.diary-add-image svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.diary-image-grid { display: flex; flex-wrap: wrap; gap: 10px; min-height: 24px; }
.diary-image-empty { margin: 0; color: #a1a9ad; font-size: 12px; }
.diary-image-item { position: relative; width: 108px; height: 108px; overflow: hidden; border: 1px solid #e3e8e5; border-radius: 11px; background: #fff; }
.diary-image-open { display: block; width: 100%; height: 100%; padding: 5px; border: 0; background: transparent; cursor: zoom-in; }
.diary-image-open img { display: block; width: 100%; height: 100%; object-fit: contain; }
.diary-image-open:focus-visible { outline: 3px solid var(--accent); outline-offset: -3px; }
.diary-image-item button[data-remove-diary-image] { position: absolute; top: 5px; right: 5px; display: grid; place-items: center; width: 22px; height: 22px; padding: 0; border: 0; border-radius: 50%; background: #202830d9; color: #fff; font-size: 17px; line-height: 1; cursor: pointer; }
.diary-image-share { position:absolute; left:5px; bottom:5px; padding:4px 8px; border:1px solid #d9e0e3; border-radius:20px; background:#fff; color:#34434a; font-size:10px; font-weight:700; cursor:pointer; }
.diary-image-share.is-shared { border-color:#c5eadf; background:#dcf7ec; color:#167754; }
.diary-image-share:disabled { opacity:.6; cursor:wait; }
.diary-image-viewer { position: fixed; inset: 0; width: min(94vw, 1200px); max-width: none; max-height: none; margin: auto; padding: 18px; border: 0; border-radius: 18px; background: #20252b; color: #fff; box-shadow: 0 25px 80px #0006; text-align: center; }
.diary-image-viewer::backdrop { background: #111820d9; }
.diary-image-viewer img { display: block; width: min(100%, 1100px); height: min(76vh, 850px); margin: auto; border-radius: 8px; background: #fff; object-fit: contain; }
.diary-image-viewer p { margin: 11px 45px 0; overflow: hidden; color: #e1e5e7; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.diary-image-viewer-close { position: absolute; top: 10px; right: 10px; display: grid; place-items: center; width: 35px; height: 35px; border: 0; border-radius: 50%; background: #ffffff28; color: #fff; font-size: 24px; cursor: pointer; }
.diary-image-viewer-close:hover { background: #ffffff42; }
.task-image-dialog { box-sizing:border-box; width:min(500px,calc(100vw - 28px)); max-height:85vh; margin:auto; padding:22px; overflow:auto; border:1px solid #dce3e6; border-radius:19px; background:#fff; color:#273038; box-shadow:0 24px 70px #1b293244; }
.task-image-dialog::backdrop { background:#1a263355; }
.task-image-head { display:flex; justify-content:space-between; align-items:start; gap:12px; padding-bottom:18px; border-bottom:1px solid #e9edee; }
.task-image-head .small-label { margin:0 0 6px; }
.task-image-head h2 { margin:0; font-size:21px; line-height:1.3; overflow-wrap:anywhere; }
.task-image-head > button { display:grid; place-items:center; flex:none; width:31px; height:31px; padding:0; border:1px solid #e1e6e8; border-radius:50%; background:#fff; color:#69747c; font-size:21px; cursor:pointer; }
.task-image-dialog .diary-image-grid { margin:20px 0; }
.task-image-footer { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding-top:16px; border-top:1px solid #e9edee; }
.task-image-footer .diary-add-image { margin:0; }
.task-image-footer > span { color:#849098; font-size:11px; }
html[data-mode="dark"] .task-image-dialog { background:#303941; color:#edf1f3; border-color:#58636b; }
html[data-mode="dark"] .task-image-head, html[data-mode="dark"] .task-image-footer { border-color:#515d65; }
.diary-paste-hint { margin-left: 9px; color: #9aa3aa; font-size: 11px; }
@media (max-width: 600px) { .diary-paste-hint { display: block; margin: 7px 0 0; } }
.diary-save-actions { display: flex; align-items: center; gap: 12px; }
.diary-trash-button { padding:9px 12px; border:1px solid #efccd1; border-radius:9px; background:#fff; color:#ae4655; font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.diary-trash-button:hover { background:#fff5f6; }
#diarySave { padding: 10px 16px; border: 0; border-radius: 9px; background: #273139; color: #fff; font-size: 12px; font-weight: 750; cursor: pointer; box-shadow: 0 3px 8px #202a341c; }
#diarySave:hover { background: #3e4a53; }
#diarySave:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.diary-privacy { position: relative; align-self: center; }
.diary-privacy-trigger { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 4px 10px 4px 5px; border: 1px solid #e5eae7; border-radius: 999px; background: #f9fbfa; color: #3f4b52; font: inherit; font-size: 12px; cursor: pointer; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.diary-privacy-trigger:hover, .diary-privacy-trigger[aria-expanded="true"] { border-color: color-mix(in srgb, var(--accent) 35%, #dfe6e2); background: #fff; box-shadow: 0 3px 10px #26333b0b; }
.diary-privacy-trigger:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.diary-privacy-trigger strong { font-weight: 700; white-space: nowrap; }
.diary-privacy-icon { display: grid; place-items: center; flex: none; width: 27px; height: 27px; border-radius: 50%; background: color-mix(in srgb, var(--accent) 9%, #edf2ef); color: color-mix(in srgb, var(--accent) 35%, #64736b); }
.diary-privacy-icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.diary-privacy-caret { width: 13px; height: 13px; margin-left: 2px; fill: none; stroke: #8c969c; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform .16s ease; }
.diary-privacy-trigger[aria-expanded="true"] .diary-privacy-caret { transform: rotate(180deg); }
.diary-privacy-panel { position: absolute; z-index: 30; bottom: calc(100% + 9px); left: 0; width: min(340px, calc(100vw - 48px)); max-height: min(68vh, 470px); overflow-y: auto; padding: 17px; border: 1px solid #e3e8e5; border-radius: 15px; background: #fff; color: #303940; box-shadow: 0 16px 48px #24313c22; }
.diary-privacy-panel > strong { display: block; margin-bottom: 12px; font-size: 14px; }
.diary-privacy-modes { display: grid; gap: 6px; }
.diary-privacy-modes label { display: flex; align-items: center; gap: 9px; padding: 10px; border: 1px solid #e9edeb; border-radius: 9px; font-size: 12px; cursor: pointer; }
.diary-privacy-modes label.selected { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, #fff); }
.diary-privacy-panel input { accent-color: var(--accent); }
.diary-privacy-people { margin-top: 13px; }
.diary-privacy-people p { margin: 0 0 8px; color: #67737b; font-size: 11px; font-weight: 700; }
.diary-privacy-people > div { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.diary-privacy-people > .diary-privacy-groups { display: block; }
.diary-privacy-people > .diary-privacy-groups > div { grid-template-columns: 1fr; }
.diary-privacy-people label { display: flex; align-items: center; gap: 6px; min-width: 0; padding: 5px 3px; font-size: 11px; cursor: pointer; }
.diary-privacy-people .share-avatar { flex: none; }
.diary-privacy-note { margin: 12px 0; color: #8d979c; font-size: 10px; line-height: 1.5; }
.diary-privacy-done { display: block; margin-left: auto; padding: 8px 13px; border: 0; border-radius: 8px; background: #273139; color: #fff; font-size: 11px; font-weight: 700; cursor: pointer; }
html[data-mode="dark"] .diary-privacy-trigger, html[data-mode="dark"] .diary-privacy-panel { background: #303941; border-color: #59636b; color: #e6ebed; }
html[data-mode="dark"] .diary-privacy-modes label { border-color: #59636b; }
html[data-mode="dark"] .diary-privacy-modes label.selected { background: color-mix(in srgb, var(--accent) 20%, #303941); }
html[data-mode="dark"] .diary-attachment-head strong { color: #e6ebed; }
html[data-mode="dark"] .diary-add-image { background: #333c45; border-color: #59636b; color: #e6ebed; }
@media (max-width: 600px) { .diary-footer { flex-wrap: wrap; align-items: center; } .diary-save-actions { justify-content: flex-end; flex: 1; } .diary-image-item { width: 92px; height: 92px; } }

#friendsView.other-view { width: min(100%, 910px); min-height: 0; margin: 0 auto 40px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.friend-page-head { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: 21px; }
.friend-page-head h1 { margin: 0; color: #273038; font-size: 27px; letter-spacing: -.045em; }
.friend-page-head p:last-child { margin: 5px 0 0; color: #939ba1; font-size: 12px; }
.friend-page-head .message-friend { margin: 0; white-space: nowrap; }
.friend-groups-toggle { margin-left: auto; padding: 9px 12px; border: 1px solid #e1e7e4; border-radius: 9px; background: #fff; color: #46515a; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.friend-groups-toggle:hover, .friend-groups-toggle[aria-expanded="true"] { border-color: var(--accent); color: var(--accent); }
.friend-groups-toggle span { display: inline-grid; place-items: center; min-width: 19px; height: 19px; margin-left: 5px; border-radius: 50%; background: #f0f3f2; font-size: 10px; }
.friend-groups-manager { margin: 0 0 24px; padding: 20px; border: 1px solid #e3e9e6; border-radius: 16px; background: #fff; box-shadow: 0 8px 28px #24313c0a; }
.friend-groups-intro strong { color: #2c353d; font-size: 15px; }
.friend-groups-intro p { margin: 4px 0 16px; color: #89939a; font-size: 12px; }
.friend-groups-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.friend-group-card { min-width: 0; padding: 14px; border: 1px solid #e6eae8; border-radius: 12px; background: #fcfdfc; }
.friend-group-card-head { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.friend-group-card-head label { flex: 1; min-width: 0; }
.friend-group-card-head input { width: 100%; padding: 8px 10px; border: 1px solid #dfe5e2; border-radius: 8px; background: #fff; color: #2c353d; font: inherit; font-size: 13px; font-weight: 700; }
.friend-group-card-head button { width: 31px; height: 31px; border: 1px solid #e9e4e4; border-radius: 8px; background: #fff; color: #9b6b69; font-size: 20px; cursor: pointer; }
.friend-group-members { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px 7px; }
.friend-group-members label { display: flex; align-items: center; gap: 6px; padding: 4px 2px; color: #556068; font-size: 11px; cursor: pointer; }
.friend-group-members input { accent-color: var(--accent); }
.friend-group-count { margin: 10px 0 0; color: #98a1a7; font-size: 11px; }
.friend-group-create { display: flex; gap: 8px; margin-top: 13px; }
.friend-group-create input { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid #dfe5e2; border-radius: 9px; font: inherit; font-size: 12px; }
.friend-group-create button { padding: 10px 14px; border: 0; border-radius: 9px; background: #28323a; color: #fff; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.friend-workspace { display: grid; grid-template-columns: minmax(300px, 370px) minmax(0, 480px); gap: 44px; align-items: start; }
.friend-calendar .identity-avatar { border-radius: 50%; }
.friend-month-title { color: #272b30; font-size: 15px; font-weight: 720; }
.friend-journal-entry { min-height: 150px; padding: 20px 22px; border: 1px solid var(--line, #e3e7e9); border-radius: 14px; background: var(--card, #fff); }
.friend-journal-entry p { margin: 0; color: var(--text, #273038); font-size: 14px; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
.friend-journal-entry .group-empty { color: #8b969f; }
.friend-todo .tasks-head h2 { margin: 0; color: #273038; font-size: 29px; letter-spacing: -.04em; }
.friend-task-mark { display: grid; place-items: center; flex: none; width: 19px; height: 19px; border: 1.5px solid #cbd1d2; border-radius: 6px; background: #fff; color: #fff; font-size: 11px; }
.friend-task-mark.done { border-color: var(--group-color); background: var(--group-color); }
.friend-demo-note { margin: 19px 0 0; color: #a0a7ac; font-size: 11px; }
.friend-private { display: grid; justify-items: center; max-width: 600px; margin: 34px auto; padding: 70px 25px; border: 1px solid #e6e9eb; border-radius: 20px; background: #fff; text-align: center; }
.friend-private-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 15px; background: #f1f3f4; color: #9da6ad; font-size: 22px; }
.friend-private h2 { margin: 18px 0 5px; font-size: 20px; }
.friend-private p { margin: 0; color: #879099; font-size: 13px; }
html[data-mode="dark"] .friend-page-head h1, html[data-mode="dark"] .friend-todo .tasks-head h2, html[data-mode="dark"] .friend-month-title { color: var(--text, #fff); }
@media (max-width: 700px) { .friend-workspace { grid-template-columns: 1fr; gap: 23px; } .friend-page-head { align-items: start; } }
@media (max-width: 700px) { .friend-page-head { flex-wrap: wrap; } .friend-groups-toggle { margin-left: 0; } .friend-groups-list { grid-template-columns: 1fr; } }
body.auth-locked .topbar, body.auth-locked main, body.auth-locked .bottom-nav, body.auth-locked #menuOverlay, body.auth-locked #syncStatus { display: none !important; }

.daily-feature-view { width: min(100%, 1120px); margin: 4px auto 48px; color: #27323a; }
.feature-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.feature-head h1 { margin: 2px 0 3px; font-size: 32px; letter-spacing: -.045em; }
.feature-head p:last-child { margin: 0; color: #88949b; font-size: 13px; }
.feature-date-nav { display: flex; align-items: center; gap: 6px; padding: 5px; border: 1px solid #e2e7e8; border-radius: 13px; background: #fff; }
.feature-date-nav button { width: 31px; height: 31px; border: 0; border-radius: 9px; background: #f3f6f6; color: #38454d; font-size: 20px; cursor: pointer; }
.feature-date-nav button:hover { background: #e7eeee; }
.feature-date-anchor { position: relative; }
.feature-date-nav .feature-date-trigger { display: flex; align-items: center; justify-content: center; gap: 8px; width: auto; min-width: 156px; padding: 0 9px; background: transparent; color: #303b43; font-size: 12px; font-weight: 750; white-space: nowrap; }
.feature-date-trigger svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.feature-date-trigger span:last-child { margin-left: 1px; color: #8b969d; font-size: 14px; }
.feature-date-popover { position: absolute; z-index: 45; top: calc(100% + 11px); right: -43px; width: 292px; padding: 15px; border: 1px solid #e1e7e8; border-radius: 17px; background: #fff; box-shadow: 0 18px 48px #25323d24; }
.feature-date-popover[hidden] { display: none; }
.feature-picker-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.feature-picker-head strong { font-size: 14px; }
.feature-picker-head > div { display: flex; gap: 4px; }
.feature-date-nav .feature-picker-head button { width: 27px; height: 27px; border-radius: 50%; font-size: 18px; }
.feature-picker-weekdays, .feature-picker-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.feature-picker-weekdays { margin-bottom: 5px; color: #96a1a8; font-size: 10px; text-align: center; }
.feature-picker-weekdays span { padding: 4px 0; }
.feature-date-nav .feature-picker-day { width: 100%; height: 33px; border-radius: 9px; background: transparent; color: #3d4850; font-size: 11px; }
.feature-date-nav .feature-picker-day:hover { background: #eef3f4; }
.feature-date-nav .feature-picker-day.today { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 55%, #d7e0e2); }
.feature-date-nav .feature-picker-day.selected { background: var(--accent); color: #fff; font-weight: 800; box-shadow: none; }
.feature-picker-foot { display: flex; justify-content: flex-end; margin-top: 11px; padding-top: 10px; border-top: 1px solid #edf1f1; }
.feature-date-nav .feature-picker-foot button { width: auto; height: auto; padding: 6px 9px; background: transparent; color: var(--accent); font-size: 11px; font-weight: 800; }
.study-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .9fr); gap: 20px; align-items: start; }
.study-side { display: grid; gap: 18px; min-width: 0; }
.feature-card { min-width: 0; padding: 24px; border: 1px solid #e3e9e9; border-radius: 18px; background: #fff; box-shadow: 0 10px 32px #27303908; }
.feature-card-head { padding-bottom: 18px; border-bottom: 1px solid #e7ecec; }
.feature-card-head h2 { margin: 4px 0 0; font-size: 21px; letter-spacing: -.03em; }
.feature-muted { margin: 8px 0; color: #929da3; font-size: 13px; }
.study-subject-head, .study-task-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 22px 0 10px; }
.study-subject-head h3, .study-task-head h3 { margin: 0; font-size: 14px; }
.study-subject-head span, .study-task-head span { color: #96a0a5; font-size: 11px; }
.study-subjects { display: flex; flex-wrap: wrap; gap: 7px; }
.study-subject-chip { display: inline-flex; align-items: center; gap: 7px; padding: 6px 7px 6px 11px; border-radius: 99px; background: color-mix(in srgb, var(--subject-color) 17%, #fff); color: color-mix(in srgb, var(--subject-color) 78%, #233039); font-size: 12px; font-weight: 700; }
.study-subject-chip button { width: 17px; height: 17px; padding: 0; border: 0; border-radius: 50%; background: #fff9; color: inherit; font-size: 14px; line-height: 1; cursor: pointer; }
.feature-inline-form, .study-task-form, .fitness-form { display: flex; gap: 7px; margin-top: 12px; }
.feature-inline-form input, .study-task-form input, .study-task-form select, .fitness-form input, .study-time-head select { min-width: 0; padding: 9px 10px; border: 1px solid #dfe6e6; border-radius: 9px; background: #fff; color: #303a42; font: inherit; font-size: 12px; }
.feature-inline-form input, .study-task-form input, .fitness-form input[name="name"] { flex: 1; }
.feature-inline-form button, .study-task-form button, .fitness-form button { flex: none; padding: 9px 12px; border: 0; border-radius: 9px; background: #27333c; color: #fff; font-size: 12px; font-weight: 700; cursor: pointer; }
.study-task-list { display: grid; gap: 0; border-top: 1px solid #e9eeee; }
.study-task-row { display: flex; align-items: center; gap: 9px; min-height: 47px; border-bottom: 1px solid #e9eeee; }
.study-task-row > input { flex: none; width: 16px; height: 16px; accent-color: var(--accent); }
.study-task-subject { flex: none; max-width: 96px; overflow: hidden; color: color-mix(in srgb, var(--subject-color) 76%, #27333c); font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.study-task-text { flex: 1; min-width: 0; overflow-wrap: anywhere; font-size: 13px; }
.study-task-row button, .fitness-activity > button { flex: none; border: 0; background: transparent; color: #9ca7ac; font-size: 18px; cursor: pointer; }
.study-task-row button:hover, .fitness-activity > button:hover { color: #a45d5b; }
.study-review-label { display: block; margin: 27px 0 9px; font-size: 13px; font-weight: 800; }
.feature-card textarea { display: block; width: 100%; min-height: 125px; padding: 12px; border: 1px solid #e0e7e7; border-radius: 10px; background: #fff; color: #303a42; font: inherit; font-size: 13px; line-height: 1.5; resize: vertical; }
.study-summary-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.study-summary-fields label { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 6px; color: #65717a; font-size: 12px; }
.study-summary-fields input { grid-column: 1 / -1; width: 100%; padding: 11px; border: 1px solid #e1e7e8; border-radius: 10px; color: #26323a; font: inherit; font-size: 17px; font-weight: 800; }
.study-summary-fields small { grid-row: 1; grid-column: 2; font-size: 10px; }
.study-summary-stats { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 15px; margin-top: 17px; padding-top: 15px; border-top: 1px solid #e9eeee; }
.study-summary-stats strong { font-size: 19px; }
.study-summary-stats span { color: #8c979e; font-size: 11px; }
.pomodoro-card { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; }
.pomodoro-card h2 { margin: 4px 0; font-size: 16px; }
.pomodoro-card p:last-child { margin: 0; color: #8d989e; font-size: 11px; }
#pomodoroClock { font-size: 34px; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.pomodoro-actions { display: flex; width: 100%; gap: 8px; }
.pomodoro-actions button { flex: 1; padding: 10px 12px; border: 1px solid #dfe6e6; border-radius: 10px; background: #fff; color: #35414a; font-weight: 700; cursor: pointer; }
.pomodoro-actions button:first-child { border-color: #27333c; background: #27333c; color: #fff; }
.study-time-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.study-time-head h2 { margin: 3px 0 0; font-size: 16px; }
.study-time-head select { max-width: 130px; }
.study-timeline-card > p { margin: 11px 0 17px; color: #8e9aa0; font-size: 11px; }
.study-time-table { border-top: 1px solid #dce4e5; }
.study-time-row { display: grid; grid-template-columns: 55px 1fr; min-height: 27px; border-bottom: 1px solid #dce4e5; }
.study-time-row > span { align-self: center; color: #859198; font-size: 10px; text-align: center; }
.study-time-row > div { display: grid; grid-template-columns: repeat(6, 1fr); }
.study-time-cell { min-width: 0; border: 0; border-left: 1px solid #dce4e5; border-radius: 0; background: transparent; cursor: pointer; }
.study-time-cell:hover { background: #eaf1f3; }
.study-time-cell.filled { background: color-mix(in srgb, var(--slot-color) 68%, #fff); }
.fitness-grid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 20px; align-items: start; }
.fitness-form { margin: 22px 0 18px; }
.fitness-form input[name="minutes"] { width: 95px; }
.fitness-activity-list { border-top: 1px solid #e7ecec; }
.fitness-activity { display: flex; align-items: center; gap: 12px; min-height: 62px; border-bottom: 1px solid #e7ecec; }
.fitness-activity > input { width: 18px; height: 18px; accent-color: var(--accent); }
.fitness-activity > div { display: flex; flex: 1; flex-direction: column; gap: 3px; }
.fitness-activity strong { font-size: 13px; }
.fitness-activity span { color: #929da3; font-size: 11px; }
.fitness-summary > strong { display: block; margin: 15px 0 4px; font-size: 43px; letter-spacing: -.06em; }
.fitness-summary > strong small { margin-left: 4px; font-size: 14px; font-weight: 600; letter-spacing: 0; }
.fitness-summary > span { color: #8d989e; font-size: 12px; }
.fitness-progress-track { height: 8px; margin-top: 18px; overflow: hidden; border-radius: 99px; background: #e9eeee; }
.fitness-progress-track span { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
html[data-mode="dark"] .daily-feature-view, html[data-mode="dark"] .feature-head h1 { color: var(--text, #fff); }
html[data-mode="dark"] .feature-card, html[data-mode="dark"] .feature-date-nav { background: #283139; border-color: #4e5960; }
html[data-mode="dark"] .feature-date-nav .feature-date-trigger, html[data-mode="dark"] .feature-card h2, html[data-mode="dark"] .feature-card h3 { color: #e8ecee; }
html[data-mode="dark"] .feature-date-popover { background: #303b44; border-color: #56616a; }
html[data-mode="dark"] .feature-date-nav .feature-picker-day { color: #e8ecee; }
html[data-mode="dark"] .feature-date-nav .feature-picker-day.selected { color: #fff; }
@media (max-width: 900px) { .study-grid, .fitness-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .feature-head { align-items: start; flex-direction: column; } .feature-head h1 { font-size: 27px; } .feature-card { padding: 17px; } .study-task-form, .fitness-form { flex-wrap: wrap; } .study-task-form input, .fitness-form input[name="name"] { flex-basis: calc(100% - 130px); } }
@media (max-width: 800px) { .bottom-nav { justify-content: space-around; gap: 0; } .bottom-nav button { width: calc(100% / 5); min-width: 0; } }

.study-paper-top { display: flex; align-items: end; justify-content: space-between; gap: 16px; max-width: 760px; margin: 0 auto 20px; }
.study-paper-top h1 { margin: 3px 0 0; font-size: 27px; letter-spacing: -.045em; }
.study-paper { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; max-width: 760px; margin: 0 auto; padding: 26px 26px 32px; background: #fff; color: #5a646b; font-size: 12px; }
.study-paper-left, .study-paper-right { min-width: 0; }
.paper-date-heading { display: flex; align-items: center; justify-content: space-around; gap: 3px; height: 37px; border-bottom: 1.5px solid #9aa4aa; color: #69737a; white-space: nowrap; }
.paper-date-heading strong { color: #566068; font-size: 12px; font-weight: 650; }
.paper-plan-heading { display: grid; grid-template-columns: 28% minmax(0, 1fr) 29px; align-items: end; height: 93px; padding: 0 4px 7px; border-bottom: 1.5px solid #9aa4aa; color: #69737a; }
.paper-plan-heading span:last-child { text-align: center; }
.paper-task-row { display: grid; grid-template-columns: 28% minmax(0, 1fr) 18px 22px; align-items: center; min-height: 28px; border-bottom: 1px solid #b7c0c4; }
.paper-task-row select, .paper-task-text { width: 100%; min-width: 0; height: 27px; padding: 2px 4px; border: 0; border-radius: 0; outline: none; background: transparent; color: #3f4b53; font: inherit; font-size: 11px; }
.paper-task-row select { appearance: none; border-right: 1px solid #b7c0c4; cursor: pointer; }
.paper-task-row.has-subject select { color: var(--paper-subject-color); background: color-mix(in srgb, var(--paper-subject-color) 12%, white); font-weight: 650; }
.paper-task-row input[readonly] { cursor: default; }
.paper-task-row select:focus, .paper-task-text:focus { background: #f4f8f9; }
.paper-task-remove { width: 18px; height: 20px; padding: 0; border: 0; background: transparent; color: #9ca7ae; font-size: 14px; cursor: pointer; opacity: 0; }
.paper-task-row:hover .paper-task-remove, .paper-task-remove:focus-visible { opacity: 1; }
.paper-task-remove[hidden] { display: none; }
.paper-task-row input[type="checkbox"] { width: 13px; height: 13px; margin: 0 auto; accent-color: var(--accent); cursor: pointer; }
.paper-task-row input[type="checkbox"]:disabled { cursor: default; opacity: 1; }
.paper-review-heading { display: block; margin-top: 14px; padding: 0 8px 8px; border-bottom: 1.5px solid #9aa4aa; color: #69737a; }
#studyReview { display: block; width: 100%; min-height: 112px; padding: 10px 8px; border: 0; border-bottom: 1.5px solid #9aa4aa; border-radius: 0; outline: none; background: transparent; color: #3f4b53; font: inherit; font-size: 12px; line-height: 1.5; resize: vertical; }
.paper-time-heading { display: flex; align-items: center; height: 37px; padding-left: 8px; border-bottom: 1.5px solid #9aa4aa; color: #69737a; }
.paper-time-summary { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 10px; min-height: 93px; padding: 10px 12px 8px; border-bottom: 1.5px solid #9aa4aa; }
.paper-time-summary > div { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; align-items: center; }
.paper-time-summary > div > span { grid-column: 1 / -1; color: #69737a; }
.paper-time-summary label { white-space: nowrap; color: #8c969d; font-size: 10px; }
.paper-time-summary input { width: calc(100% - 15px); min-width: 25px; padding: 4px 2px; border: 0; border-bottom: 1px solid #aeb8bd; border-radius: 0; outline: none; background: transparent; color: #3f4b53; font: inherit; font-size: 13px; text-align: center; }
.paper-tracker-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 29px; padding: 3px 7px; border-bottom: 1.5px solid #9aa4aa; color: #69737a; }
.paper-tracker-heading select { max-width: 100px; padding: 3px 5px; border: 0; background: transparent; color: #5e6a72; font: inherit; font-size: 10px; text-align: right; }
.paper-time-row { display: grid; grid-template-columns: 39px minmax(0, 1fr); min-height: 27px; border-bottom: 1px solid #b7c0c4; }
.paper-time-row > span { align-self: center; padding-right: 9px; color: #748087; text-align: right; }
.paper-time-row > div { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.paper-time-cell { min-width: 0; padding: 0; border: 0; border-left: 1px solid #b7c0c4; border-radius: 0; background: transparent; cursor: pointer; }
.paper-time-rows { touch-action: none; user-select: none; }
.paper-time-cell:hover { background: #e9f0f1; }
.paper-time-cell.filled { background: color-mix(in srgb, var(--slot-color) 65%, #fff); }
.category-study-toggle { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; font-size: 12px; }
.manage-form .category-study-toggle, .manage-edit-form .category-study-toggle { display: inline-flex; flex: 0 0 auto; align-items: center; min-width: 0; gap: 6px; }
.manage-form .category-study-toggle input[type="checkbox"], .manage-edit-form .category-study-toggle input[type="checkbox"] { flex: none; width: 16px; min-width: 16px; height: 16px; min-height: 16px; margin: 0; padding: 0; accent-color: var(--accent); }
.study-paper-tools { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; max-width: 708px; margin: 20px auto 40px; }
.study-paper-tools > section { min-width: 0; padding: 17px 20px; border: 1px solid #e3e9e9; border-radius: 12px; background: #fff; }
.study-paper-tools h2 { margin: 1px 0 4px; color: #29343c; font-size: 15px; }
.study-paper-tools p { margin: 0 0 11px; color: #8c979e; font-size: 11px; }
.paper-tool-subjects .study-subjects { margin-bottom: 8px; }
.paper-tool-timer { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; }
.paper-tool-timer #pomodoroClock { font-size: 28px; }
.paper-tool-timer .pomodoro-actions, .paper-tool-stats { grid-column: 1 / -1; }
.paper-tool-stats { color: #89949b; font-size: 11px; }
html[data-mode="dark"] .study-paper, html[data-mode="dark"] .study-paper-tools > section { background: #283139; color: #d8e0e4; }
html[data-mode="dark"] .paper-task-row select, html[data-mode="dark"] .paper-task-text, html[data-mode="dark"] #studyReview, html[data-mode="dark"] .paper-time-summary input { color: #e8ecee; }
@media (max-width: 700px) { .study-paper { gap: 13px; padding: 15px 8px 24px; } .paper-plan-heading { grid-template-columns: 31% minmax(0,1fr) 24px; } .paper-task-row { grid-template-columns: 31% minmax(0,1fr) 13px 19px; } .paper-task-remove { width: 13px; } .paper-time-row { grid-template-columns: 27px minmax(0,1fr); } .paper-time-summary { gap: 4px; padding: 8px 2px; } .study-paper-tools { margin: 18px 8px 40px; gap: 12px; } }
@media (max-width: 460px) { .study-paper-top { align-items: start; flex-direction: column; } .study-paper-top h1 { font-size: 23px; } .study-paper { font-size: 10px; } .paper-date-heading { font-size: 9px; } .paper-date-heading strong { font-size: 9px; } .paper-task-row select, .paper-task-text { font-size: 10px; } .paper-time-summary input { font-size: 11px; } .study-paper-tools { grid-template-columns: 1fr; } }
.routine-view { width: min(100%, 920px); margin: 0 auto 42px; }
.routine-page-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 27px; }
.routine-page-head h1 { margin: 4px 0 6px; color: #273038; font-size: 30px; letter-spacing: -.045em; }
.routine-page-head p:last-child { margin: 0; color: #8c969c; font-size: 13px; }
.routine-page-head button, .routine-empty-state button { padding: 10px 14px; border: 1px solid #dfe5e2; border-radius: 10px; background: #fff; color: #38444b; font: inherit; font-size: 12px; font-weight: 700; white-space: nowrap; cursor: pointer; }
.routine-page-head button:hover, .routine-empty-state button:hover { border-color: var(--accent); color: var(--accent); }
.routine-category { margin-bottom: 22px; }
.routine-category-heading { display: flex; align-items: center; gap: 9px; margin-bottom: 11px; }
.routine-category-heading > span { width: 11px; height: 11px; border-radius: 4px; background: var(--routine-color); }
.routine-category-heading h2 { margin: 0; color: #344049; font-size: 16px; }
.routine-category-heading small { margin-left: 4px; color: #9aa4a9; font-size: 11px; }
.routine-garden-card { margin-bottom: 10px; padding: 18px 20px; border: 1px solid #e4e9e6; border-radius: 15px; background: #fff; box-shadow: 0 7px 24px #24313c08; }
.routine-garden-card-head { display: flex; justify-content: space-between; align-items: start; gap: 15px; margin-bottom: 18px; }
.routine-garden-card-head h3 { margin: 0 0 4px; color: #2d373e; font-size: 14px; }
.routine-garden-card-head p { margin: 0; color: #98a2a7; font-size: 11px; }
.routine-garden-card-head > span { color: #7e898f; font-size: 11px; white-space: nowrap; }
.routine-garden-card-actions { display: flex; align-items: center; gap: 9px; }
.routine-garden-card-actions button { padding: 6px 9px; border: 1px solid #e0e6e4; border-radius: 8px; background: #fff; color: #66737b; font: inherit; font-size: 10px; font-weight: 750; cursor: pointer; }
.routine-garden-card-actions button:hover { border-color: var(--routine-color); color: var(--routine-color); }
.routine-garden-card-actions span { color: #7e898f; font-size: 11px; white-space: nowrap; }
.routine-photo-recap { margin-bottom: 22px; padding: 18px 20px; border: 1px solid #e4e9e6; border-radius: 16px; background: #fff; }
.routine-photo-recap-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.routine-photo-recap-head .small-label { margin: 0 0 4px; }
.routine-photo-recap-head h2 { margin: 0; color: #2d373e; font-size: 18px; }
.routine-photo-recap-head > span { color: #879198; font-size: 11px; }
.routine-photo-recap-grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 8px; }
.routine-photo-recap-grid > p { grid-column: 1/-1; margin: 0; padding: 18px; border: 1px dashed #dfe6e2; border-radius: 11px; color: #939da3; font-size: 12px; text-align: center; }
.routine-photo-recap-grid button { position: relative; aspect-ratio: 1; padding: 0; overflow: hidden; border: 0; border-radius: 11px; background: #edf1f1; cursor: zoom-in; }
.routine-photo-recap-grid img { width: 100%; height: 100%; object-fit: cover; }
.routine-photo-recap-grid small { position: absolute; right: 5px; bottom: 5px; padding: 3px 6px; border-radius: 99px; background: #17212bc9; color: #fff; font-size: 8px; }
.routine-photo-prompt { position: fixed; z-index: 180; right: 18px; bottom: 88px; display: flex; align-items: center; gap: 14px; width: min(390px,calc(100vw - 32px)); padding: 15px; border: 1px solid color-mix(in srgb,var(--accent) 35%,#dfe5e4); border-radius: 16px; background: #fff; box-shadow: 0 18px 50px #26343e26; }
.routine-photo-prompt[hidden] { display: none; }
.routine-photo-prompt > span { display: grid; width: 38px; height: 38px; flex: none; place-items: center; border-radius: 12px; background: color-mix(in srgb,var(--accent) 14%,#fff); font-size: 20px; }
.routine-photo-prompt div { min-width: 0; flex: 1; }
.routine-photo-prompt strong,.routine-photo-prompt small { display: block; }
.routine-photo-prompt strong { color: #2d373e; font-size: 13px; }
.routine-photo-prompt small { margin-top: 3px; color: #879198; font-size: 10px; }
.routine-photo-prompt button { padding: 7px 10px; border: 0; border-radius: 9px; background: var(--accent); color: #fff; font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }
.routine-photo-prompt button:last-child { background: transparent; color: #7c878e; }
html[data-mode="dark"] .routine-photo-recap,html[data-mode="dark"] .routine-photo-prompt { border-color: #43515a; background: #252e35; }
html[data-mode="dark"] .routine-photo-recap-head h2,html[data-mode="dark"] .routine-photo-prompt strong { color: #f3f6f8; }
@media (max-width:600px) { .routine-photo-recap-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .routine-photo-prompt { right: 16px; bottom: 78px; } }
.personal-admin-link{display:flex;align-items:center;gap:12px;margin:22px 0;padding:16px 18px;border:1px solid color-mix(in srgb,var(--accent) 28%,#e1e7e5);border-radius:15px;background:color-mix(in srgb,var(--accent) 6%,#fff);color:#34424a;text-decoration:none}.personal-admin-link[hidden]{display:none}.personal-admin-link>span:first-child{display:grid;width:35px;height:35px;place-items:center;border-radius:11px;background:var(--accent);color:#fff}.personal-admin-link>span:nth-child(2){display:grid;gap:2px;flex:1}.personal-admin-link strong{font-size:13px}.personal-admin-link small{color:#859097;font-size:10px}.personal-admin-link b{font-size:20px}.admin-view{width:min(100%,1080px);margin:0 auto 50px}.admin-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:25px}.admin-head>button{padding:9px 12px;border:1px solid var(--line,#e1e6e6);border-radius:10px;background:var(--surface,#fff);color:var(--text,#344049);font:inherit;font-size:11px;font-weight:750;cursor:pointer}.admin-head>div{flex:1}.admin-head .small-label{margin:0 0 5px}.admin-head h1{margin:0;color:var(--text,#273038);font-size:30px;letter-spacing:-.04em}.admin-head p:last-child{margin:6px 0 0;color:#859097;font-size:12px}.admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.admin-kpis article{display:grid;gap:6px;padding:18px;border:1px solid var(--line,#e2e7e7);border-radius:16px;background:var(--surface,#fff)}.admin-kpis span,.admin-kpis small{color:#859097;font-size:10px}.admin-kpis strong{color:var(--text,#273038);font-size:27px}.admin-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:18px}.admin-panel{padding:19px;border:1px solid var(--line,#e2e7e7);border-radius:18px;background:var(--surface,#fff)}.admin-panel>header{display:flex;align-items:end;justify-content:space-between;gap:12px;padding-bottom:15px;border-bottom:1px solid var(--line,#edf0f0)}.admin-panel header .small-label{margin:0 0 4px}.admin-panel h2{margin:0;color:var(--text,#273038);font-size:19px}.admin-panel>header>span{color:#879198;font-size:10px}.admin-report{padding:15px 0;border-bottom:1px solid var(--line,#edf0f0)}.admin-report:last-child{border:0}.admin-report>div{display:flex;justify-content:space-between;gap:10px}.admin-report-reason{padding:4px 7px;border-radius:99px;background:#fff0ed;color:#a94d45;font-size:9px;font-weight:800;text-transform:uppercase}.admin-report time,.admin-report small{color:#8b969d;font-size:9px}.admin-report p{margin:11px 0 7px;font-size:12px;line-height:1.45}.admin-report footer{display:flex;gap:6px;margin-top:12px}.admin-report button{padding:6px 9px;border:0;border-radius:8px;background:#edf1f2;color:#45525a;font:inherit;font-size:9px;font-weight:750;cursor:pointer}.admin-report button.danger{background:#a74747;color:#fff}.admin-users article{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line,#edf0f0)}.admin-users article:last-child{border:0}.admin-user-avatar{display:grid;width:35px;height:35px;flex:none;place-items:center;border-radius:50%;background:#edf2f2;color:#516069;font-size:12px;font-weight:800}.admin-users article>div{display:grid;gap:2px;min-width:0;flex:1}.admin-users strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.admin-users small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8b969d;font-size:9px}.admin-users dl{display:flex;gap:10px;margin:0}.admin-users dl div{display:grid;text-align:center}.admin-users dt{color:#939da2;font-size:8px}.admin-users dd{margin:0;font-size:11px;font-weight:800}.admin-empty,.admin-loading,.admin-denied{padding:32px 15px;color:#879198;text-align:center;font-size:12px}.admin-denied{border:1px solid var(--line,#e1e6e6);border-radius:16px;background:var(--surface,#fff)}.admin-denied strong{color:var(--text,#273038);font-size:15px}.admin-denied button{padding:8px 11px;border:0;border-radius:9px;background:var(--accent);color:#fff;font:inherit;font-weight:750}@media(max-width:760px){.admin-head{flex-wrap:wrap}.admin-head>div{order:-1;flex-basis:100%}.admin-kpis{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.admin-view{padding-bottom:30px}}@media(max-width:420px){.admin-kpis{grid-template-columns:1fr 1fr}.admin-kpis article{padding:14px}.admin-kpis strong{font-size:23px}}
.admin-tabs{display:flex;gap:6px;margin-bottom:18px;padding:5px;border:1px solid var(--line,#e2e7e7);border-radius:14px;background:var(--surface,#fff)}.admin-tabs button{flex:1;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:#768289;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.admin-tabs button.active{background:var(--accent);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 25%,transparent)}.admin-tabs b{display:inline-grid;min-width:17px;height:17px;margin-left:4px;place-items:center;border-radius:99px;background:#fff;color:#a34545;font-size:8px}.admin-usage>div{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding-top:17px}.admin-usage article{display:grid;gap:8px}.admin-usage article>div{display:flex;justify-content:space-between;gap:10px}.admin-usage strong{font-size:11px}.admin-usage span{color:#7d8990;font-size:10px}.admin-usage i,.admin-rate i{display:block;height:7px;overflow:hidden;border-radius:99px;background:#e8edec}.admin-usage i b,.admin-rate i b{display:block;height:100%;border-radius:inherit;background:var(--accent)}.admin-monthly>header{align-items:center}.admin-chart-legend{display:flex;gap:10px;color:#7f8a91;font-size:9px}.admin-chart-legend span::before{content:'';display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:2px;background:var(--accent)}.admin-chart-legend span:nth-child(2)::before{background:#d99a60}.admin-chart-legend span:nth-child(3)::before{background:#8297c4}.admin-chart-legend span:nth-child(4)::before{background:#b58bad}.admin-month-chart{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;padding-top:20px}.admin-month-chart>article{min-width:0;text-align:center}.admin-month-chart>article>strong{display:block;margin-bottom:8px;color:#5d6970;font-size:10px}.admin-month-bars{display:flex;align-items:end;justify-content:center;gap:4px;height:180px;padding:8px 4px;border-bottom:1px solid var(--line,#dfe5e5)}.admin-month-bars>span{display:flex;flex-direction:column;justify-content:flex-end;width:16%;height:100%;color:#79868d;font-size:8px}.admin-month-bars i{display:block;min-height:3px;border-radius:4px 4px 1px 1px;background:var(--accent)}.admin-month-bars span:nth-child(2) i{background:#d99a60}.admin-month-bars span:nth-child(3) i{background:#8297c4}.admin-month-bars span:nth-child(4) i{background:#b58bad}.admin-month-bars small{margin-top:4px;font-size:8px}.admin-month-chart footer{display:flex;justify-content:center;gap:6px;margin-top:7px;color:#8a959b;font-size:8px}.admin-table-scroll{overflow:auto;padding-top:8px}.admin-user-dashboard table{width:100%;border-collapse:collapse;white-space:nowrap}.admin-user-dashboard th,.admin-user-dashboard td{padding:11px 9px;border-bottom:1px solid var(--line,#edf0f0);font-size:10px;text-align:center}.admin-user-dashboard th{color:#879198;font-size:9px}.admin-user-dashboard th:first-child,.admin-user-dashboard td:first-child{text-align:left}.admin-user-dashboard td:first-child{display:flex;align-items:center;gap:9px;min-width:210px}.admin-user-dashboard td:first-child>span:last-child{display:grid;gap:2px}.admin-user-dashboard td strong{font-size:11px}.admin-user-dashboard td small{color:#929ca2;font-size:8px}.admin-rate{display:flex;align-items:center;gap:6px}.admin-rate i{width:52px;height:5px}@media(max-width:680px){.admin-tabs{overflow:auto}.admin-tabs button{min-width:110px}.admin-usage>div{grid-template-columns:1fr}.admin-month-chart{gap:5px}.admin-month-bars{height:130px}.admin-chart-legend{display:grid;grid-template-columns:1fr 1fr}.admin-month-chart footer{display:grid}.admin-panel{padding:15px}}
.admin-user-dashboard td:first-child{display:table-cell}.admin-user-open{display:flex;align-items:center;gap:9px;width:100%;padding:0;border:0;background:transparent;color:var(--text,#273038);font:inherit;text-align:left;cursor:pointer}.admin-user-open>span:last-child{display:grid;gap:2px}.admin-user-open:hover strong{color:var(--accent)}.admin-user-dialog{box-sizing:border-box;width:min(680px,calc(100vw - 28px));max-height:85vh;margin:auto;padding:22px;overflow:auto;border:1px solid var(--line,#dce3e6);border-radius:20px;background:var(--surface,#fff);color:var(--text,#273038);box-shadow:0 24px 70px #1b293244}.admin-user-dialog::backdrop{background:#1a263355}.admin-user-dialog-head{display:flex;align-items:start;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line,#e9edee)}.admin-user-dialog-head .small-label{margin:0 0 4px}.admin-user-dialog-head h2{margin:0;font-size:22px}.admin-user-dialog-head>button{width:32px;height:32px;border:1px solid var(--line,#e1e6e8);border-radius:50%;background:transparent;color:inherit;font-size:20px;cursor:pointer}.admin-user-identity{display:flex;align-items:center;gap:11px;padding:18px 0}.admin-user-identity>div{display:grid;gap:3px}.admin-user-identity small{color:#879198;font-size:10px}.admin-user-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.admin-user-detail-stats article{display:grid;gap:5px;padding:12px;border:1px solid var(--line,#e4e9e9);border-radius:12px}.admin-user-detail-stats span{color:#879198;font-size:9px}.admin-user-detail-stats strong{font-size:18px}.admin-user-activity{margin-top:20px}.admin-user-activity h3{margin:0 0 8px;font-size:14px}.admin-user-activity article{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line,#edf0f0)}.admin-user-activity article>span{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:#edf2f2;color:#627079}.admin-user-activity article>div{display:grid;gap:2px;min-width:0}.admin-user-activity article strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.admin-user-activity article small{color:#8c979d;font-size:9px}.admin-announcements{display:grid;grid-template-columns:.85fr 1.15fr;gap:16px}.admin-announcements form{display:grid;align-content:start;gap:13px}.admin-announcements label{display:grid;gap:5px;color:#68757c;font-size:10px;font-weight:700}.admin-announcements input,.admin-announcements textarea{box-sizing:border-box;width:100%;padding:10px 11px;border:1px solid var(--line,#dfe5e5);border-radius:10px;background:var(--surface,#fff);color:var(--text,#273038);font:inherit}.admin-announcements textarea{min-height:115px;resize:vertical}.admin-announcements form>div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.admin-announcements form>button{justify-self:start;padding:9px 14px;border:0;border-radius:9px;background:var(--accent);color:#fff;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.admin-announcements form>span{color:#849098;font-size:10px}.admin-announcement-item{position:relative;padding:14px 70px 14px 0;border-bottom:1px solid var(--line,#edf0f0)}.admin-announcement-item:last-child{border:0}.admin-announcement-item>div{display:flex;align-items:center;gap:7px}.admin-announcement-item>div span{padding:3px 6px;border-radius:99px;background:#e8f4ee;color:#4e806c;font-size:8px;font-weight:800}.admin-announcement-item>div span.inactive{background:#eef0f1;color:#7e898f}.admin-announcement-item p{margin:7px 0;color:var(--text,#273038);font-size:11px;line-height:1.5}.admin-announcement-item small{color:#8a959b;font-size:8px}.admin-announcement-item>button{position:absolute;top:14px;right:0;padding:5px 8px;border:0;border-radius:7px;background:#fff0ef;color:#a64b45;font:inherit;font-size:9px;cursor:pointer}.site-announcement{position:fixed;z-index:90;top:82px;right:18px;display:flex;align-items:flex-start;gap:11px;width:min(410px,calc(100vw - 32px));padding:14px 15px;border:1px solid color-mix(in srgb,var(--accent) 35%,#dfe6e3);border-radius:15px;background:var(--surface,#fff);color:var(--text,#273038);box-shadow:0 15px 45px #25343e24}.site-announcement[hidden]{display:none}.site-announcement>span{display:grid;width:30px;height:30px;flex:none;place-items:center;border-radius:9px;background:var(--accent);color:#fff}.site-announcement>div{min-width:0;flex:1}.site-announcement strong{font-size:12px}.site-announcement p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#758188;font-size:10px;line-height:1.5}.site-announcement>button{padding:0;border:0;background:transparent;color:#879299;font-size:19px;cursor:pointer}@media(max-width:700px){.admin-announcements{grid-template-columns:1fr}.admin-user-detail-stats{grid-template-columns:1fr 1fr}.site-announcement{top:70px;right:16px}.admin-announcements form>div{grid-template-columns:1fr}}
.routine-grass-scroll { width: 100%; overflow: visible; padding-bottom: 4px; }
.routine-grass { display: grid; grid-template-columns: 24px repeat(var(--routine-week-count), minmax(0, 1fr)); gap: 3px; width: 100%; min-width: 0; }
.routine-week, .routine-weekday-labels { min-width: 0; }
.routine-weekday-labels { display: grid; grid-template-rows: repeat(7, 1fr); gap: 2px; margin-top: 19px; color: #8e999f; font-size: 9px; line-height: 1; align-items: center; }
.routine-week { position: relative; }
.routine-month { display: block; position: relative; left: 50%; z-index: 1; width: max-content; height: 19px; color: #737f86; font-size: 9px; white-space: nowrap; transform: translateX(-50%); }
.routine-days { display: grid; grid-template-rows: repeat(7, auto); gap: 2px; }
.routine-cell { position: relative; display: block; width: 100%; height: auto; aspect-ratio: 1; padding: 0; border: 1px solid #cfd6d9; border-radius: 3px; background: #e2e7e9; }
.routine-cell.month-old::after, .routine-cell.month-new::after { content: ''; position: absolute; top: -2px; bottom: -2px; width: 1px; background: #a9b3b9; pointer-events: none; }
.routine-cell.month-old::after { right: -2px; }
.routine-cell.month-new::after { left: -2px; }
.routine-cell.month-first::before { content: ''; position: absolute; z-index: 1; top: -2px; left: -2px; right: -2px; height: 1px; background: #a9b3b9; pointer-events: none; }
.routine-cell.done { border-color: var(--routine-color); background: var(--routine-color); }
.routine-cell.inactive { border-color: transparent; background: #e2e7e9; cursor: default; }
.routine-cell.future { border-color: transparent; background: transparent; pointer-events: none; }
.routine-category-empty { margin: 0; padding: 18px 20px; border: 1px dashed #e0e6e2; border-radius: 13px; color: #9aa4a9; font-size: 12px; }
.routine-legend { display: flex; align-items: center; justify-content: flex-end; gap: 7px; color: #98a2a7; font-size: 11px; }
.routine-legend span { width: 13px; height: 13px; margin-left: 7px; border: 1px solid #d9e0dd; border-radius: 3px; background: #fff; }
.routine-legend .routine-legend-done { border-color: var(--accent); background: var(--accent); }
.routine-legend .routine-legend-inactive { border-color: transparent; background: #edf1f2; }
.routine-empty-state { display: grid; justify-items: center; padding: 70px 20px; border: 1px dashed #dfe6e1; border-radius: 17px; background: #fff; text-align: center; }
.routine-empty-state > span { color: var(--accent); font-size: 38px; }
.routine-empty-state h2 { margin: 8px 0 3px; color: #303a41; font-size: 19px; }
.routine-empty-state p { margin: 0 0 19px; color: #8d989e; font-size: 12px; }
html[data-mode="dark"] .routine-page-head h1, html[data-mode="dark"] .routine-category-heading h2, html[data-mode="dark"] .routine-garden-card-head h3 { color: var(--text, #fff); }
html[data-mode="dark"] .routine-garden-card, html[data-mode="dark"] .routine-empty-state { background: #283139; border-color: #4e5960; }
html[data-mode="dark"] .routine-cell:not(.done):not(.inactive):not(.future) { background: #46515a; border-color: #65717a; }
html[data-mode="dark"] .routine-cell.inactive { background: #46515a; }
html[data-mode="dark"] .routine-cell.month-old::after, html[data-mode="dark"] .routine-cell.month-new::after, html[data-mode="dark"] .routine-cell.month-first::before { background: #82909a; }
@media (max-width: 600px) { .routine-page-head { align-items: start; } .routine-page-head h1 { font-size: 25px; } .routine-garden-card { padding: 15px; } .home-sections { width: 100%; } .home-sections button { flex: 1; min-width: 0; padding-inline: 8px; } .bottom-nav { justify-content: space-around; gap: 0; } .bottom-nav button { width: calc(100% / 5); min-width: 0; } .bottom-nav button svg { width: 21px; height: 21px; } .bottom-nav button small { font-size: 9px; } }
.auth-gate { display: grid; place-items: center; min-height: 100vh; padding: 30px 18px; background: radial-gradient(circle at 15% 15%, color-mix(in srgb, var(--accent) 12%, #fff), transparent 38%), #fafbfa; }
.auth-gate[hidden] { display: none; }
.auth-session-loading { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; background: #fafbfa; }
.auth-session-loading[hidden] { display: none; }
.auth-session-loading > div { display: flex; align-items: center; gap: 10px; color: #29313a; font-size: 22px; letter-spacing: -.04em; }
.auth-session-loading span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: #202329; color: #fff; }
.auth-session-loading i { width: 16px; height: 16px; margin-left: 5px; border: 2px solid #d7dadd; border-top-color: #202329; border-radius: 50%; animation: auth-session-spin .75s linear infinite; }
@keyframes auth-session-spin { to { transform: rotate(360deg); } }
.auth-card { width: min(100%, 420px); padding: 32px; border: 1px solid #e5e8e7; border-radius: 22px; background: #fff; box-shadow: 0 22px 60px #26323d12; }
.auth-brand { display: flex; align-items: center; gap: 9px; color: #29313a; font-size: 21px; letter-spacing: -.04em; }
.auth-brand span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--accent); color: #fff; font-size: 19px; }
.auth-eyebrow { margin: 30px 0 6px; color: var(--accent); font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.auth-card h1 { margin: 0; color: #29313a; font-size: 30px; letter-spacing: -.05em; }
.auth-intro { margin: 8px 0 24px; color: #7f8991; font-size: 13px; line-height: 1.5; }
.google-signin { min-height: 44px; margin-top: 26px; display: flex; justify-content: center; }
.google-signin > div { max-width: 100%; }
.auth-links { display: flex; justify-content: center; gap: 10px; margin: 20px 0 0; color: #98a1a8; font-size: 11px; }
.auth-links a { color: #64717b; text-decoration: underline; text-underline-offset: 2px; }
.personal-policy-links { display: flex; justify-content: center; gap: 10px; margin: 24px 0; color: #98a1a8; font-size: 12px; }
.personal-policy-links a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.auth-error { margin: 0; padding: 10px 12px; border-radius: 9px; background: #fff2f1; color: #a94742; font-size: 12px; }
.auth-error[hidden] { display: none; }
.account-name { color: #6a747d; font-size: 12px; font-weight: 700; }
.logout-button { padding: 7px 10px; border: 1px solid #e2e7e7; border-radius: 8px; background: #fff; color: #56616b; font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; }
.logout-button:hover { border-color: var(--accent); color: var(--accent); }
.sync-error { position: fixed; z-index: 100; right: 15px; bottom: 80px; max-width: 320px; padding: 10px 13px; border: 1px solid #d75b55; border-radius: 10px; background: #fff; color: #a94742; box-shadow: 0 8px 24px #0002; font-size: 12px; }
.sync-error[hidden] { display: none; }
@media (max-width: 600px) { .auth-card { padding: 25px 22px; } .account-name { display: none; } .logout-button { padding: 7px; } }
.global-view { width: min(100%, 920px); margin: 0 auto 40px; color: #273038; }
.global-heading { margin-bottom: 24px; }
.global-heading h1 { margin: 4px 0 7px; color: #273038; font-size: clamp(28px, 4vw, 38px); letter-spacing: -.05em; }
.global-heading p:last-child { margin: 0; color: #8d969f; font-size: 14px; }
.global-search-label { display: block; margin-bottom: 8px; color: #273038; font-weight: 700; font-size: 13px; }
.global-search { width: 100%; min-height: 48px; padding: 0 17px; border: 1px solid var(--line, #dfe3e7); border-radius: 15px; outline: none; background: var(--surface, #fff); color: var(--text, #273038); font: inherit; }
.global-search:focus { border-color: var(--accent, #7d9f91); box-shadow: 0 0 0 3px #7d9f9126; }
.global-results { margin: 12px 0 30px; }
.global-search-section { margin: 30px 0 28px; }
.global-search-section .global-results { margin-bottom: 0; }
.global-lists { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.global-discover-head { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin: 35px 0 16px; }
.global-discover-head h2 { margin: 4px 0; color: #273038; font-size: 25px; letter-spacing: -.04em; }
.global-discover-head p:last-child { margin: 0; color: #8b969f; font-size: 13px; }
.global-discover-head button { flex: none; padding: 9px 14px; border: 1px solid var(--line, #dfe3e7); border-radius: 10px; background: #fff; color: #273038; font-weight: 700; cursor: pointer; }
.global-calendars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.discover-card { min-width: 0; padding: 15px 16px 17px; border: 2px solid color-mix(in srgb, var(--accent) 30%, #fff); border-radius: 18px; background: #fbfeff; }
.discover-card .identity { min-height: 44px; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid #e8edf0; }
.discover-card .identity-avatar { width: 39px; height: 39px; font-size: 14px; }
.discover-card .identity strong { color: #273038; font-size: 15px; }
.discover-card .identity div span { color: #8b969f; font-size: 11px; }
.discover-card .global-follow { margin-left: auto; min-width: 77px; min-height: 34px; border-radius: 10px; font-size: 11px; }
.discover-card .calendar-head { justify-content: flex-start; margin-bottom: 9px; }
.discover-theme-mark { display: grid; place-items: center; width: 26px; height: 26px; margin-right: 2px; border-radius: 8px; background: var(--discover-theme); color: #fff; font-size: 15px; }
.discover-card .weekdays span { padding: 2px 0 5px; font-size: 10px; }
.discover-card .calendar-grid { row-gap: 3px; }
.discover-card.calendar-column .calendar-day, .discover-card.calendar-column .calendar-blank { width: 34px; min-height: 39px; height: 39px; padding: 0; }
.discover-card .day-marks { width: 34px; height: 20px; }
.discover-card .day-mark { width: 19px; height: 19px; font-size: 11px; }
.discover-card .day-number { width: 17px; height: 17px; font-size: 10px; }
.discover-card .calendar-day:hover { background: transparent; }
.discover-person { display: flex; align-items: center; gap: 9px; min-width: 0; margin-bottom: 14px; }
.discover-person > div { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.discover-person strong, .discover-person small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.discover-person strong { color: #273038; font-size: 13px; }
.discover-person small { color: #8b969f; font-size: 10px; }
.discover-person .global-avatar { width: 32px; height: 32px; font-size: 12px; }
.discover-person .global-follow { min-width: 65px; min-height: 28px; padding: 0 7px; border-radius: 8px; font-size: 10px; }
.discover-weekdays, .discover-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; text-align: center; }
.discover-weekdays { margin-bottom: 5px; color: #939ca5; font-size: 10px; }
.discover-day { display: grid; aspect-ratio: 1; place-items: center; border-radius: 6px; background: #f1f3f4; color: #88929b; font-size: 10px; }
.discover-day.done { background: var(--discover-color); color: #fff; font-weight: 800; }
.discover-calendar-link { display: block; cursor: pointer; border-radius: 8px; }
.discover-calendar-link:hover .friend-month-title { color: var(--accent); }
.discover-calendar-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.global-lists section { min-width: 0; padding: 20px; border: 1px solid var(--line, #e4e8e9); border-radius: 18px; background: var(--surface, #fff); }
.global-lists section > div { max-height: 260px; overflow-y: auto; scrollbar-width: thin; }
.task-group[data-group] .group-heading { align-items: center; }
.task-group[data-group] .group-visibility-icon,
.task-group[data-group] .group-pill .group-add { width: 32px; height: 32px; flex: 0 0 32px; }
.task-group[data-group] .group-visibility-icon svg { display: block; width: 17px; height: 17px; }
.task-group[data-group] .group-pill { min-height: 42px; }
.task-group[data-group] .group-pill .group-add { position: relative; font-size: 0; line-height: 0; }
.task-group[data-group] .group-pill .group-add::before,
.task-group[data-group] .group-pill .group-add::after { content: ''; position: absolute; top: 50%; left: 50%; border-radius: 2px; background: currentColor; transform: translate(-50%, -50%); }
.task-group[data-group] .group-pill .group-add::before { width: 14px; height: 2px; }
.task-group[data-group] .group-pill .group-add::after { width: 2px; height: 14px; }
.global-lists h2 { margin: 0 0 13px; color: #273038; font-size: 17px; }
.global-lists h2 span { color: #89949e; font-weight: 500; }
.global-person { display: flex; align-items: center; gap: 11px; min-width: 0; padding: 11px 4px; border-bottom: 1px solid var(--line, #edf0f1); }
.global-person:last-child { border-bottom: 0; }
.global-avatar { display: grid; width: 38px; height: 38px; flex: none; place-items: center; border-radius: 50%; background: #e9eef1; color: #34424c; font-weight: 800; }
.global-person-copy { display: flex; flex: 1; flex-direction: column; min-width: 0; gap: 2px; }
.global-name-button { display: block; max-width: 100%; padding: 0; border: 0; background: transparent; color: #273038; font: inherit; font-size: 13px; font-weight: 800; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.global-name-button:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.global-person-copy strong, .global-person-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.global-person-copy small { color: #8b969f; }
.global-follow { flex: none; min-width: 82px; min-height: 34px; padding: 0 11px; border: 1px solid #26313a; border-radius: 11px; background: #26313a; color: #fff; font-weight: 700; cursor: pointer; }
.global-follow.is-following { border-color: var(--line, #dfe3e7); background: transparent; color: #273038; }
.global-follow:hover { opacity: .78; }
.global-follow:disabled { opacity: .5; cursor: wait; }
.global-empty { margin: 15px 2px; color: #8b969f; font-size: 13px; }
html[data-mode="dark"] .global-view, html[data-mode="dark"] .global-heading h1, html[data-mode="dark"] .global-search-label, html[data-mode="dark"] .global-lists h2 { color: #f3f6f8; }
html[data-mode="dark"] .global-lists section, html[data-mode="dark"] .global-search { background: #172132; color: #f3f6f8; }
html[data-mode="dark"] .discover-card, html[data-mode="dark"] .global-discover-head button { background: #172132; color: #f3f6f8; }
html[data-mode="dark"] .global-follow.is-following { color: #f3f6f8; }
html[data-mode="dark"] .global-name-button { color: #f3f6f8; }
html[data-mode="dark"] .global-discover-head h2, html[data-mode="dark"] .discover-person strong { color: #f3f6f8; }
@media (max-width: 880px) { .global-calendars { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .global-calendars { grid-template-columns: 1fr; } }
@media (max-width: 550px) { .discover-card { padding: 15px; } }
@media (max-width: 650px) { .global-lists { grid-template-columns: 1fr; gap: 12px; } .global-lists section { padding: 16px; } }
.calendar-size-actions { display: flex; justify-content: flex-end; margin-top: 8px; }
.calendar-size-actions button { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid var(--line, #dfe4e8); border-radius: 9px; background: #fff; color: #697680; cursor: pointer; }
.calendar-size-actions button:hover { border-color: var(--line, #e2e6e9); background: #f5f7f8; color: #26313a; }
.calendar-size-actions button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.calendar-size-actions svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.shell:has(#homeView.calendar-expanded) { max-width: 1280px; }
.workspace.calendar-expanded { grid-template-columns: minmax(0, 1fr); max-width: 1240px; }
.workspace.calendar-expanded > .calendar-column { min-width: 0; padding: 25px 28px 18px; }
.workspace.calendar-expanded > .todo-column, .workspace.calendar-expanded #homeCategoryFilter { display: none; }
.workspace.calendar-expanded .calendar-head { margin-bottom: 14px; }
.workspace.calendar-expanded .weekdays { border-top: 1px solid var(--line, #e4e8e9); border-left: 1px solid var(--line, #e4e8e9); }
.workspace.calendar-expanded .weekdays span { padding: 10px 4px; border-right: 1px solid var(--line, #e4e8e9); font-size: 12px; font-weight: 700; }
.workspace.calendar-expanded .calendar-grid { gap: 0; text-align: left; border-top: 1px solid var(--line, #e4e8e9); border-left: 1px solid var(--line, #e4e8e9); }
.workspace.calendar-expanded .calendar-column .calendar-day, .workspace.calendar-expanded .calendar-column .calendar-blank { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; width: auto; min-width: 0; min-height: 135px; height: auto; margin: 0; padding: 8px; border: 0; border-right: 1px solid var(--line, #e4e8e9); border-bottom: 1px solid var(--line, #e4e8e9); border-radius: 0; background: transparent; box-shadow: none; color: #273038; text-align: left; }
.workspace.calendar-expanded .calendar-column .calendar-day:hover { background: color-mix(in srgb, var(--accent) 5%, #fff); }
.workspace.calendar-expanded .calendar-column .calendar-day.selected { background: color-mix(in srgb, var(--accent) 7%, #fff); box-shadow: inset 0 0 0 1.5px var(--accent); color: #273038 !important; }
.workspace.calendar-expanded .calendar-column .calendar-day.today:not(.selected) { box-shadow: inset 0 0 0 1px var(--accent); }
.large-calendar-date { display: flex; align-items: center; gap: 5px; min-height: 24px; margin-bottom: 6px; color: #273038; font-size: 13px; font-weight: 800; }
.large-calendar-day.sunday .large-calendar-date { color: #ba4e51; }
.large-calendar-day.saturday .large-calendar-date { color: #276da8; }
.large-calendar-date small { color: #8c969e; font-size: 10px; font-weight: 600; }
.large-calendar-items { display: grid; align-content: start; gap: 3px; width: 100%; }
.large-calendar-task { display: flex; align-items: flex-start; gap: 5px; min-width: 0; padding: 5px 6px; border-radius: 5px; background: color-mix(in srgb, var(--task-color) 15%, #fff); color: #28323a; font-size: 10px; font-weight: 650; line-height: 1.3; overflow-wrap: anywhere; }
.large-calendar-task.done { background: var(--task-color); color: #fff; }
.large-calendar-task-dot { flex: none; width: 5px; height: 5px; margin-top: 4px; border-radius: 50%; background: var(--task-color); }
.large-calendar-task.done .large-calendar-task-dot { background: #fff; }
.large-calendar-task small { font-size: 9px; font-weight: 800; }
html[data-mode="dark"] .large-calendar-task { color: #e8ebed; background: color-mix(in srgb, var(--task-color) 28%, #26313a); }
html[data-mode="dark"] .workspace.calendar-expanded .calendar-column .calendar-day, html[data-mode="dark"] .workspace.calendar-expanded .calendar-column .calendar-day.selected, html[data-mode="dark"] .workspace.calendar-expanded .calendar-column .large-calendar-date { color: #edf1f4 !important; }
html[data-mode="dark"] .large-calendar-task.done { color: #fff; background: var(--task-color); }
html[data-mode="dark"] .calendar-size-actions button { color: #d5dce1; }
html[data-mode="dark"] .calendar-size-actions button:hover { background: #343c45; color: #fff; }
@media (max-width: 760px) { .workspace.calendar-expanded > .calendar-column { padding: 15px 12px; overflow-x: auto; } .workspace.calendar-expanded .weekdays, .workspace.calendar-expanded .calendar-grid { min-width: 735px; } .workspace.calendar-expanded .calendar-column .calendar-day, .workspace.calendar-expanded .calendar-column .calendar-blank { min-height: 125px; padding: 6px; } }
.carryover-card { margin: 18px 0 8px; padding: 14px 15px; border: 1px solid #e8e0ce; border-radius: 13px; background: #fffaf0; color: #303840; }
.carryover-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin-bottom: 7px; }
.carryover-heading strong { font-size: 12px; }
.carryover-heading span { color: #8b8175; font-size: 11px; }
.carryover-item { display: flex; align-items: center; gap: 7px; padding: 7px 0; border-top: 1px solid #eee5d7; }
.carryover-item > span { flex: 1; min-width: 0; overflow-wrap: anywhere; font-size: 12px; }
.carryover-item button { flex: none; padding: 5px 8px; border: 1px solid #d9d4c9; border-radius: 7px; background: #fff; color: #3d474e; font: inherit; font-size: 10px; font-weight: 700; cursor: pointer; }
.carryover-item button[data-carryover-move] { border-color: #29343c; background: #29343c; color: #fff; }
.carryover-item button:hover { opacity: .75; }
.calendar-quick-dialog { box-sizing: border-box; width: min(490px, calc(100vw - 28px)); max-height: min(85vh, 760px); margin: auto; padding: 0; overflow: auto; border: 1px solid #dce3e6; border-radius: 19px; background: #fff; color: #273038; box-shadow: 0 24px 70px #1b293244; }
.calendar-quick-dialog::backdrop { background: #1a263355; }
.quick-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 23px 23px 17px; border-bottom: 1px solid #e9edee; }
.quick-dialog-head .small-label { margin: 0 0 6px; }
.quick-dialog-head h2 { margin: 0 0 5px; font-size: 22px; letter-spacing: -.04em; }
.quick-dialog-head span { color: #8a959d; font-size: 11px; }
.quick-dialog-close { display: grid; place-items: center; flex: none; width: 31px; height: 31px; padding: 0; border: 1px solid #e1e6e8; border-radius: 50%; background: #fff; color: #69747c; font-size: 21px; cursor: pointer; }
.quick-dialog-close:hover { background: #f3f5f6; }
.calendar-quick-dialog > .carryover-card { margin: 17px 23px 0; }
.quick-task-list { padding: 9px 23px; }
.quick-task-row { display: flex; align-items: center; gap: 8px; min-height: 55px; border-bottom: 1px solid #edf0f1; }
.quick-task-row:last-child { border-bottom: 0; }
.quick-task-row label { display: flex; flex: 1; align-items: center; gap: 11px; min-width: 0; cursor: pointer; }
.quick-task-row input[type="checkbox"] { flex: none; width: 17px; height: 17px; margin: 0; accent-color: var(--quick-color); cursor: pointer; }
.quick-task-copy { display: grid; gap: 3px; min-width: 0; }
.quick-task-copy strong { overflow-wrap: anywhere; font-size: 13px; font-weight: 650; }
.quick-task-copy.done strong { text-decoration: line-through; text-decoration-color: #a1abb0; }
.quick-task-copy small { color: #89939a; font-size: 10px; }
.quick-task-row > button { flex: none; padding: 6px 9px; border: 0; border-radius: 7px; background: #f2f5f5; color: #57636b; font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; }
.quick-task-row > button:hover { background: #e6edee; }
.quick-empty { margin: 13px 0; color: #8a959d; font-size: 12px; }
.quick-task-form { display: grid; gap: 11px; padding: 17px 23px 23px; border-top: 1px solid #e9edee; background: #fafbfb; }
.quick-task-form > strong { font-size: 13px; }
.quick-task-form input[name="text"], .quick-task-form select, .quick-task-form input[type="time"], .quick-task-form input[type="date"] { box-sizing: border-box; width: 100%; min-width: 0; min-height: 37px; padding: 8px 10px; border: 1px solid #dce3e5; border-radius: 9px; background: #fff; color: #273038; font: inherit; font-size: 12px; }
.quick-task-form input[type="date"] { appearance: none; color-scheme: light; font-weight: 650; letter-spacing: .01em; }
.quick-task-form input[type="date"]::-webkit-calendar-picker-indicator { width: 16px; height: 16px; margin-left: 5px; opacity: .56; cursor: pointer; }
.quick-task-form input[type="date"]:focus-visible { border-color: #80a9af; outline: 0; box-shadow: 0 0 0 3px rgba(128,169,175,.17); }
.task-group .inline-form .inline-end-date { display: flex; align-items: center; gap: 5px; color: #79838a; font-size: 10px; white-space: nowrap; }
.task-group .inline-form .inline-end-date input { box-sizing: border-box; flex: none; width: 120px; min-height: 30px; padding: 4px 2px; font-size: 11px; }
@media (max-width: 520px) { .task-group .inline-form { flex-wrap: wrap; } .task-group .inline-form > input[name="text"] { flex-basis: 100%; } }
.quick-task-form-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.quick-task-form-options label { display: grid; gap: 5px; color: #69747c; font-size: 10px; font-weight: 700; }
.quick-task-form-options small { color: #a0a9af; font-weight: 500; }
.quick-task-form-actions { display: flex; justify-content: flex-end; gap: 7px; }
.quick-task-form-actions button { min-height: 35px; padding: 7px 12px; border: 1px solid #dce3e5; border-radius: 9px; background: #fff; color: #35414a; font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; }
.quick-task-form-actions button[type="submit"] { border-color: #29343c; background: #29343c; color: #fff; }
.quick-task-form-actions button:hover { opacity: .78; }
html[data-mode="dark"] .calendar-quick-dialog { border-color: #58636b; background: #303941; color: #edf1f3; }
html[data-mode="dark"] .quick-dialog-head, html[data-mode="dark"] .quick-task-row, html[data-mode="dark"] .quick-task-form { border-color: #515d65; }
html[data-mode="dark"] .quick-task-form { background: #28323a; }
html[data-mode="dark"] .quick-dialog-close, html[data-mode="dark"] .quick-task-row > button { background: #414b53; color: #edf1f3; border-color: #58636b; }
@media (max-width: 480px) { .quick-dialog-head, .quick-task-list, .quick-task-form { padding-left: 16px; padding-right: 16px; } .calendar-quick-dialog > .carryover-card { margin-left: 16px; margin-right: 16px; } }

/* Community */
.community-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.9fr); gap:20px; margin:26px 0 32px; align-items:start; }
.global-photo-section { margin:0 0 36px; padding:23px; border:1px solid #e2e7e8; border-radius:19px; background:#fff; box-shadow:0 12px 30px rgba(35,48,60,.035); }
.global-photo-head { display:flex; justify-content:space-between; align-items:start; gap:12px; padding-bottom:18px; }
.global-photo-head h2 { margin:5px 0; color:#26323b; font-size:20px; letter-spacing:-.025em; }
.global-photo-head p:not(.small-label) { margin:0; color:#849098; font-size:12px; }
.global-photo-head > button { width:33px; height:33px; flex:none; border:1px solid #e1e6e8; border-radius:50%; background:#fff; color:#66737b; font-size:19px; cursor:pointer; }
.global-photo-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:14px; }
.global-photo-grid > .global-empty { grid-column:1/-1; }
.global-photo-card { min-width:0; overflow:hidden; border:1px solid #e5ebed; border-radius:13px; background:#fff; }
.global-photo-open { display:block; width:100%; aspect-ratio:1; padding:0; border:0; background:#f1f4f5; cursor:zoom-in; }
.global-photo-open img { display:block; width:100%; height:100%; object-fit:cover; }
.global-photo-meta { display:flex; justify-content:space-between; gap:5px; align-items:center; padding:9px 11px; }
.global-photo-meta .global-name-button { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.global-photo-meta span { flex:none; color:#8b969d; font-size:10px; }
html[data-mode="dark"] .global-photo-section, html[data-mode="dark"] .global-photo-card { background:#252e35; border-color:#43515a; }
html[data-mode="dark"] .global-photo-head h2 { color:#f3f6f8; }
@media (max-width:520px) { .global-photo-section { padding:17px; } .global-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; } }
.community-panel { min-width:0; padding:23px; border:1px solid #e2e7e8; border-radius:19px; background:#fff; box-shadow:0 12px 30px rgba(35,48,60,.035); }
.community-panel-head { display:flex; align-items:start; justify-content:space-between; gap:12px; padding-bottom:17px; border-bottom:1px solid #edf0f0; }
.community-panel-head h2 { margin:5px 0; color:#26323b; font-size:20px; letter-spacing:-.025em; }
.community-panel-head p:not(.small-label) { margin:0; color:#849098; font-size:12px; }
.community-panel-head > button { width:33px; height:33px; flex:none; border:1px solid #e1e6e8; border-radius:50%; background:#fff; color:#66737b; font-size:19px; cursor:pointer; }
.activity-feed { display:grid; gap:12px; margin-top:17px; }
.activity-card, .weekly-goal { padding:17px; border:1px solid #e6ebed; border-radius:14px; background:#fff; }
.activity-card-top { display:flex; align-items:center; gap:10px; }
.community-avatar { display:grid; flex:none; place-items:center; width:34px; height:34px; border-radius:50%; background:#edf2f3; color:#3d5360; font-size:12px; font-weight:800; }
.activity-card-top > div { display:grid; gap:2px; flex:1; }
.activity-card-top strong, .weekly-goal-head strong { color:#29363f; font-size:13px; }
.activity-card-top small, .weekly-goal > small { color:#8a959d; font-size:11px; }
.activity-check { display:grid; place-items:center; width:26px; height:26px; border-radius:8px; background:var(--activity-color); color:#fff; font-size:14px; }
.activity-text { margin:15px 0 11px; color:#303d45; font-size:14px; }
.activity-actions { display:flex; align-items:center; gap:12px; color:#98a2a7; font-size:11px; }
.activity-actions button { border:0; padding:5px 0; background:transparent; color:#7b858b; font:inherit; font-weight:700; cursor:pointer; }
.activity-actions button.active { color:#d05279; }
.activity-comments { display:grid; gap:6px; margin:9px 0 0; padding:11px 0 2px; border-top:1px solid #edf0f0; }
.activity-comments p { margin:0; color:#56626a; font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.activity-comments strong { color:#2e3b44; }
.activity-comment-form { display:flex; gap:7px; margin-top:11px; }
.activity-comment-form input, .challenge-form input, .challenge-form select { box-sizing:border-box; width:100%; min-width:0; height:36px; padding:7px 10px; border:1px solid #dfe6e8; border-radius:9px; background:#fff; color:#2f3a42; font:inherit; font-size:12px; }
.activity-comment-form input { flex:1; }
.activity-comment-form button, .challenge-form > button { flex:none; padding:7px 12px; border:0; border-radius:9px; background:#27343d; color:#fff; font:inherit; font-size:11px; font-weight:750; cursor:pointer; }
.community-empty { margin:18px 0 4px; padding:19px; border:1px dashed #dfe6e8; border-radius:12px; color:#89969e; font-size:12px; text-align:center; line-height:1.5; }
#weeklyChallenges { display:grid; gap:10px; margin-top:17px; }
.weekly-goal-head { display:flex; justify-content:space-between; gap:10px; }
.weekly-goal-head span { color:#7a858d; font-size:11px; }
.weekly-goal > small { display:block; margin-top:3px; }
.weekly-progress { display:grid; gap:13px; margin-top:16px; }
.weekly-person { display:flex; align-items:center; gap:9px; }
.weekly-person > div { flex:1; min-width:0; }
.weekly-person-copy { display:flex; justify-content:space-between; gap:6px; margin-bottom:5px; }
.weekly-person-copy strong, .weekly-person-copy small { font-size:10px; }
.weekly-person-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.weekly-person-copy small { flex:none; color:#89959b; }
.weekly-track { height:6px; overflow:hidden; border-radius:99px; background:#ebf0f0; }
.weekly-track span { display:block; height:100%; border-radius:inherit; background:#80a9af; }
.weekly-invite { margin:15px 0 10px; color:#68767f; font-size:12px; }
.weekly-invite-actions { display:flex; gap:7px; }
.weekly-invite-actions button { padding:8px 11px; border:1px solid #dce4e5; border-radius:8px; background:#fff; color:#33424a; font:inherit; font-size:11px; font-weight:750; cursor:pointer; }
.weekly-invite-actions button:first-child { border-color:#27343d; background:#27343d; color:#fff; }
.challenge-form { display:grid; gap:11px; margin-top:17px; padding-top:17px; border-top:1px solid #edf0f0; }
.challenge-form > strong { color:#303c44; font-size:13px; }
.challenge-form label { display:grid; gap:5px; color:#687680; font-size:11px; font-weight:700; }
.challenge-form fieldset { min-width:0; margin:0; padding:0; border:0; }
.challenge-form legend { margin-bottom:7px; color:#687680; font-size:11px; font-weight:700; }
.challenge-friends { display:grid; gap:6px; max-height:145px; overflow:auto; }
.challenge-friends label { display:flex; align-items:center; gap:8px; padding:6px 9px; border:1px solid #e6ebed; border-radius:9px; color:#34414a; cursor:pointer; }
.challenge-friends input { width:15px; height:15px; padding:0; accent-color:#80a9af; }
.challenge-friends .community-avatar { width:24px; height:24px; font-size:10px; }
.challenge-friends p, .challenge-error { margin:0; color:#8a969d; font-size:11px; }
.challenge-rule { margin:0; color:#8a969d; font-size:11px; line-height:1.45; }
.challenge-error { color:#b74e65; }
.challenge-form > button { justify-self:start; min-height:36px; }
@media (max-width:850px) { .community-layout { grid-template-columns:1fr; } }
@media (max-width:520px) { .community-panel { padding:17px; } }

/* Personal profile */
.friend-strip { display:none !important; }
.header-actions .account-name { display:block; max-width:150px; overflow:hidden; padding:7px 3px; border:0; background:transparent; color:#46545d; font:inherit; font-size:12px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; }
.header-actions .account-name:hover { color:var(--accent); }
.personal-hero { overflow:hidden; margin-bottom:20px; border:1px solid #e0e7e9; border-radius:18px; background:#fff; }
.personal-cover { height:115px; background:radial-gradient(circle at 80% 20%, color-mix(in srgb, var(--accent) 25%, #fff), transparent 34%),linear-gradient(120deg,#e9f1f3,#f7f1ef 55%,#eef0f8); }
.personal-hero-body { display:grid; grid-template-columns:76px minmax(0,1fr) auto; align-items:start; gap:15px; padding:0 23px 23px; }
.personal-avatar { display:grid; place-items:center; width:74px; height:74px; margin-top:-36px; border:4px solid #fff; border-radius:50%; background:#e5eeee; color:#3e5960; font-size:27px; font-weight:800; box-shadow:0 2px 12px #26343d12; }
.personal-hero-main { min-width:0; padding-top:18px; }
.personal-hero-main .small-label { margin:0 0 5px; }
.personal-hero-main h1 { margin:0; color:#28343d; font-size:25px; letter-spacing:-.035em; overflow-wrap:anywhere; }
.personal-hero-main > p:not(.small-label) { margin:4px 0 0; color:#87939b; font-size:12px; }
.personal-logout { margin-top:19px; padding:8px 13px; border:1px solid #dce5e7; border-radius:999px; background:#fff; color:#34414a; font-size:11px; font-weight:750; white-space:nowrap; }
#profileView .personal-connections { display:flex; flex-wrap:wrap; gap:17px; margin-top:18px; }
#profileView .personal-connections button { display:inline-flex; min-height:0; gap:5px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:#596770; }
#profileView .personal-connections button:hover { color:var(--accent); }
#profileView .personal-connections button strong { color:#27343d; font-size:13px; }
#profileView .personal-connections button span { margin:0; color:inherit; font-size:12px; font-weight:500; }
#profileView .profile-stats { margin-bottom:24px; }
html[data-mode="dark"] .personal-hero { border-color:#44535c; background:#253039; }
html[data-mode="dark"] .personal-hero-main h1, html[data-mode="dark"] #profileView .personal-connections button strong { color:#eef3f4; }
html[data-mode="dark"] .personal-avatar { border-color:#253039; }
@media (max-width:600px) { .header-actions .account-name { display:block; max-width:90px; } .personal-hero-body { grid-template-columns:62px minmax(0,1fr); gap:10px; padding:0 16px 20px; } .personal-avatar { width:58px; height:58px; margin-top:-30px; font-size:21px; } .personal-hero-main { padding-top:12px; } .personal-logout { grid-column:2; justify-self:start; margin-top:0; } }

/* Comments on shared calendars */
.friend-task-entry { padding:0 0 10px; border-bottom:1px solid #edf0f1; }
.friend-task-entry + .friend-task-entry { margin-top:4px; }
.friend-task-entry .task-row { min-height:32px; padding-bottom:3px; }
.friend-task-entry .task-text { cursor:default; user-select:text; }
.friend-comment-area { margin-left:28px; }
.friend-comment-toggle { padding:3px 0; border:0; background:transparent; color:#74848d; font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.friend-comment-toggle:hover { color:var(--accent); }
.friend-comment-toggle span { margin-left:3px; }
.friend-comment-thread { display:grid; gap:8px; margin:9px 0 0; padding:11px 13px; border:1px solid #e9edee; border-radius:10px; background:#fafcfc; }
.friend-comment-thread[hidden] { display:none; }
.friend-comment-thread p { margin:0; color:#58676f; font-size:11px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.friend-comment-thread p strong { margin-right:5px; color:#303e46; }
.friend-comment-thread .friend-comment-empty { color:#9ba5aa; }
.friend-comment-form { display:flex; gap:7px; margin-top:2px; }
.friend-comment-form input { box-sizing:border-box; flex:1; min-width:0; height:34px; padding:6px 9px; border:1px solid #dce5e6; border-radius:8px; background:#fff; color:#28363e; font:inherit; font-size:11px; }
.friend-comment-form button { flex:none; padding:6px 10px; border:0; border-radius:8px; background:#293740; color:#fff; font:inherit; font-size:11px; font-weight:750; cursor:pointer; }
.friend-comment-form button:disabled { opacity:.5; cursor:wait; }
.friend-journal-entry .friend-comment-area { margin:17px 0 0; padding-top:12px; border-top:1px solid #edf0f1; }
html[data-mode="dark"] .friend-task-entry, html[data-mode="dark"] .friend-journal-entry .friend-comment-area { border-color:#45535b; }
html[data-mode="dark"] .friend-comment-thread { border-color:#45535b; background:#27333b; }
html[data-mode="dark"] .friend-comment-thread p, html[data-mode="dark"] .friend-comment-thread p strong { color:#e6eef0; }

/* Social profile header */
#profileView { max-width:780px; }
#profileView .personal-hero { overflow:visible; border-radius:0; box-shadow:none; }
#profileView .personal-cover { height:clamp(180px,28vw,245px); border-radius:17px 17px 0 0; background-position:center; background-size:cover; }
#profileView .personal-hero-body { grid-template-columns:142px minmax(0,1fr) auto; grid-template-rows:70px auto; gap:0 16px; padding:0 26px 25px; }
#profileView .personal-avatar { grid-column:1; grid-row:1; width:136px; height:136px; margin-top:-68px; border-width:5px; font-size:39px; }
#profileView .personal-profile-actions { grid-column:3; grid-row:1; align-self:center; margin:0; }
#profileView .personal-hero-main { grid-column:1/-1; grid-row:2; padding:7px 0 0; }
#profileView .personal-hero-main h1 { font-size:25px; }
#profileView .personal-handle { margin-top:3px; color:#71808a; font-size:13px; }
#profileView .personal-bio { max-width:620px; margin-top:15px; color:#334049; font-size:14px; }
#profileView .personal-joined { margin-top:15px; color:#71808a; font-size:12px; }
#profileView .personal-connections { gap:22px; margin-top:13px; }
#profileView .personal-connections button { flex-direction:row; }
#profileView .personal-connections button strong { font-size:14px; }
#profileView .personal-edit, #profileView .personal-logout { min-height:37px; padding:8px 15px; border-color:#ccd7dc; background:#fff; font-size:12px; }
#profileView .personal-edit { border-color:#26343d; background:#26343d; color:#fff; }
html[data-mode="dark"] #profileView .personal-bio { color:#edf2f3; }
html[data-mode="dark"] #profileView .personal-edit, html[data-mode="dark"] #profileView .personal-logout { border-color:#53616a; }
@media(max-width:600px){
  #profileView .personal-cover{height:160px;border-radius:13px 13px 0 0}
  #profileView .personal-hero-body{grid-template-columns:88px minmax(0,1fr);grid-template-rows:48px auto auto;padding:0 16px 20px}
  #profileView .personal-avatar{width:84px;height:84px;margin-top:-42px;border-width:4px;font-size:26px}
  #profileView .personal-profile-actions{grid-column:2;grid-row:1;justify-self:end;align-self:center;flex-wrap:nowrap}
  #profileView .personal-hero-main{grid-column:1/-1;grid-row:2;padding-top:13px}
  #profileView .personal-edit, #profileView .personal-logout{min-height:32px;padding:6px 10px;font-size:10px}
}

/* Public member profile */
.friend-profile-card { width:min(100%,780px); margin:0 auto 34px; overflow:hidden; border:1px solid var(--line); border-radius:17px; background:#fff; }
.friend-profile-cover { height:clamp(180px,28vw,245px); background:radial-gradient(circle at 78% 22%,color-mix(in srgb,var(--accent) 25%,#fff),transparent 35%),linear-gradient(120deg,#e9f1f3,#f7f1ef 55%,#eef0f8); background-position:center; background-size:cover; }
.friend-profile-body { padding:0 26px; }
.friend-profile-top { display:flex; align-items:center; justify-content:space-between; min-height:74px; }
.friend-profile-avatar { display:grid; place-items:center; width:136px; height:136px; margin-top:-68px; border:5px solid #fff; border-radius:50%; background:#e5eeee; color:#3e5960; font-size:39px; font-weight:800; box-shadow:0 2px 12px #26343d12; }
.friend-profile-actions { display:flex; align-items:center; gap:9px; }
.friend-profile-actions .global-block { display:grid; place-items:center; width:37px; height:37px; padding:0; border:1px solid #ccd7dc; border-radius:50%; font-size:18px; }
.friend-profile-actions .global-follow { min-width:102px; border-radius:999px; }
.friend-profile-body h1 { margin:8px 0 0; font-size:25px; letter-spacing:-.035em; }
.friend-profile-handle, .friend-profile-bio, .friend-profile-joined { margin:0; }
.friend-profile-handle { margin-top:3px; color:#71808a; font-size:13px; }
.friend-profile-bio { margin-top:15px; color:#334049; font-size:14px; white-space:pre-wrap; }
.friend-profile-joined { margin-top:15px; color:#71808a; font-size:12px; }
.friend-profile-counts { display:flex; gap:22px; margin-top:13px; color:#596770; font-size:12px; }
.friend-profile-counts strong { color:#27343d; font-size:14px; }
.friend-profile-tabs { display:grid; grid-template-columns:repeat(2,1fr); margin-top:28px; }
.friend-profile-tabs button { position:relative; padding:15px 8px; border:0; background:transparent; color:#65727b; font:inherit; font-size:12px; font-weight:700; text-align:center; cursor:pointer; }
.friend-profile-tabs button.active { color:#27343d; }
.friend-profile-tabs button.active::after { position:absolute; right:15%; bottom:0; left:15%; height:3px; border-radius:99px; background:var(--accent); content:''; }
.friend-calendar-intro { width:min(100%,850px); margin:0 auto 20px; }
.friend-calendar-intro h2 { margin:0; font-size:22px; }
html[data-mode="dark"] .friend-profile-card { border-color:#44535c; background:#253039; }
html[data-mode="dark"] .friend-profile-avatar { border-color:#253039; }
html[data-mode="dark"] .friend-profile-body h1, html[data-mode="dark"] .friend-profile-bio, html[data-mode="dark"] .friend-profile-counts strong, html[data-mode="dark"] .friend-profile-tabs button.active { color:#eef3f4; }
@media(max-width:600px){
 .friend-profile-card{border-radius:13px}.friend-profile-cover{height:160px}.friend-profile-body{padding:0 16px}.friend-profile-top{min-height:50px}.friend-profile-avatar{width:84px;height:84px;margin-top:-42px;border-width:4px;font-size:26px}.friend-profile-actions .global-follow{min-width:84px}.friend-profile-tabs{margin-top:20px}
}
.regional-settings{display:flex;justify-content:space-between;gap:32px;align-items:end;margin:22px 0;padding:22px;border:1px solid color-mix(in srgb,var(--accent) 24%,#dfe4e8);border-radius:18px;background:color-mix(in srgb,var(--cell-light) 94%,var(--accent) 6%)}
.regional-settings h2{margin:4px 0 6px;font-size:20px}.regional-settings p{margin:0;color:#718091;max-width:540px}.regional-settings .small-label{font-size:11px;letter-spacing:.16em;color:var(--accent);font-weight:800}.regional-fields{display:grid;grid-template-columns:minmax(150px,190px) minmax(210px,260px);gap:12px}.regional-fields label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#28343b}.regional-fields select{min-height:44px;border:1px solid #d4dce2;border-radius:12px;background:#fff;color:#111;-webkit-text-fill-color:#111;opacity:1;padding:0 36px 0 12px;font:inherit;font-weight:650}
.calendar-day.holiday .day-number{color:#d94b55;font-weight:800}.large-calendar-holiday{display:block;color:#d94b55;font-size:10px;font-weight:800;line-height:1.2;margin:2px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-holiday{margin:5px 0 0;color:#d94b55;font-size:13px;font-weight:700}
@media(max-width:760px){.regional-settings{align-items:stretch;flex-direction:column}.regional-fields{grid-template-columns:1fr}}
.today-focus-card{display:grid;grid-template-columns:54px minmax(0,1fr) 36px;align-items:center;gap:13px;margin:0 0 20px;padding:15px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--accent) 5%,#fff)}
.focus-progress{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:conic-gradient(var(--accent) var(--focus-progress),#e7ebed 0);position:relative}.focus-progress::after{position:absolute;inset:5px;border-radius:50%;background:#fff;content:''}.focus-progress strong{position:relative;z-index:1;font-size:11px}.today-focus-card>div:nth-child(2){display:grid;gap:3px;min-width:0}.today-focus-card>div:nth-child(2)>span{color:var(--accent);font-size:9px;font-weight:850;letter-spacing:.12em}.today-focus-card>div:nth-child(2)>strong{font-size:16px}.today-focus-card small{overflow:hidden;color:#7e898f;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.today-focus-card>button{width:34px;height:34px;border:0;border-radius:50%;background:var(--accent);color:#fff;font-size:23px;line-height:1;cursor:pointer}
.routine-stats{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:10px;margin:0 0 22px}.routine-stats>div{display:grid;gap:6px;padding:15px;border:1px solid #e3e8e6;border-radius:14px;background:#fff}.routine-stats span{color:#859097;font-size:10px;font-weight:700}.routine-stats strong{color:#2d373e;font-size:20px}.routine-stats i{display:block;height:5px;overflow:hidden;border-radius:99px;background:#e7ece9}.routine-stats i b{display:block;height:100%;border-radius:inherit;background:var(--accent)}
.mobile-quick-add{display:none;position:fixed;z-index:20;right:18px;bottom:86px;width:52px;height:52px;border:0;border-radius:50%;background:var(--accent);color:#fff;font-size:30px;font-weight:300;line-height:1;box-shadow:0 9px 24px color-mix(in srgb,var(--accent) 40%,transparent);cursor:pointer}.quick-add-dialog{width:min(420px,calc(100vw - 28px));padding:0;border:0;border-radius:20px;background:#fff;color:#273038;box-shadow:0 22px 70px #1c29364d}.quick-add-dialog::backdrop{background:#17212b66;backdrop-filter:blur(2px)}.quick-add-head{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid var(--line)}.quick-add-head strong{font-size:18px}.quick-add-head button{width:34px;height:34px;border:0;border-radius:50%;background:var(--soft);font-size:21px}.quick-add-options{display:grid;padding:8px 12px 18px}.quick-add-options button{display:grid;grid-template-columns:44px 1fr;column-gap:12px;width:100%;padding:12px;border:0;border-radius:13px;background:transparent;color:inherit;text-align:left}.quick-add-options button:hover{background:var(--soft)}.quick-add-options button>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--accent);font-size:20px}.quick-add-options strong{align-self:end;font-size:14px}.quick-add-options small{align-self:start;margin-top:3px;color:#849097;font-size:11px}
html[data-mode="dark"] .today-focus-card,html[data-mode="dark"] .routine-stats>div,html[data-mode="dark"] .quick-add-dialog{border-color:#43515a;background:#252e35;color:#f3f6f8}html[data-mode="dark"] .focus-progress::after{background:#252e35}html[data-mode="dark"] .routine-stats strong{color:#f3f6f8}
@media(max-width:650px){.mobile-quick-add{display:block}.routine-stats{grid-template-columns:1fr 1fr}.routine-stats>div:first-child{grid-column:1/-1}.today-focus-card{margin-top:-4px}.quick-add-dialog{position:fixed;inset:auto 0 0;width:100%;max-width:none;margin:0;border-radius:22px 22px 0 0;padding-bottom:max(10px,env(safe-area-inset-bottom))}}
body.auth-locked .mobile-quick-add,body:has(#settingsView:not([hidden])) .mobile-quick-add,body:has(#manageView:not([hidden])) .mobile-quick-add,body:has(#diaryView:not([hidden])) .mobile-quick-add{display:none}
body:has(#notesView:not([hidden])) .mobile-quick-add{display:none}.demo-mode .shell:has(#notesView:not([hidden])){padding-top:48px}
.account-danger{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:20px;border:1px solid #efc6c6;border-radius:16px;background:#fffafa}.account-danger>div{display:grid;gap:5px}.account-danger strong{color:#a93434}.account-danger span{color:#7d858b;font-size:12px}.account-danger button{padding:10px 14px;border:1px solid #d64d4d;border-radius:10px;background:#fff;color:#b72f2f;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.account-danger button:hover{background:#b72f2f;color:#fff}.delete-account-dialog{width:min(470px,calc(100vw - 28px));padding:0;border:0;border-radius:18px;background:#fff;color:#29323a;box-shadow:0 24px 80px #1c253050}.delete-account-dialog::backdrop{background:#17212b70;backdrop-filter:blur(3px)}.delete-account-dialog form{padding:20px}.delete-account-head{display:flex;align-items:center;justify-content:space-between}.delete-account-head strong{font-size:20px}.delete-account-head button{width:34px;height:34px;border:0;border-radius:50%;background:#f1f3f4;font-size:20px}.delete-account-dialog p{color:#6f7b83;font-size:13px;line-height:1.55}.delete-account-dialog label{display:grid;gap:8px;margin-top:18px;color:#47545c;font-size:12px}.delete-account-dialog input{height:44px;padding:0 12px;border:1px solid #d5dcdf;border-radius:10px;font:inherit}.delete-account-dialog input:focus{border-color:#c84141;outline:2px solid #c8414120}.delete-account-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.delete-account-actions button{padding:10px 14px;border:1px solid #d9dfe1;border-radius:10px;background:#fff;font:inherit;font-size:12px;font-weight:750}.delete-account-actions #confirmDeleteAccount{border-color:#bd3535;background:#bd3535;color:#fff}.delete-account-actions #confirmDeleteAccount:disabled{border-color:#e0e3e4;background:#e0e3e4;color:#91999e}.delete-account-error{color:#bd3535!important}.delete-account-error[hidden]{display:none}html[data-mode="dark"] .account-danger,html[data-mode="dark"] .delete-account-dialog{border-color:#744646;background:#252e35;color:#f3f6f8}html[data-mode="dark"] .delete-account-dialog input{border-color:#56616b;background:#1d252c;color:#fff}
@media(max-width:650px){.account-danger{align-items:stretch;flex-direction:column}.account-danger button{width:100%}.delete-account-dialog{position:fixed;inset:auto 0 0;width:100%;max-width:none;margin:0;border-radius:20px 20px 0 0;padding-bottom:max(8px,env(safe-area-inset-bottom))}}
.settings-support{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:20px;border:1px solid #dfe5e7;border-radius:16px;background:#fff}.settings-support>div:first-child{display:grid;gap:5px}.settings-support span{color:#7d858b;font-size:12px}.settings-support>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.settings-support a{padding:9px 12px;border:1px solid #d9e0e3;border-radius:10px;color:#3e4d56;font-size:12px;font-weight:750;text-decoration:none}.settings-support a:hover{border-color:var(--accent);color:var(--accent)}html[data-mode="dark"] .settings-support{border-color:#43515a;background:#252e35}html[data-mode="dark"] .settings-support a{border-color:#56616b;color:#eef2f4}@media(max-width:650px){.settings-support{align-items:stretch;flex-direction:column}.settings-support>div:last-child{display:grid;grid-template-columns:1fr 1fr}.settings-support a{text-align:center}}
@media(max-width:650px){
 .site-search-dialog{inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;box-shadow:none}
 .site-search-dialog::backdrop{background:#fff;backdrop-filter:none}
 .site-search-head{grid-template-columns:40px minmax(0,1fr);min-height:58px;padding:8px 12px}
 .site-search-head svg{display:none}.site-search-head input{grid-column:2;grid-row:1;padding:9px 14px;border-radius:999px;background:var(--soft);font-size:15px}
 .site-search-head button{grid-column:1;grid-row:1;font-size:0;background:transparent}.site-search-head button::before{content:'←';font-size:23px}
 .site-search-results{max-height:calc(100dvh - 58px);padding:6px 10px 24px}.site-search-result{padding:13px 10px;border-radius:0;border-bottom:1px solid var(--line)}
 html[data-mode="dark"] .site-search-dialog::backdrop{background:#252e35}
}
.personal-help-links{display:grid;gap:8px;width:min(100%,760px);margin:28px auto 0}.personal-help-links>a{display:grid;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:14px 16px;border:1px solid #e1e6e8;border-radius:14px;background:#fff;color:#34414a;text-decoration:none}.personal-help-links>a:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 4%,#fff)}.personal-help-links>a>span:first-child{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--soft);color:var(--accent);font-size:20px;font-weight:800}.personal-help-links>a>span:nth-child(2){display:grid;gap:3px}.personal-help-links strong{font-size:13px}.personal-help-links small{color:#818c93;font-size:11px}.personal-help-links b{color:#9aa3a8;font-size:21px}.personal-policy-links{margin-top:15px!important}html[data-mode="dark"] .personal-help-links>a{border-color:#43515a;background:#252e35;color:#f3f6f8}@media(max-width:650px){.personal-help-links{margin-top:22px}.personal-help-links>a{padding:13px}}
.offline-notice{position:fixed;z-index:150;top:0;right:0;left:0;display:flex;align-items:center;justify-content:center;gap:14px;min-height:38px;padding:5px 14px;background:#27313a;color:#fff;font-size:12px}.offline-notice[hidden]{display:none}.offline-notice button{padding:5px 10px;border:1px solid #ffffff70;border-radius:8px;background:transparent;color:#fff;font:inherit;font-weight:750}.offline-mode .topbar{top:38px}.offline-mode main{padding-top:150px}.offline-mode .mobile-quick-add,.offline-mode .group-add,.offline-mode .task-check,.offline-mode .task-actions,.offline-mode #routineManageButton,.offline-mode .diary-save-actions,.offline-mode .inline-form{display:none!important}
.data-export,.app-info{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:20px;border:1px solid #dfe5e7;border-radius:16px;background:#fff}.data-export>div:first-child,.app-info>div:first-child{display:grid;gap:5px}.data-export span,.app-info span{color:#7d858b;font-size:12px}.data-export>div:last-child,.app-info>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.data-export button,.app-info a{padding:9px 12px;border:1px solid #d9e0e3;border-radius:10px;background:#fff;color:#3e4d56;font:inherit;font-size:12px;font-weight:750;text-decoration:none;cursor:pointer}.data-export button:hover,.app-info a:hover{border-color:var(--accent);color:var(--accent)}html[data-mode="dark"] .data-export,html[data-mode="dark"] .app-info{border-color:#43515a;background:#252e35}html[data-mode="dark"] .data-export button,html[data-mode="dark"] .app-info a{border-color:#56616b;background:#303a42;color:#eef2f4}@media(max-width:650px){.offline-notice{justify-content:space-between}.data-export,.app-info{align-items:stretch;flex-direction:column}.data-export>div:last-child{display:grid;grid-template-columns:1fr 1fr}.data-export button{text-align:center}.app-info>div:last-child{justify-content:flex-start}}

/* Social feed */
.social-feed-header{display:flex;align-items:center;justify-content:space-between;padding:4px 0 12px;border-bottom:0}
.social-feed-header h1{margin:3px 0;color:#273038;font-size:clamp(27px,4vw,36px);letter-spacing:-.045em}.social-feed-header>button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--surface,#fff);color:var(--text,#273038);font-size:20px;cursor:pointer}
.feed-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:18px;border-bottom:1px solid var(--line,#e4e8e9)}.feed-tabs button{position:relative;padding:15px;border:0;background:transparent;color:#879199;font:inherit;font-size:13px;font-weight:750;cursor:pointer}.feed-tabs button.active{color:var(--text,#273038)}.feed-tabs button.active:after{content:"";position:absolute;right:25%;bottom:-1px;left:25%;height:3px;border-radius:3px;background:var(--accent,#7d9f91)}
.social-feed-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:22px;align-items:start}.feed-column,.feed-sidebar{min-width:0}.feed-sidebar{display:grid;gap:16px;position:sticky;top:86px}.feed-search-panel{padding:18px}.feed-search-panel .global-results{margin:10px 0 0}.feed-sidebar .global-discover-head{margin:0 0 12px;align-items:center}.feed-sidebar .global-calendars{grid-template-columns:1fr;max-height:520px;overflow-y:auto}.discover-mini{padding:18px}.discover-mini .discover-card{padding:13px}.discover-mini .discover-calendar-link{display:none}
.post-composer{display:flex;gap:12px;padding:17px;margin-bottom:14px;border:1px solid var(--line,#e2e7e8);border-radius:18px;background:var(--surface,#fff)}.post-composer>.community-avatar{width:40px;height:40px}.post-composer>.community-avatar img,.activity-card-top>.community-avatar img,.comment-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.post-composer>div{flex:1;min-width:0}.post-composer textarea{box-sizing:border-box;width:100%;min-height:80px;padding:7px 2px;border:0;outline:0;resize:vertical;background:transparent;color:var(--text,#273038);font:inherit;font-size:16px;line-height:1.5}.post-composer-actions{display:flex;align-items:center;gap:12px;padding-top:11px;border-top:1px solid var(--line,#edf0f0)}.post-composer-actions>span{margin-left:auto;color:#929ba1;font-size:11px}.post-composer-actions>button{padding:8px 18px;border:0;border-radius:999px;background:var(--accent,#7d9f91);color:#fff;font-weight:800;cursor:pointer}.post-composer-actions>button:disabled{opacity:.5}.post-photo-button{color:var(--accent,#668b7d);font-size:12px;font-weight:750;cursor:pointer}.post-image-preview{position:relative;margin:8px 0 11px}.post-image-preview img{display:block;width:100%;max-height:330px;object-fit:cover;border-radius:15px}.post-image-preview button{position:absolute;top:8px;right:8px;width:30px;height:30px;border:0;border-radius:50%;background:#17212bd9;color:#fff;font-size:20px;cursor:pointer}
.social-feed.activity-feed{gap:0;margin:0;border:1px solid var(--line,#e2e7e8);border-radius:18px;overflow:hidden;background:var(--surface,#fff)}.social-feed .activity-card{border:0;border-bottom:1px solid var(--line,#e8ecee);border-radius:0;padding:18px}.social-feed .activity-card:last-child{border-bottom:0}.feed-win{background:color-mix(in srgb,var(--accent,#7d9f91) 4%,var(--surface,#fff))}.activity-card-top .global-name-button{font-size:13px}.post-menu{position:relative}.post-menu summary{padding:4px 6px;list-style:none;color:#7f8a92;cursor:pointer}.post-menu summary::-webkit-details-marker{display:none}.post-menu>div{position:absolute;z-index:5;top:28px;right:0;width:170px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff);box-shadow:0 12px 30px #1c29331f}.post-menu button{display:block;width:100%;padding:9px;border:0;border-radius:8px;background:transparent;color:var(--text,#273038);text-align:left;cursor:pointer}.post-menu button:hover{background:#eef2f3}.feed-post-image{display:block;width:100%;max-height:520px;margin:12px 0;object-fit:cover;border:1px solid var(--line,#e2e7e8);border-radius:16px}.social-feed .activity-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.social-feed .activity-actions{justify-content:space-between;margin-top:10px}.social-feed .activity-actions button{display:flex;align-items:center;gap:4px;min-width:42px;font-size:15px}.social-feed .activity-actions button span{font-size:11px}.social-feed .activity-actions .bookmark.active{color:var(--accent,#7d9f91)}.activity-thread{margin-top:9px;border-top:1px solid var(--line,#edf0f0)}.activity-comments p{display:flex;align-items:flex-start;gap:8px}.comment-avatar{display:grid;width:25px;height:25px;flex:none;place-items:center;border-radius:50%;background:#edf2f3;font-size:9px}.comment-empty{color:#929ba1;font-size:11px}.activity-comment-form input{height:39px;border-radius:999px}.activity-comment-form button{border-radius:999px}.global-photo-section{margin-top:24px}
html[data-mode="dark"] .social-feed-header h1{color:#f3f6f8}html[data-mode="dark"] .post-composer,html[data-mode="dark"] .social-feed.activity-feed,html[data-mode="dark"] .social-feed .activity-card,html[data-mode="dark"] .post-menu>div{background:#172132;color:#f3f6f8}html[data-mode="dark"] .post-menu button{color:#f3f6f8}
@media(max-width:850px){.social-feed-layout{grid-template-columns:1fr}.feed-sidebar{position:static}.discover-mini{display:none}}
@media(max-width:520px){.global-view{width:calc(100% + 32px);margin:-18px -16px 30px}.social-feed-header{padding:10px 16px 12px}.feed-tabs{margin-bottom:0}.post-composer{margin:0;border-width:0 0 1px;border-radius:0;padding:15px 14px}.social-feed.activity-feed{border-width:0 0 1px;border-radius:0}.social-feed .activity-card{padding:16px 14px}.feed-sidebar{padding:0 14px 18px}.feed-search-panel{margin-top:14px}.global-photo-section{margin:16px 14px}.post-photo-button span{display:none}}

#personalAvatar{padding:0;appearance:none;cursor:pointer;overflow:hidden;background-repeat:no-repeat;background-position:center;background-size:cover}.identity-avatar.has-image,.chip-avatar.has-image{color:transparent;background-repeat:no-repeat;background-position:center;background-size:cover}#personalAvatar:hover{filter:brightness(.96)}#personalAvatar:disabled{opacity:.65;cursor:wait}

.personal-social{margin:22px 0;padding:22px;border:1px solid var(--line,#e2e7e8);border-radius:18px;background:var(--surface,#fff)}.personal-social-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.personal-social-head h2{margin:4px 0 0;color:var(--text,#273038);font-size:21px}.personal-social-head nav{display:flex;gap:5px;padding:4px;border-radius:12px;background:#f0f3f3}.personal-social-head nav button{padding:7px 11px;border:0;border-radius:9px;background:transparent;color:#77838a;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.personal-social-head nav button.active{background:#fff;color:#273038;box-shadow:0 1px 5px #25323a14}.personal-social-content{display:grid;gap:11px}.personal-social-post,.moderation-card{padding:15px;border:1px solid var(--line,#e4e9ea);border-radius:14px}.personal-social-post>div:first-child{display:flex;align-items:center;gap:9px}.personal-social-post>div:first-child>span{display:grid;gap:1px}.personal-social-post small,.moderation-card small{color:#8b969c;font-size:10px}.personal-social-post>p,.moderation-card>p{margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.5}.personal-social-post>img{display:block;width:100%;max-height:360px;margin:10px 0;object-fit:cover;border-radius:12px}.personal-social-post footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;color:#8b969c;font-size:11px}.personal-social-post footer button,.moderation-card button{padding:6px 9px;border:0;border-radius:8px;background:#edf1f2;color:#45525a;font:inherit;font-size:10px;font-weight:700;cursor:pointer}.personal-social-post footer button+button{margin-left:4px;color:#a64747}.moderation-card>div:first-child{display:flex;justify-content:space-between}.moderation-card>div:last-child{display:flex;gap:6px;margin-top:12px}.moderation-card button.danger{background:#a74747;color:#fff}.feed-highlight{animation:feed-highlight 2.2s ease}@keyframes feed-highlight{0%,35%{box-shadow:inset 4px 0 var(--accent,#7d9f91);background:color-mix(in srgb,var(--accent,#7d9f91) 12%,var(--surface,#fff))}100%{box-shadow:none}}
html[data-mode="dark"] .personal-social{background:#172132}html[data-mode="dark"] .personal-social-head nav{background:#101827}html[data-mode="dark"] .personal-social-head nav button.active{background:#263342;color:#fff}
@media(max-width:600px){.personal-social{margin:16px 0;padding:15px;border-radius:13px}.personal-social-head{display:block}.personal-social-head nav{margin-top:13px}.personal-social-head nav button{flex:1}.personal-social-post footer{align-items:flex-start;gap:8px}}

.weekly-timetable{max-width:760px;margin:0 auto 22px;padding:20px 20px 22px;border:1px solid var(--line,#e2e7e8);border-radius:17px;background:var(--surface,#fff)}.timetable-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:15px}.timetable-head input{display:block;max-width:230px;margin-top:3px;padding:2px 0;border:0;border-bottom:1px solid transparent;outline:0;background:transparent;color:var(--text,#273038);font:inherit;font-size:20px;font-weight:800;letter-spacing:-.03em}.timetable-head input:focus{border-color:var(--accent)}.timetable-head>button{padding:9px 13px;border:0;border-radius:10px;background:#27343d;color:#fff;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.timetable-grid{display:grid;grid-template-columns:38px repeat(5,minmax(0,1fr));border:1px solid #dfe5e7;border-radius:12px;overflow:hidden}.timetable-hours{display:grid;grid-template-rows:34px 560px;border-right:1px solid #dfe5e7}.timetable-hours>i{border-bottom:1px solid #dfe5e7}.timetable-hours>div{position:relative}.timetable-hours span{position:absolute;right:7px;transform:translateY(-50%);color:#98a1a6;font-size:9px}.timetable-day{min-width:0;border-right:1px solid #e4e9ea}.timetable-day:last-child{border-right:0}.timetable-day>strong{display:grid;height:34px;place-items:center;border-bottom:1px solid #dfe5e7;color:#69757c;font-size:10px}.timetable-day>div{position:relative;height:560px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 39px,#edf0f1 40px)}.timetable-class{position:absolute;z-index:1;right:3px;left:3px;min-height:22px;padding:5px 4px;overflow:hidden;border:0;border-left:3px solid var(--class-color);border-radius:5px;background:color-mix(in srgb,var(--class-color) 18%,#fff);color:color-mix(in srgb,var(--class-color) 72%,#26323a);font:inherit;text-align:left;cursor:pointer}.timetable-class strong,.timetable-class span,.timetable-class small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timetable-class strong{font-size:10px}.timetable-class span,.timetable-class small{font-size:8px}.timetable-form{display:grid;grid-template-columns:1.5fr .7fr .8fr .8fr 1fr 65px;gap:9px;margin-top:15px;padding:14px;border-radius:12px;background:#f5f7f7}.timetable-form label{display:grid;gap:5px;color:#7c878e;font-size:9px;font-weight:700}.timetable-form input,.timetable-form select{box-sizing:border-box;width:100%;min-width:0;height:35px;padding:6px 8px;border:1px solid #dce3e5;border-radius:8px;background:#fff;color:#303b43;font:inherit;font-size:11px}.timetable-form input[type=color]{padding:4px}.timetable-form>div{display:flex;grid-column:1/-1;justify-content:flex-end;gap:7px}.timetable-form button{padding:8px 12px;border:0;border-radius:8px;background:#27343d;color:#fff;font:inherit;font-size:10px;font-weight:700;cursor:pointer}.timetable-form button[data-timetable-cancel]{background:#e6ebec;color:#4c5961}.timetable-form button.danger{margin-right:auto;background:#f5e2e2;color:#a14646}
html[data-mode="dark"] .weekly-timetable{background:#283139}html[data-mode="dark"] .timetable-grid{border-color:#4a555d}html[data-mode="dark"] .timetable-day,html[data-mode="dark"] .timetable-hours{border-color:#4a555d}html[data-mode="dark"] .timetable-day>div{background:repeating-linear-gradient(to bottom,transparent 0,transparent 39px,#3b464e 40px)}html[data-mode="dark"] .timetable-form{background:#202a31}
@media(max-width:600px){.weekly-timetable{margin:0 0 16px;padding:14px 8px}.timetable-head{padding:0 5px}.timetable-head input{max-width:180px;font-size:17px}.timetable-grid{grid-template-columns:27px repeat(5,minmax(0,1fr))}.timetable-hours{grid-template-rows:30px 490px}.timetable-day>strong{height:30px;font-size:9px}.timetable-day>div{height:490px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 34px,#edf0f1 35px)}.timetable-hours span{right:4px;font-size:8px}.timetable-class{right:1px;left:1px;padding:3px 2px;border-left-width:2px}.timetable-class strong{font-size:8px}.timetable-class span,.timetable-class small{font-size:7px}.timetable-form{grid-template-columns:1fr 1fr;padding:10px}.timetable-form label:first-of-type,.timetable-form label:nth-of-type(5){grid-column:1/-1}}

.open-analytics{display:flex;width:100%;align-items:center;justify-content:space-between;gap:15px;margin:12px 0 20px;padding:16px 18px;border:1px solid var(--line,#e2e7e8);border-radius:15px;background:var(--surface,#fff);color:var(--text,#273038);font:inherit;text-align:left;cursor:pointer}.open-analytics>span{display:grid;gap:3px}.open-analytics b{font-size:13px}.open-analytics small{color:#8a959c;font-size:10px}.open-analytics>strong{color:var(--accent,#7d9f91);font-size:11px}.analytics-view{width:min(100%,960px);margin:0 auto 45px}.analytics-head{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:18px;margin-bottom:23px}.analytics-head>button{align-self:start;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface,#fff);color:var(--text);font:inherit;font-size:11px;cursor:pointer}.analytics-head h1{margin:4px 0;color:var(--text,#273038);font-size:34px;letter-spacing:-.05em}.analytics-head p:last-child{margin:0;color:#8a959c;font-size:12px}.analytics-head nav{display:flex;gap:4px;padding:4px;border-radius:11px;background:#edf1f1}.analytics-head nav button{padding:7px 10px;border:0;border-radius:8px;background:transparent;color:#7b878d;font:inherit;font-size:10px;font-weight:750;cursor:pointer}.analytics-head nav button.active{background:#fff;color:#273038;box-shadow:0 1px 5px #26343d15}.analytics-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.analytics-kpis article,.analytics-card{padding:18px;border:1px solid var(--line,#e2e7e8);border-radius:16px;background:var(--surface,#fff)}.analytics-kpis article{display:grid;gap:5px}.analytics-kpis span{color:#7f8b92;font-size:10px}.analytics-kpis strong{color:var(--text,#273038);font-size:24px;letter-spacing:-.04em}.analytics-kpis small{color:#929ca1;font-size:9px}.analytics-kpis small.positive{color:#598d78}.analytics-kpis small.negative{color:#b25b5b}.analytics-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:16px}.analytics-card-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:18px}.analytics-card-head h2{margin:3px 0 0;color:var(--text,#273038);font-size:17px}.analytics-card-head>strong{color:#7c888f;font-size:12px}.analytics-bars{display:flex;height:190px;align-items:stretch;justify-content:space-around;gap:7px;padding-top:10px;border-bottom:1px solid #dfe5e7}.analytics-day{display:grid;grid-template-rows:1fr 18px;flex:1;max-width:34px}.analytics-day>div{position:relative;align-self:stretch}.analytics-day>div span,.analytics-day>div i{position:absolute;right:15%;bottom:0;left:15%;border-radius:4px 4px 0 0}.analytics-day>div span{z-index:0;background:#e8edef}.analytics-day>div i{z-index:1;background:var(--accent,#7d9f91)}.analytics-day small{align-self:end;color:#8d979d;font-size:9px;text-align:center}.analytics-legend{display:flex;justify-content:center;gap:16px;margin-top:12px;color:#8b969c;font-size:9px}.analytics-legend span{display:flex;align-items:center;gap:5px}.analytics-legend i{width:8px;height:8px;border-radius:3px;background:var(--accent)}.analytics-legend span:last-child i{background:#e8edef}.analytics-facts{display:grid;gap:0;margin:0}.analytics-facts>div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line,#edf0f0)}.analytics-facts>div:last-child{border:0}.analytics-facts dt{color:#7f8a91;font-size:11px}.analytics-facts dd{margin:0;color:var(--text,#273038);font-size:12px;font-weight:800}.analytics-category{margin-bottom:13px}.analytics-category>div{display:flex;justify-content:space-between;margin-bottom:6px;color:#6e7a81;font-size:10px}.analytics-category>div span{display:flex;align-items:center;gap:6px}.analytics-category>div i{width:8px;height:8px;border-radius:3px}.analytics-category>p{height:7px;margin:0;border-radius:99px;background:#ebeff0;overflow:hidden}.analytics-category>p i{display:block;height:100%;border-radius:inherit}.analytics-balance>div{display:grid;gap:17px}.analytics-balance article{display:grid;grid-template-columns:1fr auto;gap:7px}.analytics-balance article span{color:#7f8a91;font-size:10px}.analytics-balance article strong{font-size:12px}.analytics-balance article>i{grid-column:1/-1;height:9px;border-radius:99px;background:#e9edef;overflow:hidden}.analytics-balance article>i b{display:block;height:100%;border-radius:inherit;background:#8796bc}.analytics-balance article+article>i b{background:#7d9f91}.analytics-empty{color:#8d979d;font-size:11px}
html[data-mode="dark"] .analytics-head nav{background:#101827}html[data-mode="dark"] .analytics-head nav button.active{background:#293540;color:#fff}
@media(max-width:720px){.analytics-head{grid-template-columns:1fr auto}.analytics-head>button{grid-column:1/-1;justify-self:start}.analytics-kpis{grid-template-columns:1fr 1fr}.analytics-grid{grid-template-columns:1fr}.analytics-trend{grid-column:1}.analytics-bars{height:150px}}
@media(max-width:420px){.analytics-kpis{gap:8px}.analytics-kpis article{padding:14px}.analytics-kpis strong{font-size:20px}.analytics-card{padding:15px}.analytics-head nav button{padding:7px 8px}}


/* Study planner sections and compact seven day timetable */
.weekly-timetable[hidden],.study-paper[hidden]{display:none}
.study-section-actions{display:grid;justify-items:end;gap:10px}
.study-section-tabs{display:flex;gap:4px;padding:4px;border-radius:11px;background:#edf1f1}
.study-section-tabs button{padding:7px 11px;border:0;border-radius:8px;background:transparent;color:#748087;font:inherit;font-size:10px;font-weight:750;cursor:pointer}
.study-section-tabs button.active{background:#fff;color:#273038;box-shadow:0 1px 5px #26343d15}
.timetable-grid{grid-template-columns:38px repeat(7,minmax(0,1fr))}
.timetable-hours{grid-template-rows:34px 490px}
.timetable-hours>div{display:grid;grid-template-rows:repeat(14,1fr);position:static}
.timetable-hours span{position:static;display:grid;place-items:center end;padding-right:6px;transform:none}
.timetable-day>div{height:490px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 34px,#edf0f1 35px)}
html[data-mode="dark"] .study-section-tabs{background:#101827}
html[data-mode="dark"] .study-section-tabs button.active{background:#293540;color:#fff}
html[data-mode="dark"] .timetable-day>div{background:repeating-linear-gradient(to bottom,transparent 0,transparent 34px,#3b464e 35px)}
@media(max-width:600px){.study-paper-top{align-items:flex-start}.study-section-actions{justify-items:end}.study-section-tabs button{padding:7px 9px}.timetable-grid{grid-template-columns:25px repeat(7,minmax(0,1fr))}.timetable-hours{grid-template-rows:30px 420px}.timetable-day>div{height:420px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#edf0f1 30px)}.timetable-hours span{padding-right:3px;font-size:7px}.timetable-day>strong{font-size:8px}html[data-mode="dark"] .timetable-day>div{background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#3b464e 30px)}}


/* Clear social action labels */
.social-feed .activity-actions{gap:8px}
.social-feed .activity-actions button{min-width:0;gap:5px;padding:7px 8px;border-radius:9px;font-size:11px;font-weight:700}
.social-feed .activity-actions button:hover{background:#f1f4f4;color:#394850}
.feed-action-icon{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.feed-action-icon.filled{fill:currentColor}
.social-feed .activity-actions .action-label,.social-feed .activity-actions .action-count{font-size:10px}
.social-feed .activity-actions .action-count{color:inherit}
html[data-mode="dark"] .social-feed .activity-actions button:hover{background:#273342}
@media(max-width:420px){.social-feed .activity-actions{gap:1px}.social-feed .activity-actions button{gap:3px;padding:7px 5px}.social-feed .activity-actions .action-label,.social-feed .activity-actions .action-count{font-size:9px}}


/* Sunday first timetable */
.timetable-day.sunday>strong{color:#d94b55}


/* Post impression count */
.activity-views{display:flex;align-items:center;gap:4px;padding:7px 4px;color:#7b858b;font-size:10px;font-weight:700;white-space:nowrap}
.activity-views .feed-action-icon{width:16px;height:16px}
@media(max-width:420px){.activity-views{gap:2px;padding:7px 2px;font-size:9px}}


/* Share posts through DM */
.post-share-dialog{width:min(420px,calc(100vw - 28px));max-height:min(650px,80vh);padding:0;border:0;border-radius:18px;background:var(--surface,#fff);color:var(--text,#273038);box-shadow:0 22px 70px #1c29364d}.post-share-dialog::backdrop{background:#17212b66;backdrop-filter:blur(2px)}.post-share-head{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--line)}.post-share-head>div{display:grid;gap:3px}.post-share-head strong{font-size:17px}.post-share-head small{color:#849097;font-size:11px}.post-share-head>button{width:32px;height:32px;border:0;border-radius:50%;background:#eef2f2;color:#42515a;font-size:20px}.post-share-people{display:grid;max-height:430px;overflow:auto;padding:8px}.post-share-people>button{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:10px;border:0;border-radius:11px;background:transparent;color:inherit;text-align:left;cursor:pointer}.post-share-people>button:hover{background:#f1f4f4}.post-share-people>button>span{display:grid;min-width:0}.post-share-people>button strong,.post-share-people>button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-share-people>button small{color:#8a959b;font-size:10px}.post-share-people>button b{color:var(--accent);font-size:10px}.post-share-people>p{padding:26px;color:#879299;font-size:12px;text-align:center}.post-share-footer{padding:12px 18px;border-top:1px solid var(--line)}.post-share-footer button{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:transparent;color:inherit;font:inherit;font-size:11px;font-weight:750}.dm-shared-post{display:grid;width:100%;gap:3px;margin-top:8px;padding:11px;border:1px solid color-mix(in srgb,currentColor 15%,transparent);border-radius:11px;background:color-mix(in srgb,currentColor 5%,transparent);color:inherit;text-align:left;cursor:pointer}.dm-shared-post span{font-size:8px;font-weight:850;letter-spacing:.12em;opacity:.65}.dm-shared-post strong{font-size:11px}.dm-shared-post small{overflow:hidden;font-size:10px;line-height:1.4;opacity:.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

.dm-message.incoming{align-self:flex-start}.dm-message.incoming>p{border-radius:15px 15px 15px 4px;background:#eef2f3}.dm-message.incoming .dm-message-meta{justify-content:flex-start}.dm-message.incoming time{text-align:left}html[data-mode="dark"] .dm-message.incoming>p{background:#303a45}


/* Dedicated post detail */
.post-detail-mode .social-feed-header,.post-detail-mode>.feed-tabs,.post-detail-mode #postComposer,.post-detail-mode .feed-sidebar,.post-detail-mode .global-photo-section{display:none}.post-detail-mode .social-feed-layout{display:block;max-width:680px;margin:0 auto}.post-detail-mode .social-feed.activity-feed{border-radius:18px}.post-detail-head{display:flex;align-items:center;gap:12px;padding:14px 17px;border-bottom:1px solid var(--line)}.post-detail-head>button{width:34px;height:34px;border:0;border-radius:50%;background:#eef2f2;color:#34434b;font-size:19px;cursor:pointer}.post-detail-head>div{display:grid;gap:2px}.post-detail-head strong{font-size:16px}.post-detail-head small{color:#879299;font-size:10px}.post-detail-mode .activity-thread{padding-top:12px}.post-detail-mode .activity-comment-form{margin-top:12px}html[data-mode="dark"] .post-detail-head>button{background:#273342;color:#fff}@media(max-width:520px){.post-detail-mode.global-view{padding-top:0}.post-detail-mode .social-feed-layout{width:100%}.post-detail-mode .social-feed.activity-feed{border-radius:0}.post-detail-head{position:sticky;z-index:3;top:0;background:var(--surface,#fff)}}


/* Daily quote beside Today */
.task-title-row{display:flex;align-items:baseline;gap:15px;min-width:0}.daily-quote{max-width:390px;margin:0;color:#879199;font-size:11px;font-weight:500;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.daily-quote::first-letter{color:var(--accent)}html[data-mode="dark"] .daily-quote{color:#aeb8bd}@media(max-width:650px){.task-title-row{display:grid;gap:5px}.daily-quote{max-width:min(72vw,330px);font-size:10px;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.tasks-head{align-items:flex-start}.tasks-head .count{padding-top:25px}}


/* Balanced plan heading */
.tasks-head{display:block;align-items:initial}.task-heading-block{min-width:0;width:100%}.task-heading-top{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.task-heading-top h1{white-space:nowrap}.task-heading-meta{display:flex;align-items:center;gap:9px;min-height:20px;margin-top:7px}.task-heading-meta:has(.selected-holiday:not([hidden])) .daily-quote{padding-left:10px;border-left:1px solid #e0e5e6}.selected-holiday{flex:none;margin:0;font-size:11px}.selected-holiday[hidden]{display:none}.daily-quote{max-width:none;min-width:0;flex:1}.tasks-head .count{flex:none;padding:0}.task-title-row{display:contents}@media(max-width:650px){.task-heading-top{align-items:flex-end}.task-heading-top h1{font-size:28px}.task-heading-meta{align-items:flex-start;flex-direction:column;gap:4px}.task-heading-meta:has(.selected-holiday:not([hidden])) .daily-quote{padding:0;border:0}.daily-quote{max-width:100%;font-size:10px}.tasks-head .count{padding:0 0 3px;font-size:10px}}


/* Expanded weekly summary */
.weekly-report-grid{grid-template-columns:1.25fr repeat(5,minmax(0,1fr))}.weekly-report-grid>div{min-width:0}.weekly-report-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weekly-report-head>strong{padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}@media(max-width:760px){.weekly-report-grid{grid-template-columns:1fr 1fr 1fr}.weekly-report-grid>div:first-child{grid-column:span 2}}@media(max-width:480px){.weekly-report{padding:16px}.weekly-report-head{display:block}.weekly-report-head>strong{display:inline-block;margin-top:10px}.weekly-report-grid{grid-template-columns:1fr 1fr}.weekly-report-grid>div:first-child{grid-column:1/-1}}


/* Personal weekly goals */
.weekly-targets-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}.weekly-targets-head>div{display:grid;gap:3px}.weekly-targets-head strong{font-size:14px}.weekly-targets-head small{color:#879299;font-size:10px}.weekly-targets-head>button{padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--text);font:inherit;font-size:10px;font-weight:750;cursor:pointer}.weekly-targets{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:11px}.weekly-targets article{display:grid;grid-template-columns:1fr auto;gap:7px;padding:11px 12px;border:1px solid var(--line);border-radius:11px}.weekly-targets article>div{display:grid;gap:3px;min-width:0}.weekly-targets span,.weekly-targets small{color:#849097;font-size:9px}.weekly-targets strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.weekly-targets i{grid-column:1/-1;height:5px;overflow:hidden;border-radius:99px;background:#e6ebec}.weekly-targets i b{display:block;height:100%;border-radius:inherit;background:var(--accent)}.weekly-targets small{grid-column:2;grid-row:1/3;align-self:center;color:var(--accent);font-weight:750}.weekly-targets-dialog{width:min(430px,calc(100vw - 28px));padding:0;border:0;border-radius:18px;background:var(--surface,#fff);color:var(--text);box-shadow:0 22px 70px #1c29364d}.weekly-targets-dialog::backdrop{background:#17212b66;backdrop-filter:blur(2px)}.weekly-targets-dialog form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px}.weekly-targets-dialog-head{display:flex;grid-column:1/-1;align-items:start;justify-content:space-between}.weekly-targets-dialog-head h2{margin:3px 0 0}.weekly-targets-dialog-head>button{width:32px;height:32px;border:0;border-radius:50%;background:#eef2f2;font-size:20px}.weekly-targets-dialog label{display:grid;gap:6px;color:#69767e;font-size:10px;font-weight:700}.weekly-targets-dialog input{box-sizing:border-box;width:100%;height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface,#fff);color:var(--text);font:inherit}.weekly-targets-dialog-actions{display:flex;grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:4px}.weekly-targets-dialog-actions button{padding:9px 13px;border:1px solid var(--line);border-radius:9px;background:transparent;color:inherit;font:inherit;font-size:11px;font-weight:750}.weekly-targets-dialog-actions button:last-child{border-color:#27343d;background:#27343d;color:#fff}@media(max-width:620px){.weekly-targets{grid-template-columns:1fr 1fr}}@media(max-width:400px){.weekly-targets-dialog form{grid-template-columns:1fr}.weekly-targets-dialog-head,.weekly-targets-dialog-actions{grid-column:1}}


/* Public Global preview */
.auth-card{position:relative}
.guest-auth-close{display:none;position:absolute;right:18px;top:18px;width:34px;height:34px;border:0;border-radius:50%;background:#edf2f4;color:#34434b;font-size:22px;cursor:pointer}
body.guest-mode .guest-auth-close{display:grid;place-items:center}
body.guest-mode.guest-auth-open .auth-gate{display:grid!important;position:fixed;z-index:1000;inset:0;background:rgba(28,39,47,.45);backdrop-filter:blur(5px)}
body.guest-mode .header-actions,body.guest-mode .home-sections,body.guest-mode .bottom-nav,body.guest-mode .mobile-quick-add{display:none!important}
body.guest-mode .topbar{justify-content:center}
body.guest-mode .shell{padding-top:34px;padding-bottom:60px}
.guest-global-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px;padding:14px 18px;border:1px solid #bcdcf4;border-radius:16px;background:#f2f9ff}
.guest-global-bar>div{display:grid;gap:3px}.guest-global-bar strong{color:#173849}.guest-global-bar span{color:#6d7e88;font-size:12px}.guest-global-bar button{padding:10px 15px;border:0;border-radius:999px;background:#238bd0;color:#fff;font-weight:800;cursor:pointer}
.public-todo-dashboard{margin:18px 0 22px;padding:22px;border:1px solid var(--line,#dfe6e9);border-radius:20px;background:var(--surface,#fff);box-shadow:0 12px 34px rgba(32,51,64,.045)}
.public-todo-head{display:flex;align-items:end;justify-content:space-between;gap:18px}.public-todo-head h2{margin:5px 0;color:var(--text,#273038);font-size:24px;letter-spacing:-.04em}.public-todo-head p:last-child{margin:0;color:#81909a;font-size:12px}.public-todo-total{display:flex;align-items:baseline;gap:7px}.public-todo-total strong{color:#258dcf;font-size:31px}.public-todo-total span{color:#82909a;font-size:11px}
.public-calendar-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:20px 0}.public-calendar-day{display:grid;justify-items:center;gap:4px;padding:10px 4px;border-radius:12px;background:#f6f8f9}.public-calendar-day>span,.public-calendar-day>small{color:#839099;font-size:10px}.public-calendar-day>strong{font-size:13px}.public-calendar-day>i{display:flex;width:8px;height:38px;align-items:end;overflow:hidden;border-radius:5px;background:#dfe7eb}.public-calendar-day>i>b{display:block;width:100%;min-height:2px;border-radius:5px;background:#278fd0}
.public-routines{display:grid;grid-template-columns:170px 1fr;gap:16px;padding-top:18px;border-top:1px solid var(--line,#e5e9eb)}.public-routines>div:first-child{display:grid;align-content:start;gap:3px}.public-routines>div:first-child span{color:#84919a;font-size:10px}.public-routines>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.public-routines button{display:flex;align-items:center;gap:7px;padding:9px 10px;border:1px solid var(--line,#dfe5e8);border-radius:12px;background:transparent;color:var(--text,#273038);cursor:pointer}.public-routines button>i{width:8px;height:8px;border-radius:50%;background:var(--routine-color)}.public-routines button small{color:#8a969e}.public-routines button b{color:#278fd0}
body.guest-mode .social-feed-layout{grid-template-columns:minmax(0,720px);justify-content:center}body.guest-mode .global-view{width:min(100%,760px)}body.guest-mode .activity-thread{display:none}body.guest-mode .activity-actions button{cursor:pointer}
html[data-mode="dark"] .guest-global-bar{background:#172b3a;border-color:#31546c}html[data-mode="dark"] .public-calendar-day{background:#202c36}
@media(max-width:620px){.guest-global-bar{align-items:flex-start;flex-direction:column}.guest-global-bar button{width:100%}.public-todo-dashboard{padding:16px}.public-todo-head{align-items:start;flex-direction:column}.public-calendar-strip{gap:3px}.public-calendar-day{padding:8px 1px}.public-routines{grid-template-columns:1fr}}

.admin-user-profile-link{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:var(--text,#273038);font:inherit;font-size:14px;font-weight:800;cursor:pointer}.admin-user-profile-link span{color:var(--accent);font-size:12px}.admin-user-profile-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}

/* Keep the public plan preview readable regardless of inherited theme variables. */
.public-todo-dashboard{color:#26343d;background:#fff}
.public-todo-head h2,.public-routines strong,.public-routines button span,.public-calendar-day strong{color:#26343d!important}
.public-todo-head p:last-child,.public-routines>div:first-child span{color:#647782}
.public-routines button{background:#fff;color:#26343d}
.public-routines button:hover{border-color:#65aee0;background:#f4faff}
.public-calendar-day>span,.public-calendar-day>small{color:#667b87}
html[data-mode="dark"] .public-todo-dashboard{color:#f4f7f8;background:#1b2630}
html[data-mode="dark"] .public-todo-head h2,html[data-mode="dark"] .public-routines strong,html[data-mode="dark"] .public-routines button span,html[data-mode="dark"] .public-calendar-day strong{color:#f4f7f8!important}
html[data-mode="dark"] .public-todo-head p:last-child,html[data-mode="dark"] .public-routines>div:first-child span,html[data-mode="dark"] .public-calendar-day>span,html[data-mode="dark"] .public-calendar-day>small{color:#aebdc5}
html[data-mode="dark"] .public-routines button{background:#202d37;color:#f4f7f8}

.random-public-calendars{margin-top:20px;padding-top:18px;border-top:1px solid var(--line,#e5e9eb)}.random-public-calendars>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.random-public-calendars>header>div{display:grid;gap:3px}.random-public-calendars>header span{color:#647782;font-size:10px}.random-public-calendars>header>button{padding:7px 10px;border:1px solid #cbdde8;border-radius:9px;background:#f5fbff;color:#237fb9;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.random-public-calendars>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.random-public-calendars article{padding:12px;border:1px solid #dde6ea;border-radius:13px;background:#fbfcfc}.random-calendar-name{padding:0;border:0;background:transparent;color:#26343d;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.random-calendar-name span{color:#238bd0}.random-public-calendars article>div{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:10px}.random-public-calendars article>div>span{display:grid;justify-items:center;gap:3px;padding:5px 1px;border-radius:7px;background:#f0f4f5}.random-public-calendars article>div>span.has-done{background:#e8f5fc}.random-public-calendars article small{color:#71838d;font-size:7px}.random-public-calendars article b{color:#26343d;font-size:9px}.random-public-calendars article i{color:#2688c4;font-size:7px;font-style:normal}html[data-mode="dark"] .random-public-calendars article{background:#202d37;border-color:#3b4b55}html[data-mode="dark"] .random-calendar-name,html[data-mode="dark"] .random-public-calendars article b{color:#f4f7f8}html[data-mode="dark"] .random-public-calendars article>div>span{background:#18242d}html[data-mode="dark"] .random-public-calendars article>div>span.has-done{background:#183448}@media(max-width:700px){.random-public-calendars>div{grid-template-columns:1fr}.random-public-calendars article>div>span{padding:7px 2px}}

.public-routines{grid-template-columns:200px minmax(0,1fr)}.public-routines>div:first-child span{line-height:1.5;white-space:nowrap}@media(max-width:620px){.public-routines{grid-template-columns:1fr}.public-routines>div:first-child span{white-space:normal}}

.random-month-label{margin-top:8px;color:#6d7d86;font-size:9px;font-weight:800}.random-public-calendars article .random-weekdays,.random-public-calendars article .random-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-top:6px}.random-public-calendars article .random-weekdays small{padding:2px 0;color:#819099;font-size:7px;text-align:center}.random-public-calendars article .random-weekdays small:first-child{color:#dd5d5d}.random-public-calendars article .random-month-grid>span{position:relative;display:grid;min-height:24px;place-items:center;padding:2px;border-radius:6px;background:#f1f4f5}.random-public-calendars article .random-month-grid>span.blank{background:transparent}.random-public-calendars article .random-month-grid>span.has-done{background:#e5f4fc}.random-public-calendars article .random-month-grid b{font-size:8px}.random-public-calendars article .random-month-grid .sunday b{color:#df5757}.random-public-calendars article .random-month-grid i{position:absolute;right:2px;bottom:1px;color:#258dcc;font-size:6px;font-style:normal}.random-public-calendars article>div.random-month-grid{margin-top:2px}html[data-mode="dark"] .random-public-calendars article .random-month-grid>span{background:#18242d}html[data-mode="dark"] .random-public-calendars article .random-month-grid>span.blank{background:transparent}html[data-mode="dark"] .random-public-calendars article .random-month-grid>span.has-done{background:#17364a}

.onboarding-dialog{box-sizing:border-box;width:min(620px,calc(100vw - 28px));margin:auto;padding:28px;border:1px solid var(--line,#dfe5e7);border-radius:24px;background:var(--surface,#fff);color:var(--text,#273038);box-shadow:0 28px 90px #1e2c3655}.onboarding-dialog::backdrop{background:#1d2b3655;backdrop-filter:blur(6px)}.onboarding-brand{margin-bottom:26px;font-size:17px;font-weight:900}.onboarding-dialog h2{margin:5px 0 8px;font-size:29px;letter-spacing:-.05em}.onboarding-dialog>form>p:not(.small-label,.onboarding-error){margin:0;color:#75858e;font-size:12px}.onboarding-goals{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 10px}.onboarding-goals input{position:absolute;opacity:0}.onboarding-goals span{display:grid;grid-template-columns:34px 1fr;align-items:center;padding:15px;border:1px solid var(--line,#dfe5e7);border-radius:15px;cursor:pointer}.onboarding-goals span:first-letter{font-size:21px}.onboarding-goals strong,.onboarding-goals small{grid-column:2}.onboarding-goals strong{font-size:12px}.onboarding-goals small{margin-top:2px;color:#849198;font-size:9px}.onboarding-goals input:checked+span{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,#fff);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.onboarding-error{min-height:18px;margin:0;color:#b64e48;font-size:10px}.onboarding-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.onboarding-actions button{padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:transparent;color:inherit;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.onboarding-actions button[type=submit]{border-color:var(--accent);background:var(--accent);color:#fff}.admin-user-search{display:flex;align-items:center;gap:7px;color:#7c8990;font-size:9px}.admin-user-search input{width:180px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface,#fff);color:inherit;font:inherit}.admin-user-open em{margin-left:5px;padding:2px 5px;border-radius:99px;background:#fff0ed;color:#aa4d46;font-size:7px;font-style:normal}.admin-user-status{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px;padding:13px;border:1px solid var(--line);border-radius:12px}.admin-user-status>div{display:grid;gap:3px}.admin-user-status span{color:#829098;font-size:9px}.admin-user-status button{padding:8px 11px;border:0;border-radius:8px;background:#e7f3ed;color:#477a64;font:inherit;font-size:9px;font-weight:800;cursor:pointer}.admin-user-status button.danger{background:#a84d48;color:#fff}@media(max-width:620px){.onboarding-dialog{padding:21px}.onboarding-goals{grid-template-columns:1fr}.admin-user-search{width:100%;justify-content:space-between}.admin-user-search input{width:min(220px,60vw)}}

/* Public calendars mirror the main Daymark month calendar. */
.random-public-calendars article{padding:14px;border-color:#cfe0ea;border-radius:16px;background:#fff}.random-calendar-person{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid #edf0f1}.random-calendar-person>span{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;background:linear-gradient(135deg,#7d9f91,#8796bc);color:#fff;font-size:9px;font-weight:900}.random-calendar-person .random-calendar-name{flex:1;text-align:left}.random-calendar-name b{color:#238bd0;font-size:9px}.random-month-head{display:flex;align-items:center;justify-content:space-between;margin:11px 0 7px}.random-month-head strong{color:#26343d;font-size:11px}.random-month-head span{color:#87949c;font-size:12px}.random-public-calendars article .random-weekdays{margin-top:0}.random-public-calendars article .random-weekdays small{font-size:7px}.random-public-calendars article .random-weekdays small:last-child{color:#287bc2}.random-public-calendars article .random-month-grid{gap:3px;margin-top:3px}.random-public-calendars article .random-month-grid>span{display:grid;grid-template-rows:19px 11px;min-height:32px;align-items:center;justify-items:center;padding:0;background:transparent!important}.random-public-calendars article .random-month-grid>span>i{position:static;display:grid;width:18px;height:18px;place-items:center;border-radius:50%;background:#dfe6ea;color:#fff;font-size:7px;font-style:normal}.random-public-calendars article .random-month-grid>span.has-plan>i{background:#d99a60}.random-public-calendars article .random-month-grid>span.has-done>i{background:linear-gradient(135deg,#7d9f91,#679bd0)}.random-public-calendars article .random-month-grid>span.blank>i,.random-public-calendars article .random-month-grid>span.blank>b{display:none}.random-public-calendars article .random-month-grid b{font-size:8px;font-weight:600}.random-public-calendars article .random-month-grid .sunday b{color:#df4f4f}.random-public-calendars article .random-month-grid .saturday b{color:#287bc2}html[data-mode="dark"] .random-public-calendars article{background:#202d37;border-color:#40525e}html[data-mode="dark"] .random-month-head strong{color:#f4f7f8}

.category-add-row{display:flex;align-items:center;gap:11px;width:100%;margin:12px 0 2px;padding:13px 14px;border:1px dashed color-mix(in srgb,var(--accent) 42%,#dfe6e8);border-radius:14px;background:color-mix(in srgb,var(--accent) 3%,#fff);color:var(--text,#273038);font:inherit;text-align:left;cursor:pointer}.category-add-row>span:first-child{display:grid;width:32px;height:32px;flex:none;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-size:19px}.category-add-row>span:last-child{display:grid;gap:2px}.category-add-row strong{font-size:12px}.category-add-row small{color:#87949c;font-size:9px}.category-add-row:hover{border-style:solid;background:color-mix(in srgb,var(--accent) 8%,#fff)}html[data-mode="dark"] .category-add-row{background:color-mix(in srgb,var(--accent) 8%,#202932)}

/* Public calendar colors represent actual completion; scheduled-only days stay neutral. */
.random-public-calendars article .random-month-grid>span.has-plan>i{background:#dfe6ea}.random-public-calendars article .random-month-grid>span.has-done>i{background:linear-gradient(135deg,#7d9f91,#679bd0)}html[data-mode="dark"] .random-public-calendars article .random-month-grid>span.has-plan>i{background:#52616a}html[data-mode="dark"] .random-public-calendars article .random-month-grid>span.has-done>i{background:linear-gradient(135deg,#7d9f91,#679bd0)}

/* Public product introduction */
body.guest-mode:has(#landingView:not([hidden])){background:#fbfcfb}body.guest-mode:has(#landingView:not([hidden])) .shell{width:100%;max-width:none;padding:0}body.guest-mode:has(#landingView:not([hidden])) .topbar{position:sticky;top:0;z-index:20;border-bottom:1px solid #edf0ef;background:#fffffff2;backdrop-filter:blur(14px)}
.landing-view{overflow:hidden;color:#24323a}.landing-kicker{margin:0;color:#278bc9;font-size:10px;font-weight:900;letter-spacing:.17em}.landing-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,.9fr);gap:70px;align-items:center;width:min(1120px,calc(100% - 48px));min-height:650px;margin:auto;padding:70px 0 85px}.landing-hero-copy h1{margin:14px 0 22px;font-size:clamp(42px,5.8vw,74px);line-height:1.06;letter-spacing:-.065em}.landing-hero-copy h1 em{color:#278dce;font-style:normal}.landing-hero-copy>p:not(.landing-kicker){max-width:530px;margin:0;color:#667983;font-size:15px;line-height:1.8}.landing-actions{display:flex;gap:10px;margin-top:30px}.landing-actions button,.landing-final button{padding:13px 19px;border:1px solid #26343d;border-radius:12px;background:#26343d;color:#fff;font:inherit;font-size:12px;font-weight:850;cursor:pointer}.landing-actions button+button{background:#fff;color:#26343d}.landing-actions button span{margin-left:7px;color:#278dce}.landing-proof{display:flex;flex-wrap:wrap;gap:16px;margin-top:19px;color:#829099;font-size:9px}
.landing-product{transform:rotate(1.2deg);padding:25px;border:1px solid #bcdbea;border-radius:26px;background:#fff;box-shadow:0 35px 80px #27485c17}.landing-product-top{display:flex;align-items:center;gap:10px;padding-bottom:18px;border-bottom:1px solid #edf1f2}.landing-product-top>span{display:grid;width:35px;height:35px;place-items:center;border-radius:11px;background:linear-gradient(135deg,#7d9f91,#8796bc);color:#fff}.landing-product-top strong{flex:1;font-size:15px}.landing-product-top>i{padding:5px 8px;border-radius:99px;background:#eaf5fb;color:#2787c2;font-size:8px;font-style:normal;font-weight:800}.landing-product-week,.landing-product-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.landing-product-week{margin:18px 0 8px}.landing-product-week span{color:#839099;font-size:8px;text-align:center}.landing-product-week span:first-child{color:#dc5656}.landing-product-days>span{display:grid;min-height:43px;place-items:center;align-content:center;gap:3px}.landing-product-days i{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#dfe6e9;color:#fff;font-size:8px;font-style:normal}.landing-product-days .done i{background:linear-gradient(135deg,#7d9f91,#278dce)}.landing-product-days b{font-size:9px;font-weight:600}.landing-product-plan{margin-top:18px;padding:16px;border-radius:16px;background:#f3f8fa}.landing-product-plan>div{display:flex;justify-content:space-between}.landing-product-plan span{font-size:9px;font-weight:800}.landing-product-plan strong{font-size:10px}.landing-product-plan>i{display:block;height:5px;margin:10px 0;border-radius:9px;background:#dce7eb}.landing-product-plan>i b{display:block;width:75%;height:100%;border-radius:inherit;background:#278dce}.landing-product-plan p{margin:0;color:#72838c;font-size:9px}
.landing-features{padding:100px max(24px,calc((100% - 1120px)/2));background:#f1f6f7}.landing-features>header{display:flex;align-items:end;justify-content:space-between;margin-bottom:38px}.landing-features h2{margin:10px 0 0;font-size:clamp(30px,4vw,46px);line-height:1.15;letter-spacing:-.055em}.landing-features>div{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.landing-features article{position:relative;min-height:210px;padding:22px;border:1px solid #dce6e8;border-radius:19px;background:#fff}.landing-features article>span{position:absolute;top:20px;right:20px;color:#a5b0b5;font-size:9px}.landing-feature-icon{display:grid;width:39px;height:39px;margin-bottom:35px;place-items:center;border-radius:12px;background:#e9f5fb;color:#278dce;font-size:18px}.landing-features h3{margin:0 0 9px;font-size:17px}.landing-features article p{margin:0;color:#74858e;font-size:11px;line-height:1.65}
.landing-flow{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;width:min(1040px,calc(100% - 48px));margin:0 auto;padding:110px 0}.landing-flow h2{margin:10px 0;font-size:38px;letter-spacing:-.055em}.landing-flow>div>p:last-child{color:#71828b;font-size:12px}.landing-flow ol{display:grid;gap:0;margin:0;padding:0;list-style:none}.landing-flow li{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #e5eaea}.landing-flow li>b{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#25343d;color:#fff;font-size:11px}.landing-flow li>span{display:grid;gap:4px}.landing-flow li strong{font-size:13px}.landing-flow li small{color:#829098;font-size:10px}.landing-final{padding:85px 24px;background:#25343d;color:#fff;text-align:center}.landing-final>span{display:grid;width:42px;height:42px;margin:0 auto 20px;place-items:center;border-radius:13px;background:#278dce}.landing-final h2{margin:0;font-size:clamp(36px,5vw,58px);line-height:1.12;letter-spacing:-.06em}.landing-final p{margin:16px 0 25px;color:#b9c5cb}.landing-final button{border-color:#fff;background:#fff;color:#25343d}.landing-footer{display:flex;align-items:center;gap:25px;width:min(1120px,calc(100% - 48px));margin:auto;padding:32px 0}.landing-footer .brand{margin-right:auto}.landing-footer p,.landing-footer a{color:#7b8991;font-size:9px;text-decoration:none}.landing-footer nav{display:flex;gap:15px}
@media(max-width:850px){.landing-hero{grid-template-columns:1fr;gap:45px;padding-top:55px}.landing-product{width:min(500px,100%);box-sizing:border-box;margin:auto}.landing-features>div{grid-template-columns:1fr 1fr}.landing-flow{grid-template-columns:1fr;gap:30px}}
@media(max-width:560px){.landing-hero{width:calc(100% - 32px);min-height:0;padding:45px 0 65px}.landing-hero-copy h1{font-size:42px}.landing-actions{flex-direction:column}.landing-actions button{width:100%}.landing-product{padding:16px}.landing-product-week,.landing-product-days{gap:2px}.landing-product-days>span{min-height:37px}.landing-features{padding:70px 16px}.landing-features>div{grid-template-columns:1fr}.landing-flow{width:calc(100% - 32px);padding:75px 0}.landing-footer{align-items:flex-start;flex-wrap:wrap;width:calc(100% - 32px)}.landing-footer nav{width:100%}}

.paper-subject-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0 9px;padding:12px 13px;border:1px solid #dce5e8;border-radius:13px;background:#f7fafb}.paper-subject-toolbar>div{display:grid;gap:3px}.paper-subject-toolbar strong{font-size:11px}.paper-subject-toolbar span{color:#7d8c95;font-size:8px}.paper-subject-toolbar form{display:flex;gap:6px}.paper-subject-toolbar input{width:145px;padding:8px 9px;border:1px solid #d9e2e6;border-radius:9px;background:#fff;color:#26343d;font:inherit;font-size:10px}.paper-subject-toolbar button{padding:8px 10px;border:0;border-radius:9px;background:#273640;color:#fff;font:inherit;font-size:9px;font-weight:800;cursor:pointer}.paper-subject-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}.paper-subject-chips span{padding:5px 8px;border-radius:99px;background:color-mix(in srgb,var(--subject-color) 15%,#fff);color:color-mix(in srgb,var(--subject-color) 80%,#26343d);font-size:8px;font-weight:800}html[data-mode="dark"] .paper-subject-toolbar{background:#202c35;border-color:#40505a}html[data-mode="dark"] .paper-subject-toolbar input{background:#18232c;border-color:#43525b;color:#f4f7f8}@media(max-width:620px){.paper-subject-toolbar{align-items:stretch;flex-direction:column}.paper-subject-toolbar form{width:100%}.paper-subject-toolbar input{min-width:0;flex:1}.paper-subject-toolbar button{flex:none}}

/* Refined subject creator */
.paper-subject-toolbar{display:grid;grid-template-columns:1fr;gap:12px;margin:18px 0 8px;padding:15px;border:1px solid #dce8ed;border-radius:16px;background:linear-gradient(135deg,#f8fbfc,#f2f7f9);box-shadow:0 8px 22px rgba(40,68,82,.04)}.paper-subject-copy{display:flex;align-items:center;gap:10px}.paper-subject-copy .paper-subject-icon{display:grid;width:31px;height:31px;flex:none;place-items:center;border-radius:10px;background:#e4f2f8;color:#2589c8;font-size:16px;font-weight:500}.paper-subject-copy>div{display:grid;gap:3px}.paper-subject-copy strong{color:#273740;font-size:12px}.paper-subject-copy>div>span{color:#788a94;font-size:9px;line-height:1.4}.paper-subject-toolbar form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;width:100%}.paper-subject-toolbar input{box-sizing:border-box;width:100%;min-width:0;height:40px;padding:0 13px;border:1px solid #d6e2e7;border-radius:11px;background:#fff;color:#26343d;font:inherit;font-size:11px;outline:none}.paper-subject-toolbar input:focus{border-color:#58a9d8;box-shadow:0 0 0 3px #58a9d81d}.paper-subject-toolbar button{display:inline-flex;height:40px;min-width:72px;align-items:center;justify-content:center;gap:4px;padding:0 13px;border:0;border-radius:11px;background:#273842;color:#fff;font:inherit;font-size:10px;font-weight:850;white-space:nowrap;cursor:pointer;box-shadow:0 5px 13px #26394420}.paper-subject-toolbar button:hover{background:#238bc9}.paper-subject-toolbar button span{color:inherit;font-size:14px}.paper-subject-chips{margin:0 0 10px;padding:0 2px}.paper-subject-chips:empty{display:none}html[data-mode="dark"] .paper-subject-toolbar{background:linear-gradient(135deg,#202d36,#1c2831);border-color:#40525e}html[data-mode="dark"] .paper-subject-copy strong{color:#f4f7f8}html[data-mode="dark"] .paper-subject-copy .paper-subject-icon{background:#17384c}@media(max-width:620px){.paper-subject-toolbar{padding:13px}.paper-subject-toolbar form{display:grid;grid-template-columns:minmax(0,1fr) 70px}.paper-subject-toolbar button{min-width:0;padding:0 10px}.paper-subject-copy>div>span{max-width:230px}}

/* Compact full-width subject toolbar above the planner columns. */
.study-paper-top+.paper-subject-toolbar,.weekly-timetable[hidden]+.paper-subject-toolbar{margin-top:14px}.paper-subject-toolbar{display:grid;grid-template-columns:minmax(170px,1fr) minmax(270px,360px);align-items:center;gap:16px;min-height:0;margin:14px 0 8px;padding:10px 12px;border-radius:13px}.paper-subject-copy .paper-subject-icon{width:28px;height:28px;border-radius:9px;font-size:14px}.paper-subject-copy>div{gap:1px}.paper-subject-copy strong{font-size:10px}.paper-subject-copy>div>span{font-size:8px}.paper-subject-toolbar form{grid-template-columns:minmax(0,1fr) 66px;gap:6px}.paper-subject-toolbar input,.paper-subject-toolbar button{height:34px}.paper-subject-toolbar button{min-width:0;padding:0 9px;font-size:9px}.paper-subject-chips{margin:0 0 8px;padding:0 4px}.paper-subject-chips:empty{display:none}@media(max-width:620px){.paper-subject-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:9px 10px}.paper-subject-copy{gap:7px}.paper-subject-copy>div>span{display:none}.paper-subject-copy .paper-subject-icon{width:25px;height:25px}.paper-subject-toolbar form{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:5px}.paper-subject-toolbar input,.paper-subject-toolbar button{height:32px}.paper-subject-toolbar input{padding:0 9px;font-size:9px}.paper-subject-toolbar button{padding:0 7px;font-size:8px}}

.paper-subject-chips>span{display:inline-flex;align-items:center;gap:6px;padding:6px 7px 6px 9px;border:1px solid color-mix(in srgb,var(--subject-color) 28%,#e2e8ea);border-radius:999px;background:color-mix(in srgb,var(--subject-color) 10%,#fff);color:#35434b}.paper-subject-chips>span>i{width:7px;height:7px;border-radius:50%;background:var(--subject-color)}.paper-subject-chips>span>strong{font-size:9px}.paper-subject-chips>span>button{display:grid;width:17px;height:17px;padding:0;place-items:center;border:0;border-radius:50%;background:#fff;color:#7b8991;font:inherit;font-size:12px;line-height:1;cursor:pointer}.paper-subject-chips>span>button:hover{background:#fff0ee;color:#ad4d46}html[data-mode="dark"] .paper-subject-chips>span{background:color-mix(in srgb,var(--subject-color) 14%,#202b34);color:#f3f6f8}html[data-mode="dark"] .paper-subject-chips>span>button{background:#34414a;color:#d6dfe3}

.paper-subject-toolbar{box-sizing:border-box;width:min(760px,100%);margin:14px auto 8px}.paper-subject-chips{box-sizing:border-box;width:min(760px,100%);margin:0 auto 8px;padding:0 4px}

.paper-subject-chips>span>button{width:20px;height:20px;background:transparent;color:#87959c}.paper-subject-chips>span>button svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.paper-subject-chips>span>button:hover{background:#fff0ee;color:#b34f47}html[data-mode="dark"] .paper-subject-chips>span>button{background:transparent;color:#aebbc2}html[data-mode="dark"] .paper-subject-chips>span>button:hover{background:#4a2b2b;color:#f0a09a}

/* Mobile study planner: compact controls and a readable single-column paper */
@media(max-width:620px){
  .study-paper-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:12px}
  .study-paper-top>div:first-child .small-label{display:none}
  .study-paper-top h1{margin:0;font-size:24px}
  .study-section-actions{display:contents}
  .study-section-tabs{justify-self:end}
  .study-section-actions>div:last-child{display:contents}
  .study-section-actions .feature-date-nav{grid-column:1/-1;box-sizing:border-box;width:100%;justify-content:space-between}
  .study-section-actions .feature-date-anchor{flex:1}
  .study-section-actions .feature-date-trigger{width:100%;min-width:0}
  .paper-subject-toolbar{grid-template-columns:1fr;gap:8px;padding:11px 12px}
  .paper-subject-copy>div>span{display:block;max-width:none}
  .paper-subject-toolbar form{grid-template-columns:minmax(0,1fr) 64px}
  .paper-subject-chips{padding:0 2px 2px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .paper-subject-chips::-webkit-scrollbar{display:none}
  .paper-subject-chips>span{flex:none}
  .study-paper{grid-template-columns:1fr;gap:22px;padding:18px 14px 26px;border-radius:16px}
  .paper-date-heading{display:none}
  .paper-plan-heading{margin-top:0}
  .study-paper-right{padding-top:18px;border-top:1px solid #e4e9eb}
  html[data-mode="dark"] .study-paper-right{border-color:#46525a}
}
@media(max-width:380px){
  .study-paper-top{grid-template-columns:1fr}
  .study-section-tabs{justify-self:start}
  .paper-subject-copy>div>span{display:none}
}

.paper-subject-color{position:relative;display:grid;width:15px;height:15px;place-items:center;border-radius:50%;cursor:pointer}.paper-subject-color input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.paper-subject-color i{display:block;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:var(--subject-color);box-shadow:0 0 0 1px color-mix(in srgb,var(--subject-color) 50%,#cad4d8);transition:transform .15s,box-shadow .15s}.paper-subject-color:hover i{transform:scale(1.2);box-shadow:0 0 0 3px color-mix(in srgb,var(--subject-color) 20%,transparent)}.paper-subject-color:focus-within i{box-shadow:0 0 0 3px color-mix(in srgb,var(--subject-color) 28%,transparent)}

/* Shared mobile layout pass. */
@media(max-width:620px){
  html,body{max-width:100%;overflow-x:hidden}
  .shell{width:100%;padding-right:10px;padding-left:10px}
  .topbar{padding-right:10px;padding-left:10px}
  .header-actions{gap:5px}
  .site-search-button,.notification-button,.settings-shortcut,.top-menu{width:35px;height:35px}
  .global-view{width:calc(100% + 20px);margin-right:-10px;margin-left:-10px}
  .social-feed-header{padding-right:14px;padding-left:14px}
  .post-composer-actions{gap:8px}
  .post-composer-actions>button{padding-right:15px;padding-left:15px}
  .dm-page-head{padding:0 4px}
  .dm-page-head h1{font-size:26px}
  .dm-layout{min-height:0;border-radius:14px}
  .dm-sidebar{max-height:205px}
  .dm-sidebar-head{padding:13px 14px 9px}
  .dm-contacts{padding-bottom:8px}
  .dm-messages{min-height:280px;padding:16px 13px}
  .dm-compose{padding:11px 12px}
  .routine-page-head{gap:10px;flex-wrap:wrap}
  .routine-garden-card-head{gap:9px}
  .routine-garden-card-actions{flex-wrap:wrap;justify-content:flex-end}
  .settings-card{min-height:0}
  .preview-frame{padding-right:0;padding-left:0}
  .manage-page-head{gap:10px}
  .admin-head h1{font-size:26px}
  .admin-user-dialog{padding:17px}
}
@media(max-width:480px){
  .header-actions .account-name{display:none}
  .brand strong{font-size:18px}
  .global-view{margin-top:-10px}
  .post-composer>.community-avatar{display:none}
  .post-composer{padding-right:12px;padding-left:12px}
  .routine-garden-card-head{align-items:flex-start;flex-direction:column}
  .routine-garden-card-actions{width:100%;justify-content:space-between}
  .dm-thread-head{padding-right:13px;padding-left:13px}
  .dm-message{max-width:90%}
  .personal-profile-actions{gap:5px}
  #profileView .personal-edit,#profileView .personal-logout{padding-right:8px;padding-left:8px}
  .admin-kpis{gap:7px}
  .admin-kpis article{min-width:0;padding:12px}
}

/* Google Calendar connection and imported events. */
.google-calendar-settings{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:22px 0;padding:20px;border:1px solid #dfe5e7;border-radius:17px;background:#fff}
.google-calendar-brand{position:relative;width:44px;height:44px;overflow:hidden;border-radius:11px;background:#fff;box-shadow:0 3px 12px #24313c18}
.google-calendar-brand>span{position:absolute}.google-calendar-brand>span:nth-child(1){inset:0 auto 0 0;width:7px;background:#34a853}.google-calendar-brand>span:nth-child(2){inset:0 0 auto 0;height:7px;background:#4285f4}.google-calendar-brand>span:nth-child(3){right:0;bottom:0;width:7px;height:37px;background:#fbbc04}.google-calendar-brand>span:nth-child(4){right:7px;bottom:0;left:7px;height:7px;background:#ea4335}.google-calendar-brand b{position:absolute;inset:7px;display:grid;place-items:center;color:#3b4650;font-size:15px}
.google-calendar-settings-copy{min-width:0}.google-calendar-settings-copy .small-label{margin-bottom:3px;color:#4285f4;font-size:9px}.google-calendar-settings-copy h2{margin:0;color:#29363e;font-size:17px}.google-calendar-settings-copy>p:not(.small-label){max-width:600px;margin:5px 0;color:#77858d;font-size:11px;line-height:1.5}.google-calendar-settings-copy>span{display:block;margin-top:7px;color:#87939a;font-size:10px}.google-calendar-settings-copy>span[data-state=connected]{color:#38875b}.google-calendar-settings-copy>span[data-state=error]{color:#b34f48}
.google-calendar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.google-calendar-actions button{padding:9px 12px;border:1px solid #d9e1e4;border-radius:10px;background:#fff;color:#42515a;font:inherit;font-size:10px;font-weight:800;white-space:nowrap}.google-calendar-actions #googleCalendarConnect{border-color:#4285f4;background:#4285f4;color:#fff}.google-calendar-actions #googleCalendarDisconnect{color:#a54e49}.google-calendar-actions button:disabled{opacity:.55;cursor:wait}
.google-calendar-day-card{margin:18px 0 22px;padding:14px 15px;border:1px solid #d9e6f8;border-radius:14px;background:#f7faff}.google-calendar-day-head{display:flex;align-items:center;gap:9px;margin-bottom:10px}.google-calendar-day-head>span{display:grid;width:27px;height:27px;place-items:center;border-radius:8px;background:#4285f4;color:#fff;font-size:12px;font-weight:900}.google-calendar-day-head>div{display:grid;gap:1px}.google-calendar-day-head strong{font-size:12px}.google-calendar-day-head small{color:#7f8e98;font-size:9px}.google-calendar-day-card>div:last-child{display:grid;gap:0}.google-calendar-day-card article{display:grid;grid-template-columns:5px minmax(0,1fr);gap:10px;padding:9px 0;border-top:1px solid #e5edf8}.google-calendar-day-card article>i{width:5px;height:100%;min-height:34px;border-radius:5px;background:#4285f4}.google-calendar-day-card article>div{display:grid;gap:3px;min-width:0}.google-calendar-day-card article strong{overflow:hidden;color:#34434c;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.google-calendar-day-card article span{overflow:hidden;color:#7b8992;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.large-calendar-task.google-calendar-task{background:#eaf2ff;color:#285da8}.google-calendar-task .large-calendar-task-dot{background:#4285f4}
html[data-mode="dark"] .google-calendar-settings{border-color:#43515a;background:#252e35}html[data-mode="dark"] .google-calendar-settings-copy h2{color:#f1f5f6}html[data-mode="dark"] .google-calendar-day-card{border-color:#36577d;background:#182b43}html[data-mode="dark"] .google-calendar-day-card article{border-color:#294564}html[data-mode="dark"] .google-calendar-day-card article strong{color:#eef4f8}html[data-mode="dark"] .large-calendar-task.google-calendar-task{background:#23476e;color:#e7f1ff}
@media(max-width:650px){.google-calendar-settings{grid-template-columns:auto minmax(0,1fr);padding:16px}.google-calendar-actions{grid-column:1/-1;justify-content:stretch}.google-calendar-actions button{flex:1}.google-calendar-settings-copy>p:not(.small-label){font-size:10px}}
.google-calendar-day-head>button,.google-calendar-day-card article>button{margin-left:auto;padding:6px 9px;border:1px solid #cfe0f7;border-radius:8px;background:#fff;color:#3572bd;font:inherit;font-size:9px;font-weight:800;white-space:nowrap}.google-calendar-day-card article{grid-template-columns:5px minmax(0,1fr) auto;align-items:center}.google-calendar-empty{margin:0;padding:12px 2px;color:#8a979f;font-size:10px}.google-calendar-dialog{width:min(430px,calc(100vw - 28px));padding:0;border:0;border-radius:20px;background:#fff;box-shadow:0 24px 70px #1726323d}.google-calendar-dialog::backdrop{background:#1d2a3373;backdrop-filter:blur(3px)}.google-calendar-form{display:grid;gap:16px;padding:23px}.google-calendar-form header{display:flex;align-items:flex-start;justify-content:space-between}.google-calendar-form header h2{margin:3px 0 0;font-size:21px}.google-calendar-form header>button{width:34px;height:34px;border:1px solid #dbe4e8;border-radius:50%;background:#fff;color:#63727a;font-size:20px}.google-calendar-form>label,.google-calendar-form-row>label{display:grid;gap:7px;color:#53626b;font-size:10px;font-weight:800}.google-calendar-form input:not([type=checkbox]){width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #d7e1e5;border-radius:10px;background:#fff;color:#263640;font:inherit;font-size:12px}.google-calendar-form-row{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:12px}.google-calendar-form-row .google-all-day{display:flex;align-items:center;justify-content:center;height:39px;border:1px solid #d7e1e5;border-radius:10px;background:#f7fafb}.google-calendar-form-error{margin:0;padding:9px 11px;border-radius:9px;background:#fff0ee;color:#a74943;font-size:10px}.google-calendar-form footer{display:grid;grid-template-columns:auto 1fr auto auto;gap:7px}.google-calendar-form footer button{padding:9px 12px;border:1px solid #d7e1e5;border-radius:9px;background:#fff;color:#596870;font:inherit;font-size:10px;font-weight:800}.google-calendar-form footer .google-event-save{border-color:#4285f4;background:#4285f4;color:#fff}.google-calendar-form footer .google-event-delete{border-color:#f1d4d1;color:#b14f48}.google-calendar-form button:disabled{opacity:.55;cursor:wait}html[data-mode="dark"] .google-calendar-dialog,html[data-mode="dark"] .google-calendar-form input:not([type=checkbox]){background:#252e35;color:#f1f5f6}html[data-mode="dark"] .google-calendar-form-row .google-all-day{background:#1e272d}html[data-mode="dark"] .google-calendar-dialog button{background:#303b43;color:#eef3f5}
.quick-repeat-help{grid-column:1/-1;margin:0;color:#8a969d;font-size:9px;line-height:1.5}.week-planner-view{width:min(1400px,calc(100% - 40px));margin:0 auto;padding:30px 0 100px}.week-planner-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.week-planner-head h1{margin:3px 0 5px;font-size:30px;letter-spacing:-.04em}.week-planner-head>div>p:last-child{margin:0;color:#7b8991;font-size:11px}.week-planner-nav{display:flex;align-items:center;gap:7px}.week-planner-nav strong{min-width:180px;text-align:center;font-size:11px}.week-planner-nav button{min-width:34px;height:34px;padding:0 10px;border:1px solid #dce5e8;border-radius:10px;background:#fff;color:#40515b;font:inherit;font-size:11px;font-weight:800}.week-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.week-summary article{display:grid;grid-template-columns:1fr auto;gap:4px;padding:14px 16px;border:1px solid #dce6e9;border-radius:14px;background:#fff}.week-summary span,.week-summary small{color:#829098;font-size:9px}.week-summary strong{font-size:19px}.week-summary small{grid-column:1/-1}.week-summary i{grid-column:1/-1;height:5px;overflow:hidden;border-radius:99px;background:#e8edef}.week-summary i b{display:block;height:100%;border-radius:inherit;background:var(--accent)}.week-board{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:8px;overflow-x:auto;padding-bottom:8px}.week-day{display:flex;min-height:430px;flex-direction:column;padding:12px;border:1px solid #dce6e9;border-radius:15px;background:#fff}.week-day.today{border-color:var(--accent);box-shadow:0 8px 25px color-mix(in srgb,var(--accent) 15%,transparent)}.week-day.drop-target{outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);background:color-mix(in srgb,var(--accent) 5%,#fff)}.week-day>header{display:flex;align-items:center;justify-content:space-between}.week-day>header>div{display:flex;align-items:center;gap:7px}.week-day>header span{color:#86939a;font-size:9px;font-weight:800;text-transform:uppercase}.week-day>header strong{font-size:20px}.week-day>header small{color:#8a969d;font-size:8px}.week-day-progress{height:3px;margin:10px 0 12px;border-radius:9px;background:#edf1f2}.week-day-progress i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.week-task-list{display:grid;align-content:start;gap:7px;flex:1}.week-task{display:grid;grid-template-columns:4px minmax(0,1fr);gap:8px;padding:9px;border:1px solid #e4eaec;border-radius:10px;background:#fbfcfc;cursor:grab}.week-task.dragging{opacity:.4}.week-task>i{border-radius:5px;background:var(--week-color)}.week-task>div{display:grid;gap:2px;min-width:0}.week-task strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.week-task small{color:#89949a;font-size:8px}.week-task.done strong{text-decoration:line-through;opacity:.55}.week-empty{margin:20px 0;color:#a0a9ae;font-size:9px;text-align:center}.week-day>footer{margin-top:12px;padding-top:9px;border-top:1px solid #edf0f1;color:#79909c;font-size:8px}.notification-item.plan-notification .notification-avatar{background:#eaf4f8;color:#2387c2}.notification-item.plan-notification.unread .notification-avatar{background:#238dcc;color:#fff}html[data-mode="dark"] .week-summary article,html[data-mode="dark"] .week-day{background:#252e35;border-color:#43515a}html[data-mode="dark"] .week-task{background:#20282e;border-color:#414d55}@media(max-width:760px){.week-planner-view{width:calc(100% - 24px);padding-top:18px}.week-planner-head{align-items:flex-start;flex-direction:column}.week-planner-nav{width:100%}.week-planner-nav strong{flex:1;min-width:0}.week-summary{grid-template-columns:1fr 1fr}.week-summary article:last-child{grid-column:1/-1}.week-board{scroll-snap-type:x mandatory}.week-day{min-width:72vw;scroll-snap-align:start}.quick-task-form-options{grid-template-columns:1fr 1fr}}
.quick-repeat-exceptions{display:flex;grid-column:1/-1;align-items:center;flex-wrap:wrap;gap:6px;padding:9px;border-radius:9px;background:#f5f8f9}.quick-repeat-exceptions strong{margin-right:3px;color:#64737c;font-size:9px}.quick-repeat-exceptions button{padding:5px 7px;border:1px solid #dbe4e7;border-radius:7px;background:#fff;color:#527080;font:inherit;font-size:8px}
.category-add-row strong{color:#24414f;font-weight:800}.category-add-row small{color:#667983}html[data-mode="dark"] .category-add-row strong{color:#f0f5f7}html[data-mode="dark"] .category-add-row small{color:#a9b6bd}
.open-analytics b,.personal-trash-link,.personal-social-head h2{color:#24414f}.open-analytics small{color:#667983}.open-analytics>strong{color:#007d78}.personal-social-head .small-label{color:#788791}html[data-mode="dark"] .open-analytics b,html[data-mode="dark"] .personal-trash-link,html[data-mode="dark"] .personal-social-head h2{color:#f0f5f7}html[data-mode="dark"] .open-analytics small,html[data-mode="dark"] .personal-social-head .small-label{color:#a9b6bd}
.admin-head h1,.admin-kpis strong,.admin-panel h2,.admin-users strong,.admin-users dd,.admin-usage strong,.admin-user-dashboard td strong{color:#24414f}.admin-head>button{color:#35505d}.admin-head .small-label,.admin-panel header .small-label{color:#77868e}.admin-kpis span,.admin-kpis small,.admin-head p:last-child{color:#687983}html[data-mode="dark"] .admin-head h1,html[data-mode="dark"] .admin-kpis strong,html[data-mode="dark"] .admin-panel h2,html[data-mode="dark"] .admin-users strong,html[data-mode="dark"] .admin-users dd,html[data-mode="dark"] .admin-usage strong,html[data-mode="dark"] .admin-user-dashboard td strong{color:#f0f5f7}html[data-mode="dark"] .admin-head>button{color:#dce6ea}html[data-mode="dark"] .admin-head .small-label,html[data-mode="dark"] .admin-panel header .small-label,html[data-mode="dark"] .admin-kpis span,html[data-mode="dark"] .admin-kpis small,html[data-mode="dark"] .admin-head p:last-child{color:#a9b6bd}
html[data-mode="light"] :is(.routine-page-head h1,.routine-photo-recap-head h2,.routine-category-heading h2,.study-time-head h2,.study-subject-head h3,.study-task-head h3,.feature-head h1,.feature-card-head h2,.dm-page-head h1,.other-heading h1,.friend-page-head h1,.personal-list-heading h2,.manage-page-head h1,.analytics-head h1,.analytics-card-head h2,.week-planner-head h1,.weekly-report-head h2,.public-todo-head h2,.global-photo-head h2,.global-discover-head h2,.community-panel-head h2,.social-feed-header h1,.diary-head h1,.task-heading-top h1,.tasks-head h1,.tasks-head h2,.quick-dialog-head h2,.task-image-head h2,.menu-detail-head h2,.profile-edit-head h2,.weekly-targets-dialog-head h2,.admin-user-dialog-head h2){color:#24414f}html[data-mode="dark"] :is(.routine-page-head h1,.routine-photo-recap-head h2,.routine-category-heading h2,.study-time-head h2,.study-subject-head h3,.study-task-head h3,.feature-head h1,.feature-card-head h2,.dm-page-head h1,.other-heading h1,.friend-page-head h1,.personal-list-heading h2,.manage-page-head h1,.analytics-head h1,.analytics-card-head h2,.week-planner-head h1,.weekly-report-head h2,.public-todo-head h2,.global-photo-head h2,.global-discover-head h2,.community-panel-head h2,.social-feed-header h1,.diary-head h1,.task-heading-top h1,.tasks-head h1,.tasks-head h2,.quick-dialog-head h2,.task-image-head h2,.menu-detail-head h2,.profile-edit-head h2,.weekly-targets-dialog-head h2,.admin-user-dialog-head h2){color:#f0f5f7}
.week-board{grid-template-columns:repeat(7,minmax(0,1fr));overflow:visible}.week-day{min-width:0}.week-task{padding:8px 7px}.week-task strong{font-size:9px}@media(max-width:900px){.week-board{grid-template-columns:repeat(7,minmax(210px,72vw));overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.week-board::-webkit-scrollbar{display:none}.week-day{min-width:0}}

/* Compact productivity tools */
.home-layout-dialog,.week-quick-dialog{padding:0;border:0;border-radius:22px;background:#fff;box-shadow:0 24px 80px #17242d35}.home-layout-dialog::backdrop,.week-quick-dialog::backdrop{background:#18232b66;backdrop-filter:blur(3px)}
.home-layout-dialog,.week-quick-dialog{width:min(92vw,430px)}.home-layout-dialog form,.week-quick-dialog form{padding:22px}.home-layout-dialog header,.week-quick-dialog header{display:flex;align-items:start;justify-content:space-between}.home-layout-dialog header span,.week-quick-dialog header span{color:#168f95;font-size:9px;font-weight:900;letter-spacing:.16em}.home-layout-dialog h2,.week-quick-dialog h2{margin:4px 0 0;color:#26343d;font-size:22px}.home-layout-dialog header>button,.week-quick-dialog header>button{width:32px;height:32px;padding:0;border:0;border-radius:50%;background:#f3f6f6;color:#6d7a82}.home-layout-dialog form>p{margin:10px 0 18px;color:#718089;font-size:12px}.home-layout-dialog form>label{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding:14px;border:1px solid #e2e9eb;border-radius:13px}.home-layout-dialog label span{display:flex;align-items:center;gap:10px;color:#314048}.home-layout-dialog label svg{width:20px;fill:none;stroke:#168f95;stroke-width:1.6}.home-layout-dialog input{width:38px;height:21px;accent-color:#109ba1}.home-layout-dialog footer{display:flex;justify-content:flex-end;margin-top:18px}.home-layout-dialog footer button,.week-quick-dialog form>button{padding:10px 18px;border:0;border-radius:999px;background:#243842;color:#fff;font-weight:800}.workspace.hide-calendar{grid-template-columns:minmax(0,760px);justify-content:center}.workspace.hide-calendar .calendar-column{display:none}.workspace.hide-tasks{grid-template-columns:minmax(0,620px);justify-content:center}.workspace.hide-tasks .todo-column{display:none}
.week-day footer{display:flex;align-items:center;justify-content:space-between}.week-day footer [data-week-add]{width:24px;height:24px;padding:0;border:0;border-radius:50%;background:#eff6f6;color:#128e94;font-size:16px}.week-planner-view.selecting .week-task{cursor:pointer}.week-planner-view.selecting .week-task:before{content:'';flex:0 0 13px;height:13px;border:1px solid #b8c4c9;border-radius:50%}.week-planner-view.selecting .week-task.selected{outline:2px solid #129da3;background:#eff9f9}.week-planner-view.selecting .week-task.selected:before{border-color:#129da3;background:#129da3;box-shadow:inset 0 0 0 3px #fff}.week-quick-dialog form{display:grid;gap:13px}.week-quick-dialog form>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.week-quick-dialog label{display:grid;gap:5px;color:#5d6b73;font-size:11px;font-weight:700}.week-quick-dialog input,.week-quick-dialog select{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #dbe3e6;border-radius:10px;background:#fff;color:#26343d}.week-quick-dialog form>button{justify-self:end;min-width:90px}
.focus-dock{position:fixed;right:22px;bottom:88px;z-index:8}.focus-dock-toggle{display:flex;align-items:center;gap:7px;min-height:42px;padding:0 14px;border:1px solid #d7e2e4;border-radius:999px;background:#fff;color:#29404a;box-shadow:0 8px 28px #22333d1b;font-size:12px;font-weight:800}.focus-dock-toggle svg{width:18px;fill:none;stroke:#139ba1;stroke-width:1.8;stroke-linecap:round}.focus-dock section{position:absolute;right:0;bottom:52px;width:260px;padding:17px;border:1px solid #dce5e7;border-radius:18px;background:#fff;box-shadow:0 18px 55px #26384229}.focus-dock section header{display:flex;justify-content:space-between}.focus-dock section header span{display:block;color:#149399;font-size:9px;font-weight:900;letter-spacing:.13em}.focus-dock section header strong{display:block;margin-top:3px;color:#26343d;font-size:28px}.focus-dock section header button{border:0;background:transparent;color:#849097;font-size:20px}.focus-dock select{width:100%;margin:13px 0;padding:9px;border:1px solid #dbe4e6;border-radius:9px;color:#34434b}.focus-dock section>div{display:flex;gap:7px}.focus-dock section>div button{flex:1;padding:9px;border:0;border-radius:9px;background:#eef3f4;color:#48575f;font-weight:800}.focus-dock section>div button:first-child{background:#173641;color:#fff}.focus-dock section>small{display:block;margin-top:10px;color:#829097;font-size:9px}.focus-dock.complete .focus-dock-toggle{border-color:#0ca1a6;background:#0b969b;color:#fff}.weekly-proof{margin-top:10px!important;padding:6px 0!important;border:0!important;background:transparent!important;color:#108f95!important;font-size:10px!important;font-weight:800!important}
html[data-mode="dark"] .home-layout-dialog,html[data-mode="dark"] .week-quick-dialog,html[data-mode="dark"] .focus-dock-toggle,html[data-mode="dark"] .focus-dock section{border-color:#364650;background:#17242d;color:#edf3f4}html[data-mode="dark"] .home-layout-dialog h2,html[data-mode="dark"] .week-quick-dialog h2,html[data-mode="dark"] .focus-dock section header strong{color:#edf3f4}html[data-mode="dark"] .home-layout-dialog form>label{background:#22313a}html[data-mode="dark"] .week-quick-dialog input,html[data-mode="dark"] .week-quick-dialog select,html[data-mode="dark"] .focus-dock select{border-color:#43535c;background:#1e2d35;color:#edf3f4}
@media(max-width:760px){.focus-dock{right:76px;bottom:82px}.focus-dock-toggle{width:44px;padding:0;justify-content:center}.focus-dock-toggle span{display:none}.focus-dock section{right:-64px;width:min(260px,calc(100vw - 24px))}.week-planner-head{gap:12px}.week-planner-nav{max-width:100%;overflow-x:auto;scrollbar-width:none}.week-summary{grid-template-columns:1fr 1fr}.week-summary article:last-child{grid-column:1/-1}.week-task{min-height:44px}.week-day footer [data-week-add]{width:32px;height:32px}.home-layout-dialog form,.week-quick-dialog form{padding:18px}.week-quick-dialog form>div{grid-template-columns:1fr}.header-actions{gap:5px}.shell{max-width:100%;overflow-x:hidden}.global-view,.routine-view,.daily-feature-view,.other-view,.analytics-view,.admin-view,.manage-view,.settings-view{max-width:100%;box-sizing:border-box}.social-feed-layout,.dm-layout,.study-paper,.fitness-grid{min-width:0}.post-composer textarea,input,select,textarea{max-width:100%;box-sizing:border-box}}

.task-detail-dialog,.plan-tools-dialog{width:min(92vw,520px);padding:0;border:0;border-radius:21px;background:#fff;box-shadow:0 24px 80px #17242d35}.task-detail-dialog::backdrop,.plan-tools-dialog::backdrop{background:#18232b66;backdrop-filter:blur(3px)}.task-detail-dialog form,.plan-tools-shell{padding:22px}.task-detail-dialog header,.plan-tools-shell>header{display:flex;align-items:start;justify-content:space-between;margin-bottom:16px}.task-detail-dialog header span,.plan-tools-shell>header span{color:#128f95;font-size:9px;font-weight:900;letter-spacing:.15em}.task-detail-dialog h2,.plan-tools-shell h2{margin:4px 0 0;color:#26343d;font-size:22px}.task-detail-dialog header button,.plan-tools-shell>header button{width:32px;height:32px;padding:0;border:0;border-radius:50%;background:#f2f6f6;color:#728087}.task-detail-dialog form>label,.task-detail-pair label{display:grid;gap:5px;margin-top:11px;color:#607078;font-size:11px;font-weight:750}.task-detail-dialog input,.task-detail-dialog textarea,.task-detail-dialog select{width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid #dce5e7;border-radius:10px;background:#fff;color:#293840}.task-detail-dialog textarea{min-height:82px;resize:vertical}.task-detail-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.task-detail-dialog fieldset{margin:15px 0 0;padding:12px;border:1px solid #e1e8ea;border-radius:12px}.task-detail-dialog legend{padding:0 5px;color:#53636b;font-size:11px;font-weight:800}.task-detail-check{display:grid;grid-template-columns:17px 1fr 25px;align-items:center;gap:7px;margin-top:6px}.task-detail-check>input:first-child{width:16px;height:16px;accent-color:#139aa0}.task-detail-check>input:nth-child(2){padding:7px 8px}.task-detail-check button,.task-detail-dialog [data-check-add]{border:0;background:transparent;color:#829097}.task-detail-dialog [data-check-add]{margin-top:8px;color:#158f95;font-size:11px;font-weight:800}.task-detail-dialog #taskFocusRecord{margin:13px 0 0;padding:9px 11px;border-radius:9px;background:#f3f7f7;color:#64747c;font-size:10px}.task-detail-dialog footer{display:flex;justify-content:flex-end;gap:7px;margin-top:16px}.task-detail-dialog footer button{padding:9px 15px;border:0;border-radius:9px;background:#eef3f4;color:#53616a;font-weight:800}.task-detail-dialog footer button:last-child{background:#213a44;color:#fff}.task-row .task-text:hover{color:#0b8d93}.week-task.conflict{border-color:#dc8a70;background:#fff8f5}.week-task.conflict:after{content:'!';display:grid;place-items:center;flex:0 0 15px;height:15px;border-radius:50%;background:#d36f55;color:#fff;font-size:9px;font-weight:900}.natural-parsed{animation:naturalParsed .9s ease}@keyframes naturalParsed{50%{box-shadow:0 0 0 3px #15a0a526}}
.plan-tools-dialog{width:min(92vw,650px)}.plan-tools-shell>nav{display:flex;gap:5px;padding:4px;border-radius:999px;background:#f1f4f4}.plan-tools-shell>nav button{flex:1;padding:8px;border:0;border-radius:999px;background:transparent;color:#78858c;font-size:11px;font-weight:800}.plan-tools-shell>nav button.active{background:#fff;color:#243a44;box-shadow:0 2px 8px #1b2c3512}.plan-tools-shell>section{min-height:210px;padding-top:17px}.plan-tools-shell>section>p{margin:0 0 12px;color:#718087;font-size:11px}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.template-grid article{display:flex;min-height:135px;flex-direction:column;padding:14px;border:1px solid #e0e7e9;border-radius:13px}.template-grid strong{color:#293840;font-size:13px}.template-grid small{flex:1;margin-top:8px;color:#77858c;font-size:9px;line-height:1.6}.template-grid button,.cleanup-actions button,.install-card button{align-self:start;padding:7px 10px;border:0;border-radius:8px;background:#eaf4f4;color:#0d858a;font-size:10px;font-weight:850}.cleanup-list{display:grid;max-height:300px;overflow:auto}.cleanup-list label{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid #edf0f1}.cleanup-list input{accent-color:#11989e}.cleanup-list span{display:grid}.cleanup-list strong{color:#34434b;font-size:12px}.cleanup-list small{color:#8a969c;font-size:9px}.cleanup-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:13px}.cleanup-actions button:first-child{background:#f8eded;color:#a24e4e}.cleanup-actions button:last-child{background:#213a44;color:#fff}.tools-empty{display:grid;min-height:180px;place-items:center;color:#819097;font-size:12px}.install-card{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:14px;padding:18px;border:1px solid #e0e7e9;border-radius:15px}.install-card>svg{width:35px;fill:none;stroke:#12979d;stroke-width:1.6}.install-card strong{color:#293840;font-size:13px}.install-card p{margin:5px 0 0;color:#75838a;font-size:10px;line-height:1.5}.install-card button:disabled{background:#f1f3f4;color:#9ba4a9}
html[data-mode="dark"] .task-detail-dialog,html[data-mode="dark"] .plan-tools-dialog{background:#17242d;color:#edf3f4}html[data-mode="dark"] .task-detail-dialog h2,html[data-mode="dark"] .plan-tools-shell h2,html[data-mode="dark"] .template-grid strong,html[data-mode="dark"] .cleanup-list strong,html[data-mode="dark"] .install-card strong{color:#edf3f4}html[data-mode="dark"] .task-detail-dialog input,html[data-mode="dark"] .task-detail-dialog textarea,html[data-mode="dark"] .task-detail-dialog select{border-color:#43535c;background:#1e2d35;color:#edf3f4}html[data-mode="dark"] .template-grid article,html[data-mode="dark"] .install-card{border-color:#3e4d56}html[data-mode="dark"] .plan-tools-shell>nav{background:#22313a}html[data-mode="dark"] .plan-tools-shell>nav button.active{background:#34434c;color:#fff}
*:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 48%,transparent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:650px){.task-detail-dialog,.plan-tools-dialog{width:calc(100vw - 18px);max-height:88vh;overflow:auto;border-radius:17px}.task-detail-dialog form,.plan-tools-shell{padding:17px}.task-detail-pair{grid-template-columns:1fr}.template-grid{grid-template-columns:1fr}.template-grid article{min-height:0}.install-card{grid-template-columns:42px 1fr}.install-card button{grid-column:1/-1;width:100%}.plan-tools-shell>nav button{padding-inline:5px;font-size:10px}}

.auth-divider{display:flex;align-items:center;gap:10px;margin:15px 0 11px;color:#9aa4a9;font-size:10px}.auth-divider:before,.auth-divider:after{content:'';flex:1;height:1px;background:#e5eaeb}.demo-start-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:10px 15px;border:1px solid #d9e3e5;border-radius:999px;background:#f6f9f9;color:#28414b;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.demo-start-button:hover{border-color:var(--accent);color:var(--accent)}.demo-privacy-note{display:block;margin-top:8px;color:#849097;font-size:9px;text-align:center}.demo-mode-bar{position:fixed;top:0;right:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;gap:22px;min-height:38px;padding:5px 14px;background:#173943;color:#fff;font-size:11px}.demo-mode-bar[hidden]{display:none}.demo-mode-bar>div{display:flex;gap:6px}.demo-mode-bar button{padding:5px 9px;border:1px solid #ffffff50;border-radius:999px;background:transparent;color:#fff;font:inherit;font-size:10px;font-weight:800}.demo-mode-bar button:first-child{border-color:#fff;background:#fff;color:#173943}.demo-mode .topbar{top:38px}.demo-mode .shell{padding-top:150px}.demo-mode .bottom-nav [data-view="global"],.demo-mode .bottom-nav [data-view="dm"],.demo-mode .bottom-nav [data-view="profile"],.demo-mode .notification-wrap{display:none}.demo-mode .bottom-nav{gap:80px}.demo-mode.guest-auth-open .auth-gate{display:grid!important;position:fixed;z-index:1000;inset:0;background:#1c272f73;backdrop-filter:blur(5px)}html[data-mode="dark"] .demo-start-button{border-color:#46565f;background:#26353d;color:#eef3f4}@media(max-width:600px){.demo-mode-bar{justify-content:space-between;gap:8px;padding-inline:10px}.demo-mode-bar span{max-width:175px;line-height:1.25}.demo-mode-bar span b{display:block}.demo-mode .shell{padding-top:140px}.demo-mode .bottom-nav{gap:40px}.demo-mode.guest-auth-open .auth-card{margin:auto}.demo-privacy-note{line-height:1.4}}
.demo-mode .account-name,.demo-mode .google-calendar-settings,.demo-mode .account-danger,.demo-mode .task-photo-button,.demo-mode .diary-attachments,body.guest-mode .focus-dock{display:none!important}.demo-mode .guest-auth-close{display:grid;place-items:center}
.product-tour[hidden]{display:none}.product-tour{position:fixed;inset:0}.product-tour-shade{position:absolute;z-index:1200;inset:0;width:100%;border:0;background:#101a2078;backdrop-filter:blur(1px)}.product-tour section{position:fixed;z-index:1202;width:min(360px,calc(100vw - 24px));box-sizing:border-box;padding:19px;border:1px solid #dbe5e7;border-radius:17px;background:#fff;box-shadow:0 22px 70px #0f1d2650}.product-tour section>span{color:#11969c;font-size:9px;font-weight:900;letter-spacing:.12em}.product-tour h2{margin:5px 0;color:#263841;font-size:20px}.product-tour p{margin:0;color:#66767e;font-size:12px;line-height:1.65}.product-tour footer{display:flex;align-items:center;justify-content:space-between;margin-top:17px}.product-tour footer button{padding:8px 11px;border:0;border-radius:9px;background:transparent;color:#75848b;font-size:10px;font-weight:800}.product-tour footer>div{display:flex;gap:6px}.product-tour footer [data-tour-next]{background:#1e3a44;color:#fff}.tour-highlight{position:relative;z-index:1201!important;border-radius:14px;box-shadow:0 0 0 4px #fff,0 0 0 7px #16a3a9!important}.tour-open{overflow:hidden}html[data-mode="dark"] .product-tour section{border-color:#43545d;background:#17252d}html[data-mode="dark"] .product-tour h2{color:#f0f5f6}html[data-mode="dark"] .product-tour p{color:#aab7bd}@media(max-width:600px){.product-tour section{padding:17px}.product-tour h2{font-size:18px}.tour-highlight{box-shadow:0 0 0 3px #fff,0 0 0 6px #16a3a9!important}}
.group-empty{display:flex;align-items:center;gap:7px;border:0;background:transparent;text-align:left;cursor:pointer}.group-empty span{color:var(--group-color);font-size:11px;font-weight:800}.group-empty:hover span{text-decoration:underline}.quick-add-head>div{display:grid;gap:3px}.quick-add-head>div>small{color:#87949b;font-size:9px}.quick-add-options em{padding:2px 5px;border-radius:99px;background:#e8f5f4;color:#128f95;font-size:8px;font-style:normal}.demo-save-nudge{position:fixed;z-index:1100;right:20px;bottom:88px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;width:min(520px,calc(100vw - 24px));box-sizing:border-box;padding:14px 15px;border:1px solid #cce4e3;border-radius:16px;background:#fff;color:#263941;box-shadow:0 18px 55px #18303d33}.demo-save-nudge[hidden]{display:none}.demo-save-nudge>div{display:grid;gap:3px}.demo-save-nudge strong{font-size:13px}.demo-save-nudge span{color:#718188;font-size:10px}.demo-save-nudge button{padding:8px 11px;border:0;border-radius:9px;background:#173943;color:#fff;font-size:10px;font-weight:800}.demo-save-nudge [data-demo-nudge-close]{padding:4px;background:transparent;color:#87949b;font-size:18px}.week-share-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 10px;color:#839098;font-size:9px}.week-share-row button{padding:8px 11px;border:1px solid #d9e4e6;border-radius:9px;background:#fff;color:#167f84;font:inherit;font-size:9px;font-weight:850}.routine-photo-recap,.task-group,.community-panel{content-visibility:auto;contain-intrinsic-size:auto 180px}
@media(max-width:600px){.demo-save-nudge{right:12px;bottom:142px;grid-template-columns:1fr auto;padding:13px}.demo-save-nudge>div{grid-column:1/-1}.demo-save-nudge [data-demo-nudge-close]{position:absolute;top:7px;right:7px}.week-share-row span{display:flex;align-items:center}.week-share-row span:before{content:'↔';margin-right:5px;color:#158f95;font-size:14px}}
.notes-view{width:min(1040px,calc(100% - 40px));margin:0 auto;padding:28px 0 110px}.notes-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}.notes-head>button:first-child{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#64727a}.notes-head>div{flex:1}.notes-head .small-label{margin:1px 0 5px}.notes-head h1{margin:0;color:#26343d;font-size:30px}.notes-head p:last-child{margin:5px 0 0;color:#829097;font-size:11px}.notes-head>[data-note-new]{padding:10px 14px;border:0;border-radius:11px;background:#173943;color:#fff;font-size:11px;font-weight:800}.notes-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.notes-toolbar>label{display:flex;align-items:center;gap:8px;width:min(360px,100%);padding:0 12px;border:1px solid #dfe7e8;border-radius:12px;background:#fff}.notes-toolbar input{width:100%;height:42px;border:0;outline:0;background:transparent}.notes-toolbar nav{display:flex;padding:4px;border-radius:999px;background:#f0f4f4}.notes-toolbar nav button{padding:7px 12px;border:0;border-radius:999px;background:transparent;color:#718087;font-size:10px;font-weight:800}.notes-toolbar nav button.active{background:#fff;color:#173943;box-shadow:0 2px 8px #172d3712}.notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:13px}.note-card{position:relative;min-height:160px;border:1px solid #e1e7e7;border-radius:16px;background:#fff;overflow:hidden}.note-card.mint{background:#eff9f7}.note-card.sand{background:#fff7e9}.note-card.rose{background:#fff1f3}.note-card.blue{background:#eef5fb}.note-card.pinned{border-color:#bfdcda}.note-card-open{display:grid;align-content:start;width:100%;min-height:160px;padding:17px 17px 45px;border:0;background:transparent;color:#293840;text-align:left}.note-card-open>span{color:#128f95;font-size:8px;font-weight:900;letter-spacing:.12em}.note-card-open strong{margin-top:8px;font-size:15px;overflow-wrap:anywhere}.note-card-open p{display:-webkit-box;margin:9px 0 0;overflow:hidden;color:#69787f;font-size:11px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:4}.note-card-open time{margin-top:13px;color:#98a2a7;font-size:8px}.note-card>div{position:absolute;right:10px;bottom:9px;display:flex;gap:5px}.note-card>div button{padding:5px 7px;border:0;border-radius:7px;background:#ffffffa8;color:#68777e;font-size:9px}.notes-empty{display:grid;grid-column:1/-1;min-height:300px;place-items:center;align-content:center;gap:10px;border:1px dashed #dce5e6;border-radius:17px;color:#839198}.notes-empty>span{font-size:35px}.notes-empty strong{font-size:13px}.notes-empty button{padding:8px 13px;border:0;border-radius:9px;background:#173943;color:#fff;font-size:10px;font-weight:800}.note-editor-dialog{width:min(620px,calc(100vw - 28px));padding:0;border:0;border-radius:20px;background:#fff;box-shadow:0 26px 80px #17263144}.note-editor-dialog::backdrop{background:#17263169;backdrop-filter:blur(3px)}.note-editor-dialog form{display:grid;padding:21px}.note-editor-dialog header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.note-editor-dialog header>div{display:grid;gap:3px}.note-editor-dialog header span{color:#12949a;font-size:8px;font-weight:900;letter-spacing:.14em}.note-editor-dialog header strong{font-size:20px}.note-editor-dialog header button{width:32px;height:32px;border:0;border-radius:50%;background:#f1f5f5;color:#6f7d84;font-size:20px}.note-title-input{padding:10px 2px;border:0;border-bottom:1px solid #e5e9ea;outline:0;color:#263640;font:inherit;font-size:19px;font-weight:800}.note-editor-dialog textarea{min-height:300px;padding:15px 2px;border:0;outline:0;resize:vertical;color:#3d4b52;font:inherit;font-size:13px;line-height:1.75}.note-editor-tools{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid #edf0f1}.note-editor-tools fieldset{display:flex;gap:7px;margin:0;padding:0;border:0}.note-editor-tools legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.note-color{position:relative;display:block}.note-color input{position:absolute;opacity:0}.note-color span{display:block;width:22px;height:22px;border:2px solid #fff;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #ccd6d8}.note-color.mint span{background:#cdece6}.note-color.sand span{background:#f5dfb8}.note-color.rose span{background:#f3cdd3}.note-color.blue span{background:#cbddec}.note-color input:checked+span{box-shadow:0 0 0 2px #173943}.note-editor-tools>span{color:#8a969c;font-size:9px}.note-editor-dialog footer{display:flex;justify-content:flex-end;gap:6px;padding-top:12px;border-top:1px solid #edf0f1}.note-editor-dialog footer button{padding:8px 10px;border:0;border-radius:8px;background:#eef3f3;color:#56656c;font-size:9px;font-weight:800}.note-editor-dialog footer button:last-child{background:#173943;color:#fff}
html[data-mode="dark"] .notes-toolbar>label,html[data-mode="dark"] .note-card,html[data-mode="dark"] .note-editor-dialog{border-color:#3e4c54;background:#1d2931;color:#eef3f4}html[data-mode="dark"] .note-card-open,html[data-mode="dark"] .note-title-input,html[data-mode="dark"] .note-editor-dialog textarea{color:#eef3f4}html[data-mode="dark"] .note-card.mint,html[data-mode="dark"] .note-card.sand,html[data-mode="dark"] .note-card.rose,html[data-mode="dark"] .note-card.blue{background:#24343b}
@media(max-width:760px){.notes-view{width:calc(100% - 24px);padding-top:20px}.notes-head{align-items:center;flex-wrap:wrap}.notes-head>div{min-width:calc(100% - 52px)}.notes-head>[data-note-new]{width:100%}.notes-toolbar{align-items:stretch;flex-direction:column}.notes-toolbar>label{box-sizing:border-box}.notes-toolbar nav button{flex:1}.notes-grid{grid-template-columns:1fr 1fr}.note-editor-dialog{inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;border-radius:0}.note-editor-dialog form{min-height:100%;box-sizing:border-box}.note-editor-dialog textarea{min-height:0;flex:1}.note-editor-dialog footer{flex-wrap:wrap}.note-editor-dialog footer button{flex:1}.note-editor-dialog footer button:last-child{flex-basis:100%}}
@media(max-width:440px){.notes-grid{grid-template-columns:1fr}.note-card,.note-card-open{min-height:145px}}

/* Keep tour guidance above highlighted planner content on small screens. */
.product-tour,.product-tour-shade,.tour-highlight{touch-action:none;overscroll-behavior:none}.product-tour section{z-index:2147483647}
@media(max-width:600px){.product-tour section{width:calc(100vw - 24px);max-height:none;overflow:visible}}
@media(max-width:600px){.tour-open .mobile-quick-add,.tour-open:not(.tour-focus-step) .focus-dock{display:none!important}.tour-highlight{isolation:isolate}.product-tour section{isolation:isolate}}

/* Demo notice participates in layout so it never covers the app header. */
.demo-mode-bar{position:sticky}.demo-mode .topbar{top:auto}.demo-mode .shell{padding-top:36px}
@media(max-width:600px){.demo-mode .shell{padding-top:19px}}

/* Mobile controls stay reachable without covering content. */
@media(max-width:620px){
  .shell{padding-bottom:160px}
  .todo-column{padding-bottom:170px}
  .task-more,.task-photo-button,.group-add,.remove-group,.month-actions button{width:44px;height:44px;min-width:44px}
  .task-actions{margin-top:-10px;margin-bottom:-10px}.task-action-menu{top:44px}
  .demo-mode-bar{min-height:44px;gap:8px;padding:4px 10px}
  .demo-mode-bar span{max-width:none;white-space:nowrap;font-size:10px;line-height:1}
  .demo-mode-bar span b{display:inline}
  .demo-mode-bar span small{font-size:9px}
  .demo-mode-bar>div{gap:5px}
  .demo-mode-bar button{padding:6px 8px;font-size:9px;white-space:nowrap}
}
@media(max-width:390px){.settings-shortcut{display:none}.demo-mode-bar span small{display:none}}

/* Routine history controls and direct editing. */
.routine-dashboard{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-bottom:18px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface,#fff)}.routine-range-nav,.routine-filters{display:flex;align-items:center;gap:7px}.routine-range-nav button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#40515b}.routine-range-nav button:disabled{opacity:.35}.routine-range-nav strong{min-width:180px;text-align:center;font-size:11px}.routine-filters{justify-content:flex-end}.routine-filters select{height:36px;padding:0 28px 0 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#40515b;font-size:10px}.routine-period-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.routine-period-stats article{display:grid;gap:4px;padding:11px 12px;border-radius:11px;background:var(--soft)}.routine-period-stats span{color:#75848b;font-size:9px}.routine-period-stats strong{font-size:18px}.routine-title-button{padding:0;border:0;background:transparent;color:#2d373e;font:inherit;font-size:14px;font-weight:800;text-align:left}.routine-title-button:hover{color:var(--accent);text-decoration:underline}.routine-cell:is(button){cursor:pointer}.routine-edit-dialog,.routine-record-dialog{width:min(460px,calc(100vw - 28px));padding:0;border:0;border-radius:18px;background:#fff;color:#293840;box-shadow:0 24px 70px #17263142}.routine-edit-dialog::backdrop,.routine-record-dialog::backdrop{background:#17263166;backdrop-filter:blur(3px)}.routine-edit-dialog form,.routine-record-dialog form{display:grid;gap:12px;padding:20px}.routine-edit-dialog header,.routine-record-dialog header{display:flex;justify-content:space-between}.routine-edit-dialog header span,.routine-record-dialog header span{color:#128f95;font-size:8px;font-weight:900;letter-spacing:.14em}.routine-edit-dialog h2,.routine-record-dialog h2{margin:3px 0 0;font-size:20px}.routine-record-dialog header p{margin:5px 0 0;color:#7d8a91;font-size:10px}.routine-edit-dialog header button,.routine-record-dialog header button{width:32px;height:32px;border:0;border-radius:50%;background:#eef3f3}.routine-edit-dialog label{display:grid;gap:5px;color:#64737b;font-size:10px;font-weight:750}.routine-edit-dialog form>div:not(:first-child){display:grid;grid-template-columns:1fr 1fr;gap:9px}.routine-edit-dialog input,.routine-edit-dialog select{width:100%;height:40px;padding:0 10px;border:1px solid #dce5e7;border-radius:9px;background:#fff;color:#293840}.routine-record-check{display:flex;align-items:center;gap:10px;padding:15px;border-radius:12px;background:var(--soft);font-size:13px;font-weight:750}.routine-record-check input{width:21px;height:21px;accent-color:var(--accent)}.routine-edit-dialog footer,.routine-record-dialog footer{display:flex;justify-content:flex-end;gap:7px}.routine-edit-dialog footer button,.routine-record-dialog footer button{padding:9px 13px;border:0;border-radius:9px;background:#eef3f3;color:#526169;font-weight:800}.routine-edit-dialog footer button:last-child,.routine-record-dialog footer button:last-child{background:#213a44;color:#fff}html[data-mode="dark"] .routine-dashboard,html[data-mode="dark"] .routine-edit-dialog,html[data-mode="dark"] .routine-record-dialog{background:#1d2931;color:#eef3f4}html[data-mode="dark"] .routine-title-button{color:#eef3f4}
@media(max-width:650px){.routine-dashboard{grid-template-columns:1fr}.routine-range-nav{justify-content:space-between}.routine-range-nav strong{min-width:0}.routine-filters{display:grid;grid-template-columns:1fr 1fr}.routine-filters select{width:100%}.routine-period-stats{grid-column:auto}.routine-period-stats article{padding:9px}.routine-period-stats strong{font-size:16px}.routine-edit-dialog form>div:not(:first-child){grid-template-columns:1fr}.routine-cell:is(button){min-width:0;min-height:0}}
.routine-period-stats small{font-size:8px;font-weight:850}.routine-period-stats small.up{color:#168f69}.routine-period-stats small.down{color:#c55a58}

/* Power tools */
#homeView.hide-calendar .workspace{grid-template-columns:minmax(0,760px);justify-content:center}#homeView.hide-calendar .calendar-column{display:none}#homeView.hide-tasks .workspace{grid-template-columns:minmax(0,620px);justify-content:center}#homeView.hide-tasks .todo-column{display:none}#homeView.tasks-first .todo-column{order:1}#homeView.tasks-first .calendar-column{order:2}#homeView.hide-completed .task-row.done{display:none}
.backup-settings>div:nth-child(2)>label{display:grid;place-items:center;padding:9px 11px;border:1px solid #d7e3e4;border-radius:9px;background:#fff;color:#31515a;font-size:9px;font-weight:800;cursor:pointer}.note-links{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px;padding:10px 0;border-top:1px solid #edf0f1}.note-links label{display:grid;gap:5px;color:#68777e;font-size:9px;font-weight:800}.note-links input,.note-links select{width:100%;height:36px;padding:0 9px;border:1px solid #dfe7e8;border-radius:9px;background:#fff;color:#30434b}.task-linked-notes{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.task-linked-notes strong{width:100%;font-size:10px}.task-linked-notes button{padding:7px 9px;border:1px solid #dce6e7;border-radius:8px;background:#f4f8f8;color:#31525a;font-size:9px}.power-settings{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.power-settings article{padding:18px;border:1px solid color-mix(in srgb,var(--accent) 24%,#dfe7e7);border-radius:15px;background:color-mix(in srgb,var(--accent) 4%,#fff)}.power-settings h2{margin:2px 0;color:#293840;font-size:16px}.power-settings p{margin:4px 0;color:#78878e;font-size:10px}.notification-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.notification-options label{display:flex;align-items:center;gap:7px;padding:8px;border-radius:9px;background:#fff;color:#40545c;font-size:10px;font-weight:700}.notification-options input{accent-color:var(--accent)}.public-calendar-controls{display:grid;grid-template-columns:1fr auto auto;gap:6px;margin-top:13px}.public-calendar-controls input{grid-column:1/-1;height:36px;padding:0 10px;border:1px solid #dce5e6;border-radius:9px;background:#fff;color:#52666e;font-size:9px}.public-calendar-controls button{padding:8px 10px;border:0;border-radius:8px;background:#173943;color:#fff;font-size:9px;font-weight:800}.power-settings article>span{display:block;margin-top:7px;color:#138d92;font-size:9px}html[data-mode="dark"] .power-settings article,html[data-mode="dark"] .notification-options label,html[data-mode="dark"] .note-links input,html[data-mode="dark"] .note-links select{background:#22313a;color:#edf3f4}html[data-mode="dark"] .power-settings h2{color:#edf3f4}@media(max-width:650px){.power-settings{grid-template-columns:1fr}.note-links{grid-template-columns:1fr}.public-calendar-controls{grid-template-columns:1fr 1fr}.backup-settings>div:nth-child(2)>label{min-height:40px}}
@media(max-width:600px){.notes-shortcut{display:none}}
.backup-settings{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin:20px 0;padding:19px;border:1px solid color-mix(in srgb,var(--accent) 24%,#dfe7e7);border-radius:15px;background:color-mix(in srgb,var(--accent) 5%,#fff)}.backup-settings .small-label{margin:0 0 4px}.backup-settings h2{margin:0;color:#293840;font-size:17px}.backup-settings p:last-child{margin:5px 0 0;color:#7c8990;font-size:10px;line-height:1.5}.backup-settings>div:nth-child(2){display:flex;gap:7px}.backup-settings button{padding:9px 11px;border:1px solid #d7e3e4;border-radius:9px;background:#fff;color:#31515a;font:inherit;font-size:9px;font-weight:800}.backup-settings span{grid-column:1/-1;color:#16858a;font-size:9px}html[data-mode="dark"] .backup-settings{background:#22313a}html[data-mode="dark"] .backup-settings h2{color:#eef3f4}@media(max-width:650px){.backup-settings{grid-template-columns:1fr}.backup-settings>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr}.backup-settings button{min-height:40px}}

/* Stable phone layout: every home surface fits the viewport without horizontal clipping. */
@media(max-width:620px){
  .shell{box-sizing:border-box;width:100%;max-width:100%;padding-right:12px;padding-left:12px}
  #homeView,.workspace,.calendar-column,.todo-column{box-sizing:border-box;width:100%;max-width:100%;min-width:0}
  .workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
  .calendar-column{padding:17px 12px 19px;overflow:hidden}
  .calendar-column .weekdays,.calendar-column .calendar-grid{width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr));column-gap:2px}
  .calendar-column .calendar-day,.calendar-column .calendar-blank{width:100%;min-width:0;max-width:42px;height:49px;min-height:49px}
  .calendar-column .day-marks{width:100%;max-width:42px}
  .calendar-head{gap:8px}.calendar-heading-left{min-width:0}.month-picker-anchor{min-width:0}.month-title{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .todo-column{padding:2px 2px 100px}.task-group{max-width:100%;margin-top:21px}.group-heading{min-width:0;flex-wrap:wrap}.group-pill{max-width:calc(100% - 28px)}.group-heading .group-pill strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .task-group{content-visibility:visible;contain:none}.task-group .task-list,.task-group .group-empty,.task-group .inline-form{margin-left:0}.task-row{min-width:0;gap:8px}.task-text{min-width:0;font-size:13px}.task-actions{margin-left:auto}.task-action-menu{right:0;left:auto}
  .inline-form{display:grid;grid-template-columns:minmax(90px,1fr) 104px 40px;align-items:end;gap:6px}.inline-form .inline-end-date{grid-column:auto;width:104px;min-width:0;overflow:hidden;font-size:0}.inline-form .inline-end-date input{box-sizing:border-box;width:104px;min-width:0;min-height:34px;padding-inline:2px;font-size:10px}.inline-form>button{width:40px;min-height:34px;padding-inline:0}.inline-form input{width:100%;min-width:0}
  .workspace.calendar-expanded>.calendar-column{padding:14px 8px;overflow:hidden}.workspace.calendar-expanded .weekdays,.workspace.calendar-expanded .calendar-grid{min-width:0}.workspace.calendar-expanded .calendar-column .calendar-day,.workspace.calendar-expanded .calendar-column .calendar-blank{min-height:82px;padding:4px 3px}.workspace.calendar-expanded .large-calendar-task{padding:2px 3px;font-size:7px}.workspace.calendar-expanded .large-calendar-items{gap:2px}.workspace.calendar-expanded .large-calendar-holiday{font-size:7px}
  .mobile-quick-add{right:14px;bottom:calc(84px + env(safe-area-inset-bottom))}.focus-dock{right:76px;bottom:calc(84px + env(safe-area-inset-bottom))}.bottom-nav{height:calc(70px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}
}
@media(max-width:380px){.calendar-column{padding-inline:8px}.calendar-column .calendar-day,.calendar-column .calendar-blank{height:46px;min-height:46px}.calendar-column .day-marks{transform:scale(.9)}.group-pill{max-width:calc(100% - 24px)}.inline-form{grid-template-columns:minmax(78px,1fr) 96px 38px}.inline-form .inline-end-date,.inline-form .inline-end-date input{width:96px}.inline-form>button{width:38px;font-size:11px}}

/* Detailed admin operations dashboard */
.admin-kpis-detailed{grid-template-columns:repeat(4,1fr)}
.admin-overview-grid,.admin-activity-panel{display:grid;grid-template-columns:.78fr 1.22fr;gap:16px}
.admin-health dl{display:grid;gap:0;margin:12px 0 0}.admin-health dl div{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line,#edf0f0)}.admin-health dl div:last-child{border:0}.admin-health dt{color:#718088;font-size:10px}.admin-health dd{margin:0;font-size:17px;font-weight:850}.admin-health dd.warning{color:#b7524a}
.admin-daily-chart{display:grid;grid-template-columns:repeat(14,1fr);gap:6px;padding-top:18px}.admin-daily-chart article{display:grid;gap:4px;min-width:0;text-align:center}.admin-daily-bars{display:flex;align-items:end;justify-content:center;gap:2px;height:120px;border-bottom:1px solid var(--line,#e1e7e7)}.admin-daily-bars i{width:22%;min-height:3px;border-radius:3px 3px 1px 1px;background:var(--accent)}.admin-daily-bars i:nth-child(2){background:#d99a60}.admin-daily-bars i:nth-child(3){background:#b58bad}.admin-daily-chart strong{font-size:9px}.admin-daily-chart small{overflow:hidden;color:#879198;font-size:7px;white-space:nowrap}
.admin-recent>div{max-height:370px;overflow:auto}.admin-recent article{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line,#edf0f0)}.admin-recent article:last-child{border:0}.admin-recent article>span{display:grid;width:30px;height:30px;flex:none;place-items:center;border-radius:9px;background:#e5f3ef;color:#287864;font-weight:900}.admin-recent article>span.post{background:#e9eef9;color:#536da4}.admin-recent article>span.report{background:#fff0ed;color:#ae5048}.admin-recent article>div{display:grid;gap:3px;min-width:0}.admin-recent strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.admin-recent small{color:#89959b;font-size:8px}
.admin-user-tools{display:flex;align-items:center;gap:7px}.admin-user-tools select,.admin-user-tools>button{height:34px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface,#fff);color:inherit;font:inherit;font-size:9px}.admin-user-tools>button{border-color:var(--accent);color:var(--accent);font-weight:800;cursor:pointer}
@media(max-width:780px){.admin-overview-grid,.admin-activity-panel{grid-template-columns:1fr}.admin-kpis-detailed{grid-template-columns:1fr 1fr}.admin-user-dashboard>header{align-items:stretch;flex-direction:column}.admin-user-tools{display:grid;grid-template-columns:1fr 1fr}.admin-user-search{grid-column:1/-1}.admin-user-search input{flex:1;width:auto}.admin-daily-chart{gap:3px;overflow-x:auto}.admin-daily-chart article{min-width:24px}.admin-daily-bars{height:90px}}
@media(max-width:420px){.admin-kpis-detailed article{padding:12px}.admin-kpis-detailed strong{font-size:22px}.admin-user-tools{grid-template-columns:1fr}.admin-user-search{grid-column:auto}.admin-tabs button{min-width:96px}}

/* Admin data analysis */
.admin-analysis{display:grid;gap:16px}.admin-analysis-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.admin-analysis-metrics>article,.admin-averages>div>article{display:grid;gap:4px;padding:14px;border:1px solid var(--line,#e2e7e7);border-radius:13px;background:var(--surface,#fff)}.admin-analysis-metrics span,.admin-averages span{color:#7c8990;font-size:9px}.admin-analysis-metrics strong,.admin-averages strong{font-size:21px}.admin-analysis-metrics small,.admin-averages small{color:#929ca2;font-size:8px}.admin-analysis-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.admin-categories>div{display:grid;gap:10px;padding-top:16px}.admin-categories article{display:grid;grid-template-columns:20px minmax(85px,.8fr) 1.5fr 35px;align-items:center;gap:8px}.admin-categories article>b{display:grid;width:20px;height:20px;place-items:center;border-radius:6px;background:#edf3f3;color:#65747b;font-size:8px}.admin-categories article>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.admin-categories article>i{height:7px;overflow:hidden;border-radius:99px;background:#e8edec}.admin-categories article>i em{display:block;height:100%;border-radius:inherit;background:var(--accent)}.admin-categories article>strong{text-align:right;font-size:10px}.admin-averages>div{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding-top:16px}
@media(max-width:900px){.admin-analysis-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.admin-analysis-grid{grid-template-columns:1fr}.admin-analysis-metrics{grid-template-columns:1fr 1fr}.admin-analysis-metrics>article{padding:11px}.admin-analysis-metrics strong{font-size:18px}}

/* Expanded admin intelligence */
.admin-growth{padding:18px;border:1px solid var(--line,#e2e7e7);border-radius:18px;background:var(--surface,#fff)}.admin-growth>header{display:flex;align-items:end;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line,#edf0f0)}.admin-growth h2{margin:3px 0 0;font-size:18px}.admin-growth>header>span{color:#879198;font-size:9px}.admin-growth>div{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding-top:14px}.admin-growth article{display:grid;gap:4px;padding:12px;border-radius:12px;background:var(--soft,#f4f7f7)}.admin-growth article>span{color:#75848b;font-size:9px}.admin-growth article>strong{font-size:20px}.admin-growth article>small{font-size:8px}.admin-growth small.up{color:#168f69}.admin-growth small.down{color:#c55a58}
.admin-weekdays>div{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;padding-top:16px}.admin-weekdays article{display:grid;grid-template-rows:auto 105px auto;gap:5px;text-align:center}.admin-weekdays article>strong{font-size:9px}.admin-weekdays article>i{display:flex;align-items:end;justify-content:center;border-bottom:1px solid var(--line,#e1e7e7)}.admin-weekdays article>i em{width:55%;min-height:3px;border-radius:5px 5px 1px 1px;background:var(--accent)}.admin-weekdays article>small{color:#849198;font-size:8px}
.admin-report-reasons>div{display:grid;gap:13px;padding-top:17px}.admin-report-reasons article{display:grid;grid-template-columns:75px 1fr 28px;align-items:center;gap:8px}.admin-report-reasons span,.admin-report-reasons strong{font-size:9px}.admin-report-reasons i{height:8px;overflow:hidden;border-radius:99px;background:#f1e9e8}.admin-report-reasons i em{display:block;height:100%;border-radius:inherit;background:#c46a61}.admin-report-reasons strong{text-align:right}
.admin-ranking>div{max-height:360px;overflow:auto}.admin-ranking article{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid var(--line,#edf0f0)}.admin-ranking article:last-child{border:0}.admin-ranking article>b{display:grid;width:23px;height:23px;place-items:center;border-radius:7px;background:#edf3f3;color:#5e7078;font-size:8px}.admin-ranking article>div{display:grid;gap:3px;min-width:0}.admin-ranking article>div strong,.admin-ranking article>div small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-ranking article>div strong{font-size:10px}.admin-ranking article>div small{color:#8a969c;font-size:8px}.admin-ranking article>em{color:var(--accent);font-size:12px;font-style:normal;font-weight:850}
@media(max-width:680px){.admin-growth>div{grid-template-columns:1fr 1fr}.admin-growth{padding:14px}.admin-weekdays article{grid-template-rows:auto 75px auto}.admin-ranking-grid{grid-template-columns:1fr}.admin-report-reasons article{grid-template-columns:65px 1fr 25px}}

/* Theme palette now shapes the live app and calendar */
html{background:color-mix(in srgb,var(--theme-surface,#fff) 16%,#fff)}body{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-surface,#fff) 18%,#fff) 0,#fff 320px);transition:background-color .25s ease,background .25s ease}.topbar{border-bottom-color:color-mix(in srgb,var(--accent) 15%,#e8ecec);background:color-mix(in srgb,var(--theme-surface,#fff) 9%,#fff);box-shadow:0 4px 20px color-mix(in srgb,var(--accent) 5%,transparent)}.settings-shortcut,.notes-shortcut,.top-menu,.notification-button{border-color:color-mix(in srgb,var(--accent) 23%,#e1e6e6);background:color-mix(in srgb,var(--theme-surface,#fff) 45%,#fff)}
.calendar-column{border-color:color-mix(in srgb,var(--accent) 30%,#e2e7e7);background:linear-gradient(155deg,color-mix(in srgb,var(--theme-surface,#fff) 30%,#fff),#fff 54%);box-shadow:0 18px 44px color-mix(in srgb,var(--theme-deep,#334) 9%,transparent)}.calendar-header{border-color:color-mix(in srgb,var(--accent) 14%,#edf0f0)}.calendar-column .calendar-day:hover{background:color-mix(in srgb,var(--theme-surface,#fff) 55%,#fff)}.calendar-column .calendar-day.selected .day-number,.preview-calendar.calendar-column .calendar-day.selected .day-number{background:var(--accent)!important;color:var(--theme-text,#fff)!important;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 34%,transparent)}.calendar-day.today:not(.selected) .day-number{box-shadow:inset 0 0 0 1.5px var(--accent);border-radius:99px}.day-mark{color:color-mix(in srgb,var(--theme-deep,#334) 82%,#111)}
.today-focus-card{border-color:color-mix(in srgb,var(--accent) 36%,#dfe5e5);background:linear-gradient(110deg,color-mix(in srgb,var(--theme-surface,#fff) 34%,#fff),color-mix(in srgb,var(--accent) 5%,#fff))}.task-group{padding:12px 13px 14px;border:1px solid color-mix(in srgb,var(--accent) 10%,#edf0f0);border-radius:15px;background:color-mix(in srgb,var(--theme-surface,#fff) 8%,#fff)}.routine-garden-card,.routine-photo-recap,.routine-dashboard,.week-summary article,.week-day,.community-panel,.analytics-card{border-color:color-mix(in srgb,var(--accent) 20%,#e1e7e7)!important;background:color-mix(in srgb,var(--theme-surface,#fff) 9%,#fff)!important}.week-day.today{background:color-mix(in srgb,var(--theme-surface,#fff) 30%,#fff)!important}.routine-cell.done{background:var(--routine-color)!important;border-color:var(--routine-color)!important}.routine-cell:not(.done):not(.inactive):hover{border-color:var(--routine-color)}
.bottom-nav{border-top-color:color-mix(in srgb,var(--accent) 18%,#e6e9e8);background:color-mix(in srgb,var(--theme-surface,#fff) 8%,#fff);box-shadow:0 -8px 28px color-mix(in srgb,var(--theme-deep,#334) 7%,transparent)}.bottom-nav button.active{color:var(--accent)}.bottom-nav button.active svg{filter:drop-shadow(0 2px 5px color-mix(in srgb,var(--accent) 30%,transparent))}.mobile-quick-add,.today-focus-card>button{box-shadow:0 10px 25px color-mix(in srgb,var(--accent) 30%,transparent)}
html[data-mode="dark"]{background:color-mix(in srgb,var(--theme-deep,#222) 52%,#10151a)}html[data-mode="dark"] body{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-deep,#222) 35%,#10151a),#10151a 360px)}html[data-mode="dark"] .topbar,html[data-mode="dark"] .bottom-nav{border-color:color-mix(in srgb,var(--accent) 25%,#26333a);background:color-mix(in srgb,var(--theme-deep,#222) 32%,#101820)}html[data-mode="dark"] .calendar-column{border-color:color-mix(in srgb,var(--accent) 35%,#35434b);background:linear-gradient(155deg,color-mix(in srgb,var(--theme-deep,#222) 38%,#20282e),#20282e 58%)}html[data-mode="dark"] .task-group,html[data-mode="dark"] .routine-garden-card,html[data-mode="dark"] .routine-photo-recap,html[data-mode="dark"] .routine-dashboard,html[data-mode="dark"] .week-summary article,html[data-mode="dark"] .week-day,html[data-mode="dark"] .community-panel,html[data-mode="dark"] .analytics-card{border-color:color-mix(in srgb,var(--accent) 28%,#40505a)!important;background:color-mix(in srgb,var(--theme-deep,#222) 18%,#252e35)!important}html[data-mode="dark"] .today-focus-card{background:linear-gradient(110deg,color-mix(in srgb,var(--theme-deep,#222) 25%,#252e35),#252e35)}

/* Slightly larger sparkle glyphs while preserving icon containers */
.day-mark{font-size:14.4px}.calendar-filter-mark{font-size:19px}.task-group .task-check:checked::after{font-size:14.4px}.friend-task-mark{font-size:13px}.friend-private-icon{font-size:26px}.discover-theme-mark{font-size:18px}.activity-check{font-size:17px}.landing-product-days i{font-size:10px}.site-announcement>span{font-size:1.2em}

/* Keep category add controls perfectly circular on narrow screens */
.group-pill .group-add{box-sizing:border-box;flex:0 0 30px;min-width:30px;max-width:30px;padding:0;aspect-ratio:1}
@media(max-width:600px){.group-pill .group-add{flex-basis:44px;min-width:44px;max-width:44px;width:44px;height:44px}}

/* Centered mobile social feed */
@media(max-width:520px){
  .global-view{box-sizing:border-box;width:100%;max-width:600px;margin:0 auto 30px;padding:0 12px}
  .social-feed-header{padding:6px 4px 14px}
  .social-feed-header h1{font-size:30px}
  .social-feed-header>button{width:42px;height:42px;background:color-mix(in srgb,var(--theme-surface,#fff) 28%,#fff)}
  .feed-tabs{position:relative;margin:0 0 13px;padding:4px;border:1px solid var(--line,#e4e8e9);border-radius:14px;background:color-mix(in srgb,var(--theme-surface,#fff) 22%,#f2f5f5)}
  .feed-tabs button{min-height:42px;padding:10px;border-radius:10px}
  .feed-tabs button.active{background:var(--surface,#fff);box-shadow:0 3px 12px #20313b12}
  .feed-tabs button.active:after{display:none}
  .post-composer{margin:0 0 12px;padding:14px;border:1px solid var(--line,#e2e7e8);border-radius:17px;box-shadow:0 8px 24px #20313b0a}
  .post-composer>.community-avatar{width:42px;height:42px}
  .post-composer textarea{min-height:72px;font-size:15px}
  .post-photo-button span{display:inline}
  .social-feed.activity-feed{display:grid;gap:12px;border:0;border-radius:0;overflow:visible;background:transparent}
  .social-feed .activity-card{padding:15px;border:1px solid var(--line,#e3e8e9);border-radius:18px;background:var(--surface,#fff);box-shadow:0 8px 25px #20313b0a}
  .social-feed .activity-card:last-child{border-bottom:1px solid var(--line,#e3e8e9)}
  .activity-card-top>.community-avatar{width:42px;height:42px}
  .activity-card-top .global-name-button{font-size:14px}
  .social-feed .activity-text{margin:15px 1px;font-size:14px;line-height:1.6}
  .social-feed .activity-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--line,#edf0f0)}
  .social-feed .activity-actions button{justify-content:center;min-height:34px;padding:4px 5px;border-radius:9px}
  .feed-sidebar{padding:0 0 18px}
  .feed-search-panel{margin-top:14px}
  .global-photo-section{margin:16px 0}
}
html[data-mode="dark"] .feed-tabs{background:#111b25}

/* Separate the category label from its truly circular add control */
.group-pill{gap:7px;padding:0;background:transparent}
.group-heading .group-pill strong{display:flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:color-mix(in srgb,var(--group-color) 9%,#f1f2f3)}
.group-pill .group-add{width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important;flex:0 0 30px!important;margin-left:0;padding:0!important;border-radius:50%!important;clip-path:circle(50% at 50% 50%);overflow:hidden}
@media(max-width:600px){
  .group-heading .group-pill strong{min-height:44px;padding:0 14px}
  .group-pill .group-add{width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;flex-basis:44px!important}
}

/* Completed todos read as achievement cards; authored posts retain the social post format */
.feed-win{position:relative;border-left:4px solid var(--feed-kind-color,#8796bc)!important;background:linear-gradient(120deg,color-mix(in srgb,var(--feed-kind-color,#8796bc) 8%,var(--surface,#fff)),var(--surface,#fff) 72%)!important}
.feed-win-label{display:flex;align-items:center;gap:7px;margin:0 0 13px;padding-bottom:11px;border-bottom:1px solid color-mix(in srgb,var(--feed-kind-color,#8796bc) 20%,var(--line,#e8ecee));color:color-mix(in srgb,var(--feed-kind-color,#8796bc) 76%,#26343d)}
.feed-win-label>span{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--feed-kind-color,#8796bc);color:#fff;font-size:11px;font-weight:900}
.feed-win-label strong{font-size:11px;letter-spacing:.02em}.feed-win-label small{margin-left:auto;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--feed-kind-color,#8796bc) 12%,#fff);font-size:9px;font-weight:750}
.feed-win .activity-text{margin:14px 0 10px;color:var(--text,#273038);font-size:16px;font-weight:800;letter-spacing:-.015em}
.feed-post{background:var(--surface,#fff)!important}
html[data-mode="dark"] .feed-win{background:linear-gradient(120deg,color-mix(in srgb,var(--feed-kind-color,#8796bc) 15%,#172132),#172132 72%)!important}

/* Category name and circular add button share one capsule */
.group-pill{gap:4px;min-height:39px;padding:4px 5px 4px 9px;border-radius:999px;background:color-mix(in srgb,var(--group-color) 9%,#f1f2f3)}
.group-heading .group-pill strong{min-height:0;padding:0 2px 0 0;border:0;background:transparent}
.group-pill .group-add{display:grid;width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important;flex:0 0 30px!important;margin-left:4px;padding:0!important;place-items:center;border:0;border-radius:50%!important;background:#fff!important;clip-path:none;overflow:hidden;box-shadow:0 1px 4px #212a3324}
@media(max-width:600px){
  .group-pill{min-height:52px;padding:4px 6px 4px 12px}
  .group-heading .group-pill strong{min-height:0;padding:0 2px 0 0;background:transparent}
  .group-pill .group-add{width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;flex-basis:44px!important;margin-left:5px}
}

/* Keep every feed surface on one visual grid */
.global-view{width:min(100%,1040px)}
.social-feed-header,.feed-tabs,.social-feed-layout,.feed-column,.post-composer,.social-feed.activity-feed{box-sizing:border-box;width:100%}
.social-feed-header{min-height:74px;padding-inline:2px}
.feed-tabs{overflow:hidden;border:1px solid var(--line,#e4e8e9);border-radius:14px;background:color-mix(in srgb,var(--theme-surface,#fff) 20%,#f4f6f6)}
.feed-tabs button{min-height:46px}.feed-tabs button.active{background:var(--surface,#fff);box-shadow:0 2px 9px #24323a12}.feed-tabs button.active:after{display:none}
.social-feed-layout{grid-template-columns:minmax(0,650px) minmax(280px,1fr);justify-content:center}
.feed-column{display:grid;align-content:start;gap:14px}.post-composer{margin:0}.social-feed.activity-feed{display:grid;gap:14px;border:0;border-radius:0;overflow:visible;background:transparent}
.social-feed .activity-card{box-sizing:border-box;width:100%;padding:19px;border:1px solid var(--line,#e3e8e9);border-radius:18px;background:var(--surface,#fff);box-shadow:0 8px 24px #20313b09}
.social-feed .activity-card:last-child{border-bottom:1px solid var(--line,#e3e8e9)}
.activity-card-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.activity-card-top>div{min-width:0}.activity-card-top .post-menu{justify-self:end}
.social-feed .activity-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.social-feed .activity-actions button{justify-content:center}
@media(max-width:850px){.global-view{width:min(100%,680px)}.social-feed-layout{grid-template-columns:1fr}}
@media(max-width:520px){
  .global-view{width:100%;padding-inline:12px}
  .social-feed-header,.feed-tabs,.social-feed-layout{width:100%;margin-inline:auto}
  .social-feed-header{min-height:70px;padding:6px 2px 13px}
  .feed-tabs{margin-bottom:13px}
  .feed-column{gap:12px}
  .post-composer,.social-feed .activity-card{width:100%;margin-inline:0}
  .social-feed .activity-card{padding:15px}
  .activity-card-top{gap:10px}
  .social-feed .activity-actions{grid-template-columns:repeat(4,1fr);gap:2px}
}

/* Expanded calendar header and dates must share the exact same seven columns */
.workspace.calendar-expanded .weekdays,
.workspace.calendar-expanded .calendar-grid{
  box-sizing:border-box;
  width:100%;
  grid-template-columns:repeat(7,minmax(0,1fr));
  column-gap:0;
}
.workspace.calendar-expanded .weekdays span,
.workspace.calendar-expanded .calendar-grid>.calendar-day,
.workspace.calendar-expanded .calendar-grid>.calendar-blank{
  box-sizing:border-box;
  min-width:0;
}
.workspace.calendar-expanded .calendar-grid>.calendar-day,
.workspace.calendar-expanded .calendar-grid>.calendar-blank{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
}
.workspace.calendar-expanded .calendar-grid>.calendar-blank{display:block!important}
@media(max-width:760px){
  .workspace.calendar-expanded>.calendar-column{overflow-x:hidden}
  .workspace.calendar-expanded .weekdays,
  .workspace.calendar-expanded .calendar-grid{min-width:0;column-gap:0}
  .workspace.calendar-expanded .large-calendar-task{box-sizing:border-box;width:100%;max-width:100%}
}

/* Feed ordering control */
.feed-sort{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin:-6px 0 12px}
.feed-sort>span{margin-right:4px;color:#89949b;font-size:10px;font-weight:750}
.feed-sort button{min-height:31px;padding:0 12px;border:1px solid var(--line,#e1e6e8);border-radius:999px;background:var(--surface,#fff);color:#748088;font:inherit;font-size:10px;font-weight:750;cursor:pointer}
.feed-sort button.active{border-color:var(--accent,#7d9f91);background:var(--accent,#7d9f91);color:#fff}
html[data-mode="dark"] .feed-sort button{background:#172132;color:#cbd3d7}html[data-mode="dark"] .feed-sort button.active{background:var(--accent);color:#fff}
@media(max-width:520px){.feed-sort{margin:0 2px 11px}.feed-sort button{min-height:34px;padding-inline:13px}}

/* Softer expanded calendar without losing the shared seven-column grid */
.workspace.calendar-expanded .weekdays{
  gap:4px;
  margin-bottom:5px;
  border:0;
}
.workspace.calendar-expanded .weekdays span{
  padding:9px 2px;
  border:0;
  border-radius:9px;
  background:color-mix(in srgb,var(--theme-surface,#fff) 34%,#f3f6f6);
}
.workspace.calendar-expanded .calendar-grid{
  gap:4px;
  border:0;
}
.workspace.calendar-expanded .calendar-column .calendar-grid>.calendar-day{
  padding:7px 6px;
  border:1px solid color-mix(in srgb,var(--accent) 10%,#e8ecee);
  border-radius:11px;
  background:color-mix(in srgb,var(--theme-surface,#fff) 12%,#fff);
  box-shadow:0 2px 8px #23333d08;
}
.workspace.calendar-expanded .calendar-column .calendar-grid>.calendar-blank{
  border:0;
  border-radius:11px;
  background:color-mix(in srgb,var(--theme-surface,#fff) 10%,#f7f9f9);
}
.workspace.calendar-expanded .calendar-column .calendar-day.selected{
  border-color:color-mix(in srgb,var(--accent) 70%,#fff);
  background:color-mix(in srgb,var(--accent) 7%,#fff);
  box-shadow:inset 0 0 0 1px var(--accent),0 7px 18px color-mix(in srgb,var(--accent) 14%,transparent);
}
.workspace.calendar-expanded .large-calendar-date{margin-bottom:7px;padding-inline:1px;font-size:14px}
.workspace.calendar-expanded .large-calendar-date small{font-size:9px}
.workspace.calendar-expanded .large-calendar-task{border-radius:7px;line-height:1.25}
html[data-mode="dark"] .workspace.calendar-expanded .weekdays span{background:#1d2931}
html[data-mode="dark"] .workspace.calendar-expanded .calendar-column .calendar-grid>.calendar-day{border-color:#34434c;background:#202b32}
html[data-mode="dark"] .workspace.calendar-expanded .calendar-column .calendar-grid>.calendar-blank{background:#182229}
@media(max-width:760px){
  .workspace.calendar-expanded .weekdays,.workspace.calendar-expanded .calendar-grid{gap:3px}
  .workspace.calendar-expanded .calendar-column .calendar-grid>.calendar-day{min-height:102px;padding:6px 4px}
  .workspace.calendar-expanded .calendar-column .calendar-grid>.calendar-blank{min-height:102px}
  .workspace.calendar-expanded .large-calendar-date{min-height:20px;margin-bottom:5px;font-size:12px}
  .workspace.calendar-expanded .large-calendar-task{padding:3px 4px;font-size:7px}
}

/* Compact, polished 90-day routine garden */
.routine-garden-card{border-radius:18px;box-shadow:0 10px 30px #26343d09}
.routine-garden-card-actions button{display:grid;width:34px;height:34px;padding:0;place-items:center;border-radius:50%;color:var(--routine-color)}
.routine-garden-card-actions button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.routine-garden-card-actions span{padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--routine-color) 8%,#f3f5f5);color:color-mix(in srgb,var(--routine-color) 60%,#526069);font-weight:750}
.routine-cell{border:0;border-radius:5px;background:color-mix(in srgb,var(--routine-color) 6%,#e8edef)}
.routine-cell.inactive{background:color-mix(in srgb,var(--routine-color) 5%,#e8edef)}
.routine-cell.month-old::after,.routine-cell.month-new::after,.routine-cell.month-first::before{opacity:.38}
@media(max-width:600px){
  .routine-garden-card{padding:15px 14px}
  .routine-garden-card-head{align-items:flex-start;flex-direction:row;gap:10px;margin-bottom:13px}
  .routine-garden-card-head>div:first-child{min-width:0;flex:1}
  .routine-garden-card-head p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .routine-garden-card-actions{width:auto;flex:none;flex-wrap:nowrap;justify-content:flex-end;gap:6px}
  .routine-garden-card-actions span{font-size:9px}
  .routine-garden-card-actions button{width:32px;height:32px;flex:none}
  .routine-grass{grid-template-columns:18px repeat(var(--routine-week-count),minmax(0,1fr));justify-content:stretch;gap:3px}
  .routine-weekday-labels{grid-template-rows:repeat(7,1fr);gap:3px;margin-top:17px;font-size:8px}
  .routine-days{grid-template-rows:repeat(7,auto);gap:3px}
  .routine-cell{width:100%;height:auto;aspect-ratio:1;border-radius:4px}
  .routine-month{height:17px;font-size:8px}
  .routine-category-empty{padding:12px 14px;border-radius:11px;font-size:10px}
}

/* Social-first feed presentation */
.social-feed-header{padding:10px 2px 18px}.social-feed-header h1{font-size:38px}.social-feed-header .small-label{color:var(--accent)}
.feed-tabs{padding:5px;border-radius:16px}.feed-tabs button{min-height:44px;border-radius:12px;font-size:12px}.feed-tabs button.active{font-weight:850}
.feed-sort{margin:0 2px 14px}.feed-sort>span{font-size:9px;letter-spacing:.04em;text-transform:uppercase}
.post-composer{padding:18px;border-radius:20px;box-shadow:0 12px 34px #20313b0d}.post-composer>.community-avatar{width:46px;height:46px}.post-composer textarea{min-height:70px;padding-top:10px;font-size:15px}.post-composer-actions{padding-top:13px}.post-composer-actions>button{min-width:82px;min-height:38px;box-shadow:0 6px 14px color-mix(in srgb,var(--accent) 22%,transparent)}
.social-feed .activity-card{padding:20px;border-radius:20px;box-shadow:0 10px 30px #20313b0b}.social-feed .activity-card:hover{border-color:color-mix(in srgb,var(--accent) 28%,#dfe5e7);box-shadow:0 14px 38px #20313b12}
.activity-card-top{grid-template-columns:auto minmax(0,1fr) auto auto}.activity-card-top>.community-avatar{width:46px;height:46px;font-size:14px}.activity-card-top .global-name-button{font-size:14px}.activity-card-top small{margin-top:2px;font-size:10px}.feed-inline-follow{min-width:0;min-height:30px;padding:0 12px;border:1px solid var(--accent);border-radius:999px;background:transparent;color:var(--accent);font-size:10px}.feed-inline-follow:hover{background:var(--accent);color:#fff}
.social-feed .activity-text{margin:17px 2px;font-size:15px;line-height:1.65}.feed-post-image{max-height:620px;margin:14px 0;border:0;border-radius:17px;background:#eef2f3}
.social-feed .activity-actions{margin-top:14px;padding-top:12px;border-top:1px solid var(--line,#edf0f0)}.social-feed .activity-actions button{min-height:36px;border-radius:999px}.social-feed .activity-actions button.active{background:#fff0f5;color:#d34d79}.activity-views{display:flex;align-items:center;gap:4px;color:#9aa3a8;font-size:10px}
.feed-win{border-left:0!important}.feed-win-label{margin:-3px 0 15px;padding:0 0 12px}.feed-win-label>span{width:24px;height:24px}.feed-win .activity-text{font-size:17px}
.activity-thread{padding-top:12px}.activity-comments{display:grid;gap:10px}.activity-comments p{margin:0}.activity-comment-form{display:flex;gap:7px;margin-top:11px}.activity-comment-form input{flex:1;min-width:0;padding-inline:14px;border:1px solid var(--line)}.activity-comment-form button{padding:0 14px;border:0;background:var(--accent);color:#fff;font-weight:800}
@media(max-width:520px){
  .global-view{padding-inline:10px}
  .social-feed-header{padding:9px 3px 15px}.social-feed-header h1{font-size:31px}
  .feed-tabs{position:sticky;z-index:4;top:0;background:color-mix(in srgb,var(--theme-surface,#fff) 28%,#f3f5f5);backdrop-filter:blur(14px)}
  .post-composer{padding:14px 13px;border-radius:18px}.post-composer>.community-avatar{display:grid;width:42px;height:42px}.post-composer textarea{min-height:60px}
  .social-feed .activity-card{padding:16px 14px;border-radius:19px}
  .activity-card-top>.community-avatar{width:43px;height:43px}
  .feed-inline-follow{padding-inline:10px}
  .social-feed .activity-text{margin:15px 1px;font-size:14px}
  .feed-post-image{width:calc(100% + 28px);max-width:none;margin:14px -14px;border-radius:0}
  .social-feed .activity-actions{gap:1px}.social-feed .activity-actions .action-label{display:none}.social-feed .activity-actions button{min-width:38px}
  .activity-views>span{display:none}
}

/* Completed todos use a compact achievement card */
.social-feed .feed-win{padding:14px 16px;border-radius:17px}
.feed-win .feed-win-label{margin:0 0 10px;padding-bottom:8px}
.feed-win .feed-win-label>span{width:21px;height:21px;font-size:9px}
.feed-win .feed-win-label strong{font-size:10px}.feed-win .feed-win-label small{padding:3px 7px;font-size:8px}
.feed-win .activity-card-top>.community-avatar{width:36px;height:36px;font-size:11px}
.feed-win .activity-card-top .global-name-button{font-size:13px}.feed-win .activity-card-top small{font-size:9px}
.feed-win .activity-check{font-size:14px}
.feed-win .activity-text{margin:10px 1px;font-size:14px;line-height:1.45}
.feed-win .activity-actions{min-height:0;margin-top:8px;padding-top:8px}
.feed-win .activity-actions button{min-height:30px;padding-block:2px}
@media(max-width:520px){
  .social-feed .feed-win{padding:12px 13px;border-radius:16px}
  .feed-win .feed-win-label{margin-bottom:8px;padding-bottom:7px}
  .feed-win .activity-text{margin:8px 0;font-size:13px}
  .feed-win .activity-actions{margin-top:6px;padding-top:6px}
  .feed-win .activity-actions button{min-height:28px}
}

/* Keep post views with the author metadata instead of a separate action row */
.feed-meta-views{display:inline-flex;align-items:center;gap:3px;margin-left:7px;color:#9aa4aa;font-size:9px;vertical-align:middle}
.feed-meta-views .feed-action-icon{width:12px;height:12px}

/* Balanced mobile timeline and unclipped media */
.social-feed .feed-win{border-left:3px solid var(--feed-kind-color,#8796bc)!important;background:var(--surface,#fff)!important;box-shadow:0 7px 22px #20313b09}
.feed-win .feed-win-label{border:0;color:color-mix(in srgb,var(--feed-kind-color,#8796bc) 72%,#35434b)}
.feed-win .activity-actions{border-top:0}
.feed-win .activity-actions button{background:#f5f7f7;color:#6f7b82}
.feed-win .activity-actions button.active{background:#fff0f5;color:#d34d79}
@media(max-width:520px){
  .global-view{box-sizing:border-box;width:100%!important;margin-right:auto!important;margin-left:auto!important;padding-right:10px;padding-left:10px;overflow:visible}
  .social-feed-layout,.feed-column,.social-feed.activity-feed{max-width:100%;margin-inline:0}
  .feed-post-image{box-sizing:border-box;width:100%;max-width:100%;margin:13px 0;border-radius:14px}
  .social-feed .feed-win{padding:12px 13px 11px}
  .feed-win .feed-win-label{margin-bottom:6px;padding-bottom:3px}
  .feed-win .activity-card-top>.community-avatar{width:34px;height:34px}
  .feed-win .activity-text{margin:7px 0 5px}
  .feed-win .activity-actions{gap:5px;margin-top:5px;padding-top:5px}
  .feed-win .activity-actions button{min-height:31px;border-radius:10px}
  .feed-win .activity-actions button .action-count{font-size:9px}
}

/* People and content search inside the social feed */
.feed-search{margin:0 0 14px;padding:15px;border:1px solid var(--line,#e1e7e8);border-radius:18px;background:var(--surface,#fff);box-shadow:0 8px 24px #20313b09}
.feed-search[hidden]{display:none}.feed-search>label{display:flex;align-items:center;gap:9px;height:44px;padding:0 13px;border:1px solid var(--line,#dfe5e7);border-radius:999px;background:#f5f7f7}.feed-search>label:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
.feed-search>label svg{width:18px;height:18px;fill:none;stroke:#7e8990;stroke-width:1.8;stroke-linecap:round}.feed-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text,#273038);font:inherit;font-size:13px}
.feed-search-profiles{display:grid;gap:7px;margin-top:10px}.feed-search-person{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;border-radius:13px;background:color-mix(in srgb,var(--theme-surface,#fff) 18%,#f7f9f9)}.feed-search-person .global-name-button{display:grid;gap:2px}.feed-search-person .global-name-button small{color:#8b969d;font-size:9px;font-weight:500}.feed-search-person .global-follow{min-width:72px;min-height:31px;border-radius:999px;font-size:9px}
.feed-search>p{margin:10px 4px 0;color:#8c979d;font-size:10px;line-height:1.5}
html[data-mode="dark"] .feed-search{background:#172132}html[data-mode="dark"] .feed-search>label{background:#101a25}html[data-mode="dark"] .feed-search-person{background:#202c36}
@media(max-width:520px){.feed-search{padding:12px;border-radius:16px}.feed-search>label{height:42px}.feed-search-person{padding:8px}.feed-search-person .global-avatar{width:34px;height:34px}}

/* Clean single-surface personal profile */
#profileView.other-view{padding:0;border:0;background:transparent;box-shadow:none}
#profileView .personal-hero{border:1px solid color-mix(in srgb,var(--accent) 16%,#e1e7e8);border-radius:21px;background:var(--surface,#fff);box-shadow:0 12px 36px #20313b0c}
#profileView .personal-cover{border-radius:20px 20px 0 0}
#profileView .profile-stats{gap:10px;margin:0 0 22px}
#profileView .profile-stats>div{padding:16px;border-color:color-mix(in srgb,var(--accent) 15%,#e3e8e9);border-radius:15px;background:color-mix(in srgb,var(--theme-surface,#fff) 13%,#fff);box-shadow:0 6px 20px #20313b08}
#profileView .profile-stats span{color:#7f8a91;font-size:10px;font-weight:700}
#profileView .profile-stats strong{margin-top:6px;color:var(--text,#273038);font-size:22px;line-height:1;white-space:nowrap}
.personal-disclosures{display:grid;gap:10px;margin:0 0 26px}
.personal-disclosure{overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 14%,#e1e7e8);border-radius:17px;background:var(--surface,#fff);box-shadow:0 7px 24px #20313b08}
.personal-disclosure>summary{display:grid;grid-template-columns:42px minmax(0,1fr) 24px;align-items:center;gap:13px;min-height:76px;padding:12px 17px;list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.personal-disclosure>summary::-webkit-details-marker{display:none}
.personal-disclosure>summary:hover{background:color-mix(in srgb,var(--accent) 3%,transparent)}
.personal-disclosure-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--accent) 10%,#f4f6f7);color:var(--accent);font-size:18px;font-weight:800}
.personal-disclosure>summary>span:nth-child(2){display:grid;gap:4px;min-width:0}
.personal-disclosure>summary strong{color:var(--text,#273038);font-size:14px;letter-spacing:-.02em}
.personal-disclosure>summary small{overflow:hidden;color:#849098;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.personal-disclosure>summary>b{color:#929ca2;font-size:18px;font-weight:500;text-align:center;transition:transform .2s ease}
.personal-disclosure[open]>summary>b{transform:rotate(180deg)}
.personal-disclosure[open]>summary{border-bottom:1px solid color-mix(in srgb,var(--accent) 10%,#edf0f1)}
.personal-disclosure-body{padding:17px}
.personal-disclosure-body>.profile-stats,.personal-disclosure-body>.weekly-report,.personal-disclosure-body>.open-analytics,.personal-disclosure-body>.personal-social,.personal-disclosure-body>.personal-admin-link,.personal-disclosure-body>.personal-trash-link,.personal-disclosure-body>.personal-help-links,.personal-disclosure-body>.personal-policy-links{margin-top:0}
.personal-disclosure-body>:last-child{margin-bottom:0}
.personal-disclosure-body>.personal-social{border:0;padding:0;box-shadow:none}
.personal-disclosure-body>.personal-help-links{width:100%}
.personal-admin-area{margin:-8px 0 26px}
.personal-admin-area:has(.personal-admin-link[hidden]){display:none}
.personal-admin-area .personal-admin-link{margin:0;border-color:color-mix(in srgb,var(--accent) 30%,#dce4e7);background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 8%,#fff),var(--surface,#fff));box-shadow:0 7px 24px #20313b08}
html[data-mode="dark"] .personal-disclosure{border-color:#43515a;background:#252e35}
html[data-mode="dark"] .personal-disclosure>summary strong{color:#f3f6f8}
html[data-mode="dark"] .personal-disclosure[open]>summary{border-color:#43515a}
/* Feed controls follow a simple timeline tab pattern. */
.global-view .feed-tabs{position:sticky;z-index:4;top:0;display:grid;grid-template-columns:1fr 1fr;overflow:visible;margin:0 0 8px;padding:0;border:0;border-bottom:1px solid var(--line,#e4e8e9);border-radius:0;background:color-mix(in srgb,var(--surface,#fff) 88%,transparent);backdrop-filter:blur(14px)}
.global-view .feed-tabs button{position:relative;min-height:52px;padding:0 12px;border:0;border-radius:0;background:transparent;color:#7e8990;font-size:13px;font-weight:650;box-shadow:none}
.global-view .feed-tabs button:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}
.global-view .feed-tabs button.active{background:transparent;color:var(--text,#273038);font-weight:850;box-shadow:none}
.global-view .feed-tabs button.active:after{display:block;content:"";position:absolute;right:auto;bottom:-1px;left:50%;width:42px;height:4px;border-radius:4px;background:var(--accent,#1267f4);transform:translateX(-50%)}
.global-view .feed-sort{justify-content:flex-end;gap:18px;margin:0 8px 9px}
.global-view .feed-sort>span{display:none}
.global-view .feed-sort button{position:relative;min-height:32px;padding:0 2px;border:0;border-radius:0;background:transparent;color:#879199;font-size:10px;font-weight:700}
.global-view .feed-sort button.active{background:transparent;color:var(--text,#273038);font-weight:850}
.global-view .feed-sort button.active:after{content:"";position:absolute;right:2px;bottom:1px;left:2px;height:2px;border-radius:2px;background:var(--accent,#1267f4)}
html[data-mode="dark"] .global-view .feed-tabs{background:color-mix(in srgb,var(--surface,#172132) 88%,transparent)}
html[data-mode="dark"] .global-view .feed-tabs button.active,html[data-mode="dark"] .global-view .feed-sort button.active{color:#f4f7f8}
html[data-mode="dark"] .global-view .feed-sort button{background:transparent;color:#98a5ac}
.feed-result-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:3px 4px 8px;color:#6f7c84;font-size:10px;font-weight:800;letter-spacing:.025em}
.feed-result-section-title[hidden]{display:none}.feed-result-section-title span{display:grid;min-width:21px;height:21px;padding:0 5px;place-items:center;border-radius:999px;background:#eef2f3;color:#7b878e;font-size:9px;letter-spacing:0}
.feed-search-profiles>.feed-result-section-title{margin:12px 2px 3px}
.feed-recent-searches{display:flex;align-items:center;gap:6px;margin-top:10px;overflow-x:auto;scrollbar-width:none}.feed-recent-searches[hidden]{display:none}.feed-recent-searches>span{flex:none;color:#8a959c;font-size:9px;font-weight:800}.feed-recent-searches button{flex:none;padding:5px 9px;border:0;border-radius:999px;background:#eef2f3;color:#58666e;font:inherit;font-size:9px;cursor:pointer}.feed-recent-searches .feed-recent-clear{margin-left:auto;background:transparent;color:#8a959c}
.social-feed .feed-post{border-color:color-mix(in srgb,var(--accent) 10%,#e3e8e9);background:var(--surface,#fff);box-shadow:0 5px 18px #20313b08}
.social-feed .feed-win{border:0!important;border-left:3px solid var(--feed-kind-color,#8796bc)!important;border-radius:15px;background:color-mix(in srgb,var(--feed-kind-color,#8796bc) 4%,var(--surface,#fff))!important;box-shadow:none}
.social-feed .feed-win .feed-win-label{margin:0 0 7px;padding:0 0 6px;border-bottom:1px solid color-mix(in srgb,var(--feed-kind-color,#8796bc) 15%,var(--line,#e8ecee))}
.social-feed .feed-win .activity-text{margin:7px 0 4px;font-size:14px}
.social-feed .feed-win .activity-actions{margin-top:4px;padding-top:4px}
.task-group.is-empty{padding-bottom:11px}
.task-group.is-empty .group-empty{margin-top:4px;padding:5px 2px;color:#a0a8ad;font-size:11px}
.task-group.has-tasks{padding-bottom:12px}
html[data-mode="dark"] .feed-result-section-title span{background:#27333b;color:#b5c0c5}
html[data-mode="dark"] .feed-recent-searches button{background:#27333b;color:#c8d1d5}html[data-mode="dark"] .feed-recent-searches .feed-recent-clear{background:transparent;color:#9ba7ad}
.feed-post-media,.post-image-preview{display:grid;gap:3px;overflow:hidden;margin:12px 0;border-radius:16px;background:#e9edef}
.feed-post-media img,.post-image-preview img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.feed-post-media.count-1{grid-template-columns:1fr}.feed-post-media.count-1 img{max-height:480px;aspect-ratio:16/10}
.feed-post-media.count-2,.feed-post-media.count-4,.post-image-preview.count-2,.post-image-preview.count-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.feed-post-media.count-2 img{aspect-ratio:1/1}.feed-post-media.count-4 img{aspect-ratio:4/3}
.feed-post-media.count-3,.post-image-preview.count-3{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));height:330px}
.feed-post-media.count-3 img:first-child,.post-image-preview.count-3>div:first-child{grid-row:1/3}
.post-image-preview{max-height:280px}.post-image-preview>div{position:relative;min-height:0;overflow:hidden}.post-image-preview.count-1>div{height:230px}.post-image-preview.count-2>div,.post-image-preview.count-4>div{height:135px}.post-image-preview button{position:absolute;top:7px;right:7px;display:grid;width:28px;height:28px;padding:0;place-items:center;border:0;border-radius:50%;background:#15212bdd;color:#fff;font-size:18px;cursor:pointer}
.post-photo-button b{margin-left:2px;font-size:9px;font-weight:700;opacity:.7}
.personal-social-post .feed-post-media{margin-block:10px;max-height:360px}
@media(max-width:600px){
  #profileView.other-view{width:100%;margin:0 auto 34px}
  #profileView .personal-hero{margin-bottom:14px;border-radius:18px}
  #profileView .personal-cover{height:138px;border-radius:17px 17px 0 0}
  #profileView .personal-hero-body{grid-template-columns:78px minmax(0,1fr);grid-template-rows:43px auto;padding:0 16px 18px}
  #profileView .personal-avatar{width:76px;height:76px;margin-top:-38px;border-width:4px;font-size:24px}
  #profileView .personal-profile-actions{gap:6px}
  #profileView .personal-edit,#profileView .personal-logout{min-height:34px;padding:6px 11px;border-radius:999px;font-size:10px}
  #profileView .personal-hero-main{padding-top:12px}
  #profileView .personal-hero-main h1{font-size:27px}
  #profileView .personal-bio{margin-top:12px;font-size:13px;line-height:1.55}
  #profileView .personal-joined{margin-top:12px;font-size:10px}
  #profileView .personal-connections{gap:16px;margin-top:13px}
  #profileView .personal-connections button strong{font-size:13px}
  #profileView .personal-connections button span{font-size:10px}
  #profileView .profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  #profileView .profile-stats>div{min-width:0;padding:13px 11px;border-radius:13px}
  #profileView .profile-stats span{font-size:9px}
  #profileView .profile-stats strong{font-size:18px;letter-spacing:-.025em}
  .personal-disclosures{gap:8px;margin-bottom:20px}
  .personal-disclosure{border-radius:15px}
  .personal-disclosure>summary{grid-template-columns:38px minmax(0,1fr) 20px;min-height:68px;padding:10px 13px;gap:11px}
  .personal-disclosure-icon{width:37px;height:37px;border-radius:12px;font-size:16px}
  .personal-disclosure>summary strong{font-size:13px}
  .personal-disclosure>summary small{font-size:9px}
  .personal-disclosure-body{padding:13px}
  .personal-admin-area{margin:-2px 0 20px}
  .task-group[data-group] .group-pill{min-height:44px;padding:4px 5px 4px 11px}
  .task-group[data-group] .group-heading .group-pill strong{font-size:12px;font-weight:700}
  .task-group[data-group] .group-pill .group-add{width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important;flex-basis:36px!important;margin-left:4px}
  .task-group[data-group] .task-list{padding-left:12px}
  .task-group[data-group] .task-text{font-size:15px;font-weight:540;line-height:1.45}
  .global-view .feed-tabs{margin-bottom:6px}
  .global-view .feed-tabs button{min-height:48px;font-size:12px}
  .global-view .feed-sort{gap:16px;margin:0 15px 7px}
  .global-view .feed-sort button{min-height:30px;padding:0;font-size:10px}
  #profileView .personal-cover{height:112px}
  .personal-admin-area .personal-admin-link{min-height:62px;padding:12px 14px}
  .task-group.is-empty{padding-top:9px;padding-bottom:9px}
  .task-group.is-empty .group-empty{margin-top:0;padding:3px 2px}
  .social-feed .feed-post{border-right:0;border-left:0;border-radius:0;box-shadow:none}
  .social-feed .feed-win{margin-inline:10px;width:calc(100% - 20px);padding:11px 12px 10px}
  .feed-post-media{margin-right:-2px;margin-left:-2px;border-radius:14px}.feed-post-media.count-3{height:250px}.feed-post-media.count-1 img{max-height:380px}.post-image-preview.count-3{height:240px}
}


/* Social, notification and interaction polish */
.notification-filters{display:flex;gap:5px;padding:8px 12px;border-bottom:1px solid var(--line,#e7ecee);overflow-x:auto}.notification-filters button{min-height:30px;padding:0 11px;border:0;border-radius:999px;background:#f1f4f5;color:#6f7b82;font:inherit;font-size:10px;font-weight:750;cursor:pointer}.notification-filters button.active{background:var(--text,#25323a);color:var(--surface,#fff)}.notification-filters [data-notification-clear]{margin-left:auto;background:transparent;color:#9a6f6f}.notification-list .notification-item{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:3px;padding:0;border:0;border-bottom:1px solid var(--line,#edf0f1);border-radius:0;background:transparent}.notification-list .notification-item>button[data-notification-href]{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;width:100%;padding:12px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.notification-list .notification-item.unread{background:color-mix(in srgb,var(--accent) 6%,var(--surface,#fff))}.notification-delete{align-self:center;width:27px;height:27px;padding:0;border:0;border-radius:50%;background:transparent;color:#9aa4aa;font-size:17px;cursor:pointer}.notification-delete:hover{background:#eef1f2;color:#c45757}.notification-empty{display:grid;place-items:center;gap:5px;padding:32px 18px;color:#8d989e;text-align:center}.notification-empty strong{color:var(--text,#26333b);font-size:13px}.notification-empty span{font-size:10px}
.group-heading{align-items:center}.group-task-count{display:grid;min-width:22px;height:22px;margin-left:auto;padding:0 6px;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--group-color) 10%,#fff);color:var(--group-color);font-size:9px;font-weight:800}.group-collapse{display:grid;width:30px;height:30px;margin-left:auto;padding:0;place-items:center;border:0;border-radius:50%;background:transparent;color:#8e999f;font-size:17px;cursor:pointer;transition:transform .18s ease}.task-group.is-collapsed .group-collapse{transform:rotate(-90deg)}.task-group.is-collapsed .task-list,.task-group.is-collapsed .group-empty{display:none}.task-group.is-collapsed{padding-bottom:10px}
.post-composer-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:8px 0}.post-composer-options label{display:grid;gap:4px}.post-composer-options label>span{color:#88939a;font-size:9px;font-weight:750}.post-composer-options select{width:100%;min-height:37px;padding:0 30px 0 10px;border:1px solid var(--line,#dde3e5);border-radius:11px;background:var(--surface,#fff);color:var(--text,#26333b);font:inherit;font-size:10px}.shared-todo-card{display:flex;align-items:center;gap:10px;margin:10px 0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--todo-color) 30%,#e7ebec);border-radius:13px;background:color-mix(in srgb,var(--todo-color) 7%,var(--surface,#fff))}.shared-todo-card>span{display:grid;width:29px;height:29px;place-items:center;border-radius:9px;background:var(--todo-color);color:#fff;font-weight:900}.shared-todo-card>div{display:grid;gap:2px}.shared-todo-card small{color:#8b969d;font-size:9px}.shared-todo-card strong{font-size:12px}
.friend-social-grid{display:grid;gap:10px;margin:14px 0 22px}.friend-social-grid .activity-card{margin:0}.friend-profile-list{display:grid;gap:8px;margin:14px 0 22px}.friend-profile-list>article{display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid var(--line,#e3e8ea);border-radius:14px;background:var(--surface,#fff)}.friend-profile-list i{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--item-color);color:#fff;font-style:normal}.friend-profile-list article>div{display:grid;gap:3px}.friend-profile-list small{color:#929ca2;font-size:9px}.friend-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:14px 0 22px;overflow:hidden;border-radius:15px}.friend-photo-grid img{width:100%;aspect-ratio:1;object-fit:cover}.friend-photo-grid .empty-action-state{grid-column:1/-1}.friend-calendar-intro[hidden],.friend-calendar-content[hidden]{display:none}
.empty-action-state{display:grid;justify-items:center;gap:6px;padding:28px 18px;border:1px dashed var(--line,#dfe5e7);border-radius:16px;color:#87939a;text-align:center}.empty-action-state>span{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--accent) 9%,var(--surface,#fff));color:var(--accent);font-size:18px}.empty-action-state strong{color:var(--text,#27333a);font-size:14px}.empty-action-state p{max-width:320px;margin:0;font-size:10px;line-height:1.5}.empty-action-state button{margin-top:5px;padding:9px 15px;border:0;border-radius:999px;background:var(--accent);color:#fff;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.feed-empty-state{margin:10px}
.feedback-toast{position:fixed;z-index:300;right:50%;bottom:94px;padding:10px 16px;border-radius:999px;background:#202b32;color:#fff;font-size:11px;font-weight:750;box-shadow:0 10px 28px #1c28323b;opacity:0;pointer-events:none;transform:translate(50%,12px);transition:opacity .18s ease,transform .18s ease}.feedback-toast.show{opacity:1;transform:translate(50%,0)}
main>section:not([hidden]){animation:view-enter .18s ease both}@keyframes view-enter{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){main>section:not([hidden]){animation:none}.feedback-toast,.group-collapse{transition:none}}
html[data-mode="dark"] .notification-filters button{background:#26323a;color:#b7c0c5}html[data-mode="dark"] .notification-filters button.active{background:#eef3f5;color:#17212a}html[data-mode="dark"] .post-composer-options select{background:#1d2831}
@media(max-width:600px){.post-composer-options{grid-template-columns:1fr 1fr}.friend-profile-tabs{overflow-x:auto;scrollbar-width:none}.friend-profile-tabs button{flex:0 0 auto;min-width:76px}.group-collapse{width:27px;height:27px}.feedback-toast{bottom:92px}}

.friend-post-preview{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:12px;align-items:center;width:100%;padding:13px 14px;border:1px solid var(--line,#e3e8ea);border-radius:15px;background:var(--surface,#fff);color:inherit;text-align:left;cursor:pointer}.friend-post-preview>div{display:grid;gap:5px}.friend-post-preview small{color:#8d989e;font-size:9px}.friend-post-preview strong{font-size:13px;line-height:1.45}.friend-post-preview img{width:72px;height:58px;border-radius:10px;object-fit:cover}

/* Full social workflow */
.social-text-link{display:inline;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-weight:750;cursor:pointer}.post-visibility-badge{flex:none;padding:4px 7px;border-radius:999px;background:#f1f4f5;color:#7b878d;font-size:8px;font-weight:750}.feed-pinned-label{display:flex;align-items:center;gap:5px;margin:-2px 0 9px;color:#7d898f;font-size:9px;font-weight:750}.post-pinned-menu{padding:6px 10px;color:#829097;font-size:9px}.activity-comments p.is-reply{margin-left:32px}.activity-comments p>span>small{display:flex;gap:10px;margin-top:4px}.activity-comments p>span>small button{padding:0;border:0;background:transparent;color:#8a959c;font:inherit;font-size:8px;font-weight:750;cursor:pointer}.feed-load-more{display:block;width:calc(100% - 28px);margin:8px 14px 15px;padding:11px;border:1px solid var(--line,#dfe5e7);border-radius:999px;background:var(--surface,#fff);color:var(--text,#27333a);font:inherit;font-size:10px;font-weight:800;cursor:pointer}
.feed-search-types{display:flex;gap:5px;margin-top:10px;overflow-x:auto;scrollbar-width:none}.feed-search-types button{flex:none;min-height:30px;padding:0 12px;border:1px solid var(--line,#dfe5e7);border-radius:999px;background:transparent;color:#7d8990;font:inherit;font-size:9px;font-weight:750}.feed-search-types button.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface,#fff));color:var(--accent)}.feed-recent-chip{display:flex;flex:none;overflow:hidden;border-radius:999px;background:#eef2f3}.feed-recent-chip button{border-radius:0!important;background:transparent!important}.feed-recent-chip button:last-child{padding-left:2px;color:#8c969c}.feed-recent-searches>.feed-recent-chip{gap:0}
.composer-todo-preview{display:flex;align-items:center;gap:9px;margin:6px 0 9px;padding:9px 11px;border:1px solid var(--line,#dfe5e7);border-radius:12px;background:color-mix(in srgb,var(--accent) 4%,var(--surface,#fff))}.composer-todo-preview[hidden]{display:none}.composer-todo-preview>span{display:grid;width:27px;height:27px;place-items:center;border-radius:8px;background:var(--todo-color);color:#fff}.composer-todo-preview>div{display:grid;gap:2px}.composer-todo-preview small{color:#8a959c;font-size:8px}.composer-todo-preview strong{font-size:11px}.post-image-preview>div{position:relative}.post-image-preview .post-image-order{position:absolute;top:7px;left:7px;display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:#17212bd9;color:#fff;font-size:9px;font-weight:800}.post-image-preview .post-image-tools{position:absolute;top:7px;right:7px;display:flex;gap:4px}.post-image-preview .post-image-tools button{position:static;width:27px;height:27px;font-size:15px}.post-image-preview .post-images-clear{position:absolute;right:8px;bottom:8px;top:auto;width:auto;height:auto;padding:6px 9px;border-radius:999px;font-size:9px}.friend-profile-tabs{grid-template-columns:repeat(4,1fr)}
@media(max-width:600px){.post-composer textarea{min-height:66px}.post-composer-options{gap:6px}.post-composer-options select{min-height:34px;padding-left:8px}.post-visibility-badge{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-comments p.is-reply{margin-left:22px}.dm-layout{min-height:calc(100dvh - 190px)}.dm-thread{max-height:calc(100dvh - 190px)}.dm-compose{position:sticky;bottom:calc(70px + env(safe-area-inset-bottom));z-index:4;background:var(--surface,#fff)}.global-view{padding-bottom:max(86px,calc(70px + env(safe-area-inset-bottom)))}.post-composer:focus-within{position:relative;z-index:6}.friend-profile-tabs button{min-width:70px;padding-inline:5px;font-size:10px}}

.feed-trending{display:grid;gap:8px;margin-top:10px}.feed-trending>strong{color:#77848b;font-size:9px}.feed-trending>div{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.feed-trending button{display:flex;flex:none;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--line,#dfe5e7);border-radius:999px;background:var(--surface,#fff);color:var(--accent);font:inherit;font-size:9px;font-weight:750}.feed-trending small{color:#9aa3a8;font-size:8px}.personal-post-pinned,.personal-post-visibility{display:inline-flex;margin:4px 0;color:#849098;font-size:9px;font-weight:700}.personal-social-head nav{flex-wrap:wrap}

/* Feed photo viewer */
.feed-post-media img{cursor:zoom-in}.feed-photo-viewer{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#080a0df2;color:#fff;overflow:hidden}.feed-photo-viewer::backdrop{background:#080a0df2}.feed-photo-stage{display:grid;width:100%;height:100%;place-items:center;touch-action:pan-y}.feed-photo-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none}.feed-photo-counter{position:absolute;top:max(18px,env(safe-area-inset-top));left:50%;padding:6px 11px;border-radius:999px;background:#111820b8;color:#fff;font-size:11px;font-weight:750;transform:translateX(-50%);backdrop-filter:blur(10px)}.feed-photo-close{position:absolute;z-index:2;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));display:grid;width:40px;height:40px;padding:0;place-items:center;border:0;border-radius:50%;background:#ffffff1f;color:#fff;font-size:25px;cursor:pointer;backdrop-filter:blur(10px)}.feed-photo-nav{position:absolute;z-index:2;top:50%;display:grid;width:46px;height:60px;padding:0;place-items:center;border:0;border-radius:14px;background:#1118208f;color:#fff;font-size:38px;line-height:1;transform:translateY(-50%);cursor:pointer;backdrop-filter:blur(8px)}.feed-photo-nav.previous{left:max(14px,env(safe-area-inset-left))}.feed-photo-nav.next{right:max(14px,env(safe-area-inset-right))}.feed-photo-nav[hidden]{display:none}.photo-viewer-open{overflow:hidden}
@media(max-width:600px){.feed-photo-nav{width:40px;height:54px;background:#1118204f;font-size:32px}.feed-photo-nav.previous{left:8px}.feed-photo-nav.next{right:8px}.feed-photo-stage{padding:70px 0 max(34px,env(safe-area-inset-bottom))}.feed-photo-stage img{width:100%;max-height:calc(100dvh - 110px)}.feed-photo-close{top:max(12px,env(safe-area-inset-top));right:12px}}

/* Advanced photo gestures */
.feed-photo-stage{position:relative;overflow:hidden;transform:translateY(var(--viewer-drag-y,0));opacity:var(--viewer-drag-opacity,1);transition:transform .18s ease,opacity .18s ease}.feed-photo-stage img{opacity:1;transform-origin:center;transition:transform .22s ease,opacity .16s ease}.feed-photo-viewer.is-loading .feed-photo-stage img,.feed-photo-viewer.has-error .feed-photo-stage img{opacity:0}.feed-photo-loading{position:absolute;inset:0;display:none;place-content:center;justify-items:center;gap:10px;color:#dce2e5;font-size:11px}.feed-photo-loading i{width:28px;height:28px;border:3px solid #ffffff30;border-top-color:#fff;border-radius:50%;animation:feed-photo-spin .8s linear infinite}.feed-photo-viewer.is-loading .feed-photo-loading{display:grid}.feed-photo-retry{position:absolute;z-index:3;top:50%;left:50%;display:none;padding:10px 15px;border:1px solid #ffffff48;border-radius:999px;background:#151b20;color:#fff;font:inherit;font-size:11px;font-weight:750;transform:translate(-50%,-50%)}.feed-photo-viewer.has-error .feed-photo-retry{display:block}.feed-photo-dots{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:50%;display:flex;gap:7px;transform:translateX(-50%)}.feed-photo-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#ffffff59;transition:width .18s ease,background .18s ease}.feed-photo-dots button.active{width:20px;border-radius:99px;background:#fff}.feed-photo-hint{position:absolute;right:0;bottom:max(12px,env(safe-area-inset-bottom));left:0;color:#ffffff85;font-size:9px;text-align:center}.feed-photo-viewer.is-zoomed .feed-photo-stage{overflow:auto;touch-action:pan-x pan-y}.feed-photo-viewer.is-zoomed .feed-photo-nav,.feed-photo-viewer.is-zoomed .feed-photo-dots,.feed-photo-viewer.is-zoomed .feed-photo-hint{opacity:0;pointer-events:none}.feed-photo-stage.slide-next img{transform:translateX(-14%);opacity:.15}.feed-photo-stage.slide-previous img{transform:translateX(14%);opacity:.15}.feed-photo-viewer.is-dragging .feed-photo-stage{transition:none}@keyframes feed-photo-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.feed-photo-dots{bottom:max(42px,env(safe-area-inset-bottom))}.feed-photo-hint{bottom:max(18px,env(safe-area-inset-bottom))}.feed-photo-viewer.is-zoomed .feed-photo-stage img{max-width:none}}
@media(prefers-reduced-motion:reduce){.feed-photo-stage,.feed-photo-stage img,.feed-photo-dots button{transition:none}.feed-photo-loading i{animation-duration:1.4s}}
/* v240: productivity, social, messaging, and accessibility refinements */
.priority-mark{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:7px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px}.group-order{display:flex;gap:2px;margin-left:auto}.group-order button{width:28px;height:28px;border:0;background:transparent;color:var(--muted);border-radius:50%}.post-poll-fields{display:grid;gap:8px;margin:8px 0;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}.post-poll-fields input,.post-composer-options input{min-height:42px;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:var(--surface);color:var(--ink)}.post-tool-button{border:0;background:transparent;color:var(--accent);font-weight:700}.feed-poll{display:grid;gap:7px;margin:10px 0}.feed-poll>strong{margin-bottom:3px}.feed-poll button{position:relative;overflow:hidden;display:flex;justify-content:space-between;min-height:42px;padding:10px 13px;border:1px solid var(--line);border-radius:13px;background:transparent;color:var(--ink)}.feed-poll button:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--poll-pct);background:color-mix(in srgb,var(--accent) 14%,transparent);z-index:0}.feed-poll button>*{position:relative;z-index:1}.feed-poll button.selected{border-color:var(--accent)}.feed-poll>small{color:var(--muted)}.comment-row{position:relative;display:grid;grid-template-columns:34px 1fr;gap:9px;padding:8px 0}.comment-row.is-reply{margin-left:34px}.comment-row.is-reply:before{content:"";position:absolute;left:-18px;top:-8px;width:14px;height:28px;border-left:2px solid var(--line);border-bottom:2px solid var(--line);border-radius:0 0 0 10px}.comment-row small{display:flex;gap:10px;margin-top:5px}.comment-row small button{border:0;background:transparent;color:var(--muted);padding:2px}.comment-row small button.active{color:#e74878}.feed-search-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.feed-search-filters select{min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);padding:0 10px}.report-reason-dialog form{display:grid;gap:12px;min-width:min(360px,80vw)}.report-reason-dialog label{padding:10px;border:1px solid var(--line);border-radius:12px}.report-reason-dialog form>div{display:flex;justify-content:flex-end;gap:8px}.report-reason-dialog button{min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:0 16px}.report-reason-dialog .primary{background:var(--accent);color:#fff}.profile-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.profile-highlights article{padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.profile-highlights span{display:block;color:var(--muted);font-size:12px}.profile-highlights strong{display:block;margin-top:7px;font-size:15px}.personal-list-search{display:flex;align-items:center;gap:8px;margin:10px 0;padding:0 12px;border:1px solid var(--line);border-radius:13px}.personal-list-search input{width:100%;min-height:44px;border:0;background:transparent;color:var(--ink)}.dm-thread-tool{border:0;background:transparent;color:var(--muted);font-size:12px}.dm-thread-tool.danger{color:#c34d61}.dm-reply-preview{padding:8px 14px;background:var(--soft);border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.dm-reply-preview[hidden]{display:none}.dm-reply-preview button{border:0;background:transparent}.dm-photo-button{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:50%;color:var(--accent);cursor:pointer}.dm-message-image{display:block;max-width:min(280px,70vw);max-height:280px;border-radius:14px;object-fit:cover}.dm-reply-quote{display:block;padding:6px 8px;border-left:3px solid currentColor;opacity:.7}.dm-message-meta button{border:0;background:transparent;color:inherit;font-size:11px}.accessibility-settings{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:22px 0;border-top:1px solid var(--line)}.settings-check{display:flex!important;align-items:center;gap:8px}.settings-check input{width:20px;height:20px}html[data-font-size="small"]{font-size:14px}html[data-font-size="large"]{font-size:18px}html.high-contrast{--ink:#000;--muted:#3b3b3b;--line:#777;--surface:#fff;--soft:#f2f2f2}html.high-contrast[data-mode="dark"]{--ink:#fff;--muted:#ddd;--line:#aaa;--surface:#000;--soft:#171717}
@media(max-width:700px){button,a,input:not([type="checkbox"]):not([type="radio"]),select,textarea,label[for]{min-height:44px}.post-composer-options{grid-template-columns:1fr 1fr}.post-composer-actions{gap:5px;flex-wrap:wrap}.post-composer-actions #postDraftList{max-width:115px}.profile-highlights{grid-template-columns:1fr}.accessibility-settings{grid-template-columns:1fr}.group-order{display:none}.dm-thread-head{flex-wrap:wrap}.dm-thread-tool{min-height:36px}}
/* v242: compact icon based feed composer */
.post-composer{position:relative;padding:18px 20px}.post-composer>div{min-width:0}.post-composer textarea{min-height:74px;padding:6px 2px 12px;font-size:17px;border-bottom:1px solid var(--line)}.composer-settings{margin-top:8px}.composer-settings>summary{display:none}.composer-settings[open]>.post-composer-options{display:grid;animation:composerReveal .18s ease}.post-composer-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 10px;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--soft)}.post-composer-options label>span{font-size:11px;font-weight:700;color:var(--muted)}.post-composer-options select,.post-composer-options input{width:100%;min-height:38px;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 3px;background:transparent;font-size:13px}.post-composer-actions{display:flex;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--line)}.composer-icon-tools{display:flex;align-items:center;gap:2px}.composer-icon-button,.composer-draft-picker{position:relative;display:grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--accent);cursor:pointer}.composer-icon-button:hover,.composer-draft-picker:hover,.composer-settings-button[aria-expanded="true"]{background:color-mix(in srgb,var(--accent) 10%,transparent)}.composer-icon-button svg,.composer-draft-picker svg,.composer-settings svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.composer-icon-button b{position:absolute;right:0;top:0;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--accent);color:#fff;font-size:9px}.composer-draft-picker select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.post-composer-actions #postCount{margin-left:auto;white-space:nowrap;font-size:12px;color:var(--muted)}.composer-submit{min-width:72px;min-height:42px;border:0;border-radius:22px;background:var(--accent);color:#fff;font-weight:800}.post-poll-fields{margin:8px 0}.composer-settings-button{display:grid!important}@keyframes composerReveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(max-width:700px){.post-composer{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:16px}.post-composer .community-avatar{width:38px;height:38px}.post-composer textarea{min-height:64px}.post-composer-actions{gap:5px}.composer-icon-button,.composer-draft-picker{width:36px;height:36px;min-width:36px;min-height:36px}.composer-icon-button svg,.composer-draft-picker svg{width:19px;height:19px}.post-composer-actions #postCount{font-size:11px}.composer-submit{min-width:62px;padding:0 14px}.post-composer-options{grid-template-columns:1fr 1fr;padding:10px}}
/* v244: balanced one-line composer */
.post-composer textarea{border-bottom:0}.post-composer-actions{flex-wrap:nowrap!important;gap:6px!important}.post-composer-actions .composer-icon-button{box-sizing:border-box;min-width:38px;width:38px;height:38px;min-height:38px;padding:0;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--surface));box-shadow:none;color:var(--accent)}.post-composer-actions .composer-draft-picker{box-sizing:border-box;min-width:38px;width:38px;height:38px;min-height:38px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.post-composer-actions .composer-submit{box-sizing:border-box;flex:0 0 auto;min-width:68px;min-height:40px;padding:0 16px;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 20%,transparent)}.composer-icon-tools{flex:0 1 auto;min-width:0}.post-composer-actions #postCount{flex:0 0 auto;margin-left:auto}.composer-icon-button b{right:-2px;top:-4px;border:2px solid var(--surface)}
@media(max-width:700px){.post-composer{padding:14px 15px}.post-composer textarea{min-height:52px!important;padding:4px 1px 8px;font-size:16px}.post-composer-actions{padding-top:9px}.post-composer-actions .composer-icon-button,.post-composer-actions .composer-draft-picker{width:34px;height:34px;min-width:34px;min-height:34px}.composer-icon-button svg,.composer-draft-picker svg{width:18px;height:18px}.post-composer-actions .composer-submit{min-width:64px;min-height:38px;padding:0 13px}.post-composer-actions #postCount{font-size:10px}}
@media(max-width:700px){.post-composer{display:block}.post-composer>.community-avatar{display:grid;position:absolute;top:14px;left:15px}.post-composer textarea{padding-left:50px}.post-composer-actions{width:100%}}
/* v245: keep category add controls perfectly circular */
.group-pill .group-add{box-sizing:border-box!important;aspect-ratio:1/1!important;min-height:30px!important}
@media(max-width:700px){.task-group[data-group] .group-pill .group-add{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;min-height:40px!important;max-height:40px!important;flex:0 0 40px!important;aspect-ratio:1/1!important;border-radius:50%!important}}
/* v246: mobile messenger uses list-to-thread navigation */
.dm-mobile-back{display:none}
@media(max-width:650px){.dm-view{margin-bottom:90px}.dm-page-head{margin-bottom:14px}.dm-layout{display:block;min-height:0;border-radius:18px}.dm-sidebar{max-height:none;border:0}.dm-sidebar-head{padding:16px 18px 10px}.dm-sidebar-head button{width:40px;height:40px}.dm-search-wrap{margin:0 16px 10px;border-radius:16px}.dm-search-wrap input{height:44px}.dm-contacts{max-height:none;overflow:visible;padding:4px 12px 16px}.dm-contact{min-height:66px;padding:9px 11px;border-radius:15px}.dm-contact+.dm-contact{margin-top:3px}.dm-contact.active{background:color-mix(in srgb,var(--accent) 9%,var(--surface))}.dm-thread{display:none;min-height:calc(100dvh - 255px);max-height:none}.dm-view.has-active-thread .dm-sidebar{display:none}.dm-view.has-active-thread .dm-thread{display:flex}.dm-view.has-active-thread .dm-page-head{display:none}.dm-mobile-back{display:grid;place-items:center;width:38px;height:38px;min-width:38px;min-height:38px;padding:0;border:0;border-radius:50%;background:var(--soft);color:var(--ink);font-size:20px}.dm-thread-head{flex-wrap:nowrap;min-height:68px;padding:10px 12px}.dm-thread-head>div{min-width:0;margin-right:auto}.dm-thread-tool{font-size:0;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;border-radius:50%;background:var(--soft)}.dm-thread-tool:before{font-size:15px}.dm-thread-tool[data-dm-mute]:before{content:'◉'}.dm-thread-tool[data-dm-delete]:before{content:'×'}.dm-block-button{min-height:34px;padding:0 10px;font-size:11px}.dm-messages{min-height:calc(100dvh - 380px);padding:16px}.dm-empty{min-height:360px}.dm-demo-note{margin:12px 8px 0;text-align:center}}
/* v247: keep every primary home add button circular */
@media(max-width:700px){.today-focus-card>button{box-sizing:border-box;width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;min-height:44px!important;max-height:44px!important;aspect-ratio:1/1!important;border-radius:50%!important}.today-focus-card{grid-template-columns:54px minmax(0,1fr) 44px}.mobile-quick-add{box-sizing:border-box;min-width:52px!important;max-width:52px!important;min-height:52px!important;max-height:52px!important;aspect-ratio:1/1!important}}
/* v248: theme-aware quiet focus card */
.today-focus-card{--focus-tone:color-mix(in srgb,var(--accent) 48%,var(--theme-surface,#fff));--focus-wash:color-mix(in srgb,var(--accent) 7%,var(--theme-surface,#fff));border-color:color-mix(in srgb,var(--accent) 20%,var(--line));background:linear-gradient(120deg,var(--focus-wash),color-mix(in srgb,var(--theme-surface,#fff) 96%,var(--accent)));box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 7%,transparent)}.today-focus-card .focus-progress{background:conic-gradient(var(--focus-tone) var(--focus-progress),color-mix(in srgb,var(--accent) 8%,#e7ebed) 0)}.today-focus-card>div:nth-child(2)>span{color:color-mix(in srgb,var(--accent) 56%,var(--theme-deep,#52616a))}.today-focus-card>button{background:var(--focus-tone);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 14%,transparent)}html[data-mode="dark"] .today-focus-card{--focus-tone:color-mix(in srgb,var(--accent) 52%,var(--theme-deep,#273038));--focus-wash:color-mix(in srgb,var(--accent) 8%,#252e35);border-color:color-mix(in srgb,var(--accent) 22%,#40505a);background:linear-gradient(120deg,var(--focus-wash),#252e35)}
/* v249: polish category headers, navigation, floating actions, and loading states */
.group-heading{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;min-width:0}.group-heading>.group-pill{display:flex;flex:0 1 auto;min-width:0;max-width:calc(100% - 76px)}.group-heading .group-pill strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-task-count{flex:0 0 auto}.group-collapse{flex:0 0 32px;margin-left:auto}.bottom-nav{box-shadow:0 -3px 18px color-mix(in srgb,var(--theme-deep,#334) 5%,transparent)}.bottom-nav button{position:relative;gap:3px}.bottom-nav button:before{content:"";position:absolute;top:7px;width:42px;height:32px;border-radius:16px;background:transparent;transition:background .18s ease,transform .18s ease}.bottom-nav button svg,.bottom-nav button small{position:relative;z-index:1}.bottom-nav button.active:before{background:color-mix(in srgb,var(--accent) 10%,var(--theme-surface,#fff));transform:translateY(-1px)}.bottom-nav button.active svg{filter:none}.bottom-nav button.active small{font-weight:800}.mobile-quick-add,.focus-dock{transition:opacity .16s ease,transform .16s ease}.page-scrolling .mobile-quick-add,.page-scrolling .focus-dock{opacity:.28;transform:translateY(7px);pointer-events:none}.loading-skeleton-list{display:grid;gap:12px;width:100%;padding:2px 0}.loading-skeleton{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:17px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.loading-skeleton i,.loading-skeleton b,.loading-skeleton span{display:block;background:linear-gradient(90deg,var(--soft),color-mix(in srgb,var(--soft) 45%,#fff),var(--soft));background-size:220% 100%;animation:skeletonFlow 1.25s ease-in-out infinite}.loading-skeleton i{width:42px;height:42px;border-radius:50%}.loading-skeleton div{display:grid;gap:9px}.loading-skeleton b{width:34%;height:12px;border-radius:6px}.loading-skeleton span{width:100%;height:10px;border-radius:5px}.loading-skeleton span:last-child{width:68%}@keyframes skeletonFlow{to{background-position:-220% 0}}
@media(max-width:700px){.group-heading{gap:7px}.group-heading>.group-pill{max-width:calc(100% - 70px)}.bottom-nav{box-shadow:0 -2px 14px color-mix(in srgb,var(--theme-deep,#334) 4%,transparent)}.bottom-nav button:before{top:8px;width:38px;height:29px}.home-view,.global-view,.dm-view,.other-view,.routine-view{padding-bottom:135px}body:has(input:focus,textarea:focus,select:focus) .mobile-quick-add,body:has(input:focus,textarea:focus,select:focus) .focus-dock{opacity:0;pointer-events:none;transform:translateY(12px)}}
/* v250: fresh feed notice and clearer post affordance */
.new-post-banner{position:sticky;z-index:8;top:74px;display:block;width:max-content;max-width:calc(100% - 32px);margin:10px auto -4px;padding:9px 16px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:999px;background:var(--accent);color:#fff;box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 28%,transparent);font:inherit;font-size:11px;font-weight:800;cursor:pointer}.new-post-banner[hidden]{display:none}.feed-post .activity-text{cursor:pointer}.feed-post .activity-text:hover{color:color-mix(in srgb,var(--text,#273038) 75%,var(--accent))}@media(max-width:700px){.new-post-banner{top:10px;margin-top:6px}}
/* v251: category ordering belongs in category management */
.manage-category-order{display:flex;align-self:stretch;flex-direction:column;justify-content:center;gap:3px}.manage-category-order button{display:grid;width:28px;height:28px;padding:0;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.manage-category-order button:hover{border-color:var(--group-color);color:var(--group-color)}@media(max-width:700px){.manage-category-order{flex-direction:row;justify-content:flex-start}.manage-category-order button{width:38px;height:38px}}
/* v253: calendar completion levels */
.calendar-column .day-mark.partial-mark,.calendar-column .day-mark.full-mark,.preview-calendar .day-mark.partial-mark,.preview-calendar .day-mark.full-mark{color:#fff}.calendar-column .day-mark.partial-mark,.preview-calendar .day-mark.partial-mark{box-shadow:inset 0 0 0 1px #ffffff70}.calendar-column .day-mark.full-mark,.preview-calendar .day-mark.full-mark{box-shadow:0 2px 7px color-mix(in srgb,var(--mark-background) 30%,transparent);font-weight:800}
/* v254: long-press calendar progress */
.calendar-progress-popover{position:fixed;z-index:1200;display:grid;gap:3px;min-width:145px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:12px;background:var(--surface,#fff);color:var(--text,#273038);box-shadow:0 12px 35px #1e2d3630;transform:translate(-50%,-100%);pointer-events:none}.calendar-progress-popover[hidden]{display:none}.calendar-progress-popover strong{font-size:10px}.calendar-progress-popover span{color:var(--muted,#7f8b92);font-size:9px}
/* Social layer: stories, previews, reposts, mentions and presence */
.story-strip{display:flex;gap:14px;overflow-x:auto;padding:8px 4px 18px;scrollbar-width:none}.story-strip::-webkit-scrollbar{display:none}.story-strip>button{appearance:none;border:0;background:transparent;display:grid;gap:6px;justify-items:center;min-width:64px;color:var(--ink);font:inherit}.story-strip>button>span{width:58px;height:58px;padding:3px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#d99a60)}.story-strip .story-avatar{width:50px;height:50px;border:3px solid var(--paper);border-radius:50%;overflow:hidden}.story-strip small{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-thread-banner{margin:0 0 10px;padding:9px 12px;border-radius:12px;background:color-mix(in srgb,var(--accent) 9%,white);color:var(--accent);display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700}.composer-thread-banner button{border:0;background:none;font-size:20px;color:inherit}.feed-repost-label{font-size:12px;font-weight:750;color:var(--muted);margin:0 0 10px 48px}.quoted-post{width:100%;margin:10px 0;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:15px;padding:12px;text-align:left;background:color-mix(in srgb,var(--paper) 94%,var(--accent) 6%);color:inherit}.quoted-post>span{display:flex;align-items:center;gap:7px}.quoted-post .quoted-avatar{width:26px;height:26px;border-radius:50%;overflow:hidden}.quoted-post small{color:var(--muted)}.quoted-post p{margin:8px 0 0;line-height:1.45}.quoted-post>img{margin-top:10px;width:100%;max-height:220px;object-fit:cover;border-radius:11px}.profile-preview-dialog{width:min(390px,calc(100vw - 32px));border:0;border-radius:24px;padding:0;box-shadow:0 24px 80px #10243b35;background:var(--paper);color:var(--ink)}.profile-preview-dialog::backdrop{background:#10243b55;backdrop-filter:blur(4px)}.profile-preview-close{position:absolute;right:14px;top:12px;z-index:2;border:0;background:#fff9;width:34px;height:34px;border-radius:50%;font-size:22px}.profile-preview-body{padding:28px;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.profile-preview-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden}.profile-preview-body h2,.profile-preview-body p{margin:0}.profile-preview-body>div:nth-child(2) p{color:var(--muted);font-size:13px}.profile-preview-bio,.profile-preview-activity,.profile-preview-counts,.profile-preview-actions{grid-column:1/-1}.profile-preview-bio{padding-top:6px}.profile-preview-activity{font-size:13px;color:var(--accent);font-weight:700}.profile-preview-counts{display:flex;gap:26px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.profile-preview-counts b{font-size:18px}.profile-preview-counts small{display:block;font-size:11px;color:var(--muted);font-weight:500}.profile-preview-actions{display:flex;gap:8px}.profile-preview-actions button{flex:1;border:1px solid var(--line);border-radius:999px;padding:10px;background:var(--paper);font-weight:750}.profile-preview-actions button:first-child{background:var(--ink);color:white}.online-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2fc47d;box-shadow:0 0 0 3px #2fc47d22}.friend-activity-status{font-size:13px;color:var(--accent)!important;font-weight:700}.close-friend-toggle{border:1px solid var(--line);background:var(--paper);border-radius:50%;width:40px;height:40px;color:var(--muted)}.close-friend-toggle.active{color:#f0a51b;background:#fff8df;border-color:#f0c763}.mention-suggestions{position:absolute;z-index:20;width:min(330px,80vw);background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 34px #20324622;overflow:hidden}.mention-suggestions button{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:9px 12px;display:flex;align-items:center;gap:9px;text-align:left;color:inherit}.mention-suggestions .mention-avatar{width:34px;height:34px;border-radius:50%;overflow:hidden}.mention-suggestions span{display:grid}.mention-suggestions small{color:var(--muted)}
@media(max-width:640px){.activity-actions{grid-template-columns:repeat(5,1fr)}.activity-actions .action-label{display:none}.profile-preview-body{padding:24px}.story-strip{margin-inline:-2px}}

.social-feed .feed-post .activity-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.social-feed .feed-post .activity-actions button{min-width:0;padding-inline:4px}.social-feed .feed-post .activity-actions .action-label{display:none}@media(max-width:420px){.social-feed .feed-post .activity-actions{gap:2px}.social-feed .feed-post .activity-actions button{min-width:0}}

.feed-link-preview{display:grid;grid-template-columns:minmax(0,1fr);margin:12px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;color:inherit;text-decoration:none;background:color-mix(in srgb,var(--paper) 96%,var(--accent) 4%)}.feed-link-preview img{width:100%;height:180px;object-fit:cover}.feed-link-preview>span{display:grid;gap:3px;padding:12px 14px}.feed-link-preview small{color:var(--muted);text-transform:uppercase;font-size:10px;letter-spacing:.06em}.feed-link-preview strong{font-size:14px}.feed-link-preview p{margin:0;color:var(--muted);font-size:12px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.connected-thread{display:grid}.connected-thread>.activity-card{position:relative}.connected-thread>.activity-card:not(:last-child){border-bottom-left-radius:8px;border-bottom-right-radius:8px}.connected-thread>.activity-card:not(:last-child)::after{content:"";position:absolute;left:43px;bottom:-18px;width:2px;height:18px;background:var(--line);z-index:2}.discover-card .identity{position:relative}.discover-dismiss{position:absolute!important;right:-4px;top:-6px!important;width:26px!important;height:26px!important;padding:0!important;border-radius:50%!important;background:var(--paper)!important;color:var(--muted)!important}.friend-social-proof,.friend-routine-line,.profile-preview-mutual{font-size:12px;color:var(--muted)}.friend-interest-chips{display:flex;flex-wrap:wrap;gap:6px}.friend-interest-chips span{padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,var(--paper));color:var(--accent);font-size:11px;font-weight:700}.profile-preview-mutual{grid-column:1/-1}.notification-filters{overflow-x:auto;scrollbar-width:none}.notification-filters::-webkit-scrollbar{display:none}.notification-filters button{flex:none}
@media(max-width:640px){.post-menu[open]::before{content:"";position:fixed;inset:0;background:#10243b55;z-index:99}.post-menu[open]>div{position:fixed!important;left:12px!important;right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;top:auto!important;width:auto!important;max-height:70vh;overflow:auto;z-index:100;border-radius:22px!important;padding:10px!important;box-shadow:0 22px 70px #10243b55!important;animation:postSheetIn .18s ease-out}.post-menu[open]>div button,.post-menu[open]>div span{width:100%;min-height:46px;text-align:left;padding:12px 14px!important;border-radius:12px!important;font-size:14px!important}.feed-link-preview img{height:145px}}@keyframes postSheetIn{from{transform:translateY(24px);opacity:.5}to{transform:none;opacity:1}}
.quote-compose-dialog{width:min(640px,calc(100vw - 28px));max-height:min(760px,calc(100dvh - 28px));border:0;border-radius:24px;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 30px 90px #10243b55}.quote-compose-dialog::backdrop{background:#10243b66;backdrop-filter:blur(4px)}.quote-compose-dialog form{display:grid}.quote-compose-dialog header{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}.quote-compose-dialog header>button:first-child{border:0;background:transparent;font-size:24px;color:inherit}.quote-compose-dialog header>div{display:grid}.quote-compose-dialog header small{color:var(--muted);font-size:11px}.quote-compose-dialog header>button[type=submit]{border:0;border-radius:999px;background:var(--accent);color:white;padding:10px 18px;font-weight:800}.quote-compose-author{position:relative;display:grid;grid-template-columns:44px 1fr;gap:12px;padding:22px 22px 12px}.quote-compose-author textarea{width:100%;min-height:150px;resize:none;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:18px;line-height:1.55}.quote-compose-author>small{grid-column:2;text-align:right;color:var(--muted);font-size:11px}.quote-compose-original{margin:0 22px 22px 78px;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:8px;background:color-mix(in srgb,var(--paper) 95%,var(--accent) 5%)}.quote-compose-original>div{display:grid}.quote-compose-original small{color:var(--muted);font-size:11px}.quote-compose-original p{margin:0;line-height:1.5}.quote-compose-original img{width:100%;max-height:230px;object-fit:cover;border-radius:11px}.quote-compose-dialog [role=alert]{margin:0 22px 18px;color:#c64d5c;font-size:13px}
@media(max-width:640px){.quote-compose-dialog{width:100vw;height:100dvh;max-height:none;margin:0;border-radius:0}.quote-compose-dialog form{min-height:100dvh;align-content:start}.quote-compose-dialog header{padding-top:calc(12px + env(safe-area-inset-top))}.quote-compose-author{padding:22px 18px 12px}.quote-compose-author textarea{min-height:190px;font-size:17px}.quote-compose-original{margin:0 18px 22px 74px}}
/* Mobile category manager: two clear rows without horizontal overflow */
@media(max-width:600px){.manage-card:has(.category-row){padding-inline:14px}.category-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px 9px;padding:16px 0;overflow:visible}.category-row .manage-edit-form{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%}.category-row .manage-edit-form input[name="name"]{grid-column:1/-1;grid-row:1;width:100%;min-width:0;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:15px}.category-row .category-color-picker{grid-column:1;grid-row:2}.category-row .manage-edit-form .category-study-toggle{grid-column:2;grid-row:2;justify-self:start;white-space:nowrap}.category-row .manage-edit-form>button[type="submit"]{grid-column:3;grid-row:2;min-width:58px}.category-row .manage-category-order{grid-column:1;grid-row:2;display:flex;align-self:center;gap:5px}.category-row .manage-category-order button{width:38px;height:38px}.category-row .share-control{grid-column:2;grid-row:2;margin-left:0;justify-self:start}.category-row .manage-delete{grid-column:3;grid-row:2;justify-self:end;min-width:44px;padding-inline:4px}.category-row .share-control.compact .share-trigger{white-space:nowrap;min-height:38px}}
@media(max-width:360px){.category-row .category-random-color{font-size:0!important;width:34px;padding:0!important}.category-row .category-random-color::after{content:"↻";font-size:16px}.category-row .share-control.compact .share-trigger{font-size:11px;padding-inline:7px}}
