/* Chalkmate — tasks, checklists (.tk-) and marking (.mk-) */

/* ---------- Tasks ---------- */
.tk-quick{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;margin-bottom:6px}
.tk-quick input{border:0;outline:none;background:transparent;height:38px;min-width:0;font-size:14.5px}
.tk-qic{color:var(--brand);display:grid;place-items:center}.tk-qic svg{width:18px;height:18px}
.tk-quick:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus)}
.tk-parse{min-height:18px;margin:0 0 12px 14px;display:flex;align-items:center;gap:6px;color:var(--brand)}
.tk-parse svg{width:14px;height:14px}
.tk-bar{margin-bottom:14px}
.tk-n{margin-left:5px;font-size:11px;font-weight:700;color:var(--text-3)}
.seg .on .tk-n{color:var(--brand)}
.tk-group{margin-bottom:18px}
.tk-group h4,.tk-h{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin:0 0 8px 2px;font-weight:700;display:flex;align-items:center;gap:8px}
.tk-group h4 span{font-weight:600;color:var(--text-3)}
.tk-group.over h4{color:var(--crit)}
details>summary.tk-h{cursor:pointer;list-style:none}
.tk-list{overflow:hidden}
.tk-row{display:flex;align-items:flex-start;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line-2);transition:opacity .2s,transform .2s,background .12s}
.tk-row:last-child{border-bottom:0}
.tk-row:hover{background:var(--hover)}
.tk-row.gone{opacity:0;transform:translateX(12px)}
.tk-main{cursor:pointer;min-width:0;outline:none}
.tk-title{font-weight:550;overflow-wrap:anywhere;line-height:1.4}
.tk-row.done .tk-title{color:var(--text-3);text-decoration:line-through}
.tk-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px}
.tk-meta:empty{display:none}
.tk-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);background:var(--panel);display:grid;place-items:center;cursor:pointer;flex:none;margin-top:1px;color:transparent;transition:all .15s;padding:0}
.tk-check svg{width:13px;height:13px;stroke-width:3}
.tk-check:hover{border-color:var(--brand);color:color-mix(in srgb,var(--brand) 50%,transparent)}
.tk-row.hi .tk-check{border-color:color-mix(in srgb,var(--crit) 55%,var(--line))}
.done>.tk-check,.tk-item.done .tk-check{background:var(--brand);border-color:var(--brand);color:#fff}
.tk-due{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--text-2)}
.tk-due svg{width:13px;height:13px}
.tk-due.tk-today{color:var(--brand-text,var(--brand))}
.tk-due.tk-over{color:var(--crit)}
.tk-ic{display:inline-grid;place-items:center;color:var(--text-3)}.tk-ic svg{width:13px;height:13px}
.tk-src{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;color:var(--text-2);background:var(--bg-2)}
.tk-src svg{width:13px;height:13px}.tk-src:hover{color:var(--brand)}
.tk-prio{display:flex}
.tk-prio button{flex:1}

/* AI brain-dump proposals */
.tk-props{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.tk-prop{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid color-mix(in srgb,var(--ai) 22%,var(--line));background:var(--ai-soft);border-radius:12px}
.tk-prop .check{margin-top:8px}

/* Checklists */
.tk-cl{display:flex;flex-direction:column;gap:10px;padding:16px 18px;text-decoration:none;transition:border-color .12s,box-shadow .12s}
.tk-cl:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--line));box-shadow:var(--sh-2)}
.tk-items{overflow:hidden}
.tk-item{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 14px;border-bottom:1px solid var(--line-2)}
.tk-item>span.grow{overflow-wrap:anywhere;cursor:default}
.tk-item.done>span.grow{color:var(--text-3);text-decoration:line-through}
.tk-item .iconbtn{opacity:.55}.tk-item:hover .iconbtn{opacity:1}
.tk-dot{width:7px;height:7px;border-radius:50%;background:var(--text-3);flex:none;margin:0 7px}
.tk-additem{display:flex;align-items:center;gap:10px;padding:6px 14px;background:var(--panel-2)}
.tk-additem span{color:var(--brand);display:grid}.tk-additem span svg{width:17px;height:17px}
.tk-additem input{border:0;outline:none;background:transparent;height:40px;min-width:0}

/* ---------- Marking ---------- */
.mk-grid{align-items:stretch}
.mk-card{display:flex;flex-direction:column;gap:12px;padding:16px 18px;text-decoration:none;transition:border-color .12s,box-shadow .12s}
.mk-card:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--line));box-shadow:var(--sh-2)}
.mk-t{display:block;font-size:15px;line-height:1.3;overflow-wrap:anywhere}
.mk-plus{flex:none;font-weight:700;min-width:44px}
.mk-progress{display:flex;align-items:center;gap:10px}
.mk-progress .pbar{flex:1;height:8px;border-radius:4px}
.mk-count{font-size:12.5px;color:var(--text-2);white-space:nowrap}.mk-count b{color:var(--text);font-size:14px}
.mk-st.mk-ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 11%,var(--panel))}
.mk-st.mk-warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 13%,var(--panel))}
.mk-st.mk-crit{color:var(--crit);background:color-mix(in srgb,var(--crit) 10%,var(--panel))}
.stat.mk-alert b{color:var(--warn)}
.mk-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;align-items:start}
@media (max-width:1000px){.mk-cols{grid-template-columns:1fr}}
.mk-big{display:flex;align-items:baseline;gap:6px}
.mk-big b{font-size:44px;font-weight:750;letter-spacing:-.03em;line-height:1}
.mk-big span{font-size:18px;color:var(--text-2);font-weight:600}
.mk-bar{height:12px;border-radius:6px}.mk-bar i{border-radius:6px}
.mk-btns{display:grid;grid-template-columns:auto 1fr 1fr auto;gap:8px;margin:16px 0}
.mk-btns .btn{font-size:16px;font-weight:700}
.mk-btns .btn.lg{height:50px}
.mk-btns .btn:not(.lg){height:50px}
.mk-pace{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--bg-2)}
.mk-pace>svg{width:20px;height:20px;flex:none;margin-top:1px;color:var(--text-2)}
.mk-pace b{display:block;font-size:14px}
.mk-pace span{display:block;font-size:12.5px;color:var(--text-2);margin-top:2px}
.mk-pace.mk-ok{background:color-mix(in srgb,var(--ok) 9%,var(--panel))}.mk-pace.mk-ok>svg{color:var(--ok)}
.mk-pace.mk-warn{background:color-mix(in srgb,var(--warn) 11%,var(--panel))}.mk-pace.mk-warn>svg{color:var(--warn)}
.mk-pace.mk-crit{background:color-mix(in srgb,var(--crit) 9%,var(--panel))}.mk-pace.mk-crit>svg{color:var(--crit)}
.mk-plan .li{padding:9px 16px}
.mk-day{width:54px;flex:none;display:flex;flex-direction:column;align-items:center;padding:4px 0;border-radius:10px;background:var(--bg-2)}
.mk-day b{font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.mk-day span{font-size:11px;color:var(--text-2)}
.mk-day.today{background:var(--brand);color:#fff}.mk-day.today span{color:rgba(255,255,255,.85)}
.mk-ai .note{display:flex;gap:8px;align-items:flex-start}
.mk-ai .note svg{width:16px;height:16px;flex:none;margin-top:1px;color:var(--warn)}
.mk-modes{display:flex;flex-wrap:wrap}
.mk-modes button{flex:1 1 auto}
.mk-ai textarea{margin-top:10px}
.mk-form .chip{height:30px}

@media (max-width:760px){
  .tk-row{padding:12px}
  .tk-check{width:24px;height:24px}
  .mk-big b{font-size:38px}
  .mk-btns{grid-template-columns:1fr 1fr 1fr}
  .mk-btns [data-set]{grid-column:1 / -1;height:38px!important}
  .mk-btns [data-add="-1"]{order:0}
  .mk-modes{width:100%}
  .mk-modes button{padding:0 8px;font-size:12.5px}
  .tk-bar .seg{width:100%;overflow-x:auto}
  .tk-bar .seg a{flex:1;justify-content:center;padding:0 8px}
}
