:root{--bg:#0b0b0f;--card:#121219;--grid:#262637;--text:#fff;--muted:#a3a3b0;--accent:#7c5cff;--accent2:#00d4ff;--danger:#ff6b6b}:root.light{--bg:#f7f7fb;--card:#fff;--grid:#e9e9f4;--text:#0e0e14;--muted:#5b5b6b;--accent:#5b3dff;--accent2:#0088aa;--danger:#e34848}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 800px at 100% -10%,rgba(124,92,255,.12),transparent),radial-gradient(1200px 800px at -10% 110%,rgba(0,212,255,.1),transparent),var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Helvetica Neue,Arial}.container{max-width:1100px;margin:0 auto;padding:16px}.header{position:sticky;top:0;-webkit-backdrop-filter:saturate(1.2) blur(8px);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid color-mix(in oklab,var(--grid),transparent 45%);background:color-mix(in oklab,var(--bg),transparent 35%)}.btn{border:1px solid color-mix(in oklab,var(--accent),#fff 50%);background:linear-gradient(180deg,color-mix(in oklab,var(--accent),#000 80%),color-mix(in oklab,var(--accent),#000 70%));color:#fff;padding:8px 12px;border-radius:10px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #7c5cff2e}.btn-ghost{background:transparent;border:1px solid var(--grid);color:var(--text);box-shadow:none}.btn-danger{background:linear-gradient(180deg,color-mix(in oklab,var(--danger),#000 70%),color-mix(in oklab,var(--danger),#000 60%));border-color:color-mix(in oklab,var(--danger),#000 40%)}.grid{position:relative;border:1px solid var(--grid);border-radius:14px;background:var(--card);overflow:hidden}.hr{height:60px;display:flex;align-items:flex-start;justify-content:flex-end;padding-top:6px;color:var(--muted);font-size:12px}.task{position:absolute;left:10px;right:10px;border:1px solid #42425a;border-radius:12px;box-shadow:0 8px 24px #00000040}.task[data-color="1"]{background:linear-gradient(180deg,#2f2a55,#291f5b)}.task[data-color="2"]{background:linear-gradient(180deg,#153a4a,#0f313f)}.task[data-color="3"]{background:linear-gradient(180deg,#333954,#29304a)}.task[data-color="4"]{background:linear-gradient(180deg,#43322f,#3a2a27)}.task .inner{padding:8px 10px 6px 12px;display:flex;gap:8px;align-items:center;font-size:14px}.task .title{flex:1;font-weight:600;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task .time{opacity:.8;font-variant-numeric:tabular-nums}.task .handle{position:absolute;left:0;right:0;height:8px;cursor:ns-resize}.task .handle.top{top:-4px}.task .handle.bottom{bottom:-4px}
