:root { --bg:#f6f6f3; --surface:#fff; --surface-soft:#efefeb; --ink:#181917; --muted:#7a7d77; --line:#dfdfd9; --accent:#2957f0; --coral:#ef6f56; --mint:#a7d8c3; --shadow:0 20px 50px rgba(24,25,23,.06); --radius:18px; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--bg); color:var(--ink); font-family:"Manrope","Noto Sans SC",sans-serif; -webkit-font-smoothing:antialiased; } button,input,select { font:inherit; } button { cursor:pointer; } .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.app-shell { min-height:100vh; overflow:hidden; } .topbar { height:76px; padding:0 clamp(24px,5vw,76px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(223,223,217,.72); } .brand { display:inline-flex; gap:10px; align-items:center; text-decoration:none; color:var(--ink); font-size:17px; font-weight:800; letter-spacing:-.04em; } .brand-mark { width:22px; height:22px; display:flex; align-items:flex-end; gap:3px; } .brand-mark i { display:block; width:5px; border-radius:2px 2px 1px 1px; background:var(--accent); } .brand-mark i:nth-child(1){height:10px;opacity:.55}.brand-mark i:nth-child(2){height:17px;opacity:.78}.brand-mark i:nth-child(3){height:22px}.topbar-right { display:flex; align-items:center; gap:11px; color:var(--muted); font-family:"DM Mono",monospace; font-size:11px; letter-spacing:.04em; }.live-dot { width:7px; height:7px; border-radius:50%; background:var(--coral); box-shadow:0 0 0 4px rgba(239,111,86,.12); }.icon-button { width:34px; height:34px; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--ink); font-size:18px; line-height:1; margin-left:8px; transition:.2s ease; }.icon-button:hover { background:var(--ink); color:var(--surface); transform:rotate(15deg); }
.workspace { width:min(1200px,calc(100% - 48px)); margin:0 auto; padding:68px 0 30px; }.hero-grid { display:grid; grid-template-columns:minmax(0,1fr) 390px; align-items:end; gap:48px; margin-bottom:52px; }.eyebrow,.section-kicker,.card-label { margin:0; color:var(--muted); font-family:"DM Mono",monospace; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }.eyebrow { display:flex; align-items:center; gap:9px; margin-bottom:18px; color:var(--accent); font-weight:500; }.eyebrow-line { width:28px; height:1px; background:var(--accent); } h1,h2,p { margin-top:0; } h1 { margin-bottom:17px; font-size:clamp(50px,6.4vw,84px); line-height:.98; letter-spacing:-.085em; font-weight:800; } h1 em { color:var(--accent); font-style:normal; }.hero-note { margin:0; color:var(--muted); font-size:15px; }
.calendar-focus-grid { display:grid; grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr); gap:12px; margin-bottom:38px; align-items:stretch; }.calendar-focus-grid .calendar-card { padding:24px 25px 18px; box-shadow:var(--shadow); }.calendar-focus-grid .calendar-grid { min-height:218px; }.urgent-panel { padding:25px 25px 21px; border-radius:var(--radius); background:var(--ink); color:var(--surface); box-shadow:0 18px 35px rgba(24,25,23,.14); }.urgent-head { display:flex; align-items:start; justify-content:space-between; gap:12px; }.urgent-panel .section-kicker { color:#a7aaa3; }.urgent-panel h2 { margin:4px 0 0; font-size:24px; letter-spacing:-.07em; }.urgent-count { padding:6px 8px; border:1px solid #474945; border-radius:6px; color:#c9cec5; font-family:"DM Mono",monospace; font-size:10px; }.urgent-note { margin:16px 0 17px; color:#a7aaa3; font-size:12px; line-height:1.6; }.urgent-list { display:flex; flex-direction:column; gap:8px; }.urgent-item { display:grid; grid-template-columns:5px minmax(0,1fr) auto; gap:11px; align-items:center; padding:11px 0; border-top:1px solid #3d403c; }.urgent-item:first-child { border-top:0; padding-top:0; }.urgent-item > i { width:4px; height:34px; border-radius:4px; background:var(--accent); }.urgent-item.high > i { background:var(--coral); }.urgent-item.medium > i { background:#f1c86b; }.urgent-item.low > i { background:var(--mint); }.urgent-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:700; }.urgent-meta { margin-top:4px; color:#a7aaa3; font-family:"DM Mono",monospace; font-size:9px; }.urgent-countdown { color:#f1c86b; font-family:"DM Mono",monospace; font-size:10px; text-align:right; white-space:nowrap; }.urgent-item.high .urgent-countdown { color:var(--coral); }.urgent-empty { padding:21px 0 5px; color:#a7aaa3; font-size:12px; }
.project-card { padding:21px 22px 18px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow); }.project-card-head { display:flex; justify-content:space-between; align-items:start; margin-bottom:15px; }.project-card h2 { margin:4px 0 0; font-size:21px; letter-spacing:-.06em; }.small-action { padding:7px 9px; border:1px solid var(--line); border-radius:7px; background:transparent; color:var(--ink); font-size:11px; transition:.2s ease; }.small-action:hover { border-color:var(--accent); color:var(--accent); }.project-select { width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:8px; outline:none; background:var(--surface-soft); color:var(--ink); font-size:13px; font-weight:700; }.project-list { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }.project-chip { display:inline-flex; align-items:center; gap:5px; padding:5px 7px; border:1px solid transparent; border-radius:6px; background:var(--surface-soft); color:var(--muted); font-size:10px; }.project-chip.is-current { border-color:#c9d3ff; background:#edf1ff; color:var(--accent); }.project-chip i { width:5px; height:5px; border-radius:50%; background:currentColor; }.project-chip b { font-family:"DM Mono",monospace; font-size:9px; font-weight:500; }
.overview-grid { display:grid; grid-template-columns:1.22fr 1fr 1fr; gap:12px; margin-bottom:70px; }.overview-card { min-height:180px; padding:22px 23px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow); }.card-topline,.day-card-head { display:flex; justify-content:space-between; align-items:center; }.card-micro { color:var(--accent); font-family:"DM Mono",monospace; font-size:12px; }.progress-main { display:flex; align-items:center; gap:17px; margin:22px 0 19px; }.progress-ring { width:70px; height:70px; display:grid; place-items:center; border-radius:50%; background:conic-gradient(var(--accent) 0deg,var(--surface-soft) 0deg); position:relative; font-family:"DM Mono",monospace; font-size:19px; }.progress-ring::after { content:""; position:absolute; inset:7px; border-radius:50%; background:var(--surface); }.progress-ring span { position:relative; z-index:1; }.progress-main strong { display:block; font-size:22px; letter-spacing:-.05em; }.progress-main div:last-child span { display:block; margin-top:4px; color:var(--muted); font-size:12px; }.progress-track { height:5px; overflow:hidden; border-radius:9px; background:var(--surface-soft); }.progress-track span { display:block; height:100%; width:0; border-radius:inherit; background:var(--accent); transition:width .35s ease; }.accent-pill { padding:5px 8px; border-radius:6px; background:#edf1ff; color:var(--accent); font-family:"DM Mono",monospace; font-size:9px; letter-spacing:.1em; }.focus-number { display:flex; align-items:baseline; gap:7px; margin-top:28px; }.focus-number strong { font-size:51px; letter-spacing:-.1em; line-height:.9; }.focus-number span { color:var(--muted); font-size:13px; }.focus-card p { margin:11px 0 0; color:var(--muted); font-size:12px; }.next-arrow { color:var(--accent); font-size:20px; }.next-task { margin-top:29px; font-size:19px; font-weight:700; letter-spacing:-.04em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.next-time { margin-top:7px; color:var(--muted); font-family:"DM Mono",monospace; font-size:11px; }
.content-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(300px,.8fr); gap:64px; }.section-header { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:22px; }.section-kicker { margin-bottom:9px; font-size:10px; }.section-header h2,.add-card h2,.calendar-card h2 { margin:0; font-size:24px; letter-spacing:-.06em; }.filter-tabs { display:flex; align-items:center; gap:5px; }.filter-tab { padding:7px 10px; border:0; border-radius:7px; background:transparent; color:var(--muted); font-size:12px; transition:.2s ease; }.filter-tab:hover,.filter-tab.is-active { background:var(--ink); color:var(--surface); }
.priority-group { position:relative; margin-bottom:24px; }.priority-group:last-child { margin-bottom:0; }.priority-group-head { display:flex; align-items:center; gap:8px; margin:2px 0 2px 80px; color:var(--muted); font-family:"DM Mono",monospace; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }.priority-group-head i { width:6px; height:6px; border-radius:50%; background:var(--accent); }.priority-group[data-priority=high] .priority-group-head { color:var(--coral); }.priority-group[data-priority=high] .priority-group-head i { background:var(--coral); }.priority-group[data-priority=low] .priority-group-head { color:#5d9e81; }.priority-group[data-priority=low] .priority-group-head i { background:var(--mint); }.timeline { position:relative; }.timeline::before { content:""; position:absolute; top:13px; bottom:13px; left:51px; width:1px; background:var(--line); }.task-item { position:relative; display:grid; grid-template-columns:80px minmax(0,1fr) 34px; gap:20px; align-items:center; min-height:82px; padding:12px 0; animation:rise .35s ease both; }.task-time { position:relative; z-index:1; color:var(--muted); font-family:"DM Mono",monospace; font-size:12px; }.task-time::after { content:""; position:absolute; top:5px; right:7px; width:6px; height:6px; border:2px solid var(--bg); border-radius:50%; background:var(--accent); }.task-item.is-done .task-time::after { background:var(--mint); }.task-body { display:flex; align-items:center; gap:12px; min-width:0; }.priority-bar { width:3px; height:34px; flex:0 0 auto; border-radius:4px; background:var(--accent); }.priority-bar.high { background:var(--coral); }.priority-bar.low { background:var(--mint); }.task-title { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:15px; font-weight:700; letter-spacing:-.025em; }.task-item.is-done .task-title { color:var(--muted); text-decoration:line-through; text-decoration-thickness:1px; }.task-meta { margin-top:4px; color:var(--muted); font-family:"DM Mono",monospace; font-size:10px; }.check-button { width:27px; height:27px; border:1px solid var(--line); border-radius:50%; background:var(--surface); color:transparent; transition:.2s ease; }.check-button:hover { border-color:var(--accent); transform:scale(1.08); }.task-item.is-done .check-button { border-color:var(--mint); background:var(--mint); color:#285c49; }.empty-state { padding:64px 20px; border:1px dashed var(--line); border-radius:var(--radius); text-align:center; }.empty-orbit { width:43px; height:43px; display:grid; place-items:center; margin:0 auto 14px; border-radius:50%; background:#edf1ff; color:var(--accent); font-size:20px; }.empty-state strong { display:block; font-size:15px; }.empty-state span { display:block; margin-top:6px; color:var(--muted); font-size:12px; }
.side-panel { display:flex; flex-direction:column; gap:13px; }.calendar-card { padding:21px 22px 17px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }.calendar-head { display:flex; align-items:end; justify-content:space-between; gap:10px; }.calendar-card h2 { margin-top:4px; font-size:20px; }.calendar-nav { display:flex; align-items:center; gap:2px; }.calendar-nav button { min-width:26px; height:26px; padding:0 5px; border:0; border-radius:5px; background:transparent; color:var(--muted); font-size:13px; }.calendar-nav button:hover { background:var(--surface-soft); color:var(--ink); }.calendar-nav button:nth-child(2) { padding:0 7px; font-family:"DM Mono",monospace; font-size:9px; }.weekday-row,.calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }.weekday-row { margin:22px 0 6px; color:var(--muted); font-family:"DM Mono",monospace; font-size:9px; text-align:center; }.calendar-grid { min-height:188px; }.calendar-day { position:relative; display:grid; place-items:center; min-height:29px; border:0; border-radius:7px; background:transparent; color:var(--ink); font-family:"DM Mono",monospace; font-size:11px; }.calendar-day:hover { background:var(--surface-soft); }.calendar-day.is-today { color:var(--accent); font-weight:700; }.calendar-day.is-selected { background:var(--ink); color:var(--surface); }.calendar-day.has-tasks::after { content:""; position:absolute; bottom:3px; width:4px; height:4px; border-radius:50%; background:var(--coral); }.calendar-day.is-selected.has-tasks::after { background:var(--mint); }.calendar-foot { display:flex; gap:13px; margin-top:10px; color:var(--muted); font-family:"DM Mono",monospace; font-size:9px; }.calendar-foot span { display:inline-flex; align-items:center; gap:5px; }.calendar-dot { width:5px; height:5px; display:inline-block; border-radius:50%; background:var(--coral); }.calendar-dot.selected { width:7px; height:7px; background:var(--ink); }
.add-card { padding:24px; border-radius:var(--radius); background:var(--ink); color:var(--surface); box-shadow:0 18px 35px rgba(24,25,23,.14); }.add-card-head { display:flex; align-items:start; justify-content:space-between; margin-bottom:12px; }.add-card .section-kicker { color:#a7aaa3; }.add-card h2 { margin-top:4px; font-size:22px; }.keyboard-hint { padding:5px 7px; border:1px solid #474945; border-radius:5px; color:#a7aaa3; font-family:"DM Mono",monospace; font-size:10px; }.capture-context { margin:0 0 19px; color:#a7aaa3; font-size:11px; }.add-card input::placeholder { color:#777b74; } #task-input { width:100%; padding:4px 0 13px; border:0; border-bottom:1px solid #474945; outline:0; background:transparent; color:var(--surface); font-size:15px; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:14px 0 18px; }.form-row-three { grid-template-columns:1.2fr .85fr .85fr; }.field-shell { display:block; padding:9px 10px; border:1px solid #474945; border-radius:8px; color:#a7aaa3; font-family:"DM Mono",monospace; font-size:9px; }.field-shell input,.field-shell select { display:block; width:100%; margin-top:5px; border:0; outline:0; background:transparent; color:var(--surface); font-family:inherit; font-size:11px; }.field-shell select { appearance:none; }.field-shell option { color:var(--ink); }.primary-button { width:100%; display:flex; justify-content:space-between; align-items:center; padding:13px 14px; border:0; border-radius:9px; background:var(--accent); color:#fff; font-size:13px; font-weight:700; transition:.2s ease; }.primary-button:hover { background:#3d68ff; transform:translateY(-1px); }
.quote-card { padding:25px 23px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface-soft); }.quote-mark { display:block; color:var(--coral); font-family:Georgia,serif; font-size:35px; line-height:.7; }.quote-card p { margin:13px 0 15px; font-size:13px; line-height:1.7; letter-spacing:-.02em; }.quote-author { color:var(--muted); font-family:"DM Mono",monospace; font-size:9px; }
.project-dialog { width:min(420px,calc(100% - 36px)); padding:25px; border:1px solid var(--line); border-radius:16px; background:var(--surface); color:var(--ink); box-shadow:0 30px 90px rgba(0,0,0,.2); }.project-dialog::backdrop { background:rgba(24,25,23,.32); backdrop-filter:blur(3px); }.dialog-head { display:flex; justify-content:space-between; align-items:start; margin-bottom:25px; }.dialog-head h2 { margin:4px 0 0; font-size:22px; letter-spacing:-.06em; }.dialog-close { width:30px; height:30px; border:0; border-radius:50%; background:var(--surface-soft); color:var(--muted); font-size:20px; }.dialog-label { display:block; margin-bottom:8px; color:var(--muted); font-size:12px; }.project-dialog input { width:100%; padding:12px; border:1px solid var(--line); border-radius:8px; outline-color:var(--accent); background:var(--surface-soft); color:var(--ink); }.dialog-actions { display:flex; gap:8px; justify-content:flex-end; margin-top:22px; }.dialog-actions .primary-button { width:132px; }.secondary-button { padding:11px 14px; border:1px solid var(--line); border-radius:8px; background:transparent; color:var(--ink); font-size:12px; }.secondary-button:hover { background:var(--surface-soft); }
.footer { width:min(1200px,calc(100% - 48px)); margin:40px auto 0; padding:19px 0 27px; display:flex; justify-content:space-between; border-top:1px solid var(--line); color:var(--muted); font-family:"DM Mono",monospace; font-size:9px; letter-spacing:.1em; }
body.dark { --bg:#191a19; --surface:#232522; --surface-soft:#2b2e2a; --ink:#f5f5f0; --muted:#9fa49a; --line:#3a3d38; --accent:#7892ff; --coral:#ff8d72; --mint:#84c9aa; --shadow:0 20px 50px rgba(0,0,0,.16); }.dark .topbar { border-color:var(--line); }.dark .progress-ring::after { background:var(--surface); }.dark .accent-pill { background:#2e3864; color:#b8c4ff; }.dark .filter-tab.is-active { background:var(--surface); color:var(--ink); }.dark .check-button { background:var(--surface); }.dark .empty-orbit { background:#2e3864; }.dark .calendar-day.is-selected { background:var(--surface); color:var(--ink); }
@keyframes rise { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:900px) { .workspace { padding-top:44px; }.calendar-focus-grid { grid-template-columns:1fr; }.calendar-focus-grid .calendar-grid { min-height:188px; }.hero-grid { grid-template-columns:1fr; gap:26px; margin-bottom:34px; }.project-card { width:min(100%,520px); }.overview-grid { grid-template-columns:1fr 1fr; margin-bottom:48px; }.overview-card:first-child { grid-column:1/-1; }.content-grid { grid-template-columns:1fr; gap:40px; }.side-panel { display:grid; grid-template-columns:1fr 1fr; align-items:start; }.add-card { grid-row:span 2; }.quote-card { min-height:100%; } }
@media (max-width:560px) { .topbar { height:66px; padding:0 20px; }.topbar-date { display:none; }.workspace { width:min(100% - 36px,1200px); padding-top:24px; }.calendar-focus-grid { gap:10px; margin-bottom:30px; }.calendar-focus-grid .calendar-card,.urgent-panel { padding:18px; }.calendar-head { align-items:center; }.calendar-card h2 { font-size:18px; }.calendar-grid { min-height:180px !important; }.urgent-panel h2 { font-size:21px; }.urgent-title { font-size:12px; }.urgent-countdown { font-size:9px; }.hero-grid { margin-bottom:29px; } h1 { font-size:54px; }.overview-grid { grid-template-columns:1fr; gap:10px; }.overview-card:first-child { grid-column:auto; }.overview-card { min-height:156px; }.content-grid { gap:32px; }.section-header { display:block; }.filter-tabs { margin-top:17px; }.priority-group-head { margin-left:68px; }.timeline::before { left:45px; }.task-item { grid-template-columns:68px minmax(0,1fr) 30px; gap:12px; }.task-time::after { right:0; }.side-panel { display:flex; }.add-card { padding:21px; }.form-row-three { grid-template-columns:1fr 1fr; }.form-row-three .field-shell:first-child { grid-column:1/-1; }.footer { width:min(100% - 36px,1200px); } }

/* Keep today's date visible even when another date is selected. */
.calendar-day.is-today { color:var(--accent); font-weight:800; box-shadow:inset 0 0 0 1px var(--accent); }
.calendar-day.is-selected.is-today { box-shadow:inset 0 0 0 2px var(--accent); }
.calendar-foot { flex-wrap:wrap; gap:9px 13px; }
.calendar-dot.today { width:7px; height:7px; background:var(--accent); }
.calendar-nav #clear-date-button { min-width:auto; padding:0 8px; font-size:9px; }
.calendar-nav #clear-date-button:disabled { cursor:default; opacity:.38; }
.calendar-nav #clear-date-button { white-space:nowrap; }
.calendar-foot span[hidden] { display:none; }
@media (max-width:560px) { .calendar-nav #clear-date-button { padding:0 4px; font-size:8px; } }
