/* Liquid glass: translucent lavender, visible light behind the surfaces, bright rims. */
:root {
  color-scheme: light;
  color: #493b62;
  background: #eee7fa;
  --muted: #8b7c9e;
  --line: rgba(124, 91, 162, .12);
  --green: #8b65bc;
  --sage: #e6d9f8;
  --lavender: #ded1f7;
  --peach: #f8e1ec;
  --blue: #dde2fb;
  --rose: #f4d9ec;
}
body {
  isolation: isolate;
  background:
    radial-gradient(ellipse at 90% 8%, #d0bbf1 0, transparent 42%),
    radial-gradient(ellipse at 45% 70%, #dac6f1 0, transparent 42%),
    linear-gradient(135deg, #f5effc, #e9def7 50%, #e5e4fa);
  background-attachment: fixed;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 57% 42%, #ba9ade70, transparent 30%),
    radial-gradient(ellipse at 92% 80%, #aeb9ed60, transparent 30%),
    radial-gradient(ellipse at 12% 40%, #f1cde060, transparent 30%);
}
.ambient { z-index: -1; filter: blur(28px); opacity: .9; }
.ambient-one {
  width: 48vw; height: 48vw; max-width: 720px; max-height: 720px;
  top: 10%; right: -13%;
  background: radial-gradient(circle at 33% 30%, #f6e9ff, #b79bdf90 48%, #b5b7ed40 70%, transparent 73%);
}
.ambient-two {
  width: 46vw; height: 36vw; bottom: -15%; left: 23%;
  background: radial-gradient(ellipse at 45% 40%, #eec9ee, #c4b3e9a0 60%, transparent 73%);
}
.glass, dialog {
  background: linear-gradient(125deg, #ffffff70, #ffffff20 48%, #f5ebff38);
  border: 1px solid #ffffffc9;
  box-shadow:
    0 20px 65px #62458d14,
    0 4px 16px #62458d0a,
    inset 0 1px 0 #ffffffef,
    inset 1px 0 0 #ffffff7d,
    inset 0 -1px 0 #ffffff70;
  backdrop-filter: blur(22px) saturate(165%);
  -webkit-backdrop-filter: blur(22px) saturate(165%);
}
.planner-shell { border-radius: 25px; position: relative; }
.planner-shell::before {
  content: ''; position: absolute; inset: 0; border-radius: inherit;
  background: linear-gradient(115deg, #ffffff55 0, #ffffff00 25%, #ffffff00 70%, #ffffff30);
  pointer-events: none; z-index: 1;
}
.sidebar { background: linear-gradient(155deg, #ffffff80, #f5ecff35); }
.brand-icon {
  background: linear-gradient(145deg, #d7bcf5, #9a77ce);
  color: #fff9ff; border: 1px solid #ffffffb0;
  box-shadow: inset 0 1px 1px white, 0 5px 12px #8b64bc25;
}
.brand-dot { color: #a384ca; }
.nav-item.active {
  color: #715197;
  background: linear-gradient(120deg, #e9d9ffb0, #ffffff70);
  box-shadow: inset 0 1px #ffffffdf, 0 3px 10px #8b66b60b;
  border: 1px solid #ffffffb0;
}
.all-dot { background: linear-gradient(135deg, #c3a2e8 50%, #b9b9ed 50%); }
.sage-dot { background: #c2a0e6; }
.lavender-dot { background: #a9a3dc; }
.avatar, .small-avatar { background: linear-gradient(135deg, #f5eaffd9, #d8c5f2); color: #8866ad; box-shadow: inset 0 1px white; }
.sync-status i, .tiny-dot { background: #ac88ce; }
.topbar { border-color: #bca2da25; }
.primary-button {
  background: linear-gradient(160deg, #e2cffb 0%, #c5a6ee 45%, #b396df 100%);
  color: #51356f;
  border: 1px solid #ffffffbc;
  box-shadow: inset 0 1px 0 #ffffffef, inset 0 -1px 0 #9374b970, 0 5px 16px #8b64bc25;
  border-radius: 13px;
  text-shadow: 0 1px #ffffff60;
}
.primary-button:hover { background: linear-gradient(160deg, #edddff, #d1b8f4 55%, #bea3e5); box-shadow: inset 0 1px white, 0 7px 22px #8b64bc35; }
.primary-button:active { transform: translateY(1px); }
.primary-button kbd { color: #7f5aa1; border-color: #9169b647; background: #ffffff30; }
.planner-toolbar { background: linear-gradient(110deg, #ffffff50, #ffffff17); border-bottom-color: #ffffff75; }
.view-switch { background: #bba0df15; border-color: #ffffff95; border-radius: 10px; }
.view-switch button { color: #8c78a3; }
.view-switch button.selected { background: linear-gradient(140deg, #ffffffc9, #f6eeff90); color: #775397; box-shadow: 0 2px 5px #8865a512, inset 0 1px white; }
.today-button { border-color: #ffffffb0; background: linear-gradient(135deg, #ffffff90, #ffffff30); box-shadow: inset 0 1px #ffffffc0; color: #806293; border-radius: 8px; }
.day-column.today { background: linear-gradient(180deg, #d7baf735, #dbc5f30d); }
.today .day-name { color: #8e67b5; }
.today .day-number { background: linear-gradient(145deg, #e1c7fc, #b08ad8); color: #553372; border: 1px solid #ffffffa0; box-shadow: inset 0 1px #fff, 0 4px 12px #8865b220; }
.today-mark { background: #b08ace; }
.day-column.drag-over, .someday-grid.drag-over { background: #d7b9f475; box-shadow: inset 0 0 0 1px #ac86d18c; }
.task-card {
  font-size: 12px;
  border-color: #ffffffbd; border-radius: 10px;
  box-shadow: inset 0 1px #ffffffd0, 0 3px 10px #71508b08;
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.task-card.sage { background: linear-gradient(130deg, #efe2fbd9, #e0cef6a8); }
.task-card.lavender { background: linear-gradient(130deg, #ece1fdd9, #d6c3f5ad); }
.task-card.peach { background: linear-gradient(130deg, #fceaf2d9, #f4d9eaa8); }
.task-card.blue { background: linear-gradient(130deg, #eef0ffd9, #d9dff8a8); }
.task-card.rose { background: linear-gradient(130deg, #fae8f5d9, #edcfe7a8); }
.task-card.none { background: linear-gradient(130deg, #ffffff95, #ffffff40); }
.task-check { border-color: #a28ab770; background: #ffffff50; }
.task-check:checked { background: #b28ace; border-color: #b28ace; }
.task-card.done .task-text { color: #9a89aa; }
.task-meta { color: #9a82ad; }
.add-task { color: #9b81b3; }
.add-task:hover { background: #ffffff65; color: #7f5a9c; }
.someday-grid { min-height: 75px; }
.someday-grid .task-card { background: linear-gradient(120deg, #ffffff85, #f7efff30); border-radius: 13px; }
.someday-grid .task-card:before { background: #c7a5e3; }
.someday-grid .task-card.peach:before { background: #e5b2d0; }
.empty-someday { border: 1px dashed #c3a6dd80; border-radius: 15px; background: #ffffff24; display: flex; align-items: center; justify-content: center; color: #9a80b1; }
.section-title h2 span { background: #e2d2f475; color: #9b7ab7; }
dialog { background: linear-gradient(135deg, #fbf7fff2, #eee1fcdb); border-radius: 24px; }
dialog::backdrop { background: #5940712b; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
input:not([type=checkbox]), textarea, select { background: #ffffff70; border-color: #cdb8e280; }
input:focus, textarea:focus, select:focus { border-color: #b28dce; box-shadow: 0 0 0 3px #b28dce18; }
input[type=checkbox] { accent-color: #ad86cf; }
.color-option.sage { background: #e6d9f8; }
.color-option.peach { background: #f8e1ec; }
.color-option.selected { outline-color: #a580c3; }
.install-note { background: #dfcaf44d; border: 1px solid #ffffffad; }
.toast { background: linear-gradient(130deg, #a27acde8, #8760b1ed); border: 1px solid #ffffff75; box-shadow: inset 0 1px #ffffff80, 0 8px 30px #76559335; backdrop-filter: blur(20px); }
@media(min-width:901px) { .sidebar { inset: 16px auto 16px 16px; width: 220px; border-radius: 25px; padding: 26px 18px 19px; } }
@media(min-width:901px) and (max-width:1200px) { .sidebar { width: 181px; padding: 25px 12px 19px; } .brand { font-size: 19px; gap: 7px; } }
@media(max-width:900px) { .sidebar { border-radius: 0; } }
@media(min-width:651px) and (max-width:900px) {
  .sidebar .nav-item { display: flex; font-size: 0; justify-content: center; padding: 13px; }
  .sidebar .nav-item .nav-count { display: none; }
  .sidebar .nav-item > span:first-child { font-size: 21px; }
}
@media(max-width:650px) { .planner-shell { border-radius: 21px; } .ambient-one { width: 100vw; height: 100vw; top: 20%; right: -38%; } .ambient-two { width: 90vw; height: 90vw; left: -30%; bottom: -12%; } .someday-grid .task-card { font-size: 11px; } }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) { .glass { background: #f3ebfbdc; } }
@media print { body { background: white; } body::before, .planner-shell::before { display:none; } .glass { background:white;box-shadow:none; } }
