:root{
  --bg:#07101f;--bg-2:#0b1426;--panel:#101a2f;--panel-2:#121e36;--panel-3:#0d172a;
  --text:#f6f8ff;--muted:#8f9bb4;--line:rgba(155,178,225,.16);--line-strong:rgba(151,177,230,.28);
  --orange:#ff8a24;--orange-2:#ffb13b;--yellow:#ffd84a;--blue:#4da3ff;--purple:#9b68ff;--pink:#ff4f9a;--green:#43d3a0;--red:#ff5b67;
  --accent:var(--orange);--danger:#ff6670;--radius:16px;--shadow:0 18px 50px rgba(0,0,0,.32);--glow:0 0 0 1px rgba(255,153,48,.15),0 12px 35px rgba(255,128,32,.1)
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;font:15px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 66% -10%,rgba(71,112,255,.15),transparent 28%),linear-gradient(180deg,#08101e 0%,#07101f 60%,#08111f 100%);color:var(--text);min-height:100vh}
body.drawer-open{overflow:hidden}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
a{color:#7db9ff}
.center{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}
.center:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,154,55,.15),transparent 20%),radial-gradient(circle at 80% 10%,rgba(91,118,255,.2),transparent 26%),radial-gradient(circle at 30% 80%,rgba(50,134,255,.12),transparent 25%);pointer-events:none}
.panel{background:rgba(12,23,43,.88);border:1px solid var(--line-strong);border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.5);backdrop-filter:blur(20px)}
.auth{width:min(430px,100%);padding:32px;position:relative;z-index:1}
.auth-logo{display:flex;align-items:center;gap:12px;font-size:34px;font-weight:900;letter-spacing:-1.5px}.auth-logo img{width:52px;height:52px}.auth-logo span span,.brand-word span{color:var(--orange)}
.auth p{margin:8px 0 22px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px}
input,textarea,select{width:100%;border:1px solid var(--line-strong);background:#0b1528;color:var(--text);border-radius:12px;padding:12px 13px;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}
input::placeholder,textarea::placeholder{color:#66728c}
input:focus,textarea:focus,select:focus{border-color:#4f8fff;box-shadow:0 0 0 3px rgba(77,163,255,.12);background:#0c1830}
select option{background:#0b1528;color:#fff}
.auth input{margin:6px 0}
.primary,.ghost{border-radius:12px;padding:10px 14px;border:1px solid transparent;transition:.16s ease;position:relative;overflow:hidden}
.primary{background:linear-gradient(135deg,var(--orange),#ff6d38);color:#fff;font-weight:800;box-shadow:0 8px 24px rgba(255,121,37,.22)}
.primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(255,121,37,.32)}
.primary:active{transform:translateY(0) scale(.98)}
.primary.alt{background:linear-gradient(135deg,#2679ff,#5a66ff)}
.auth .primary{width:100%;margin-top:10px;display:flex;justify-content:center;gap:8px}
.ghost{background:#111d33;border-color:var(--line-strong);color:#dfe7f9}
.ghost:hover{border-color:#526d9e;background:#15243f}
.linkbtn{border:0;background:transparent;color:#9da9c0;padding:0}.linkbtn:hover{color:#fff}

.app{display:grid;grid-template-columns:270px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#081126,#07101f 58%,#091425);border-right:1px solid rgba(143,166,214,.15);padding:18px;display:flex;flex-direction:column;z-index:12;box-shadow:12px 0 40px rgba(0,0,0,.15)}
.brand{display:flex;align-items:center;gap:9px;padding:2px 5px 22px}.brand-icon{width:40px;height:40px;filter:drop-shadow(0 5px 12px rgba(255,139,34,.22))}.brand-word{font-size:26px;font-weight:950;letter-spacing:-1.25px;font-style:italic}
.project-list{display:flex;flex-direction:column;gap:4px;overflow:auto;padding-right:2px}
.project-item,.my-tasks-item{display:flex;align-items:center;gap:10px;border:1px solid transparent;background:transparent;color:#cfd8ec;padding:10px 11px;border-radius:11px;text-align:left;transition:.16s ease;position:relative}
.project-item:hover,.my-tasks-item:hover{background:rgba(76,119,200,.12);color:#fff;transform:translateX(2px)}
.project-item.active,.my-tasks-item.active{background:linear-gradient(90deg,rgba(39,117,240,.26),rgba(34,76,147,.18));border-color:rgba(82,151,255,.36);color:#fff;box-shadow:inset 3px 0 0 var(--orange)}
.my-tasks-item{font-weight:750;margin-bottom:10px}.nav-icon{font-size:18px;color:#fff}.sidebar-label-row{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.sidebar-label{padding:8px 10px 6px;color:#7787a7;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.14em}.sidebar-plus{border:1px solid rgba(255,153,50,.55);background:rgba(255,132,40,.08);color:#ffad54;border-radius:9px;width:27px;height:27px;display:grid;place-items:center;font-size:17px;transition:.16s}.sidebar-plus:hover{background:rgba(255,132,40,.16);transform:rotate(90deg)}
.dot{width:10px;height:10px;border-radius:99px;box-shadow:0 0 12px currentColor;flex:none}.dot.mini{width:7px;height:7px;display:inline-block}
.admin-link{margin-top:12px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:#93a1bb;border-radius:10px;padding:9px 11px;text-align:left}.admin-link:hover{color:#fff;background:rgba(255,255,255,.05)}
.profile{margin-top:auto;border:1px solid var(--line);background:rgba(15,27,49,.78);padding:10px;border-radius:14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px}.profile-copy{display:flex;flex-direction:column;min-width:0}.profile-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-copy span{font-size:11px;color:#7f8ba4}.profile-more{color:#8fa0bf}.profile-avatar-button{position:relative;border:0;background:transparent;padding:0}.avatar-edit-badge{position:absolute;right:-3px;bottom:-2px;width:16px;height:16px;border-radius:50%;background:var(--orange);color:#fff;font-size:8px;display:grid;place-items:center;border:2px solid #0b1426}
.avatar{display:inline-grid;place-items:center;border-radius:50%;overflow:hidden;flex:none;background:linear-gradient(135deg,#263858,#142139);color:#dce7ff;font-weight:800;border:1px solid rgba(255,255,255,.12)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:24px;height:24px;font-size:9px}.avatar-md{width:30px;height:30px;font-size:10px}.avatar-lg{width:38px;height:38px;font-size:12px;border:2px solid rgba(255,164,65,.9);box-shadow:0 0 0 2px rgba(255,142,43,.12)}

.main{min-width:0;position:relative}.topbar{min-height:150px;position:sticky;top:0;z-index:5;display:flex;align-items:flex-end;justify-content:space-between;padding:58px 30px 20px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(5,13,28,.55),rgba(8,17,32,.94));backdrop-filter:blur(14px);overflow:hidden}.space-banner{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 72% 20%,rgba(73,109,255,.18),transparent 24%),radial-gradient(circle at 55% 40%,rgba(44,135,255,.12),transparent 28%),linear-gradient(180deg,#07132d 0%,#0a1834 44%,rgba(8,17,32,.82) 100%)}.space-banner:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#fff 0.7px,transparent .8px),radial-gradient(#89b8ff 0.7px,transparent .8px);background-size:44px 44px,73px 73px;background-position:0 0,16px 21px;opacity:.28}.space-banner:after{content:"";position:absolute;left:18%;right:18%;bottom:-76px;height:130px;border-radius:50% 50% 0 0;background:radial-gradient(ellipse at center top,#23518f 0%,#18355e 22%,#0a1529 52%,transparent 70%);filter:blur(.2px);opacity:.8}.comet{position:absolute;left:54%;top:28px;width:90px;height:2px;background:linear-gradient(90deg,transparent,#ffc470 62%,#fff);transform:rotate(-12deg);filter:drop-shadow(0 0 7px #ff8a24);animation:cometPulse 3.2s ease-in-out infinite}.planet{position:absolute;border-radius:50%;box-shadow:inset -9px -8px 15px rgba(0,0,0,.35),0 0 25px rgba(97,129,255,.15)}.planet-a{width:42px;height:42px;right:14%;top:16px;background:linear-gradient(140deg,#ffaf60,#755e9d 58%,#223569)}.planet-b{width:16px;height:16px;right:7%;top:75px;background:linear-gradient(140deg,#68c2ff,#5246a7)}
.topbar-copy,.topbar>.primary,.topbar>.mobile{position:relative;z-index:1}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#7f90ad;margin-bottom:4px}.topbar h1{margin:0;font-size:25px;letter-spacing:-.5px}.muted{color:var(--muted);font-size:12px}.launch-btn{min-width:104px}.launch-btn span{font-size:18px;vertical-align:-1px}
.task-area{padding:20px 28px 42px;max-width:1180px;margin:0 auto}.active-task-list{display:flex;flex-direction:column;gap:7px}
.quick-add{display:grid;grid-template-columns:auto 1fr minmax(130px,auto) auto;align-items:center;gap:8px;border:1px solid rgba(255,145,40,.66);border-radius:17px;padding:7px 8px;margin-bottom:18px;background:linear-gradient(90deg,rgba(24,36,61,.9),rgba(17,27,49,.9));box-shadow:0 0 0 1px rgba(255,145,40,.08),0 10px 35px rgba(0,0,0,.18);transition:.2s ease}.quick-add:focus-within{border-color:#ff9a35;box-shadow:0 0 0 3px rgba(255,137,35,.08),0 15px 40px rgba(0,0,0,.25);transform:translateY(-1px)}.quick-plus{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#2a73ff,#6a65ff);font-size:22px;box-shadow:0 8px 20px rgba(53,111,255,.25)}.quick-title,.quick-project{border:0;background:transparent;box-shadow:none;padding:10px}.quick-title:focus,.quick-project:focus{box-shadow:none;background:rgba(255,255,255,.02)}.quick-submit{width:39px;height:39px;border:0;border-radius:12px;background:linear-gradient(135deg,#ffb254,#ff6942);color:#fff;font-size:20px;transition:.16s}.quick-submit:hover{transform:translateX(2px) scale(1.03);box-shadow:0 8px 20px rgba(255,126,48,.28)}
.task-card{background:linear-gradient(90deg,rgba(14,25,45,.95),rgba(12,22,40,.95));border:1px solid rgba(135,160,209,.13);border-radius:12px;padding:11px 12px;box-shadow:0 4px 14px rgba(0,0,0,.08);transition:.16s ease;animation:taskIn .26s both;position:relative;overflow:hidden}.task-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:transparent;transition:.16s}.task-card:hover{transform:translateY(-1px);border-color:rgba(113,151,222,.3);background:linear-gradient(90deg,rgba(18,32,58,.98),rgba(13,24,45,.98));box-shadow:0 10px 26px rgba(0,0,0,.18)}.task-card:hover:before{background:linear-gradient(var(--orange),#6a75ff)}.task-card.dragging{opacity:.68;transform:scale(.99);box-shadow:0 18px 45px rgba(0,0,0,.38);border-color:#ff9a35}.task-card.completing{animation:completeBurst .32s ease forwards}.task-head{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:9px;align-items:center}.drag-handle{border:0;background:transparent;color:#61708c;padding:4px 2px;font-size:15px;cursor:grab;touch-action:none}.drag-handle:hover{color:#9db0d4}.drag-handle:active{cursor:grabbing}.check{appearance:none;width:21px;height:21px;border:2px solid #8393b4;border-radius:7px;flex:none;margin:0;background:#0a1427;transition:.18s}.check:hover{border-color:#ff9842;box-shadow:0 0 0 3px rgba(255,144,54,.08)}.check:checked{border-color:#3f8cff;background:linear-gradient(135deg,#2e72ff,#6b63ff);box-shadow:inset 0 0 0 4px rgba(9,19,38,.95)}.task-main{min-width:0}.task-title-row{display:flex;align-items:center;gap:8px;min-width:0}.task-title{font-weight:730;font-size:14px;line-height:1.3;color:#f4f7ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;background:#101c31;border:1px solid rgba(132,157,205,.15);border-radius:999px;font-size:11px;color:#9faec9;line-height:1.4}.pill.overdue{background:rgba(255,72,84,.09);border-color:rgba(255,82,91,.35);color:#ff717b}.pill.success{background:rgba(57,211,151,.09);color:#64d9ad}.pill.priority.low{color:#5db6ff;border-color:rgba(59,160,255,.35);background:rgba(38,134,244,.1)}.pill.priority.medium{color:#ffc34f;border-color:rgba(255,180,49,.4);background:rgba(255,168,28,.1)}.pill.priority.high{color:#ff6975;border-color:rgba(255,82,94,.45);background:rgba(255,60,77,.1)}.priority-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 9px currentColor}.project-pill{display:inline-flex;align-items:center}.assignee-pill{gap:7px}.task-actions{display:flex;gap:2px;opacity:.55;transition:.15s}.task-card:hover .task-actions{opacity:1}.iconbtn{border:1px solid transparent;background:transparent;color:#8fa0be;border-radius:9px;padding:6px 8px;transition:.16s}.iconbtn:hover{background:#17253f;border-color:var(--line);color:#fff}.danger{color:#ff6b74}.archive{margin-top:22px;border-top:1px solid var(--line)}.archive summary{cursor:pointer;color:#8998b2;font-weight:700;padding:13px 2px}.archive-list{display:flex;flex-direction:column;gap:7px}.archived{opacity:.66}.archived .task-title{text-decoration:line-through;color:#8f9bb2}.empty{padding:48px 15px;text-align:center;color:#71809e}.empty.compact{padding:26px}.error{color:var(--danger);font-size:13px;margin-top:8px}

dialog{border:1px solid var(--line-strong);border-radius:20px;padding:0;background:#0b1528;color:#fff;box-shadow:0 28px 85px rgba(0,0,0,.62);width:min(700px,calc(100% - 24px))}dialog::backdrop{background:rgba(2,7,17,.72);backdrop-filter:blur(5px)}.dialogform,.adminwrap{padding:24px}.dialoghead{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.dialoghead h2{margin:1px 0 0}.dialog-kicker,.drawer-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#ff9b43;font-weight:800}.dialogform label{display:block;font-weight:650;margin:11px 0;color:#cbd5e9}.dialogform label input,.dialogform label textarea,.dialogform label select{margin-top:6px;font-weight:400}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:16px}.tab{border:0;background:transparent;color:#8392ac;padding:10px;border-bottom:2px solid transparent}.tab.active{border-color:var(--orange);color:#fff;font-weight:750}.admin-section h3{margin:17px 0 9px}.admin-list{display:flex;flex-direction:column;gap:8px}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:#0e192d;border-radius:12px;padding:11px 12px}.access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:8px}.access-grid label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:9px;border-radius:10px;background:#0e192d}.access-grid input{width:auto}.assignee-preview{margin-top:7px;min-height:28px}.assignee-preview .person-chip{display:inline-flex}

.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:39;backdrop-filter:blur(2px);animation:fadeIn .18s}
.task-drawer{position:fixed;top:0;right:0;height:100vh;width:min(570px,100vw);background:linear-gradient(180deg,#0d172b,#0a1426 52%,#08111f);z-index:40;transform:translateX(102%);transition:transform .26s cubic-bezier(.22,.8,.23,1);box-shadow:-30px 0 70px rgba(0,0,0,.42);display:flex;flex-direction:column;border-left:1px solid var(--line-strong)}.task-drawer.open{transform:translateX(0)}.drawer-header{padding:22px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:rgba(13,23,43,.96);position:sticky;top:0;z-index:2}.drawer-header:before{content:"";position:absolute;top:0;left:22px;width:40px;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--orange),#ffdf56)}.drawer-header h2{margin:2px 0 0;font-size:25px;line-height:1.2;letter-spacing:-.4px}.drawer-body{padding:20px 22px 30px;overflow:auto;display:flex;flex-direction:column;gap:22px}.drawer-top-meta{display:flex;flex-wrap:wrap;gap:8px}.meta-edit{cursor:pointer;color:#dbe5f7}.meta-edit:hover{border-color:#4f74ad;background:#152541}.edit-caret{opacity:.55}.drawer-section{display:flex;flex-direction:column;gap:11px}.drawer-section h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#b8c4da}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.inline-hint{font-size:10px;color:#64718a}.count-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;border-radius:999px;background:#18233b;color:#9eacc4;font-size:11px;font-weight:800;margin-left:5px}.drawer-description{padding:14px 15px;border:1px solid var(--line-strong);border-radius:14px;background:#0b162b;white-space:pre-wrap;color:#d4dced;min-height:92px;transition:.16s}.drawer-description.editable{cursor:text}.drawer-description.editable:hover{border-color:#3e69a5;background:#0d1a32}.empty-copy{color:#687895}.drawer-subtasks,.drawer-comments{display:flex;flex-direction:column;gap:7px}.drawer-subtask{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:9px 10px;border-bottom:1px solid var(--line);background:transparent}.drawer-subtask>input[type="checkbox"]{width:19px!important;height:19px!important;appearance:none;border:2px solid #8090af;border-radius:6px;padding:0!important;background:#091426;flex:none}.drawer-subtask>input[type="checkbox"]:checked{border-color:#3d87ff;background:linear-gradient(135deg,#2e72ff,#6a65ff);box-shadow:inset 0 0 0 4px #0b162b}.subtask-title-button{border:0;background:transparent;color:#dfe6f3;text-align:left;padding:5px 2px;border-radius:7px;width:100%}.subtask-title-button:hover{background:rgba(255,255,255,.03)}.drawer-subtask.done .subtask-title-button{text-decoration:line-through;color:#738099}.subtask-inline-input{min-width:0;width:100%!important;height:auto!important;padding:8px 9px!important;border:1px solid #4a73ad!important;border-radius:9px!important;background:#0e1b33!important;color:#fff!important;box-shadow:0 0 0 3px rgba(73,135,255,.08)}.drawer-inline{display:flex;gap:8px}.drawer-inline input{flex:1}.drawer-comment{border:1px solid var(--line);border-radius:13px;padding:11px 12px;background:#0e192d}.drawer-comment-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.drawer-comment-user{display:flex;align-items:center;gap:8px}.drawer-comment time{font-size:11px;color:#66748e}.comment-body{white-space:pre-wrap;color:#b9c5d9}.comment-body a,.drawer-description a{color:#65adff}.drawer-actions-row{flex-direction:row;justify-content:flex-start;gap:8px;padding-top:5px}.inline-description-editor{min-height:150px;resize:vertical}.inline-edit-actions{display:flex;align-items:center;gap:8px;margin-top:10px}.save-status{font-size:10px;color:#63718b;margin-right:auto}.meta-inline-editor{display:inline-flex;align-items:center;gap:6px}.meta-inline-select,.meta-inline-date{width:auto;min-width:130px;padding:6px 9px;border-radius:999px;background:#101c31}.due-editor{padding:0}.meta-clear{border:0;background:#18233b;color:#8999b6;width:27px;height:27px;border-radius:50%}.assignee-menu{display:flex;flex-direction:column;gap:4px;padding:5px;background:#0f1a30;border:1px solid var(--line-strong);border-radius:13px;box-shadow:var(--shadow);min-width:220px}.assignee-choice{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#dfe7f7;text-align:left;padding:8px;border-radius:9px}.assignee-choice:hover{background:#182642}.person-chip{display:inline-flex;align-items:center;gap:7px;color:#dce6f8}.person-chip.muted-person{color:#7b8aa5}

.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#121f36;border:1px solid var(--line-strong);color:#edf3ff;padding:10px 14px;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.35);z-index:100;opacity:0;pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}
.mobile{display:none}

@keyframes taskIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes completeBurst{0%{transform:scale(1)}45%{transform:scale(1.01);box-shadow:0 0 0 3px rgba(67,211,160,.12),0 0 30px rgba(67,211,160,.14)}100%{opacity:0;transform:translateX(20px) scale(.98)}}
@keyframes cometPulse{0%,100%{opacity:.55;transform:translateX(0) rotate(-12deg)}50%{opacity:1;transform:translateX(18px) rotate(-12deg)}}
@keyframes pop{0%{transform:scale(.85)}70%{transform:scale(1.08)}100%{transform:scale(1)}}

@media(max-width:900px){.grid3{grid-template-columns:1fr 1fr}.task-area{padding-left:18px;padding-right:18px}}
@media(max-width:760px){
  .app{display:block}.sidebar{position:fixed;z-index:20;left:-290px;width:270px;transition:.22s;box-shadow:10px 0 40px #0005}.sidebar.open{left:0}.mobile{display:inline-block}.topbar{min-height:125px;padding:48px 14px 14px;gap:8px}.topbar h1{font-size:20px}.topbar .launch-btn{min-width:auto;padding:9px 11px}.task-area{padding:14px}.grid2,.grid3{grid-template-columns:1fr}.task-actions{flex-direction:column}.task-drawer{width:100vw}.drawer-header{padding:17px}.drawer-body{padding:16px 16px 24px}.drawer-inline{flex-direction:column}.drawer-actions-row{flex-direction:column}.quick-add{grid-template-columns:auto 1fr auto}.quick-project{grid-column:2/4;border-top:1px solid var(--line);border-radius:0}.meta{gap:5px}.pill{font-size:10px}.task-title{font-size:13px}.profile{margin-bottom:max(0px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.sidebar-add-project{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:8px;padding:9px 10px;border-radius:10px;border:1px dashed rgba(255,154,57,.5);background:rgba(255,132,40,.04);color:#ffb15e;font-weight:700;transition:.16s}.sidebar-add-project:hover{border-style:solid;background:rgba(255,132,40,.1);transform:translateY(-1px)}

/* v11 fun animations */
.icon-pop{animation:iconPop .7s cubic-bezier(.18,.89,.28,1.28)}
.ui-pulse{animation:uiPulse .36s ease}
.task-card.task-highlight{animation:taskGlow 1.3s ease}
.quick-add.quick-fired{animation:quickLaunch .6s ease}
.drag-handle:active{transform:scale(1.08)}
.profile-avatar-button:hover .avatar-lg{animation:avatarFloat 1.1s ease}

.fx-layer{position:fixed;inset:0;pointer-events:none;z-index:160}
.fx-particle{position:fixed;left:0;top:0;width:10px;height:10px;border-radius:999px;background:var(--fx,#fff);box-shadow:0 0 16px var(--fx,#fff);transform:translate(-50%,-50%);animation:fxBurst var(--dur,.75s) cubic-bezier(.18,.82,.28,1) forwards}
.fx-particle.star{width:auto;height:auto;background:transparent;box-shadow:none;font-size:14px;color:var(--fx,#fff);text-shadow:0 0 12px currentColor}
.complete-popup{position:fixed;right:26px;bottom:26px;display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:14px;min-width:330px;max-width:min(420px,calc(100vw - 24px));padding:14px 16px;border-radius:20px;border:1px solid rgba(255,181,75,.45);background:linear-gradient(135deg,rgba(12,23,42,.96),rgba(18,27,49,.94));box-shadow:0 24px 70px rgba(0,0,0,.42),0 0 0 1px rgba(255,148,45,.14);overflow:hidden;animation:completePopupIn .72s cubic-bezier(.19,.9,.3,1.18) forwards}
.complete-popup.hide{animation:completePopupOut .45s ease forwards}
.complete-popup:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 14% 25%,rgba(255,159,54,.18),transparent 30%),radial-gradient(circle at 90% 10%,rgba(88,122,255,.18),transparent 30%);pointer-events:none}
.complete-popup-badge{position:relative;width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:radial-gradient(circle at 35% 35%,rgba(255,177,61,.32),rgba(29,51,95,.45));border:1px solid rgba(255,169,53,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 12px 28px rgba(255,140,42,.18)}
.complete-popup-badge img{width:52px;height:52px;display:block;filter:drop-shadow(0 5px 14px rgba(255,138,36,.24));animation:iconPop .9s cubic-bezier(.18,.89,.28,1.28)}
.complete-popup-copy{min-width:0;position:relative;z-index:1}.complete-popup-copy strong{display:block;font-size:17px;letter-spacing:-.02em}.complete-popup-copy span{display:block;color:#9eacc7;font-size:12px;text-transform:uppercase;letter-spacing:.16em;margin-bottom:4px}.complete-popup-copy p{margin:3px 0 0;color:#d9e5fb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.complete-popup-kicker{align-self:start;padding:7px 10px;border-radius:999px;background:rgba(67,211,160,.12);border:1px solid rgba(67,211,160,.28);color:#7bf0c5;font-weight:800;font-size:11px;letter-spacing:.08em;text-transform:uppercase;position:relative;z-index:1}
.complete-popup-trail{position:absolute;inset:auto auto 0 0;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(255,151,41,.12),transparent 62%);transform:translate(-28% , 32%)}

@keyframes iconPop{0%{transform:scale(.55) rotate(-18deg);opacity:.2}55%{transform:scale(1.12) rotate(6deg);opacity:1}100%{transform:scale(1) rotate(0)}}
@keyframes uiPulse{0%{transform:scale(1)}40%{transform:scale(1.04)}100%{transform:scale(1)}}
@keyframes taskGlow{0%{box-shadow:0 0 0 rgba(255,145,40,0)}25%{box-shadow:0 0 0 1px rgba(255,145,40,.35),0 0 34px rgba(255,145,40,.18)}100%{box-shadow:0 0 0 rgba(255,145,40,0)}}
@keyframes quickLaunch{0%{transform:translateY(0)}35%{transform:translateY(-2px) scale(1.01)}100%{transform:translateY(0)}}
@keyframes avatarFloat{0%{transform:translateY(0)}40%{transform:translateY(-2px) scale(1.03)}100%{transform:translateY(0)}}
@keyframes fxBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}12%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--tx,0px)), calc(-50% + var(--ty,0px))) scale(var(--scale,1.35)) rotate(var(--rot,0deg))}}
@keyframes completePopupIn{0%{opacity:0;transform:translateY(18px) scale(.88)}55%{opacity:1;transform:translateY(-2px) scale(1.02)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes completePopupOut{0%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(12px) scale(.96)}}

@media(max-width:760px){
  .complete-popup{right:12px;left:12px;bottom:14px;min-width:0;grid-template-columns:58px 1fr;grid-template-areas:'badge copy' 'badge kicker'}
  .complete-popup-badge{grid-area:badge;width:58px;height:58px}.complete-popup-badge img{width:46px;height:46px}.complete-popup-copy{grid-area:copy}.complete-popup-kicker{grid-area:kicker;justify-self:start;margin-left:72px;margin-top:-4px}
}

/* v12 main-task celebration + rare combo */
.mission-celebration{position:fixed;inset:0;z-index:175;display:grid;place-items:center;pointer-events:none;overflow:hidden;background:radial-gradient(circle at center,rgba(18,37,79,.18),transparent 46%);animation:missionBackdropIn .28s ease forwards}
.mission-celebration.leave{animation:missionBackdropOut .55s ease forwards}
.mission-core{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;min-width:280px;max-width:min(520px,82vw);padding:22px 28px 24px;border-radius:28px;border:1px solid rgba(255,180,67,.4);background:linear-gradient(155deg,rgba(10,21,42,.95),rgba(18,29,55,.92));box-shadow:0 30px 90px rgba(0,0,0,.46),0 0 70px rgba(255,135,38,.14);backdrop-filter:blur(18px);animation:missionCoreIn .78s cubic-bezier(.16,.88,.24,1.16) both}
.mission-celebration.leave .mission-core{animation:missionCoreOut .48s ease forwards}
.mission-icon{width:104px;height:104px;margin-top:-62px;border-radius:30px;display:grid;place-items:center;background:radial-gradient(circle at 38% 30%,rgba(255,197,79,.34),rgba(28,49,92,.84) 62%,rgba(12,25,49,.94));border:1px solid rgba(255,176,60,.48);box-shadow:0 20px 44px rgba(255,133,36,.2),inset 0 0 0 1px rgba(255,255,255,.04);animation:missionIconPop .95s cubic-bezier(.16,.88,.24,1.28) both}
.mission-icon img{width:82px;height:82px;filter:drop-shadow(0 10px 20px rgba(255,139,34,.3))}
.mission-kicker{margin-top:14px;color:#ffb85e;font-size:11px;font-weight:900;letter-spacing:.22em;text-transform:uppercase;animation:missionTextIn .55s .22s ease both}
.mission-title{margin-top:4px;font-size:30px;font-weight:950;letter-spacing:-.035em;color:#fff;text-shadow:0 3px 20px rgba(0,0,0,.24);animation:missionTextIn .55s .3s ease both}
.mission-task{margin-top:6px;max-width:420px;color:#aebbd4;font-size:14px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:missionTextIn .55s .38s ease both}
.mission-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(102,157,255,.28);border-radius:50%;transform:translate(-50%,-50%) rotate(-18deg);box-shadow:0 0 35px rgba(69,127,255,.08)}
.orbit-one{width:460px;height:180px;animation:orbitSweep 1.55s ease both}
.orbit-two{width:610px;height:245px;border-color:rgba(255,166,55,.22);transform:translate(-50%,-50%) rotate(16deg);animation:orbitSweepTwo 1.8s ease both}
.mission-rays{position:absolute;left:50%;top:50%;width:540px;height:540px;transform:translate(-50%,-50%);background:repeating-conic-gradient(from 0deg,rgba(255,184,79,.12) 0 1deg,transparent 1deg 15deg);mask-image:radial-gradient(circle,transparent 0 30%,#000 50%,transparent 72%);opacity:.62;animation:raySpin 5s linear infinite}

.combo-effect{position:fixed;inset:0;z-index:185;display:grid;place-items:center;pointer-events:none;animation:comboIn .42s ease both}
.combo-effect.leave{animation:comboOut .55s ease forwards}
.combo-copy{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:2px;padding:18px 28px 20px;border-radius:24px;background:linear-gradient(145deg,rgba(19,24,52,.94),rgba(37,25,65,.93));border:1px solid rgba(183,111,255,.42);box-shadow:0 26px 80px rgba(0,0,0,.45),0 0 60px rgba(142,91,255,.16);animation:comboCopyIn .72s cubic-bezier(.16,.88,.24,1.16) both}
.combo-copy span{color:#ffca58;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.24em}.combo-copy strong{font-size:45px;line-height:1.05;letter-spacing:-.04em;background:linear-gradient(90deg,#ffd84a,#ff8a24 38%,#a76eff 72%,#4da3ff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 32px rgba(255,138,36,.1)}.combo-copy em{font-style:normal;color:#b9c6de;font-size:13px;margin-top:4px}
.combo-ring{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);border:3px solid rgba(255,194,74,.3);box-shadow:0 0 40px rgba(255,170,53,.1)}
.ring-a{width:330px;height:330px;animation:comboRing 1.6s ease both}.ring-b{width:470px;height:470px;border-color:rgba(117,97,255,.2);animation:comboRing 1.8s .08s ease both}
body.combo-flash:after{content:"";position:fixed;inset:0;z-index:180;pointer-events:none;background:radial-gradient(circle at center,rgba(255,205,95,.14),rgba(107,91,255,.06) 32%,transparent 66%);animation:comboFlash .42s ease both}

@keyframes missionBackdropIn{from{opacity:0}to{opacity:1}}
@keyframes missionBackdropOut{from{opacity:1}to{opacity:0}}
@keyframes missionCoreIn{0%{opacity:0;transform:translateY(22px) scale(.76)}58%{opacity:1;transform:translateY(-4px) scale(1.04)}100%{transform:translateY(0) scale(1)}}
@keyframes missionCoreOut{to{opacity:0;transform:translateY(-12px) scale(.96)}}
@keyframes missionIconPop{0%{opacity:0;transform:translateY(18px) scale(.45) rotate(-18deg)}62%{opacity:1;transform:translateY(-3px) scale(1.12) rotate(7deg)}100%{transform:translateY(0) scale(1) rotate(0)}}
@keyframes missionTextIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes orbitSweep{0%{opacity:0;transform:translate(-50%,-50%) rotate(-40deg) scale(.55)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) rotate(12deg) scale(1.2)}}
@keyframes orbitSweepTwo{0%{opacity:0;transform:translate(-50%,-50%) rotate(42deg) scale(.6)}42%{opacity:.8}100%{opacity:0;transform:translate(-50%,-50%) rotate(-4deg) scale(1.18)}}
@keyframes raySpin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes comboIn{from{opacity:0}to{opacity:1}}
@keyframes comboOut{to{opacity:0;transform:scale(.98)}}
@keyframes comboCopyIn{0%{opacity:0;transform:scale(.55) rotate(-4deg)}55%{opacity:1;transform:scale(1.1) rotate(1deg)}100%{transform:scale(1) rotate(0)}}
@keyframes comboRing{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}28%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}
@keyframes comboFlash{0%{opacity:0}35%{opacity:1}100%{opacity:0}}

@media(max-width:760px){.mission-core{min-width:0;width:min(86vw,400px);padding:20px 20px 22px}.mission-icon{width:86px;height:86px;margin-top:-50px;border-radius:24px}.mission-icon img{width:68px;height:68px}.mission-title{font-size:25px}.orbit-one{width:330px;height:145px}.orbit-two{width:430px;height:190px}.mission-rays{width:420px;height:420px}.combo-copy strong{font-size:38px}.ring-a{width:260px;height:260px}.ring-b{width:350px;height:350px}}

/* v13 XP / level system */
.profile-xp{grid-column:1/-1;padding-top:7px;margin-top:2px;border-top:1px solid rgba(143,166,214,.12)}
.profile-xp-head{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#7383a0;letter-spacing:.02em;margin-bottom:6px}
.profile-xp-head span:first-child{color:#c9d5ea;font-weight:800}
.profile-copy b{color:#ffd35c;font-size:10px;letter-spacing:.03em}
.xp-track{height:6px;border-radius:999px;background:#081326;border:1px solid rgba(151,177,230,.12);overflow:hidden;box-shadow:inset 0 1px 3px rgba(0,0,0,.35)}
.xp-track span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#ff8a24,#ffd84a 46%,#4da3ff);box-shadow:0 0 14px rgba(255,181,60,.28);transition:width .65s cubic-bezier(.2,.8,.2,1)}
.xp-float{position:fixed;z-index:205;transform:translate(-50%,-50%);font-size:13px;font-weight:950;color:#ffd85b;text-shadow:0 0 16px rgba(255,179,56,.75),0 2px 8px rgba(0,0,0,.45);pointer-events:none;animation:xpFloat 1.05s cubic-bezier(.18,.82,.28,1) forwards}
.mission-xp{margin:14px auto 0;width:max-content;padding:7px 12px;border-radius:999px;background:rgba(255,184,60,.12);border:1px solid rgba(255,190,73,.35);color:#ffd869;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 0 24px rgba(255,159,39,.12)}
.levelup-effect{position:fixed;inset:0;z-index:198;display:grid;place-items:center;pointer-events:none;background:radial-gradient(circle at center,rgba(51,83,172,.18),transparent 50%);animation:levelBackdrop .35s ease both}
.levelup-effect.leave{animation:levelBackdropOut .55s ease forwards}
.levelup-orbit{position:absolute;width:360px;height:130px;border:2px solid rgba(255,203,79,.58);border-radius:50%;transform:rotate(-12deg);box-shadow:0 0 28px rgba(255,173,47,.16);animation:levelOrbit 2.2s linear infinite}
.levelup-orbit:before,.levelup-orbit:after{content:"";position:absolute;border-radius:50%;background:#ffd84a;box-shadow:0 0 15px #ff9b2f}
.levelup-orbit:before{width:13px;height:13px;left:36px;top:13px}.levelup-orbit:after{width:8px;height:8px;right:48px;bottom:5px;background:#4da3ff;box-shadow:0 0 14px #4da3ff}
.levelup-card{position:relative;text-align:center;min-width:290px;padding:28px 34px 24px;border-radius:28px;border:1px solid rgba(255,188,67,.38);background:linear-gradient(150deg,rgba(15,28,53,.97),rgba(12,22,42,.95));box-shadow:0 35px 100px rgba(0,0,0,.5),0 0 65px rgba(255,158,38,.13);animation:levelCardIn .75s cubic-bezier(.18,.9,.24,1.22) both;overflow:hidden}
.levelup-card:before{content:"";position:absolute;inset:-80px;background:conic-gradient(from 0deg,transparent,rgba(255,199,79,.11),transparent 26%,rgba(77,163,255,.1),transparent 54%,rgba(155,104,255,.09),transparent);animation:levelSpin 7s linear infinite}
.levelup-card>*{position:relative;z-index:1}
.levelup-icon{width:74px;height:74px;margin:0 auto 13px;border-radius:22px;display:grid;place-items:center;background:radial-gradient(circle at 35% 28%,rgba(255,192,73,.26),rgba(45,68,126,.28));border:1px solid rgba(255,184,58,.25);box-shadow:0 12px 32px rgba(255,146,33,.16)}
.levelup-icon img{width:62px;height:62px;filter:drop-shadow(0 7px 15px rgba(255,139,30,.28));animation:iconPop .95s cubic-bezier(.18,.89,.28,1.28)}
.levelup-card span{display:block;text-transform:uppercase;letter-spacing:.22em;color:#93a7ca;font-size:10px;font-weight:850}
.levelup-card strong{display:block;font-size:42px;line-height:1.05;margin-top:4px;letter-spacing:-.04em;background:linear-gradient(180deg,#fff4b1,#ffb23f 75%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 8px 35px rgba(255,168,46,.12)}
.levelup-card p{margin:10px 0 0;color:#c7d4e9;font-size:13px}
.levelup-effect.leave .levelup-card{animation:levelCardOut .5s ease forwards}

@keyframes xpFloat{0%{opacity:0;transform:translate(-50%,-35%) scale(.72)}20%{opacity:1;transform:translate(-50%,-65%) scale(1.06)}100%{opacity:0;transform:translate(-50%,-180%) scale(.95)}}
@keyframes levelBackdrop{from{opacity:0}to{opacity:1}}
@keyframes levelBackdropOut{from{opacity:1}to{opacity:0}}
@keyframes levelCardIn{0%{opacity:0;transform:scale(.6) rotate(-4deg)}60%{opacity:1;transform:scale(1.06) rotate(1deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes levelCardOut{to{opacity:0;transform:translateY(15px) scale(.92)}}
@keyframes levelOrbit{from{transform:rotate(-12deg)}to{transform:rotate(348deg)}}
@keyframes levelSpin{to{transform:rotate(360deg)}}

@media(max-width:760px){
  .profile-xp-head{font-size:8.5px}.levelup-card{min-width:0;width:calc(100vw - 42px);padding:24px}.levelup-orbit{width:310px;height:112px}.levelup-card strong{font-size:36px}
}

/* v14 productivity features */
.topbar{gap:12px}.notif-wrap{position:relative;z-index:4;margin-left:auto}.notif-button{width:42px;height:42px;border:1px solid var(--line-strong);background:#13213c;border-radius:13px;font-size:18px;color:#fff}.notif-button:hover{background:#203359}.notif-badge{position:absolute;right:-5px;top:-5px;background:#ff7d33;border-radius:99px;padding:1px 5px;font-size:10px;font-weight:900;color:white}.notif-panel{position:absolute;top:50px;right:0;width:min(360px,90vw);max-height:410px;overflow:auto;border-radius:16px;background:#101b31;border:1px solid var(--line-strong);box-shadow:0 25px 65px #0009;z-index:80}.notif-panel-head{padding:13px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.notif-panel-head button{background:none;border:0;color:#7db9ff;font-size:11px}.notif-row{display:flex;width:100%;gap:10px;text-align:left;padding:12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:#dce7f8}.notif-row:hover,.notif-row.unread{background:#1b2a47}.notif-row small{display:block;color:#8b9db9;margin-top:5px}.task-filters{display:grid;grid-template-columns:1fr 190px;gap:10px;margin-bottom:14px}.task-filters input,.task-filters select{padding:9px 12px}.activity-entry{padding:9px 0;border-bottom:1px solid var(--line);color:#aebcda;font-size:12px}.activity-entry strong{color:#f3f6ff}.activity-entry time{display:block;color:#7183a4;font-size:10px;margin-top:2px}.mention-hint{font-size:11px;color:#7183a4;margin:7px 0 0}.slack-test{margin:12px 0;padding:12px;border-top:1px solid var(--line)}@media(max-width:760px){.task-filters{grid-template-columns:1fr}.notif-wrap{margin-left:auto}.notif-panel{right:-64px}}


/* v16 Social Media final delivery */
.final-delivery-section{border:1px solid rgba(255,179,0,.22);background:linear-gradient(135deg,rgba(255,179,0,.055),rgba(90,110,255,.035));border-radius:16px;padding:14px}
.final-drive-inline input{min-width:0;flex:1}
.final-drive-help{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.45}
.final-drive-link{display:flex;align-items:center;gap:8px;padding:11px 13px;border-radius:12px;background:rgba(255,179,0,.08);border:1px solid rgba(255,179,0,.2);text-decoration:none;font-weight:700}
.final-drive-link:hover{transform:translateY(-1px);background:rgba(255,179,0,.12)}
