:root{--bg:#0b0b0f;--bg-2:#0f0f14;--surface:#141419;--surface-2:#1a1a20;--surface-3:#22222a;--line:#ffffff0f;--line-2:#ffffff1a;--steel:#3a3a44;--text:#e5e5e8;--text-2:#a1a1aa;--text-3:#6b6b76;--accent:#8b5cf6;--accent-2:#a78bfa;--accent-soft:#8b5cf624;--accent-line:#8b5cf673;--danger:#f87171;--danger-soft:#f871711f;--warn:#fbbf24;--ok:#34d399;--ok-soft:#34d3991f;--r-sm:10px;--r:14px;--r-lg:18px;--shadow:0 10px 40px #00000073;--font:"Manrope Variable", "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--side:248px;--gap:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0;font-size:14px;line-height:1.45}body{-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft)}input::placeholder,textarea::placeholder{color:var(--text-3)}:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px}.touch button:focus-visible{outline:none}svg{flex-shrink:0}.app{grid-template-columns:var(--side) minmax(0, 1fr);min-height:var(--vh-fix,100vh);display:grid}.side{height:var(--vh-fix,100vh);background:var(--bg-2);border-right:1px solid var(--line);flex-direction:column;gap:2px;padding:22px 14px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:12px;padding:4px 10px 22px;display:flex}.brand img{width:34px;height:auto}.brand b{letter-spacing:.32em;font-size:15px;font-weight:600}.nav-item{border-radius:var(--r-sm);color:var(--text-2);text-align:left;align-items:center;gap:12px;width:100%;padding:9px 12px;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative}.nav-item:hover,.nav-item.on{background:var(--surface-2);color:var(--text)}.nav-item.on:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-14px}.nav-item .badge{margin-left:auto}.nav-sub{border-left:1px solid var(--line);flex-direction:column;gap:1px;margin:2px 0 6px 18px;padding-left:12px;display:flex}.nav-sub .nav-item{gap:10px;padding:6px 10px;font-size:13px}.nav-sub .nav-item.on:before{display:none}.side-gap{flex:1;min-height:16px}.main{min-width:0;padding:28px clamp(20px,3vw,40px) 60px}.wrap{max-width:1240px;margin:0 auto}.head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:22px;display:flex}.head h1{letter-spacing:-.01em;margin:0;font-size:24px;font-weight:600}.head .sub{color:var(--text-3);width:100%;margin-top:-8px;font-size:13px}.head .grow{flex:1}.head-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.topbar,.tabbar,.fab{display:none}.btn{border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line-2);height:36px;color:var(--text);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:hover{background:var(--surface-3)}.btn:active{transform:scale(.98)}.btn.primary{background:var(--accent);color:#fff;border-color:#0000}.btn.primary:hover{background:#7c4deb}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2);color:var(--text)}.btn.danger{color:var(--danger)}.btn.sm{height:30px;padding:0 10px;font-size:12px}.btn.lg{height:44px;padding:0 18px;font-size:14px}.btn.block{width:100%}.btn:disabled{opacity:.45;pointer-events:none}.icon-btn{width:32px;height:32px;color:var(--text-2);border-radius:9px;place-items:center;transition:background .15s,color .15s;display:inline-grid}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn.sm{border-radius:7px;width:26px;height:26px}.badge{background:var(--accent-soft);min-width:20px;height:20px;color:var(--accent-2);border-radius:10px;place-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-grid}.badge.mute{background:var(--surface-3);color:var(--text-2)}.badge.red{background:var(--danger-soft);color:var(--danger)}.chip{background:var(--surface-3);height:24px;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;border-radius:7px;align-items:center;gap:6px;max-width:100%;padding:0 9px;font-size:12px;font-weight:500;display:inline-flex;overflow:hidden}.chip .dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.chip.red{background:var(--danger-soft);color:var(--danger)}.chip.acc{background:var(--accent-soft);color:var(--accent-2)}.chip.ok{background:var(--ok-soft);color:var(--ok)}button.chip:hover{color:var(--text)}.seg{background:var(--surface);border:1px solid var(--line);border-radius:11px;gap:2px;padding:3px;display:inline-flex}.seg button{height:28px;color:var(--text-3);border-radius:8px;padding:0 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.seg button:hover{color:var(--text)}.seg button.on{background:var(--surface-3);color:var(--text)}.seg.wide{display:flex}.seg.wide button{flex:1}.card{background:linear-gradient(180deg, var(--surface-2), var(--surface));border:1px solid var(--line);border-radius:var(--r-lg);padding:18px}.card-h{align-items:center;gap:10px;margin-bottom:14px;display:flex}.card-h h2,.card-h h3{margin:0;font-size:15px;font-weight:600}.card-h .muted{margin-left:auto}.muted{color:var(--text-3);font-size:12px}.muted-2{color:var(--text-2)}.grid{gap:var(--gap);display:grid}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{gap:var(--gap);flex-direction:column;display:flex}.row-flex{align-items:center;gap:10px;display:flex}.empty{text-align:center;color:var(--text-3);border:1px dashed var(--line-2);border-radius:var(--r);padding:28px 16px;font-size:13px}.empty b{color:var(--text-2);margin-bottom:4px;font-size:14px;font-weight:600;display:block}.metric{text-align:left;justify-content:space-between;align-items:flex-start;padding:16px 18px;display:flex}button.card{text-align:left;transition:border-color .15s}button.card:hover{border-color:var(--line-2)}.metric .label{color:var(--text-2);font-size:12px;font-weight:500}.metric .value{letter-spacing:-.02em;margin-top:6px;font-size:28px;font-weight:600;line-height:1.1}.metric .value small{color:var(--text-3);font-size:15px;font-weight:500}.metric .ico{color:var(--text-3);margin-top:2px}.metric.wide{flex-direction:column;align-items:stretch;gap:10px}.progress{background:var(--surface-3);border-radius:6px;height:6px;overflow:hidden}.progress i{background:linear-gradient(90deg, #7c4deb, var(--accent-2));border-radius:6px;height:100%;transition:width .4s;display:block}.progress.thin{height:4px}.progress.ok i{background:var(--ok)}.check{border:1.6px solid var(--steel);color:#0000;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;margin-top:1px;transition:background .15s,border-color .15s,transform .1s;display:grid}.check:hover{border-color:var(--accent)}.check:active{transform:scale(.9)}.check.on{background:var(--accent);border-color:var(--accent);color:#fff}.check.sq{border-radius:7px;width:20px;height:20px}.check.big{width:26px;height:26px}.ring{flex-shrink:0;place-items:center;display:grid;position:relative}.ring svg{transform:rotate(-90deg)}.ring .ring-bg{stroke:var(--surface-3)}.ring .ring-fg{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .5s}.ring.full .ring-fg{stroke:var(--ok)}.ring span{font-size:11px;font-weight:700;position:absolute}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--text-3);font-size:12px;font-weight:500}.input,.select,.textarea{border-radius:var(--r-sm);background:var(--bg);border:1px solid var(--line-2);outline:0;width:100%;height:40px;padding:0 12px;font-size:14px;transition:border-color .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent-line)}.textarea{resize:vertical;height:auto;min-height:90px;padding:10px 12px;line-height:1.5}.select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-3) 50%), linear-gradient(135deg, var(--text-3) 50%, transparent 50%);background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px;background-repeat:no-repeat;background-size:5px 5px;padding-right:30px}.title-input{resize:none;background:0 0;border:0;outline:0;width:100%;padding:2px 0;font-size:20px;font-weight:600;line-height:1.3}.form{flex-direction:column;gap:14px;display:flex}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.quick-days{flex-wrap:wrap;gap:6px;display:flex}.colors{flex-wrap:wrap;gap:8px;display:flex}.colors button{border:2px solid #0000;border-radius:8px;width:28px;height:28px}.colors button.on{border-color:var(--text)}.toggle{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.toggle:last-child{border-bottom:0}.switch{background:var(--surface-3);border-radius:12px;flex-shrink:0;width:40px;height:24px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px}.switch.on{background:var(--accent)}.switch.on:after{transform:translate(16px)}.steps{flex-direction:column;gap:2px;display:flex}.step{border-radius:9px;align-items:center;gap:10px;padding:7px 8px;display:flex}.step:hover{background:var(--surface-2)}.step.cur{background:var(--accent-soft)}.step input{background:0 0;border:0;outline:0;flex:1;min-width:0;padding:2px 0;font-size:14px}.step.done input{color:var(--text-3);text-decoration:line-through}.step .icon-btn{opacity:0}.step:hover .icon-btn,.touch .step .icon-btn{opacity:1}.step-add{color:var(--text-3);align-items:center;gap:10px;padding:7px 8px;display:flex}.step-add input{background:0 0;border:0;outline:0;flex:1;font-size:14px}.scrim{z-index:40;background:#0505088c;animation:.15s fade;position:fixed;inset:0}.panel{z-index:41;background:var(--bg-2);border-left:1px solid var(--line-2);width:min(460px,100%);box-shadow:var(--shadow);flex-direction:column;animation:.2s slideIn;display:flex;position:fixed;top:0;bottom:0;right:0}.panel-h{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:14px 16px;display:flex}.panel-h .grow{flex:1;min-width:0}.panel-b{overscroll-behavior:contain;flex-direction:column;flex:1;gap:18px;padding:18px 20px 28px;display:flex;overflow-y:auto}.panel-b>*{flex-shrink:0}.panel-f{border-top:1px solid var(--line);gap:8px;padding:12px 16px;display:flex}@keyframes slideIn{0%{opacity:0;transform:translate(24px)}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}.modal-wrap{z-index:50;background:#05050899;place-items:center;padding:24px;animation:.15s fade;display:grid;position:fixed;inset:0}.modal{width:min(520px,100%);max-height:calc(var(--vh-fix,100vh) - 48px);background:var(--bg-2);border:1px solid var(--line-2);box-shadow:var(--shadow);overscroll-behavior:contain;border-radius:20px;padding:20px;animation:.18s rise;overflow-y:auto}.modal-h{align-items:center;gap:10px;margin-bottom:16px;display:flex}.modal-h h2{flex:1;margin:0;font-size:17px;font-weight:600}.modal-f{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.toast{z-index:60;background:var(--surface-3);border:1px solid var(--line-2);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:14px;max-width:calc(100% - 32px);padding:10px 12px 10px 16px;font-size:13px;font-weight:500;animation:.18s rise;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toast button{color:var(--accent-2);font-weight:700}.login{min-height:var(--vh-fix,100vh);background:radial-gradient(ellipse at 80% 110%, #8b5cf638, transparent 55%), var(--bg);place-items:center;padding:24px;display:grid}.login-card{text-align:center;flex-direction:column;align-items:center;gap:14px;width:min(400px,100%);display:flex}.login-card img{width:120px;margin-bottom:4px}.login-card .word{letter-spacing:.38em;margin-right:-.38em;font-size:30px;font-weight:500}.login-card .tag{letter-spacing:.32em;color:var(--text-3);text-transform:uppercase;margin-right:-.32em;font-size:11px}.login-card p{color:var(--text-2);margin:10px 0 4px}.wrap.narrow{max-width:980px}.grow{flex:1;min-width:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.link{color:var(--accent-2);align-self:flex-start;font-size:13px;font-weight:600}.link:hover{text-decoration:underline}.icon-btn.on{color:var(--accent-2);background:var(--accent-soft)}.nav-count{color:var(--text-3);margin-left:auto;font-size:11px;font-weight:600}.metrics{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.list{flex-direction:column;gap:6px;display:flex}.pav{object-fit:cover;background:var(--surface-3);color:#fff;letter-spacing:-.02em;flex-shrink:0;place-items:center;font-weight:700;display:inline-grid;box-shadow:inset 0 0 0 1px #ffffff14}.pav.letter{text-shadow:0 1px 8px #00000040}.pav-drop{outline-offset:3px;flex-shrink:0;display:grid;position:relative;overflow:hidden}.pav-drop .pav{width:100%!important;height:100%!important}.pav-hint{color:#fff;opacity:0;background:#0b0b0f8c;place-items:center;transition:opacity .15s;display:grid;position:absolute;inset:0}.pav-drop:hover .pav-hint,.pav-drop.over .pav-hint{opacity:1}.pav-drop.over{box-shadow:0 0 0 2px var(--accent)}.touch .pav-hint{opacity:1;background:0 0;place-items:end;padding:4px}.touch .pav-hint svg{background:#0b0b0fb3;border-radius:7px;width:22px;height:22px;padding:4px}.drop-hint{border-radius:inherit;border:2px dashed var(--accent);color:var(--text);pointer-events:none;z-index:2;background:#140e24db;place-content:center;justify-items:center;gap:8px;font-size:13px;font-weight:600;display:grid;position:absolute;inset:0}.pin-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.pin-card{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:16px;flex-direction:column;gap:12px;padding:14px;transition:border-color .15s,transform .15s;display:flex}.pin-card:hover{border-color:var(--accent-line);transform:translateY(-1px)}.pc-top{align-items:center;gap:8px;display:flex}.pc-proj{text-align:left;min-width:0;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:600;overflow:hidden}.pc-proj:hover{color:var(--text)}.pc-title{overflow-wrap:anywhere;font-size:15px;font-weight:600;line-height:1.35}.pc-prog{align-items:center;gap:12px;margin-top:auto;display:flex}.pc-info{flex-direction:column;gap:3px;min-width:0;display:flex}.pc-info b{font-size:13px;font-weight:600}.pc-info span{color:var(--text-3);align-items:center;gap:5px;font-size:12px;display:flex}.pc-step{background:var(--accent-soft);border-radius:11px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;font-weight:500;display:flex}.pc-step>span{overflow-wrap:anywhere;min-width:0}.pc-step .check{margin:0}.pc-step.ok{background:var(--ok-soft);color:var(--ok)}.pin-slot{border:1px dashed var(--line-2);min-height:220px;color:var(--text-3);border-radius:16px;place-content:center;justify-items:center;gap:6px;font-weight:600;transition:color .15s,border-color .15s;display:grid}.pin-slot:hover{color:var(--text);border-color:var(--accent-line)}.rem-row{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:11px;align-items:center;gap:12px;padding:9px 10px;display:flex}.rem-row:hover{border-color:var(--line-2)}.rem-row .grow{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.onboard{flex-direction:column;align-items:flex-start;gap:18px;padding:28px;display:flex}.onboard h2{margin:0;font-size:19px;font-weight:600}.onboard-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;display:grid}.onboard-steps>div{background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:12px;padding:14px;display:flex}.onboard-steps b{margin-bottom:4px;display:block}.proj-grid{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.proj-card{cursor:pointer;flex-direction:column;gap:14px;min-height:200px;transition:border-color .15s,transform .15s;display:flex;position:relative}.proj-card:hover{border-color:var(--line-2);transform:translateY(-1px)}.proj-card.over{border-color:var(--accent)}.pc-head{align-items:flex-start;gap:14px;display:flex}.p-title{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:16px;font-weight:600;overflow:hidden}.p-note{color:var(--text-2);-webkit-line-clamp:2;white-space:pre-line;-webkit-box-orient:vertical;margin-top:3px;font-size:13px;display:-webkit-box;overflow:hidden}.p-note.empty-note{color:var(--text-3)}.proj-card .p-next{background:var(--surface-3);overflow-wrap:anywhere;border-radius:10px;margin-top:auto;padding:10px 12px;font-size:13px}.proj-card .p-next .muted{margin-bottom:2px;display:block}.proj-add{color:var(--text-3);background:0 0;border-style:dashed;place-content:center;justify-items:center;gap:8px;min-height:200px;font-weight:600;display:grid}.proj-add:hover{color:var(--text)}.unsorted{margin-bottom:var(--gap);border-color:var(--accent-line)}.uns-row{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:11px;align-items:center;gap:10px;padding:8px 8px 8px 12px;display:flex}.uns-row .select{width:180px;height:34px}.back-link{color:var(--text-3);align-items:center;gap:4px;margin-bottom:14px;font-size:13px;font-weight:600;display:inline-flex}.back-link:hover{color:var(--text)}.proj-hero{align-items:center;gap:20px;padding:22px;display:flex;position:relative}.proj-hero.over{border-color:var(--accent)}.proj-hero h1{letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-size:24px;font-weight:600}.proj-hero .p-note{-webkit-line-clamp:4;margin-top:4px}.hero-stats{color:var(--text-3);gap:16px;margin-top:10px;font-size:13px;display:flex}.hero-stats b{color:var(--text);font-weight:600}.wrap.narrow>.card+.card{margin-top:var(--gap)}.task-row{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:13px;align-items:flex-start;gap:12px;padding:12px;transition:background .15s,border-color .15s;display:flex;position:relative}.task-row:hover{background:var(--surface-2);border-color:var(--line-2)}.task-row.next{border-color:var(--accent-line);background:linear-gradient(90deg, #8b5cf61a, var(--surface) 60%)}.task-row.drag{opacity:.4}.task-row.over{box-shadow:0 -2px 0 var(--accent)}.t-body{flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.t-title{overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.4}.t-prog{align-items:center;gap:10px;max-width:320px;display:flex}.t-prog .progress{flex:1}.t-prog span{color:var(--text-3);font-size:12px;font-weight:600}.t-step{color:var(--accent-2);align-items:center;gap:9px;font-size:13px;font-weight:500;display:flex}.t-step>span{overflow-wrap:anywhere;min-width:0}.t-step .check{border-radius:6px;width:18px;height:18px;margin:0}.t-step.ok{color:var(--ok)}.t-meta{flex-wrap:wrap;gap:6px;display:flex}.t-num{background:var(--surface-3);width:24px;height:24px;color:var(--text-2);border-radius:8px;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:inline-grid}.task-row.next .t-num{background:var(--accent);color:#fff}.t-handle{color:var(--text-3);cursor:grab;opacity:0;flex-shrink:0;margin-top:4px;transition:opacity .15s}.task-row:hover .t-handle{opacity:1}.t-actions{cursor:default;flex-shrink:0;align-items:center;gap:4px;display:flex}.done-btn{margin-left:4px}.task-row.done{align-items:center;padding:9px 10px 9px 12px}.task-row.done .t-body{gap:2px}.task-row.done .t-title{color:var(--text-2);font-weight:500}.done-ico{background:var(--ok-soft);width:24px;height:24px;color:var(--ok);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.chain-add{border:1px dashed var(--line-2);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:8px;display:flex}.chain-add input{background:0 0;border:0;outline:0;flex:1;min-width:180px;height:34px;padding:0 6px;font-size:14px}.chain-add .select{background-color:var(--surface-2);background-position:calc(100% - 15px) 14px,calc(100% - 10px) 14px;width:auto;height:32px;font-size:12px}.done-toggle{color:var(--text-3);align-items:center;gap:8px;margin-top:12px;font-size:13px;font-weight:600;display:inline-flex}.done-toggle:hover{color:var(--text-2)}.tpl-pick{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.remind{flex-direction:column;gap:10px;display:flex}.remind-now{border-radius:var(--r-sm);background:var(--surface-2);min-height:40px;color:var(--text-2);align-items:center;gap:10px;padding:6px 6px 6px 12px;font-size:13px;display:flex}.remind-now>span{flex:1}.remind-now.on{background:var(--accent-soft);color:var(--text)}.remind-now.on svg{color:var(--accent-2)}.remind-task{overflow-wrap:anywhere;margin:-4px 0 14px;font-size:15px;font-weight:600}.check-line{cursor:pointer;color:var(--text-2);font-size:13px}.check-line .check{margin:0}.check-line.off{opacity:.5;cursor:default}.proj-form-top{align-items:flex-start;gap:16px;display:flex}.pick{flex-direction:column;gap:16px;display:flex}.pick-g{flex-direction:column;gap:4px;display:flex}.pick-h{color:var(--text-2);align-items:center;gap:8px;margin-bottom:4px;font-size:12px;font-weight:700;display:flex}.pick-row{background:var(--surface);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:11px;align-items:center;gap:12px;padding:10px 12px;font-size:13.5px;font-weight:500;display:flex}.pick-row:hover{border-color:var(--line-2)}.pick-row.on{border-color:var(--accent-line);background:var(--accent-soft)}.pick-row.off{opacity:.45}.pick-row .check{margin:0}@media (max-width:899px){.app{display:block}.side{display:none}.main{padding:0 16px calc(96px + var(--safe-b,0px))}.topbar{z-index:20;padding:calc(var(--safe-t,0px) + 12px) 16px 12px;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#0b0b0fdb;align-items:center;gap:10px;margin:0 -16px 14px;display:flex;position:sticky;top:0}.topbar>img{width:26px}.topbar .icon-btn{margin-left:-6px}.topbar h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:18px;font-weight:600;overflow:hidden}.head{margin-bottom:14px}.head h1{font-size:20px}.head-actions{display:none}.tabbar{z-index:30;padding:6px 6px var(--safe-b,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);background:#0f0f14f0;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:var(--text-3);flex-direction:column;align-items:center;gap:3px;padding:7px 0 6px;font-size:11px;font-weight:600;display:flex;position:relative}.tabbar button.on{color:var(--text)}.tabbar button.on svg{color:var(--accent-2)}.tabbar .badge{min-width:16px;height:16px;padding:0 4px;font-size:10px;position:absolute;top:2px;left:calc(50% + 6px)}.fab{right:16px;bottom:calc(76px + var(--safe-b,0px));z-index:31;background:var(--accent);color:#fff;border-radius:18px;place-items:center;width:54px;height:54px;display:grid;position:fixed;box-shadow:0 8px 28px #8b5cf673}.fab:active{transform:scale(.95)}.m-hide{display:none!important}.cols-2{grid-template-columns:minmax(0,1fr)}.card{border-radius:16px;padding:14px}.metrics{gap:8px}.metric{flex-direction:column-reverse;gap:6px;padding:12px}.metric .label{font-size:11px;line-height:1.3}.metric .value{margin-top:2px;font-size:22px}.pin-grid,.proj-grid{grid-template-columns:minmax(0,1fr)}.pin-slot{grid-auto-flow:column;gap:10px;min-height:72px}.onboard{padding:18px}.onboard-steps{grid-template-columns:minmax(0,1fr)}.proj-card,.proj-add{min-height:0}.proj-add{padding:22px}.proj-hero{flex-wrap:wrap;gap:14px;padding:16px}.proj-hero>.ring{display:none}.proj-hero h1{font-size:20px}.t-handle{display:none}.task-row{flex-wrap:wrap;row-gap:10px}.task-row .t-body{flex:calc(100% - 40px)}.task-row .t-actions{justify-content:flex-end;width:100%;padding-left:36px}.task-row.done{flex-wrap:nowrap}.task-row.done .t-body{flex:1}.uns-row{flex-wrap:wrap}.uns-row .t-title{flex:100%}.uns-row .select{flex:1;width:auto}.chain-add .select{flex:1}.panel{width:100%;max-height:calc(var(--vh-fix,100vh) - var(--safe-t,0px) - 24px);border-left:0;border-top:1px solid var(--line-2);border-radius:20px 20px 0 0;animation:.2s rise;top:auto;left:0}.panel-b{padding:16px 16px 20px}.panel-f{padding-bottom:calc(12px + var(--safe-b,0px))}.modal-wrap{place-items:end stretch;padding:0}.modal{width:100%;max-height:calc(var(--vh-fix,100vh) - var(--safe-t,0px) - 24px);padding:18px 16px calc(18px + var(--safe-b,0px));border-radius:20px 20px 0 0}.form-row{grid-template-columns:minmax(0,1fr)}.toast{bottom:calc(84px + var(--safe-b,0px))}}
