﻿/* ═══════════════════════════════════════════════════════════
   МІЙ ДЕНЬ — Design Tokens
   To restyle the entire app, only edit the variables below.
   ═══════════════════════════════════════════════════════════ */

/* ── DARK ENERGY (default) ───────────────────────────────── */
:root {
  /* Backgrounds */
  --bg:       #0f0f13;   /* page background */
  --bg2:      #16161d;   /* subtle alt background */
  --paper:    #1e1e28;   /* card / modal surface */
  --paper2:   #252532;   /* nested surface */
  --done-bg:  #13131a;   /* completed-task row */

  /* Text */
  --ink:       #f0eeff;  /* primary text */
  --ink-soft:  #9b97b8;  /* secondary text */
  --ink-muted: #5a5770;  /* placeholder / label */

  /* Accent (overridden by theme picker) */
  --accent:  #7c6af7;    /* primary accent */
  --accent2: #a78bfa;    /* secondary accent */

  /* Priority */
  --high:    #ff6b6b;                  /* high priority */
  --med:     #fbbf24;                  /* medium priority */
  --low:     #34d399;                  /* low / done */
  --high-bg: rgba(255,107,107,.12);
  --med-bg:  rgba(251,191,36,.12);
  --low-bg:  rgba(52,211,153,.12);

  /* Borders */
  --border:  #2a2a3a;
  --border2: #363648;

  /* Special states */
  --pomo:    #ff6b6b;
  --pomo-bg: rgba(255,107,107,.1);
  --notif:   #818cf8;
  --notif-bg:rgba(129,140,248,.12);

  /* Shadows & effects */
  --sh:   0 4px 20px rgba(0,0,0,.4);
  --shh:  0 8px 40px rgba(0,0,0,.6);
  --glow: 0 0 20px rgba(124,106,247,.3);

  /* Typography */
  --font-body:  'DM Mono', monospace;
  --font-serif: 'Instrument Serif', serif;
}

/* ── WARM CREAM (light) ──────────────────────────────────── */
[data-theme=light] {
  /* Backgrounds */
  --bg:       #faf7f2;
  --bg2:      #f2ece3;
  --paper:    #fffdf9;
  --paper2:   #f7f2ea;
  --done-bg:  #f0ece6;

  /* Text */
  --ink:       #1c1410;
  --ink-soft:  #6b5a4e;
  --ink-muted: #a8998e;

  /* Accent */
  --accent:  #c17b3c;
  --accent2: #d4944a;

  /* Priority */
  --high:    #c0392b;
  --med:     #b7860b;
  --low:     #2d7a4f;
  --high-bg: rgba(192,57,43,.09);
  --med-bg:  rgba(183,134,11,.09);
  --low-bg:  rgba(45,122,79,.09);

  /* Borders */
  --border:  #e8ddd0;
  --border2: #d4c4b0;

  /* Special states */
  --pomo:    #c0392b;
  --pomo-bg: rgba(192,57,43,.08);
  --notif:   #5b6cc9;
  --notif-bg:rgba(91,108,201,.08);

  /* Shadows & effects */
  --sh:   0 4px 20px rgba(100,60,20,.1);
  --shh:  0 8px 40px rgba(100,60,20,.15);
  --glow: 0 0 20px rgba(193,123,60,.2);
}
/* Light theme overrides */
[data-theme=light] body{
  background-image:
    radial-gradient(ellipse at 20% 0%,rgba(193,123,60,.07) 0%,transparent 60%),
    radial-gradient(ellipse at 80% 100%,rgba(45,122,79,.05) 0%,transparent 60%);
}
[data-theme=light] .add-btn{
  background:linear-gradient(135deg,#c17b3c,#d4944a);
  box-shadow:0 4px 15px rgba(193,123,60,.35);
}
[data-theme=light] .add-btn:hover{box-shadow:0 6px 20px rgba(193,123,60,.45);}
[data-theme=light] .save-btn{
  background:linear-gradient(135deg,#c17b3c,#d4944a);
  box-shadow:0 4px 15px rgba(193,123,60,.3);
}
[data-theme=light] .save-btn:hover{box-shadow:0 6px 20px rgba(193,123,60,.4);}
[data-theme=light] .tab.on{color:var(--accent);border-bottom-color:var(--accent);}
[data-theme=light] .fb.on{background:var(--accent);border-color:var(--accent);}
[data-theme=light] .qtype-btn.on{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px rgba(193,123,60,.3);}
[data-theme=light] .dp.on{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px rgba(193,123,60,.4);}
[data-theme=light] .focus-task{background:linear-gradient(135deg,rgba(193,123,60,.12),rgba(193,123,60,.04));border-color:rgba(193,123,60,.5);}
[data-theme=light] .focus-task::before{background:linear-gradient(90deg,var(--accent),var(--accent2));}
[data-theme=light] .focus-badge{background:rgba(193,123,60,.15);color:var(--accent2);}
[data-theme=light] .ti.is-focus{border-color:rgba(193,123,60,.5);box-shadow:var(--glow);}
[data-theme=light] .cbw input:checked~.cbb{background:var(--low);border-color:var(--low);box-shadow:0 0 8px rgba(45,122,79,.4);}
[data-theme=light] .prog-fill{background:linear-gradient(90deg,var(--accent),var(--accent2),var(--low));}
[data-theme=light] .ppill.run{border-color:rgba(192,57,43,.5);background:rgba(192,57,43,.06);box-shadow:0 0 20px rgba(192,57,43,.15);}
[data-theme=light] .ppill.brk{border-color:rgba(45,122,79,.5);background:rgba(45,122,79,.06);}
[data-theme=light] .pc.main{background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 4px 15px rgba(193,123,60,.35);}
[data-theme=light] .impulse-card::before{background:linear-gradient(90deg,var(--accent),var(--accent2),var(--low));}
[data-theme=light] .imp-btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 4px 15px rgba(193,123,60,.35);}
[data-theme=light] .bank-btn{background:var(--accent);}
[data-theme=light] .bank-btn:hover{background:var(--accent2);}
[data-theme=light] .plugin-open-btn{background:var(--accent);}
[data-theme=light] .tl-now{background:var(--accent);box-shadow:0 0 10px rgba(193,123,60,.5);}
[data-theme=light] .tl-now::before{background:var(--accent);}
[data-theme=light] .hfq.on{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px rgba(193,123,60,.3);}
[data-theme=light] .mood-btn.on{border-color:var(--accent);background:rgba(193,123,60,.12);box-shadow:var(--glow);}
[data-theme=light] .bf{background:linear-gradient(180deg,var(--accent),rgba(193,123,60,.3));}
[data-theme=light] .wday.today{border-color:rgba(193,123,60,.5);background:rgba(193,123,60,.05);box-shadow:var(--glow);}
[data-theme=light] .book-prog-fill{background:linear-gradient(90deg,var(--accent),var(--accent2));}
[data-theme=light] .tag{background:rgba(193,123,60,.12);color:var(--accent);}
[data-theme=light] .genre-pill.on{background:rgba(193,123,60,.12);border-color:var(--accent);color:var(--accent2);}
[data-theme=light] .tag-filter.on{background:var(--notif);color:#fff;}
[data-theme=light] .habit-card.done-today{border-color:rgba(45,122,79,.4);box-shadow:0 0 15px rgba(45,122,79,.1);}
[data-theme=light] .habit-card.done-today .habit-check-btn{background:var(--low);border-color:var(--low);box-shadow:0 0 12px rgba(45,122,79,.4);}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:'DM Mono',monospace;
  background:var(--bg);
  color:var(--ink);
  min-height:100vh;
  padding:28px 16px 140px;
  overscroll-behavior-x:none;
  background-image:
    radial-gradient(ellipse at 20% 0%,rgba(124,106,247,.08) 0%,transparent 60%),
    radial-gradient(ellipse at 80% 100%,rgba(52,211,153,.05) 0%,transparent 60%);
}
.wrap{max-width:780px;margin:0 auto}

/* ── HEADER ─────────────────────────────────────────────── */
header{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:24px;padding-bottom:20px;
  border-bottom:1px solid var(--border);
  position:relative;z-index:10;overflow:visible;
}
.h1{
  font-family:'Instrument Serif',serif;
  font-size:46px;line-height:1;letter-spacing:-2px;
}
.h1 span{font-style:italic;color:var(--accent2);}
.date-txt{font-size:11px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:2px;margin-top:6px;}
.hbtns{display:flex;align-items:center;gap:8px;}
.stats{display:flex;gap:20px;text-align:right;}
.stat{display:flex;flex-direction:column;align-items:flex-end;}
.snum{font-family:'Instrument Serif',serif;font-size:30px;line-height:1;}
.snum.g{color:var(--low);}
.slbl{font-size:10px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:1.5px;margin-top:2px;}
.hbtn{
  width:38px;height:38px;
  border:1px solid var(--border2);border-radius:10px;
  background:var(--paper);cursor:pointer;font-size:15px;
  display:flex;align-items:center;justify-content:center;color:var(--ink-soft);
  transition:all .15s;
}
.hbtn:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--glow);}
.install-btn{
  padding:7px 14px;border:1px solid var(--border2);border-radius:10px;
  background:var(--paper);cursor:pointer;
  font-family:'DM Mono',monospace;font-size:11px;color:var(--ink-soft);
  transition:all .15s;white-space:nowrap;
}
.install-btn:hover{border-color:var(--accent);color:var(--accent);}

/* ── PROGRESS ───────────────────────────────────────────── */
.prog-wrap{
  height:3px;background:var(--border);border-radius:2px;
  margin-bottom:24px;overflow:hidden;
}
.prog-fill{
  height:100%;
  background:linear-gradient(90deg,var(--accent),var(--accent2),var(--low));
  border-radius:2px;transition:width .6s cubic-bezier(.4,0,.2,1);width:0;
}

/* ── TABS ───────────────────────────────────────────────── */
.tabs{
  display:flex;margin-bottom:24px;
  border-bottom:1px solid var(--border);
  overflow-x:auto;scrollbar-width:none;gap:2px;
}
.tabs::-webkit-scrollbar{display:none;}
.tab{
  padding:9px 16px;background:none;border:none;
  font-family:'DM Mono',monospace;font-size:11px;
  color:var(--ink-muted);cursor:pointer;letter-spacing:1.5px;
  text-transform:uppercase;border-bottom:2px solid transparent;
  margin-bottom:-1px;white-space:nowrap;transition:color .15s;
}
.tab:hover{color:var(--ink-soft);}
.tab.on{color:var(--accent2);border-bottom-color:var(--accent);}

/* ── ADD FORM ───────────────────────────────────────────── */
.add-form{
  background:var(--paper);
  border:1px solid var(--border2);border-radius:16px;
  padding:20px;margin-bottom:24px;
  box-shadow:var(--sh);
}
.form-ttl{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-muted);margin-bottom:14px;}
.frow{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px;align-items:center;}
.frow:last-child{margin-bottom:0;}
.ftxt{flex:1;min-width:160px;}
.finp{
  width:100%;padding:11px 14px;
  border:1px solid var(--border2);border-radius:10px;
  background:var(--bg2);
  font-family:'DM Mono',monospace;font-size:12px;color:var(--ink);
  outline:none;cursor:pointer;transition:border-color .15s;
}
input[type=text].finp{font-size:13px;cursor:text;}
.finp:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(124,106,247,.15);}
.finp::placeholder{color:var(--ink-muted);}
.ftime{width:110px;flex-shrink:0;}
.fdur{width:130px;flex-shrink:0;}
.add-btn{
  padding:11px 22px;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:#fff;border:none;border-radius:10px;
  font-family:'DM Mono',monospace;font-size:12px;font-weight:500;
  cursor:pointer;white-space:nowrap;flex-shrink:0;
  box-shadow:0 4px 15px rgba(124,106,247,.4);
  transition:all .2s;
}
.add-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(124,106,247,.5);}
.add-btn:active{transform:translateY(0);}
.dp{
  width:36px;height:36px;border:1px solid var(--border2);border-radius:50%;
  background:var(--bg2);font-family:'DM Mono',monospace;font-size:11px;
  color:var(--ink-soft);cursor:pointer;display:flex;align-items:center;justify-content:center;
  user-select:none;flex-shrink:0;transition:all .15s;
}
.dp:hover{border-color:var(--accent);}
.dp.on{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 10px rgba(124,106,247,.4);}
.dp-row{display:none;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;}
.dp-row.show{display:flex;}
.dp-lbl{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-muted);white-space:nowrap;}

/* ── QTYPE BUTTONS ──────────────────────────────────────── */
.qtype-btn{
  padding:7px 14px;border:1px solid var(--border2);border-radius:20px;
  background:transparent;font-family:'DM Mono',monospace;font-size:11px;
  color:var(--ink-soft);cursor:pointer;white-space:nowrap;transition:all .15s;
}
.qtype-btn:hover{border-color:var(--accent);color:var(--accent);}
.qtype-btn.on{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 10px rgba(124,106,247,.3);}

/* ── FILTERS ────────────────────────────────────────────── */
.filters{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap;}
.fb{
  padding:6px 16px;border:1px solid var(--border2);border-radius:20px;
  background:transparent;font-family:'DM Mono',monospace;font-size:11px;
  color:var(--ink-soft);cursor:pointer;transition:all .15s;
}
.fb:hover{border-color:var(--ink-soft);}
.fb.on{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 10px rgba(124,106,247,.3);}
.tag-filter{
  padding:4px 12px;border:1px solid var(--border2);border-radius:16px;
  font-family:'DM Mono',monospace;font-size:10px;color:var(--ink-soft);
  cursor:pointer;background:transparent;transition:all .15s;
}
.tag-filter.on{background:var(--notif);color:#fff;border-color:var(--notif);}
.sec{
  font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-muted);
  margin:20px 0 10px;display:flex;align-items:center;gap:8px;
}
.sec::after{content:'';flex:1;height:1px;background:var(--border);}

/* ── FOCUS TASK ─────────────────────────────────────────── */
.focus-task{
  background:linear-gradient(135deg,rgba(124,106,247,.15),rgba(124,106,247,.05));
  border:1px solid rgba(124,106,247,.4);border-radius:16px;
  padding:22px 24px;margin-bottom:20px;
  box-shadow:var(--glow);position:relative;overflow:hidden;
}
.focus-task::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
}
.focus-lbl{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--accent2);margin-bottom:8px;}
.focus-txt{font-family:'Instrument Serif',serif;font-size:24px;font-style:italic;color:var(--ink);line-height:1.3;}
.focus-meta{font-size:11px;color:var(--ink-muted);margin-top:6px;}
.focus-unpin{
  position:absolute;top:12px;right:12px;width:26px;height:26px;
  border:none;background:transparent;cursor:pointer;color:var(--ink-muted);
  font-size:14px;display:flex;align-items:center;justify-content:center;border-radius:6px;
}
.focus-unpin:hover{background:rgba(255,107,107,.15);color:var(--high);}
.focus-badge{font-size:9px;padding:2px 7px;border-radius:8px;background:rgba(124,106,247,.2);color:var(--accent2);}

/* ── TASK CARDS ─────────────────────────────────────────── */
.tlist{display:flex;flex-direction:column;gap:6px;}
.ti{
  background:var(--paper);border:1px solid var(--border);
  border-radius:12px;overflow:hidden;
  animation:sli .2s ease;position:relative;
  transition:border-color .2s,box-shadow .2s,transform .15s,opacity .2s;
}
.ti::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:12px 0 0 12px;}
.ti.ph::before{background:var(--high);}
.ti.pm::before{background:var(--med);}
.ti.pl::before{background:var(--low);}
.ti.ph{border-color:rgba(255,107,107,.2);}
.ti.pm{border-color:rgba(251,191,36,.2);}
.ti.pl{border-color:rgba(52,211,153,.2);}
.ti:hover{box-shadow:var(--shh);transform:translateY(-1px);}
.ti.done{background:var(--done-bg);border-color:var(--border);opacity:.5;}
.ti.is-focus{border-color:rgba(124,106,247,.5);box-shadow:var(--glow);}
@keyframes sli{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.tmain{display:flex;align-items:center;gap:12px;padding:13px 13px 13px 17px;}

/* Checkbox */
.cbw{flex-shrink:0;width:22px;height:22px;position:relative;cursor:pointer;}
.cbw input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;z-index:2;}
.cbb{
  width:22px;height:22px;border:2px solid var(--border2);border-radius:6px;
  background:var(--bg2);display:flex;align-items:center;justify-content:center;
  pointer-events:none;transition:all .15s;
}
.cbw:hover .cbb{border-color:var(--low);}
.cbw input:checked~.cbb{
  background:var(--low);border-color:var(--low);
  box-shadow:0 0 8px rgba(52,211,153,.4);
  animation:check-pop .3s ease;
}
@keyframes check-pop{0%{transform:scale(1)}40%{transform:scale(1.25)}70%{transform:scale(.9)}100%{transform:scale(1)}}
.cbk{display:none;color:#fff;font-size:12px;font-weight:bold;}
.cbw input:checked~.cbb .cbk{display:block;}

.tbody{flex:1;min-width:0;}
.ttxt{font-size:13px;color:var(--ink);line-height:1.4;word-break:break-word;}
.done .ttxt{text-decoration:line-through;color:var(--ink-muted);}
.tmeta{display:flex;align-items:center;gap:5px;margin-top:5px;flex-wrap:wrap;}
.ttime{font-size:10px;color:var(--ink-muted);}
.tdur{font-size:9px;padding:2px 7px;border-radius:8px;background:var(--border2);color:var(--ink-soft);}
.pb{font-size:9px;font-weight:500;padding:2px 8px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px;}
.ph2{background:var(--high-bg);color:var(--high);}
.pm2{background:var(--med-bg);color:var(--med);}
.pl2{background:var(--low-bg);color:var(--low);}
.rbadge{font-size:9px;color:var(--ink-muted);}
.nbadge{font-size:9px;padding:2px 7px;border-radius:8px;background:var(--notif-bg);color:var(--notif);}
.sbadge{font-size:9px;padding:2px 7px;border-radius:8px;background:var(--low-bg);color:var(--low);}
.sbadge.p{background:var(--med-bg);color:var(--med);}
.task-streak{font-size:9px;padding:2px 7px;border-radius:8px;background:rgba(251,191,36,.15);color:var(--med);font-weight:500;}
.tag-row{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px;}
.tag{font-size:9px;padding:2px 8px;border-radius:10px;background:rgba(124,106,247,.15);color:var(--accent2);cursor:pointer;user-select:none;}
.tag:hover{background:rgba(124,106,247,.3);}

/* Action buttons */
.tacts{display:flex;align-items:center;gap:1px;flex-shrink:0;}
.tb{
  width:30px;height:30px;border:none;border-radius:7px;
  background:transparent;cursor:pointer;font-size:13px;
  display:flex;align-items:center;justify-content:center;
  color:var(--ink-muted);opacity:0;transition:all .15s;
}
.ti:hover .tb{opacity:.7;}
@media(hover:none){.ti .tb{opacity:.5;}}
.tb:hover{background:rgba(124,106,247,.15);color:var(--accent2);opacity:1;}
.tb.has,.tb.open{opacity:1!important;color:var(--med);}
.tb.pon{opacity:1!important;color:var(--high);}
.tb.foc{opacity:1!important;color:var(--accent2);}

/* Panels */
.panel{display:none;border-top:1px solid var(--border);background:var(--bg2);}
.panel.open{display:block;}
.sub-panel{padding:12px 16px 14px;}
.sub-panel-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.sub-panel-lbl{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-muted);}
.sub-panel-prog{font-size:10px;color:var(--ink-muted);}
.spw{height:3px;background:var(--border);border-radius:2px;margin-bottom:12px;overflow:hidden;}
.spf{height:100%;background:var(--low);border-radius:2px;}
.sub-item{background:var(--paper);border:1px solid var(--border);border-radius:8px;margin-bottom:6px;overflow:hidden;}
.sub-item.sdone{opacity:.5;}
.sub-item-row{display:flex;align-items:center;gap:10px;padding:9px 10px 9px 12px;cursor:pointer;}
.sub-item-row:hover{background:rgba(255,255,255,.03);}
.scbw{flex-shrink:0;width:18px;height:18px;position:relative;cursor:pointer;}
.scbw input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;z-index:2;}
.scbb{width:18px;height:18px;border:1.5px solid var(--border2);border-radius:5px;background:var(--bg2);display:flex;align-items:center;justify-content:center;pointer-events:none;transition:all .15s;}
.scbw:hover .scbb{border-color:var(--low);}
.scbw input:checked~.scbb{background:var(--low);border-color:var(--low);}
.scbk{display:none;color:#fff;font-size:10px;font-weight:bold;}
.scbw input:checked~.scbb .scbk{display:block;}
.sub-txt{flex:1;font-size:12px;font-weight:500;color:var(--ink);word-break:break-word;line-height:1.4;}
.sub-item.sdone .sub-txt{text-decoration:line-through;color:var(--ink-muted);}
.sub-badge{font-size:9px;padding:2px 6px;border-radius:8px;background:var(--low-bg);color:var(--low);white-space:nowrap;flex-shrink:0;}
.sub-badge.p{background:var(--med-bg);color:var(--med);}
.sub-chevron{font-size:13px;color:var(--ink-muted);flex-shrink:0;width:16px;text-align:center;transition:transform .2s;}
.sub-item.expanded .sub-chevron{transform:rotate(90deg);}
.sub-del-btn{width:22px;height:22px;border:none;background:transparent;color:var(--ink-muted);cursor:pointer;font-size:11px;border-radius:4px;opacity:0;display:flex;align-items:center;justify-content:center;}
.sub-item-row:hover .sub-del-btn{opacity:.6;}
.sub-del-btn:hover{opacity:1;background:rgba(255,107,107,.15);color:var(--high);}
.items-panel{display:none;border-top:1px solid var(--border);padding:8px 12px 10px 38px;background:var(--bg);}
.sub-item.expanded .items-panel{display:block;}
.item-row{display:flex;align-items:center;gap:8px;padding:5px 3px;border-radius:5px;}
.item-row:hover{background:rgba(255,255,255,.04);}
.icbw{flex-shrink:0;width:15px;height:15px;position:relative;cursor:pointer;}
.icbw input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;z-index:2;}
.icbb{width:15px;height:15px;border:1.5px solid var(--border2);border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;pointer-events:none;transition:all .15s;}
.icbw:hover .icbb{border-color:var(--low);}
.icbw input:checked~.icbb{background:var(--low);border-color:var(--low);}
.icbk{display:none;color:#fff;font-size:8px;font-weight:bold;}
.icbw input:checked~.icbb .icbk{display:block;}
.item-txt{flex:1;font-size:11px;color:var(--ink-soft);line-height:1.4;word-break:break-word;}
.item-row.idone .item-txt{text-decoration:line-through;color:var(--ink-muted);}
.item-del-btn{width:18px;height:18px;border:none;background:transparent;color:var(--ink-muted);cursor:pointer;font-size:10px;border-radius:3px;opacity:0;display:flex;align-items:center;justify-content:center;}
.item-row:hover .item-del-btn{opacity:.6;}
.item-del-btn:hover{opacity:1;color:var(--high);}
.sub-remind-wrap{display:none;border-top:1px dashed var(--border);padding:8px 12px 8px 38px;background:var(--bg);}
.sub-item.expanded .sub-remind-wrap{display:block;}
.sub-remind-row{display:flex;gap:6px;align-items:center;margin-bottom:6px;}
.sub-time-inp{padding:5px 8px;border:1px solid var(--border2);border-radius:6px;background:var(--bg2);font-family:'DM Mono',monospace;font-size:11px;color:var(--ink);outline:none;width:112px;}
.sub-time-inp:focus{border-color:var(--low);}
.sub-nm-sel{flex:1;padding:5px 8px;border:1px solid var(--border2);border-radius:6px;background:var(--bg2);font-family:'DM Mono',monospace;font-size:11px;color:var(--ink);outline:none;cursor:pointer;}
.sub-days-row{display:flex;gap:4px;flex-wrap:wrap;align-items:center;}
.sdp{width:28px;height:28px;border:1px solid var(--border2);border-radius:50%;background:var(--bg);font-family:'DM Mono',monospace;font-size:10px;color:var(--ink-soft);cursor:pointer;display:flex;align-items:center;justify-content:center;user-select:none;transition:all .15s;}
.sdp:hover{border-color:var(--low);}
.sdp.on{background:var(--low);color:#fff;border-color:var(--low);}
.sub-remind-hint{font-size:9px;color:var(--ink-muted);}
.item-add-row{display:flex;gap:6px;margin-top:8px;}
.item-add-inp{flex:1;padding:6px 9px;border:1px solid var(--border2);border-radius:6px;background:var(--bg);font-family:'DM Mono',monospace;font-size:11px;color:var(--ink);outline:none;}
.item-add-inp:focus{border-color:var(--low);}
.item-add-inp::placeholder{color:var(--ink-muted);}
.item-add-btn{padding:6px 10px;background:transparent;border:1px solid var(--border2);border-radius:6px;font-family:'DM Mono',monospace;font-size:10px;color:var(--ink-soft);cursor:pointer;white-space:nowrap;}
.item-add-btn:hover{border-color:var(--low);color:var(--low);}
.sub-add-row{display:flex;gap:7px;margin-top:8px;}
.sub-add-inp{flex:1;padding:8px 11px;border:1px solid var(--border2);border-radius:7px;background:var(--bg);font-family:'DM Mono',monospace;font-size:12px;color:var(--ink);outline:none;}
.sub-add-inp:focus{border-color:var(--accent);}
.sub-add-inp::placeholder{color:var(--ink-muted);}
.sub-add-btn{padding:8px 12px;background:transparent;border:1px solid var(--border2);border-radius:7px;font-family:'DM Mono',monospace;font-size:11px;color:var(--ink-soft);cursor:pointer;}
.sub-add-btn:hover{border-color:var(--accent);color:var(--accent);}
.notes-panel{padding:12px 16px 14px;border-top:1px solid var(--border);}
.notes-lbl{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-muted);margin-bottom:8px;}
.nta{width:100%;min-height:64px;padding:9px 11px;border:1px solid var(--border2);border-radius:7px;background:var(--bg2);font-family:'DM Mono',monospace;font-size:12px;color:var(--ink);resize:vertical;outline:none;line-height:1.6;}
.nta:focus{border-color:var(--accent);}
.nta::placeholder{color:var(--ink-muted);}

/* ── BOTTOM BAR ─────────────────────────────────────────── */
.bbar{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:16px;border-top:1px solid var(--border);flex-wrap:wrap;gap:10px;}
.prog-lbl{font-size:11px;color:var(--ink-muted);}
.bbar-btns{display:flex;gap:8px;flex-wrap:wrap;}
.clr-btn{padding:7px 14px;border:1px solid var(--border2);border-radius:8px;background:transparent;font-family:'DM Mono',monospace;font-size:11px;color:var(--ink-soft);cursor:pointer;transition:all .15s;}
.clr-btn:hover{border-color:var(--accent);color:var(--accent);}

/* ── EMPTY ──────────────────────────────────────────────── */
.empty{text-align:center;padding:48px 20px;}
.ei{font-size:40px;margin-bottom:12px;opacity:.2;}
.et{font-family:'Instrument Serif',serif;font-style:italic;font-size:20px;color:var(--ink-soft);}
.es{font-size:11px;margin-top:6px;color:var(--ink-muted);}

/* ── POMODORO ───────────────────────────────────────────── */
.pw{position:fixed;bottom:24px;right:24px;z-index:100;display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
.ppanel{
  display:none;background:var(--paper);border:1px solid var(--border2);
  border-radius:18px;padding:18px 20px;box-shadow:var(--shh);width:240px;
  animation:fup .2s ease;
}
.ppanel.open{display:block;}
@keyframes fup{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.phdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.pttl{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-muted);}
.psess{font-size:11px;color:var(--ink-muted);}
.pmodes{display:flex;gap:4px;background:var(--bg2);border-radius:8px;padding:3px;margin-bottom:14px;}
.pmode{flex:1;padding:5px 6px;border:none;background:transparent;font-family:'DM Mono',monospace;font-size:10px;color:var(--ink-muted);cursor:pointer;border-radius:5px;transition:all .15s;}
.pmode.on{background:var(--paper2);color:var(--ink);box-shadow:0 1px 6px rgba(0,0,0,.3);}
.pclock{font-family:'Instrument Serif',serif;font-size:48px;text-align:center;line-height:1;color:var(--ink);margin-bottom:4px;letter-spacing:-1px;}
.pclock.wk{color:var(--high);}
.pclock.bk{color:var(--low);}
.ptask{font-size:10px;color:var(--ink-muted);text-align:center;margin-bottom:14px;min-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pbtns{display:flex;gap:6px;justify-content:center;align-items:center;}
.pc{width:38px;height:38px;border:1px solid var(--border2);border-radius:50%;background:var(--bg2);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);transition:all .15s;}
.pc:hover{border-color:var(--ink-soft);color:var(--ink);}
.pc.main{width:48px;height:48px;font-size:16px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;box-shadow:0 4px 15px rgba(124,106,247,.4);}
.pc.main:hover{transform:scale(1.05);box-shadow:0 6px 20px rgba(124,106,247,.5);}
.ppill{
  display:flex;align-items:center;gap:8px;
  background:var(--paper);border:1px solid var(--border2);
  border-radius:28px;padding:9px 18px;cursor:pointer;
  box-shadow:var(--sh);user-select:none;transition:all .2s;
}
.ppill:hover{box-shadow:var(--shh);}
.ppill.run{border-color:rgba(255,107,107,.5);background:rgba(255,107,107,.08);box-shadow:0 0 20px rgba(255,107,107,.2);}
.ppill.brk{border-color:rgba(52,211,153,.5);background:rgba(52,211,153,.08);}
.pico{font-size:15px;}
.ptime{font-family:'DM Mono',monospace;font-size:13px;font-weight:500;color:var(--ink);min-width:40px;}
.ppill.run .ptime{color:var(--high);}
.ppill.brk .ptime{color:var(--low);}
.pdot{width:6px;height:6px;border-radius:50%;background:var(--border);}
.ppill.run .pdot{background:var(--high);animation:blnk 1.2s infinite;}
.ppill.brk .pdot{background:var(--low);animation:blnk 1.2s infinite;}
@keyframes blnk{0%,100%{opacity:1}50%{opacity:.2}}

/* ── TOAST ──────────────────────────────────────────────── */
.toast{
  position:fixed;top:24px;left:50%;
  transform:translateX(-50%) translateY(-90px);
  background:var(--paper2);color:var(--ink);
  padding:12px 20px;border-radius:14px;font-size:13px;
  box-shadow:var(--shh);z-index:998;
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  max-width:340px;text-align:center;pointer-events:none;line-height:1.5;
  border:1px solid var(--border2);
}
.toast.show{transform:translateX(-50%) translateY(0);}
.tttl{font-weight:500;}
.tsub{font-size:11px;color:var(--ink-muted);margin-top:2px;}

/* ── MODAL ──────────────────────────────────────────────── */
.mo{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s;}
.mo.open{opacity:1;pointer-events:all;}
.modal{
  background:var(--paper);border:1px solid var(--border2);border-radius:18px;
  width:100%;max-width:480px;max-height:90vh;overflow-y:auto;
  box-shadow:var(--shh);transform:translateY(12px);
  transition:transform .25s cubic-bezier(.4,0,.2,1);padding:24px;
}
.mo.open .modal{transform:translateY(0);}
.modal-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.modal-ttl{font-family:'Instrument Serif',serif;font-size:22px;font-style:italic;color:var(--ink);}
.modal-x{width:30px;height:30px;border:1px solid var(--border2);border-radius:8px;background:transparent;cursor:pointer;font-size:14px;color:var(--ink-muted);display:flex;align-items:center;justify-content:center;transition:all .15s;}
.modal-x:hover{background:rgba(255,107,107,.15);color:var(--high);}
.mf{margin-bottom:14px;}
.ml{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-muted);margin-bottom:6px;}
.mi{width:100%;padding:10px 14px;border:1px solid var(--border2);border-radius:8px;background:var(--bg2);font-family:'DM Mono',monospace;font-size:13px;color:var(--ink);outline:none;transition:all .15s;}
.mi:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(124,106,247,.15);}
.mrow{display:flex;gap:10px;margin-bottom:14px;}
.mrow .mf{flex:1;margin-bottom:0;}
.save-btn{
  width:100%;padding:12px;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:#fff;border:none;border-radius:10px;
  font-family:'DM Mono',monospace;font-size:13px;font-weight:500;
  cursor:pointer;margin-top:4px;
  box-shadow:0 4px 15px rgba(124,106,247,.3);
  transition:all .2s;
}
.save-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(124,106,247,.4);}

/* ── WEEK ───────────────────────────────────────────────── */
.week-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px;}
.week-nav{display:flex;align-items:center;gap:10px;}
.week-ttl{font-family:'Instrument Serif',serif;font-size:18px;font-style:italic;color:var(--ink);}
.wnav-btn{width:32px;height:32px;border:1px solid var(--border2);border-radius:8px;background:transparent;cursor:pointer;font-size:14px;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;transition:all .15s;}
.wnav-btn:hover{border-color:var(--accent);color:var(--accent);}
.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:16px;}
@media(max-width:600px){.week-grid{grid-template-columns:1fr;}}
.wday{background:var(--paper);border:1px solid var(--border);border-radius:12px;padding:12px 10px;min-height:100px;}
.wday.today{border-color:rgba(124,106,247,.5);background:rgba(124,106,247,.05);box-shadow:var(--glow);}
.wday.past{opacity:.7;}
.wday-name{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-muted);margin-bottom:2px;}
.wday.today .wday-name{color:var(--accent2);}
.wday-date{font-size:10px;color:var(--ink-muted);margin-bottom:8px;}
.wday-tasks{display:flex;flex-direction:column;gap:3px;}
.wtask{font-size:11px;padding:4px 7px;border-radius:5px;line-height:1.3;border-left:2px solid transparent;display:flex;align-items:center;justify-content:space-between;gap:4px;}
.wtask.ph{background:var(--high-bg);border-left-color:var(--high);}
.wtask.pm{background:var(--med-bg);border-left-color:var(--med);}
.wtask.pl{background:var(--low-bg);border-left-color:var(--low);}
.wtask.done{opacity:.4;text-decoration:line-through;}
.wtask-body{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);}
.wtask-time{font-size:9px;color:var(--ink-muted);}
.wtask-acts{display:flex;gap:2px;flex-shrink:0;opacity:0;transition:opacity .15s;}
.wtask:hover .wtask-acts{opacity:1;}
@media(hover:none){.wtask-acts{opacity:.6;}}
.wtask-acts button{width:18px;height:18px;border:none;background:transparent;cursor:pointer;font-size:10px;color:var(--ink-muted);border-radius:3px;}
.wtask-acts button:hover{color:var(--high);}
.wtask-rec{font-size:9px;color:var(--ink-muted);opacity:.5;}
.wday-empty{font-size:10px;color:var(--ink-muted);font-style:italic;padding:4px 0;}
.wday-add{width:100%;margin-top:8px;padding:5px;border:1px dashed var(--border2);border-radius:6px;background:transparent;font-family:'DM Mono',monospace;font-size:10px;color:var(--ink-muted);cursor:pointer;text-align:center;transition:all .15s;}
.wday-add:hover{border-color:var(--accent);color:var(--accent);}

/* ── TIMELINE ───────────────────────────────────────────── */
.timeline-wrap{position:relative;padding-left:52px;padding-bottom:40px;}
.tl-hour{position:relative;height:60px;border-top:1px solid rgba(255,255,255,.05);}
.tl-hour-lbl{position:absolute;left:-48px;top:-10px;font-size:10px;color:var(--ink-muted);width:42px;text-align:right;}
.tl-now{position:absolute;left:-8px;right:0;height:2px;background:var(--accent);z-index:5;box-shadow:0 0 10px rgba(124,106,247,.6);}
.tl-now::before{content:'';position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--accent);}
.tl-task{position:absolute;left:8px;right:4px;border-radius:8px;padding:3px 8px;font-size:11px;overflow:hidden;cursor:pointer;border-left:2px solid transparent;z-index:2;transition:box-shadow .15s;}
.tl-task:hover{box-shadow:var(--shh);}
.tl-task.ph{background:var(--high-bg);border-left-color:var(--high);}
.tl-task.pm{background:var(--med-bg);border-left-color:var(--med);}
.tl-task.pl{background:var(--low-bg);border-left-color:var(--low);}
.tl-task.done{opacity:.35;text-decoration:line-through;}
.tl-task-time{font-size:9px;color:var(--ink-muted);}
.tl-task-txt{font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);}
.tl-no-time{background:var(--paper);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-bottom:12px;}
.tl-no-time-lbl{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-muted);margin-bottom:8px;}
.tl-notimed{display:flex;flex-wrap:wrap;gap:6px;}
.tl-chip{font-size:11px;padding:4px 10px;border-radius:16px;cursor:pointer;}
.tl-chip.ph{background:var(--high-bg);color:var(--high);}
.tl-chip.pm{background:var(--med-bg);color:var(--med);}
.tl-chip.pl{background:var(--low-bg);color:var(--low);}
.tl-chip.done{opacity:.35;text-decoration:line-through;}

/* ── HABITS ─────────────────────────────────────────────── */
.habit-add-form{background:var(--paper);border:1px solid var(--border2);border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:var(--sh);}
.habit-card{background:var(--paper);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:10px;transition:all .2s;}
.habit-card:hover{box-shadow:var(--shh);transform:translateY(-1px);}
.habit-card.done-today{border-color:rgba(52,211,153,.4);box-shadow:0 0 15px rgba(52,211,153,.1);}
.habit-main{display:flex;align-items:center;gap:12px;padding:14px 16px;}
.habit-icon{font-size:28px;flex-shrink:0;}
.habit-info{flex:1;min-width:0;}
.habit-name{font-size:14px;font-weight:500;color:var(--ink);}
.habit-meta{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap;}
.habit-freq-lbl{font-size:10px;color:var(--ink-muted);}
.habit-streak{font-size:11px;padding:2px 8px;border-radius:10px;background:rgba(251,191,36,.15);color:var(--med);}
.habit-streak.fire{background:rgba(255,107,107,.15);color:var(--high);}
.habit-check-btn{width:44px;height:44px;border:1px solid var(--border2);border-radius:50%;background:var(--bg2);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.habit-check-btn:hover{border-color:var(--low);box-shadow:0 0 10px rgba(52,211,153,.3);}
.habit-card.done-today .habit-check-btn{background:var(--low);border-color:var(--low);color:#fff;box-shadow:0 0 15px rgba(52,211,153,.4);}
.habit-del-btn{width:28px;height:28px;border:none;background:transparent;cursor:pointer;color:var(--ink-muted);font-size:11px;border-radius:4px;transition:all .15s;}
@media(hover:none){.habit-del-btn{opacity:.5;}}
.habit-del-btn:hover{background:rgba(255,107,107,.15);color:var(--high);}
.habit-grid{display:grid;grid-template-columns:repeat(30,1fr);gap:2px;padding:0 16px 14px;}
.hc{width:100%;aspect-ratio:1;border-radius:2px;background:var(--border2);}
.hc.done{background:var(--low);}
.hc.today{outline:2px solid var(--accent);outline-offset:1px;}
.hc.editable{cursor:pointer;transition:transform .1s;}
.hc.editable:hover{transform:scale(1.2);}
.habit-grid-lbl{font-size:9px;color:var(--ink-muted);padding:0 16px 4px;text-transform:uppercase;letter-spacing:1px;}
.hfq{padding:6px 14px;border:1px solid var(--border2);border-radius:20px;background:transparent;font-family:'DM Mono',monospace;font-size:11px;color:var(--ink-soft);cursor:pointer;transition:all .15s;}
.hfq:hover{border-color:var(--accent);}
.hfq.on{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 10px rgba(124,106,247,.3);}

/* ── IMPULSE ─────────────────────────────────────────────── */
.impulse-wrap{max-width:520px;margin:0 auto;padding:10px 0;}
.impulse-ctx{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
.ctx-pill{font-size:11px;padding:5px 12px;border-radius:16px;background:var(--paper2);border:1px solid var(--border2);color:var(--ink-soft);}
.impulse-card{
  background:linear-gradient(135deg,var(--paper),var(--paper2));
  border:1px solid var(--border2);border-radius:24px;
  padding:40px 32px;text-align:center;
  box-shadow:var(--shh);margin-bottom:20px;
  animation:sli .3s ease;
  position:relative;overflow:hidden;
}
.impulse-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent2),var(--low));}
.impulse-emoji{font-size:64px;margin-bottom:16px;line-height:1;}
.impulse-title{font-family:'Instrument Serif',serif;font-size:26px;font-style:italic;color:var(--ink);margin-bottom:6px;line-height:1.3;}
.impulse-cat{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-muted);margin-bottom:24px;}
.impulse-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.imp-btn{padding:11px 22px;border-radius:12px;border:1px solid var(--border2);background:transparent;font-family:'DM Mono',monospace;font-size:12px;cursor:pointer;color:var(--ink-soft);transition:all .15s;}
.imp-btn:hover{border-color:var(--accent);color:var(--accent);}
.imp-btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;box-shadow:0 4px 15px rgba(124,106,247,.4);}
.imp-btn.primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(124,106,247,.5);}
.impulse-bank{margin-top:24px;}
.bank-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.bank-ttl{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-muted);}
.bank-add-row{display:flex;gap:8px;margin-bottom:10px;}
.bank-inp{flex:1;padding:8px 12px;border:1px solid var(--border2);border-radius:8px;background:var(--bg2);font-family:'DM Mono',monospace;font-size:12px;color:var(--ink);outline:none;}
.bank-inp:focus{border-color:var(--accent);}
.bank-inp::placeholder{color:var(--ink-muted);}
.bank-sel{padding:8px 10px;border:1px solid var(--border2);border-radius:8px;background:var(--bg2);font-family:'DM Mono',monospace;font-size:11px;color:var(--ink);outline:none;cursor:pointer;width:110px;}
.bank-btn{padding:8px 14px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-family:'DM Mono',monospace;font-size:11px;cursor:pointer;transition:all .15s;}
.bank-btn:hover{background:var(--accent2);}
.bank-list{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto;}
.bank-item{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--paper);border:1px solid var(--border);border-radius:8px;}
.bank-item-emoji{font-size:16px;flex-shrink:0;}
.bank-item-txt{flex:1;font-size:12px;color:var(--ink);}
.bank-item-cat{font-size:9px;color:var(--ink-muted);padding:2px 6px;border-radius:8px;background:var(--border2);}
.bank-item-del{width:20px;height:20px;border:none;background:transparent;cursor:pointer;color:var(--ink-muted);font-size:10px;border-radius:3px;opacity:0;}
.bank-item:hover .bank-item-del{opacity:.6;}
.bank-item-del:hover{opacity:1;color:var(--high);}

/* ── STATS ───────────────────────────────────────────────── */
.mood-row{display:flex;gap:8px;align-items:center;margin-bottom:24px;flex-wrap:wrap;}
.mood-lbl{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-muted);margin-right:4px;}
.mood-btn{width:38px;height:38px;border:1px solid var(--border2);border-radius:50%;background:var(--bg2);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.mood-btn:hover{transform:scale(1.1);}
.mood-btn.on{border-color:var(--accent);background:rgba(124,106,247,.15);transform:scale(1.15);box-shadow:var(--glow);}
.st-cards{display:flex;gap:12px;margin-bottom:28px;flex-wrap:wrap;}
.stc{background:var(--paper);border:1px solid var(--border);border-radius:14px;padding:16px 20px;flex:1;min-width:100px;box-shadow:var(--sh);}
.stn{font-family:'Instrument Serif',serif;font-size:34px;line-height:1;}
.stn.cg{color:var(--low);}
.stn.cr{color:var(--high);}
.stl{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-muted);margin-top:4px;}
.csec{margin-bottom:28px;}
.cttl{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-muted);margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.cttl::after{content:'';flex:1;height:1px;background:var(--border);}
.wchart{display:flex;gap:8px;align-items:flex-end;}
.dcol{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;}
.bo{width:100%;background:var(--border2);border-radius:4px 4px 0 0;height:90px;display:flex;align-items:flex-end;overflow:hidden;}
.bf{width:100%;border-radius:4px 4px 0 0;background:linear-gradient(180deg,var(--accent),rgba(124,106,247,.4));transition:height .6s cubic-bezier(.4,0,.2,1);}
.bf.full{background:linear-gradient(180deg,var(--low),rgba(52,211,153,.4));}
.bf.today{background:linear-gradient(180deg,var(--med),rgba(251,191,36,.4));}
.dname{font-size:10px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.5px;}
.dcnt{font-size:9px;color:var(--ink-muted);}
.dcol.td .dname{color:var(--ink);font-weight:500;}
.arow{background:var(--paper);border:1px solid var(--border);border-radius:10px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.adate{font-size:12px;color:var(--ink);flex:1;}
.afrac{font-family:'Instrument Serif',serif;font-size:18px;color:var(--ink-muted);}
.afrac b{color:var(--low);}
.apct{font-size:10px;padding:3px 10px;border-radius:10px;background:var(--low-bg);color:var(--low);white-space:nowrap;}
.apct.lo{background:var(--border2);color:var(--ink-muted);}
.alist{display:flex;flex-direction:column;}

/* ── PLUGIN SYSTEM ──────────────────────────────────────── */
.plugin-launcher{position:fixed;top:76px;right:16px;background:var(--paper);border:1px solid var(--border2);border-radius:14px;padding:8px;box-shadow:var(--shh);z-index:800;min-width:200px;display:none;}
.plugin-launcher.open{display:block;}
.pl-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;cursor:pointer;transition:background .12s;}
.pl-item:hover{background:var(--bg2);}
.pl-item-icon{font-size:20px;line-height:1;flex-shrink:0;}
.pl-item-name{font-size:12px;font-weight:500;color:var(--ink);}
.pl-sep{height:1px;background:var(--border);margin:4px 0;}
.pl-manage{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:11px;color:var(--ink-muted);cursor:pointer;border-radius:8px;transition:all .12s;}
.pl-manage:hover{background:var(--bg2);color:var(--ink);}
.plugin-store-mo{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:600;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s;}
.plugin-store-mo.open{opacity:1;pointer-events:all;}
.plugin-store{background:var(--paper);border:1px solid var(--border2);border-radius:20px;width:100%;max-width:560px;max-height:85vh;overflow-y:auto;box-shadow:var(--shh);transform:translateY(14px);transition:transform .25s cubic-bezier(.4,0,.2,1);padding:28px;}
.plugin-store-mo.open .plugin-store{transform:translateY(0);}
.plugin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:440px){.plugin-grid{grid-template-columns:1fr;}}
.plugin-card{border:1px solid var(--border);border-radius:14px;padding:16px;transition:all .2s;background:var(--paper2);}
.plugin-card:hover{box-shadow:var(--shh);transform:translateY(-2px);border-color:var(--border2);}
.plugin-card.installed{border-color:rgba(52,211,153,.3);background:rgba(52,211,153,.04);}
.plugin-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px;}
.plugin-card-icon{font-size:32px;line-height:1;}
.plugin-card-badge{font-size:9px;padding:3px 8px;border-radius:10px;background:var(--low-bg);color:var(--low);font-weight:500;}
.plugin-card-badge.new{background:var(--med-bg);color:var(--med);}
.plugin-card-name{font-size:14px;font-weight:500;color:var(--ink);margin-bottom:4px;}
.plugin-card-desc{font-size:11px;color:var(--ink-muted);line-height:1.5;}
.plugin-card-actions{display:flex;gap:8px;margin-top:12px;}
.plugin-install-btn{flex:1;padding:7px;border:1px solid var(--border2);border-radius:8px;background:transparent;font-family:'DM Mono',monospace;font-size:11px;color:var(--ink-soft);cursor:pointer;transition:all .15s;}
.plugin-install-btn:hover{border-color:var(--accent);color:var(--accent);}
.plugin-open-btn{padding:7px 14px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-family:'DM Mono',monospace;font-size:11px;cursor:pointer;transition:all .15s;}
.plugin-open-btn:hover{background:var(--accent2);}
.plugin-mo{position:fixed;inset:0;background:var(--bg);z-index:700;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .2s;}
.plugin-mo.open{opacity:1;pointer-events:all;}
.plugin-mo-hdr{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--paper);flex-shrink:0;}
.plugin-mo-icon{font-size:24px;line-height:1;}
.plugin-mo-ttl{font-family:'Instrument Serif',serif;font-size:20px;font-style:italic;flex:1;}
.plugin-mo-close{width:34px;height:34px;border:1px solid var(--border2);border-radius:8px;background:transparent;cursor:pointer;font-size:16px;color:var(--ink-muted);display:flex;align-items:center;justify-content:center;transition:all .15s;}
.plugin-mo-close:hover{background:rgba(255,107,107,.15);color:var(--high);}
.plugin-mo-body{flex:1;overflow-y:auto;padding:20px;max-width:640px;width:100%;margin:0 auto;}

/* ── MISC ────────────────────────────────────────────────── */
.genre-pill{font-size:10px;padding:3px 10px;border-radius:16px;border:1px solid var(--border2);color:var(--ink-soft);cursor:pointer;user-select:none;transition:all .12s;display:inline-block;}
.genre-pill:hover{border-color:var(--accent);color:var(--accent);}
.genre-pill.on{background:rgba(124,106,247,.15);border-color:var(--accent);color:var(--accent2);}
.finance-summary{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;}
.fin-card{flex:1;min-width:90px;background:var(--paper);border:1px solid var(--border);border-radius:12px;padding:14px;text-align:center;}
.fin-num{font-family:'Instrument Serif',serif;font-size:28px;line-height:1;}
.fin-num.green{color:var(--low);}
.fin-num.red{color:var(--high);}
.fin-lbl{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-muted);margin-top:4px;}
.expense-list{display:flex;flex-direction:column;gap:6px;}
.expense-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--paper);border:1px solid var(--border);border-radius:10px;}
.expense-cat-icon{font-size:20px;flex-shrink:0;}
.expense-info{flex:1;}
.expense-name{font-size:12px;color:var(--ink);}
.expense-date{font-size:10px;color:var(--ink-muted);}
.expense-amount{font-size:13px;font-weight:500;}
.expense-amount.income{color:var(--low);}
.expense-amount.expense{color:var(--high);}
.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px;}
.book-card{background:var(--paper);border:1px solid var(--border);border-radius:12px;padding:14px;cursor:pointer;transition:all .15s;}
.book-card:hover{box-shadow:var(--shh);transform:translateY(-1px);}
.book-cover{width:100%;height:80px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:10px;}
.book-title{font-size:13px;font-weight:500;color:var(--ink);margin-bottom:4px;line-height:1.3;}
.book-author{font-size:11px;color:var(--ink-muted);margin-bottom:6px;}
.book-progress{height:3px;background:var(--border2);border-radius:2px;overflow:hidden;margin-bottom:6px;}
.book-prog-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:2px;transition:width .4s;}
.book-meta{font-size:10px;color:var(--ink-muted);display:flex;justify-content:space-between;}
.book-status{font-size:9px;padding:2px 8px;border-radius:10px;}
.book-status.reading{background:var(--med-bg);color:var(--med);}
.book-status.done{background:var(--low-bg);color:var(--low);}
.book-status.planned{background:var(--notif-bg);color:var(--notif);}
.movie-tab{padding:6px 16px;border:1px solid var(--border2);border-radius:20px;background:transparent;font-family:'DM Mono',monospace;font-size:11px;color:var(--ink-soft);cursor:pointer;transition:all .15s;}
.movie-tab.on{background:var(--accent);color:#fff;border-color:var(--accent);}
.movie-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;}
.movie-card{background:var(--paper);border:1px solid var(--border);border-radius:10px;padding:12px;cursor:pointer;transition:all .15s;}
.movie-card:hover{box-shadow:var(--shh);}
.movie-emoji{font-size:28px;margin-bottom:8px;text-align:center;height:70px;border-radius:8px;display:flex;align-items:center;justify-content:center;}
.movie-title{font-size:12px;font-weight:500;color:var(--ink);margin-bottom:4px;line-height:1.3;}
.movie-year{font-size:10px;color:var(--ink-muted);margin-bottom:6px;}
.movie-rating{display:flex;gap:1px;font-size:14px;}
.star-filled{color:var(--med);}
.star-empty{color:var(--border2);}

/* ── ANIMATIONS ─────────────────────────────────────────── */
@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0deg);opacity:1}100%{transform:translateY(100vh) rotate(720deg);opacity:0}}
.confetti-piece{position:fixed;width:8px;height:8px;border-radius:2px;pointer-events:none;z-index:9999;animation:confetti-fall 1.2s ease-in forwards;}
@keyframes slide-in-right{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@keyframes slide-in-left{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}
.view-slide-right{animation:slide-in-right .22s ease;}
.view-slide-left{animation:slide-in-left .22s ease;}

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media(max-width:520px){
  header{flex-direction:column;align-items:flex-start;gap:12px;}
  .h1{font-size:36px;}
  .ftxt,.ftime,.fdur{width:100%;}
  .pw{bottom:14px;right:14px;}
  .mrow{flex-direction:column;}
}

/* THEME PICKER */
.theme-mo{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:800;display:flex;align-items:flex-end;justify-content:center;padding:0 16px;opacity:0;pointer-events:none;transition:opacity .2s;}
.theme-mo.open{opacity:1;pointer-events:all;}
.theme-panel{background:var(--paper);border:1px solid var(--border2);border-radius:20px 20px 0 0;width:100%;max-width:520px;padding:24px 24px 36px;box-shadow:var(--shh);transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);max-height:80vh;overflow-y:auto;}
.theme-mo.open .theme-panel{transform:translateY(0);}
.theme-panel-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.theme-panel-ttl{font-family:'Instrument Serif',serif;font-size:20px;font-style:italic;}
.theme-section{margin-bottom:20px;}
.theme-section-lbl{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-muted);margin-bottom:10px;}
.theme-presets{display:flex;gap:10px;flex-wrap:wrap;}
.theme-preset{width:38px;height:38px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:all .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.theme-preset:hover{transform:scale(1.1);}
.theme-preset.active{border-color:var(--ink);box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--ink);}
.theme-custom-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.theme-color-item{display:flex;flex-direction:column;align-items:center;gap:6px;}
.theme-color-lbl{font-size:9px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:1px;text-align:center;}
.theme-color-inp{width:44px;height:44px;border-radius:50%;border:2px solid var(--border2);cursor:pointer;padding:2px;background:transparent;}
.theme-color-inp::-webkit-color-swatch-wrapper{padding:0;border-radius:50%;}
.theme-color-inp::-webkit-color-swatch{border:none;border-radius:50%;}
.theme-reset-btn{padding:9px 18px;border:1px solid var(--border2);border-radius:10px;background:transparent;font-family:'DM Mono',monospace;font-size:11px;color:var(--ink-soft);cursor:pointer;transition:all .15s;}
.theme-reset-btn:hover{border-color:var(--high);color:var(--high);}


.task-photo-wrap{position:relative;margin-bottom:8px;border-radius:8px;overflow:hidden;max-height:160px;}
.task-photo{width:100%;max-height:160px;object-fit:cover;border-radius:8px;display:block;cursor:pointer;}
.task-photo-rm{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.6);border:none;color:#fff;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;}
.task-photo-wrap:hover .task-photo-rm{opacity:1;}
@media(hover:none){.task-photo-rm{opacity:.7;}}

/* ── GOALS ───────────────────────────────────────────────── */
.goal-card{background:var(--paper);border:1px solid var(--border);border-radius:14px;padding:16px 20px;margin-bottom:10px;position:relative;overflow:hidden;transition:all .2s;}
.goal-card:hover{box-shadow:var(--shh);transform:translateY(-1px);}
.goal-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:14px 0 0 14px;}
.goal-card.ph::before{background:var(--high);}
.goal-card.pm::before{background:var(--med);}
.goal-card.pl::before{background:var(--low);}
.goal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px;}
.goal-title{font-family:'Instrument Serif',serif;font-size:18px;font-style:italic;color:var(--ink);flex:1;word-break:break-word;}
.goal-deadline{font-size:10px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:1px;white-space:nowrap;}
.goal-deadline.overdue{color:var(--high);}
.goal-prog-wrap{height:5px;background:var(--border);border-radius:3px;margin-bottom:8px;overflow:hidden;}
.goal-prog-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .6s cubic-bezier(.4,0,.2,1);}
.goal-prog-fill.gdone{background:linear-gradient(90deg,var(--low),#6dbf7e);}
.goal-meta{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--ink-muted);flex-wrap:wrap;}
.goal-pct{font-family:'Instrument Serif',serif;font-size:22px;line-height:1;color:var(--accent2);}
.goal-btn{width:28px;height:28px;border:none;background:transparent;cursor:pointer;font-size:12px;border-radius:6px;color:var(--ink-muted);display:flex;align-items:center;justify-content:center;transition:all .15s;}
.goal-btn:hover{background:rgba(124,106,247,.15);color:var(--accent2);}
.goal-del:hover{background:rgba(255,107,107,.15)!important;color:var(--high)!important;}
.goal-add-form{background:var(--paper);border:1px solid var(--border2);border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:var(--sh);}
.goal-tasks{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;}
.goal-task-chip{font-size:10px;padding:2px 8px;border-radius:10px;background:rgba(124,106,247,.12);color:var(--accent2);}
.goal-pct-row{display:flex;gap:4px;flex-wrap:wrap;}
/* ── WATER WIDGET ────────────────────────────────────────── */
.water-widget{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--paper);border:1px solid var(--border);border-radius:12px;margin-bottom:14px;flex-wrap:wrap;}
/* ── WORKOUT PLUGIN ── */
.wk-card{background:var(--paper);border:1.5px solid var(--border);border-radius:16px;padding:18px 20px;margin-bottom:10px;cursor:pointer;transition:all .18s;position:relative;overflow:hidden;}
.wk-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--wk-color,var(--accent));border-radius:3px 3px 0 0;}
.wk-card:hover{border-color:var(--wk-color,var(--accent));transform:translateY(-1px);}
.wk-card-name{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:3px;}
.wk-card-sub{font-size:12px;color:var(--ink-muted);}
.wk-card-pills{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap;}
.wk-pill{font-size:10px;padding:3px 10px;border-radius:20px;border:1px solid var(--border);color:var(--ink-muted);}
.wk-pill.act{background:color-mix(in srgb,var(--wk-color,var(--accent)) 12%,transparent);border-color:color-mix(in srgb,var(--wk-color,var(--accent)) 40%,transparent);color:var(--accent);}
/* execution layout */
.wk-exec{display:flex;flex-direction:column;height:100%;}
.wk-prog{height:3px;background:var(--border);border-radius:2px;margin-bottom:0;flex-shrink:0;}
.wk-prog-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .4s;}
.wk-exlist{flex:1;overflow-y:auto;padding:12px 0;}
.wk-ex-item{display:flex;align-items:flex-start;gap:14px;padding:13px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:opacity .2s;}
.wk-ex-item.wk-done{opacity:.3;pointer-events:none;}
.wk-ex-item.wk-active .wk-ex-num{color:var(--accent);}
.wk-ex-num{font-size:20px;font-weight:700;color:var(--ink-muted);min-width:28px;line-height:1;margin-top:2px;font-variant-numeric:tabular-nums;}
.wk-ex-info{flex:1;}
.wk-ex-name{font-size:14px;font-weight:500;color:var(--ink);line-height:1.3;}
.wk-ex-detail{font-size:11px;color:var(--ink-muted);margin-top:2px;}
.wk-ex-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;transition:all .2s;font-size:11px;color:transparent;}
.wk-done .wk-ex-check{background:var(--low);border-color:var(--low);color:#fff;}
.wk-active .wk-ex-check{border-color:var(--accent);}
/* active panel */
.wk-panel{flex-shrink:0;border-top:1px solid var(--border);padding:14px 0 4px;background:var(--bg);}
.wk-panel-name{font-family:'Instrument Serif',serif;font-size:22px;font-style:italic;color:var(--ink);line-height:1.1;margin-bottom:4px;}
.wk-panel-detail{font-size:12px;color:var(--ink-muted);margin-bottom:12px;}
.wk-sets-row{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.wk-set-dot{width:34px;height:34px;border-radius:8px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--ink-muted);cursor:pointer;transition:all .15s;}
.wk-set-dot.wk-set-done{background:var(--accent);border-color:var(--accent);color:var(--bg);}
.wk-set-dot.wk-set-cur{border-color:var(--accent);color:var(--accent);}
.wk-timer{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.wk-timer-val{font-family:'Instrument Serif',serif;font-size:44px;color:var(--accent);line-height:1;min-width:90px;}
.wk-timer-bar-wrap{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden;}
.wk-timer-bar{height:100%;border-radius:2px;background:var(--accent);transition:width .1s linear;}
.wk-action-row{display:flex;gap:10px;}
.wk-btn-p{flex:1;background:var(--accent);color:var(--bg);border:none;border-radius:12px;padding:13px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit;}
.wk-btn-p:hover{filter:brightness(1.08);}
.wk-btn-p:disabled{opacity:.35;cursor:default;filter:none;}
.wk-btn-s{background:var(--paper);color:var(--ink);border:1.5px solid var(--border);border-radius:12px;padding:13px 16px;font-size:13px;cursor:pointer;transition:all .15s;font-family:inherit;}
.wk-btn-s:hover{border-color:var(--ink-muted);}
/* rest overlay */
.wk-rest{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:900;display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;}
.wk-rest.show{display:flex;}
.wk-rest-lbl{font-size:12px;letter-spacing:3px;color:var(--ink-muted);text-transform:uppercase;}
.wk-rest-time{font-family:'Instrument Serif',serif;font-size:90px;line-height:1;color:var(--accent2,#4affb8);letter-spacing:2px;}
.wk-rest-next{font-size:13px;color:var(--ink-muted);margin-top:8px;}
.wk-rest-nextname{font-size:16px;font-weight:500;color:var(--ink);margin-bottom:20px;text-align:center;padding:0 32px;}
/* finish */
.wk-finish{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 0;gap:14px;}
.wk-finish-emoji{font-size:64px;}
.wk-finish-title{font-family:'Instrument Serif',serif;font-size:48px;font-style:italic;color:var(--accent);}
.wk-finish-sub{font-size:14px;color:var(--ink-muted);max-width:260px;line-height:1.5;}
.wk-finish-stats{display:flex;gap:28px;margin-top:8px;}
.wk-finish-stat{text-align:center;}
.wk-finish-val{font-family:'Instrument Serif',serif;font-size:38px;color:var(--ink);line-height:1;}
.wk-finish-slbl{font-size:11px;color:var(--ink-muted);margin-top:3px;text-transform:uppercase;letter-spacing:1px;}
.water-lbl{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-muted);white-space:nowrap;}
.water-cups{display:flex;gap:3px;flex-wrap:wrap;}
.wcup{width:24px;height:24px;border:1.5px solid var(--border2);border-radius:5px;background:transparent;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .15s;opacity:.35;}
.wcup.filled{background:rgba(59,130,246,.15);border-color:rgba(59,130,246,.5);opacity:1;}
.wcup:hover{border-color:var(--accent);opacity:1;}
.water-count{font-family:'Instrument Serif',serif;font-size:16px;color:var(--ink-soft);white-space:nowrap;min-width:32px;}
/* ── HINTS ───────────────────────────────────────────────── */
.hint-card{background:var(--paper);border:1px solid var(--border2);border-radius:20px;padding:32px 28px;margin-bottom:16px;animation:sli .3s ease;}
.hint-hero{text-align:center;margin-bottom:28px;}
.hint-icon{font-size:48px;margin-bottom:12px;}
.hint-title{font-family:'Instrument Serif',serif;font-size:28px;font-style:italic;color:var(--ink);margin-bottom:6px;}
.hint-subtitle{font-size:12px;color:var(--ink-muted);line-height:1.6;}
.hint-section{margin-bottom:24px;}
.hint-section-title{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-muted);margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.hint-section-title::after{content:'';flex:1;height:1px;background:var(--border);}
.hint-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
@media(max-width:500px){.hint-grid{grid-template-columns:1fr;}}
.hint-feature{background:var(--paper2);border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;gap:10px;align-items:flex-start;}
.hint-feature-icon{font-size:20px;flex-shrink:0;line-height:1.2;}
.hint-feature-body{}
.hint-feature-name{font-size:12px;font-weight:500;color:var(--ink);margin-bottom:2px;}
.hint-feature-desc{font-size:11px;color:var(--ink-muted);line-height:1.5;}
.hint-nl-box{background:var(--bg2);border:1px solid var(--border2);border-radius:12px;padding:14px 16px;}
.hint-nl-example{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;}
.hint-nl-example:last-child{margin-bottom:0;}
.hint-nl-input{font-family:'DM Mono',monospace;font-size:11px;color:var(--accent2);background:rgba(124,106,247,.1);padding:3px 8px;border-radius:6px;flex-shrink:0;}
.hint-nl-arrow{color:var(--ink-muted);font-size:11px;flex-shrink:0;padding-top:2px;}
.hint-nl-result{font-size:11px;color:var(--ink-soft);line-height:1.5;}
.hint-nl-hint{font-size:10px;color:var(--ink-muted);margin-top:8px;padding-top:8px;border-top:1px solid var(--border);line-height:1.6;}
.hint-footer{text-align:center;margin-top:8px;}
.hint-dismiss{padding:11px 32px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;border-radius:12px;font-family:'DM Mono',monospace;font-size:12px;font-weight:500;cursor:pointer;box-shadow:0 4px 15px rgba(124,106,247,.35);transition:all .2s;}
.hint-dismiss:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(124,106,247,.45);}
[data-theme=light] .hint-dismiss{box-shadow:0 4px 15px rgba(193,123,60,.3);}
[data-theme=light] .hint-dismiss:hover{box-shadow:0 6px 20px rgba(193,123,60,.4);}
/* ── DRAG & DROP ─────────────────────────────────────────── */
.wday.drag-over{border-color:rgba(124,106,247,.6)!important;background:rgba(124,106,247,.07)!important;}
.wtask[draggable=true]{cursor:grab;}
.wtask.wdragging{opacity:.35;}
/* ── AUTO THEME ──────────────────────────────────────────── */
.auto-theme-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--border);margin-top:10px;}
.auto-theme-lbl{font-size:11px;color:var(--ink-soft);}
.toggle-sw{position:relative;width:36px;height:20px;cursor:pointer;}
.toggle-sw input{opacity:0;width:0;height:0;}
.toggle-track{position:absolute;inset:0;background:var(--border2);border-radius:10px;transition:.2s;}
.toggle-sw input:checked+.toggle-track{background:var(--accent);}
.toggle-track::after{content:'';position:absolute;width:14px;height:14px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;}
.toggle-sw input:checked+.toggle-track::after{left:19px;}
