:root{--bg:#070b18;--bg2:#0b1124;--panel:#0f1730;--panel2:#141e3d;--line:#222d52;--line2:#2f3c6b;--text:#e6ebff;--muted:#8b96bf;--dim:#5b6690;--cyan:#22d3ee;--purple:#a78bfa;--pink:#f472b6;--green:#34d399;--amber:#f59e0b;--red:#f43f5e;--grad:linear-gradient(90deg, var(--cyan), var(--purple));--radius:14px;--shadow:0 10px 40px -12px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:radial-gradient(1200px 600px at 100% -10%, #a78bfa1a, transparent 60%), radial-gradient(900px 500px at -10% 10%, #22d3ee14, transparent 60%), var(--bg);color:var(--text);background-attachment:fixed;min-height:100vh;font-family:IBM Plex Sans Arabic,Tahoma,system-ui,sans-serif;font-size:15px;line-height:1.6}a{color:var(--cyan);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}::selection{background:#a78bfa66}.ltr{direction:ltr;unicode-bidi:isolate}.num{font-variant-numeric:tabular-nums}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.side{border-inline-start:0;border-inline-end:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b1124b3;flex-direction:column;gap:4px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:10px;padding:4px 10px 18px;font-size:18px;font-weight:700;display:flex}.brand-mark{background:var(--grad);color:#070b18;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:800;display:grid;box-shadow:0 0 24px #22d3ee59}.nav-link{color:var(--muted);border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-weight:500;display:flex;position:relative}.nav-link:hover{background:var(--panel);color:var(--text)}.nav-link.active{color:var(--text);background:linear-gradient(90deg,#22d3ee24,#a78bfa1a)}.nav-link.active:before{content:"";inset-inline-start:0;background:var(--grad);border-radius:3px;width:3px;position:absolute;top:8px;bottom:8px}.nav-ico{text-align:center;width:22px}.nav-badge{background:var(--pink);color:#070b18;border-radius:99px;margin-inline-start:auto;padding:0 7px;font-size:11px;font-weight:700}.side-foot{border-top:1px solid var(--line);color:var(--muted);margin-top:auto;padding:12px 10px 0;font-size:13px}.main{width:100%;max-width:1280px;padding:26px 30px 90px}.bottom-nav{display:none}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-head h1{margin:0;font-size:24px}.page-head .sub{color:var(--muted);font-size:14px}@media (width<=900px){.shell{grid-template-columns:1fr}.side{display:none}.main{padding:16px 16px 96px}.bottom-nav{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:#0b1124eb;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--muted);border-radius:8px;flex-direction:column;align-items:center;min-width:52px;padding:4px 6px;font-size:11px;display:flex;position:relative}.bottom-nav a.active{color:var(--cyan)}.bottom-nav .nav-ico{font-size:19px}.page-head h1{font-size:20px}}.card{background:linear-gradient(180deg, var(--panel), var(--bg2));border:1px solid var(--line);border-radius:var(--radius);padding:18px}.card h2,.card h3{margin:0 0 12px;font-size:16px}.card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.card-head h2,.card-head h3{margin:0}.grid{gap:16px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1100px){.g4,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.g2,.g3{grid-template-columns:1fr}.g4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.nowrap{flex-wrap:nowrap}.spacer{flex:1}.stack{flex-direction:column;gap:10px;display:flex}.muted{color:var(--muted)}.dim{color:var(--dim)}.small{font-size:13px}.tiny{font-size:12px}.bold{font-weight:700}.mt{margin-top:16px}.mb{margin-bottom:16px}.btn{border:1px solid var(--line2);background:var(--panel2);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:500;transition:border-color .15s,background .15s,transform 50ms;display:inline-flex}.btn:hover{border-color:var(--cyan)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--grad);color:#070b18;border:0;font-weight:700;box-shadow:0 6px 24px -8px #22d3ee99}.btn.danger{color:#fda4af;background:#f43f5e14;border-color:#f43f5e80}.btn.danger:hover{border-color:var(--red)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--text);background:var(--panel2)}.btn.sm{border-radius:8px;padding:4px 10px;font-size:13px}.btn.icon{width:32px;height:32px;padding:6px}.btn.block{width:100%}.field{flex-direction:column;gap:5px;display:flex}.field>span{color:var(--muted);font-size:13px}.input,select.input,textarea.input{background:var(--bg2);border:1px solid var(--line2);border-radius:10px;outline:none;width:100%;padding:9px 12px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #22d3ee26}textarea.input{resize:vertical;min-height:80px}input[type=time].input,input[type=date].input{text-align:right;direction:ltr}input[type=color]{border:1px solid var(--line2);background:var(--bg2);cursor:pointer;border-radius:10px;width:40px;height:38px;padding:2px}.check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.check input{width:17px;height:17px;accent-color:var(--cyan)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid .full{grid-column:1/-1}@media (width<=560px){.form-grid{grid-template-columns:1fr}}.chip{border:1px solid var(--line2);background:var(--bg2);white-space:nowrap;border-radius:99px;align-items:center;gap:5px;padding:1px 9px;font-size:12px;display:inline-flex}.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.pill-tabs{background:var(--bg2);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.pill-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:6px 12px}.pill-tabs button.on{background:var(--panel2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line2)}.progress{background:var(--bg);border:1px solid var(--line);border-radius:99px;height:8px;overflow:hidden}.progress>i{background:var(--grad);border-radius:99px;height:100%;transition:width .4s;display:block}.stat .label{color:var(--muted);font-size:13px}.stat .value{margin-top:4px;font-size:28px;font-weight:700;line-height:1.2}.stat .value small{color:var(--muted);font-size:14px;font-weight:500}.glow{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.empty{text-align:center;color:var(--dim);padding:28px 10px;font-size:14px}.table{border-collapse:collapse;width:100%}.table th{text-align:start;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:13px;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px}.table tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:#22d3ee0a}.scroll-x{overflow-x:auto}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:60;background:#03060fb3;place-items:center;padding:16px;animation:.12s fade;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line2);width:100%;max-width:560px;max-height:calc(100vh - 32px);box-shadow:var(--shadow);border-radius:18px;padding:20px;animation:.15s pop;overflow-y:auto}.modal.wide{max-width:820px}.modal-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.modal-head h2{margin:0;font-size:18px}.modal-foot{flex-wrap:wrap;justify-content:flex-start;gap:8px;margin-top:18px;display:flex}@media (width<=640px){.overlay{place-items:end center;padding:0}.modal{max-height:92vh;padding-bottom:calc(20px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}}.toasts{z-index:80;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;left:20px}.toast{background:var(--panel2);border:1px solid var(--line2);border-inline-start:3px solid var(--cyan);box-shadow:var(--shadow);border-radius:10px;max-width:340px;padding:10px 14px;animation:.15s pop}.toast.error{border-inline-start-color:var(--red)}@media (width<=900px){.toasts{bottom:84px;left:12px;right:12px}.toast{max-width:none}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px)scale(.99)}}.auth-wrap{place-items:center;min-height:100vh;padding:20px;display:grid}.auth-card{width:100%;max-width:420px}.auth-card .brand{justify-content:center;padding-bottom:8px;font-size:22px}.auth-card p.lead{text-align:center;color:var(--muted);margin:0 0 20px}.error-box{color:#fecdd3;background:#f43f5e1a;border:1px solid #f43f5e66;border-radius:10px;padding:9px 12px;font-size:14px}.ok-box{color:#a7f3d0;background:#34d39914;border:1px solid #34d39959;border-radius:10px;padding:9px 12px;font-size:14px}.day-nav{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.day-title{font-size:22px;font-weight:700}.timeline{flex-direction:column;gap:10px;display:flex}.block{background:linear-gradient(180deg, var(--panel), var(--bg2));border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:74px 1fr;gap:12px;padding:12px 14px;transition:border-color .15s,box-shadow .15s;display:grid;position:relative}.block:before{content:"";inset-inline-start:0;background:var(--bc,var(--cyan));border-radius:3px;width:3px;position:absolute;top:10px;bottom:10px}.block.now{border-color:var(--cyan);box-shadow:0 0 0 1px #22d3ee4d,0 0 30px -10px #22d3ee80}.block.past{opacity:.72}.block.drop{border-color:var(--purple);background:#a78bfa14}.block-time{color:var(--muted);text-align:end;direction:ltr;padding-top:2px;font-size:13px;line-height:1.4}.block-time b{color:var(--text);font-size:15px;display:block}.block-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.block-title{font-weight:600}.now-tag{background:var(--cyan);color:#070b18;border-radius:6px;padding:0 6px;font-size:11px;font-weight:700}.task-list{flex-direction:column;gap:6px;min-height:6px;margin-top:8px;display:flex}.task{background:var(--bg2);border:1px solid var(--line);cursor:grab;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;transition:border-color .12s,opacity .12s;display:flex}.task:hover{border-color:var(--line2)}.task.dragging{opacity:.4}.task.done .task-title{color:var(--dim);text-decoration:line-through}.task.skipped .task-title{color:var(--dim);font-style:italic}.task-title{overflow-wrap:anywhere;cursor:pointer;flex:1;min-width:0}.task-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.status-btn{border:2px solid var(--line2);cursor:pointer;color:#070b18;background:0 0;border-radius:7px;flex:none;place-items:center;width:22px;height:22px;padding:0;font-size:13px;display:grid}.status-btn.doing{border-color:var(--cyan);box-shadow:inset 0 0 0 3px var(--bg2), inset 0 0 0 10px var(--cyan)}.status-btn.done{background:var(--green);border-color:var(--green)}.status-btn.skipped{border-color:var(--dim);color:var(--dim)}.add-inline{gap:6px;margin-top:6px;display:flex}.add-inline .input{background:0 0;border-style:dashed;padding:6px 10px;font-size:14px}.add-inline .input:focus{background:var(--bg2);border-style:solid}.day-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}@media (width<=1100px){.day-layout{grid-template-columns:1fr}}@media (width<=560px){.block{grid-template-columns:1fr;gap:4px}.block-time{text-align:start;align-items:baseline;gap:6px;display:flex}.block-time b{display:inline}}.heat{grid-template-columns:repeat(20,1fr);gap:4px;display:grid}@media (width<=640px){.heat{grid-template-columns:repeat(10,1fr)}}.heat i{aspect-ratio:1;background:var(--bg);border:1px solid var(--line);border-radius:4px;display:block;position:relative}.heat i.l1{background:#a78bfa40;border-color:#0000}.heat i.l2{background:#a78bfa80;border-color:#0000}.heat i.l3{background:#22d3ee99;border-color:#0000}.heat i.l4{background:var(--cyan);border-color:#0000;box-shadow:0 0 10px #22d3ee80}.heat i.today{outline:2px solid var(--pink);outline-offset:1px}.heat i.future{opacity:.4}.list-item{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.list-item:last-child{border-bottom:0}.avatar{background:var(--grad);color:#070b18;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.weekday-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}@media (width<=760px){.weekday-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.swatches{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;padding:0}.swatch.on{border-color:var(--text);box-shadow:0 0 0 2px var(--bg)}.msg{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.msg.unread{border-color:var(--purple)}.kbd{background:var(--bg);border:1px solid var(--line2);direction:ltr;unicode-bidi:isolate;border-radius:6px;padding:0 6px;font-family:ui-monospace,monospace;font-size:13px}
