:root{--accent:#6366f1;--scale:1;--bg:#f4f5f7;--surface:#fff;--surface-2:#f8f9fb;--border:#e3e5ea;--border-strong:#cfd3da;--text:#1d2129;--muted:#6b7280;--hover:#f1f2f5;--danger:#dc2626;--warn:#d97706;--ok:#16a34a;--radius:10px;--gap:14px;--pad:12px;--item-py:7px;--shadow:0 1px 2px #1018280d, 0 1px 3px #10182812;--shadow-lg:0 20px 50px #10182840;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#14161b;--surface:#1d2027;--surface-2:#22252d;--border:#2e323c;--border-strong:#3b404c;--text:#e6e8ed;--muted:#9aa1ad;--hover:#292d36;--danger:#f87171;--warn:#fbbf24;--ok:#4ade80;--shadow:none;--shadow-lg:0 20px 50px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-density=compact]{--gap:10px;--pad:9px;--item-py:4px}[data-density=spacious]{--gap:20px;--pad:16px;--item-py:11px}*{box-sizing:border-box}html{font-size:calc(14px * var(--scale))}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Segoe UI Variable Text,Segoe UI,system-ui,-apple-system,sans-serif}#root{height:100vh}button,input,select,textarea{font:inherit;color:inherit}code{background:var(--surface-2);border:1px solid var(--border);word-break:break-all;border-radius:5px;padding:1px 5px;font-family:Cascadia Code,Consolas,monospace;font-size:.85em}.spacer{flex:1}.dim{color:var(--muted)}.hint{color:var(--muted);font-size:.86rem;display:block}.grow{flex:1;min-width:0}.fatal{color:var(--muted);padding:40px}.btn{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;height:2.3rem;padding:0 12px;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--hover)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){filter:brightness(1.08)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--hover);color:var(--text)}.btn.sm{height:1.9rem;padding:0 9px;font-size:.9rem}.icon-btn{width:2.3rem;height:2.3rem;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;place-items:center;padding:0;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn.on{color:var(--accent)}.icon-btn.sm{border-radius:6px;width:1.75rem;height:1.75rem}input:not([type]),input[type=text],input[type=url],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],select,textarea{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;outline:none;min-width:0;height:2.3rem;padding:0 10px}textarea{resize:vertical;height:auto;padding:8px 10px;line-height:1.45}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}select{cursor:pointer}input[type=range]{accent-color:var(--accent);width:220px}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.check{appearance:none;border:1.5px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;width:1.15rem;height:1.15rem;margin:0;transition:all .12s;display:grid}.check:hover{border-color:var(--accent)}.check:checked{background:var(--ok);border-color:var(--ok)}.check:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:.3rem;height:.55rem;transform:translateY(-1px)rotate(45deg)}.switch{appearance:none;background:var(--border-strong);cursor:pointer;border-radius:99px;flex-shrink:0;width:2.4rem;height:1.35rem;margin:0;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:calc(1.35rem - 4px);height:calc(1.35rem - 4px);transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(1.05rem)}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;flex-wrap:wrap;gap:2px;padding:2px;display:inline-flex}.seg button{cursor:pointer;height:1.95rem;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:0 11px;display:inline-flex}.seg button:hover{color:var(--text)}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow), 0 0 0 1px var(--border);font-weight:600}[data-theme=dark] .seg button.on{background:var(--hover)}.chip{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;white-space:nowrap;border-radius:99px;align-items:center;gap:5px;height:1.7rem;padding:0 9px;font-size:.86rem;display:inline-flex}button.chip:hover{background:var(--hover)}.dot{border-radius:50%;flex-shrink:0;width:.6rem;height:.6rem;display:inline-block}.pill{white-space:nowrap;border-radius:99px;padding:2px 8px;font-size:.76rem;font-weight:600;line-height:1.35;display:inline-block}.tag{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-radius:5px;padding:0 6px;font-size:.72rem;font-weight:600;display:inline-block}.count{background:var(--surface-2);min-width:1.4rem;height:1.4rem;color:var(--muted);border-radius:99px;place-items:center;padding:0 5px;font-size:.78rem;font-weight:600;display:inline-grid}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.row>input{flex:1}.app{flex-direction:column;height:100vh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;display:flex}.brand{align-items:center;gap:8px;margin-right:6px;font-size:1.1rem;font-weight:700;display:flex}.search{border:1px solid var(--border-strong);background:var(--surface);height:2.3rem;color:var(--muted);border-radius:8px;flex:0 240px;align-items:center;gap:6px;min-width:130px;padding:0 6px 0 10px;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.search input{height:100%;color:var(--text);background:0 0;flex:1;padding:0;box-shadow:none!important;border:0!important}.subbar{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 55%, var(--bg));flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;display:flex}.quickadd{border:1px dashed var(--border-strong);background:var(--surface);min-width:320px;height:2.5rem;color:var(--muted);border-radius:10px;flex:420px;align-items:center;gap:8px;padding:0 4px 0 12px;display:flex}.quickadd:focus-within{border-style:solid;border-color:var(--accent)}.quickadd>input{height:100%;color:var(--text);background:0 0;flex:1;padding:0;box-shadow:none!important;border:0!important}.qa-preview{color:var(--text);align-items:center;gap:5px;display:flex}.chip-select{font-size:.86rem;border-radius:99px!important;height:1.7rem!important;padding:0 6px!important}.chip-select.missing{border-color:var(--warn)!important}.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filters select{height:2.1rem}.sort{color:var(--muted);border-left:1px solid var(--border);align-items:center;gap:4px;padding-left:6px;display:flex}.content{flex:1;min-height:0;display:flex}.main{flex:1;min-width:0;padding:16px;overflow:auto}.item{padding:var(--item-py) 10px;cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:9px;transition:background .12s;display:flex;position:relative}.item:hover{background:var(--hover)}.item .check{margin-top:2px}.item-main{flex:1;min-width:0}.item-title{word-break:break-word;line-height:1.35}.item-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;font-size:.8rem;display:flex}.item .pill{margin-top:1px}.item.ps-tint{background:color-mix(in srgb, var(--pc) 13%, var(--surface));border-color:color-mix(in srgb, var(--pc) 28%, transparent)}.item.ps-tint:hover{background:color-mix(in srgb, var(--pc) 21%, var(--surface))}.item.ps-bar{box-shadow:inset 3px 0 0 var(--pc);border-radius:3px 8px 8px 3px}.item.is-done{opacity:.55}.item.is-done .item-title{text-decoration:line-through}.item[draggable=true]{cursor:grab}.item+.item{margin-top:5px}.due.u-overdue{color:var(--danger);font-weight:600}.due.u-today{color:var(--warn);font-weight:600}.due.u-soon{color:var(--warn)}.course-tag{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.course-tag i{border-radius:3px;width:.55rem;height:.55rem;display:inline-block}.board{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(290px,1fr));align-items:start;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);border-top:4px solid var(--cc);transition:box-shadow .15s,transform .15s;overflow:hidden}.card.drag-over{box-shadow:0 0 0 2px var(--accent)}.card-head{cursor:grab;align-items:center;gap:6px;padding:9px 8px 6px 6px;display:flex}.grip{color:var(--muted);opacity:.4;display:grid}.card-head:hover .grip{opacity:.9}.card-title{flex:1;align-items:center;gap:7px;min-width:0;display:flex}.card-title h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.02rem;font-weight:650;overflow:hidden}.card-sub{color:var(--muted);margin-top:-3px;padding:0 12px 6px 30px;font-size:.8rem}.card-body{padding:2px var(--pad) var(--pad)}.empty-add{border:1px dashed var(--border);width:100%;color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:12px;font-size:.88rem}.empty-add:hover{border-color:var(--accent);color:var(--accent)}.add-card{border:2px dashed var(--border-strong);box-shadow:none;min-height:110px;color:var(--muted);cursor:pointer;background:0 0;border-top-width:2px;justify-content:center;align-items:center;gap:8px;font-size:.95rem;display:flex}.add-card:hover{border-color:var(--accent);color:var(--accent)}.empty{color:var(--muted);padding:14px 4px;font-size:.9rem}.empty.big{text-align:center;grid-column:1/-1;padding:40px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:auto}.table{border-collapse:collapse;width:100%}.table th{background:var(--surface-2);text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;z-index:1;padding:9px 10px;font-size:.78rem;font-weight:600;position:sticky;top:0}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--text)}.table th .arrow{color:var(--accent);margin-left:4px}.table td{padding:var(--item-py) 10px;border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr{cursor:pointer}.table tbody tr:hover td{background:var(--hover)}.table tr.ps-tint td{background:color-mix(in srgb, var(--pc) 10%, var(--surface))}.table tr.ps-tint:hover td{background:color-mix(in srgb, var(--pc) 17%, var(--surface))}.table tr.ps-tint td:first-child,.table tr.ps-bar td:first-child{box-shadow:inset 4px 0 0 var(--pc)}.table tr.is-done{opacity:.55}.table tr.is-done .item-title{text-decoration:line-through}.c-check{width:38px}.c-title{min-width:220px}.c-due{white-space:nowrap}.c-notes{text-overflow:ellipsis;white-space:nowrap;max-width:280px;color:var(--muted);overflow:hidden}.status-select{font-size:.85rem;height:1.9rem!important}.status-select.st-in_progress{color:var(--accent);border-color:var(--accent)!important}.status-select.st-done{color:var(--ok)}.week-nav{align-items:center;gap:6px;margin-bottom:12px;display:flex}.week-nav h2{margin:0 8px;font-size:1.15rem}.week-grid{grid-template-columns:repeat(7,minmax(150px,1fr));gap:8px;padding-bottom:4px;display:grid;overflow-x:auto}.day{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:340px;box-shadow:var(--shadow);flex-direction:column;display:flex}.day.is-past{background:color-mix(in srgb, var(--surface) 60%, var(--bg))}.day.is-today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.day.drag-over,.undated.drag-over{box-shadow:0 0 0 2px var(--accent)}.day-head{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:8px 6px 6px 10px;display:flex}.dow{text-transform:uppercase;color:var(--muted);letter-spacing:.04em;font-size:.78rem;font-weight:600}.dnum{font-size:1.15rem;font-weight:650}.is-today .dnum{color:var(--accent)}.day-body{flex:1;padding:6px}.day-body .item{grid-template-columns:auto minmax(0,1fr);gap:4px 7px;padding:6px 7px;display:grid}.day-body .item .pill{grid-column:2;justify-self:start}.undated{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:14px;padding:10px 12px}.undated h3{align-items:center;gap:8px;margin:0 0 8px;font-size:.95rem;display:flex}.undated-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:5px;display:grid}.undated-list .item+.item{margin-top:0}.sidebar{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;width:310px;min-height:0;display:flex}.today-head{border-bottom:1px solid var(--border);padding:16px 16px 12px}.today-dow{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:700}.today-date{margin-top:1px;font-size:1.5rem;font-weight:700}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.stats>*{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex-direction:column;padding:7px 8px;display:flex}.stat-btn{font:inherit;color:inherit;text-align:left;cursor:pointer}.stat-btn:hover{border-color:var(--ok)!important}[hidden]{display:none!important}.completed{max-width:920px}.completed-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;display:flex}.completed-head h2{margin:0 0 3px;font-size:1.25rem}.done-total{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;align-items:center;padding:8px 18px;display:flex}.done-total b{color:var(--ok);font-size:1.6rem;line-height:1.1}.done-total span{color:var(--muted);font-size:.75rem}.done-chips{flex-wrap:wrap;gap:6px;display:flex}.done-group h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);align-items:center;gap:8px;margin:18px 2px 6px;font-size:.8rem;display:flex}.done-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.done-row{padding:var(--item-py) 12px;border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;display:flex}.done-row:last-child{border-bottom:0}.done-row:hover{background:var(--hover)}.done-row .item-title{text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 70%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 70%, transparent)}.stats b{font-size:1.2rem}.stats span{color:var(--muted);font-size:.75rem}.stats .bad b{color:var(--danger)}.stats .good b{color:var(--ok)}.side-scroll{padding:6px 10px 16px;overflow:auto}.side-section h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);align-items:center;gap:8px;margin:12px 4px 6px;font-size:.8rem;display:flex}.side-section.bad h4{color:var(--danger)}.side-section.warn h4{color:var(--warn)}.modal-backdrop{z-index:50;background:#0f121973;place-items:center;padding:20px;animation:.12s ease-out fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);max-width:100%;max-height:calc(100vh - 40px);box-shadow:var(--shadow-lg);border-radius:14px;flex-direction:column;animation:.14s ease-out pop;display:flex}.modal-head{align-items:center;padding:14px 14px 6px 20px;display:flex}.modal-head h2{flex:1;margin:0;font-size:1.15rem}.modal-body{padding:8px 20px 16px;overflow:auto}.modal-foot{border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 14px 14px;align-items:center;gap:8px;padding:12px 20px;display:flex}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px)scale(.99)}}.form{flex-direction:column;gap:14px;display:flex}.title-input{font-size:1.15rem;font-weight:600;height:2.8rem!important}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>span{color:var(--muted);font-size:.8rem;font-weight:600}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1.4fr;gap:12px;display:grid}.prio-picker{flex-wrap:wrap;gap:6px;display:flex}.prio-btn{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:99px;align-items:center;gap:6px;height:2rem;padding:0 11px;font-size:.88rem;display:inline-flex}.prio-btn i{border-radius:50%;width:.6rem;height:.6rem}.prio-btn.on{font-weight:650}.prio-btn.on i{background:currentColor!important}.prio-btn:not(.on):hover{background:color-mix(in srgb, var(--pc) 14%, var(--surface))}.subtasks{flex-direction:column;gap:4px;display:flex}.subtask{align-items:center;gap:8px;display:flex}.subtask-text{flex:1;background:0 0!important;border-color:#0000!important;height:2rem!important}.subtask-text:focus{border-color:var(--accent)!important}.subtask-text.is-done{color:var(--muted);text-decoration:line-through}.subtask-new{border-style:dashed!important;height:2rem!important}.swatches{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:1.7rem;height:1.7rem;padding:0;box-shadow:inset 0 0 0 1px #0000001a}.swatch.on{outline:2px solid var(--text);outline-offset:2px}.swatch.custom{background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);position:relative;overflow:hidden}.swatch.custom input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.toggle-label{font-weight:550}.settings{grid-template-columns:170px 1fr;gap:20px;min-height:420px;display:grid}.settings-nav{border-right:1px solid var(--border);flex-direction:column;gap:2px;padding-right:12px;display:flex}.settings-nav button{text-align:left;cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:8px 10px}.settings-nav button:hover{background:var(--hover);color:var(--text)}.settings-nav button.on{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);font-weight:600}.settings-body{flex-direction:column;gap:6px;min-width:0;display:flex}.set-row{grid-template-columns:170px 1fr;align-items:center;gap:14px;padding:8px 0;display:grid}.set-label{font-weight:550}.set-h{margin:14px 0 2px;font-size:.95rem}.set-h:first-child{margin-top:0}.checks{flex-wrap:wrap;gap:6px 16px;display:flex}.check-label{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.check-label input{accent-color:var(--accent)}.key-list{flex-direction:column;gap:6px;margin:6px 0 10px;display:flex}.key-row{align-items:center;gap:8px;display:flex}.key-row input[type=color]{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:8px;width:2.3rem;height:2.3rem;padding:2px}.key-row input:not([type=color]){flex:1}.key-row .pill{text-align:center;min-width:90px}.class-list{flex-direction:column;gap:4px;margin:6px 0 12px;display:flex}.class-row{border:1px solid var(--border);border-radius:8px;align-items:center;gap:10px;padding:7px 8px;display:flex}.class-row.archived{opacity:.55}.status-box{border:1px solid var(--border);background:var(--surface-2);border-radius:9px;align-items:center;gap:10px;margin:6px 0;padding:10px 12px;display:flex}.status-box.ok{border-color:color-mix(in srgb, var(--ok) 50%, transparent);color:var(--ok);font-weight:600}.code-row{align-items:center;gap:8px;display:flex}.code-row code{flex:1;padding:6px 8px}.toast{color:#fff;box-shadow:var(--shadow-lg);z-index:100;background:#1f2430;border-radius:10px;max-width:min(600px,90vw);padding:10px 16px;animation:.15s ease-out pop;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast.error{background:var(--danger)}@media (width<=1100px){.sidebar{width:270px}.grid-3{grid-template-columns:1fr 1fr}}.sync-badge{border:1px solid var(--border);background:var(--surface);height:2.1rem;color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:0 10px;font-size:.82rem;display:inline-flex}.sync-badge:hover{color:var(--text)}.sync-badge.compact{background:0 0;border-color:#0000;justify-content:center;width:2.6rem;height:2.6rem;padding:0;position:relative}.sync-badge.compact .sync-dot{box-shadow:0 0 0 2px var(--surface);position:absolute;bottom:9px;right:8px}.sync-dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:7px;height:7px}.st-synced .sync-dot{background:var(--ok)}.st-syncing .sync-dot,.st-checking .sync-dot{background:var(--accent);animation:.9s ease-in-out infinite alternate pulse}.st-offline .sync-dot{background:var(--warn)}.st-error .sync-dot{background:var(--danger)}@keyframes pulse{to{opacity:.25}}.signin{min-height:100dvh;padding:calc(env(safe-area-inset-top) + 24px) 20px calc(env(safe-area-inset-bottom) + 24px);background:radial-gradient(120% 70% at 50% 0%, color-mix(in srgb, var(--accent) 16%, var(--bg)), var(--bg));flex-direction:column;justify-content:center;align-items:center;display:flex}.signin-card{background:var(--surface);border:1px solid var(--border);width:min(400px,100%);box-shadow:var(--shadow-lg);border-radius:20px;padding:28px 22px 18px}.signin-brand{flex-direction:column;align-items:center;gap:10px;margin-bottom:8px;display:flex}.signin-brand h1{margin:0;font-size:1.45rem}.sign-form{flex-direction:column;gap:12px;display:flex}.signin .sign-form .hint{text-align:center;margin-bottom:4px}.settings-body .sign-form{max-width:360px}.btn.big{justify-content:center;height:2.9rem;font-size:1rem}.form-error{color:var(--danger);font-size:.9rem}.form-info{color:var(--ok);font-size:.9rem}.install-hint{text-align:center;max-width:400px;color:var(--muted);margin-top:18px;font-size:.9rem;line-height:1.5}.phone-setup{align-items:center;gap:18px;margin-top:6px;display:flex}.phone-setup img{border:1px solid var(--border);background:#fff;border-radius:12px;width:150px;height:150px;padding:6px}.phone-setup ol{margin:0;padding-left:18px;line-height:1.8}.mtopbar,.bottom-nav,.fab{display:none}@media (width<=720px){html{font-size:calc(15px * var(--scale))}body{overscroll-behavior-y:none}button,input,select,textarea,.item,.done-row{-webkit-tap-highlight-color:transparent;touch-action:manipulation}input,select,textarea{font-size:16px!important}#root,.app{height:100dvh}.mtopbar{padding:calc(env(safe-area-inset-top) + 6px) 8px 6px 16px;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:2px;display:flex}.mtopbar .brand{gap:10px;margin:0;font-size:1.3rem;font-weight:750}.mtopbar .icon-btn{width:2.6rem;height:2.6rem}.icon-btn.has-dot{position:relative}.icon-btn.has-dot:after{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:9px;right:9px}.subbar{gap:8px;padding:8px 12px}.subbar .search{flex:100%;width:auto}.quickadd{flex-wrap:wrap;flex:100%;row-gap:0;min-width:0;height:auto;min-height:2.8rem;padding:3px 4px 3px 12px}.quickadd>input{flex:60%;height:2.5rem}.qa-preview{flex-wrap:wrap;flex:100%;order:3;padding:0 0 6px 24px}.filters{scrollbar-width:none;flex-wrap:nowrap;flex:100%;padding-bottom:2px;overflow-x:auto}.filters select{flex:none;max-width:60vw}.sort{border-left:0;padding-left:0}.main{padding:12px 12px calc(env(safe-area-inset-bottom) + 90px)}.board{gap:12px;grid-template-columns:1fr!important}.add-card{min-height:64px}.card-head{cursor:default;padding:10px 8px 6px 14px}.card-head .grip{display:none}.item{gap:12px;padding:10px}.item .check{margin-top:0}.check{width:1.5rem;height:1.5rem}.mlist{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:6px}.week-nav{flex-wrap:wrap}.week-nav h2{font-size:1.05rem}.week-nav .hint{display:none}.week-grid{grid-template-columns:1fr;overflow:visible}.day{min-height:0}.day-head{border-bottom:0;padding:8px 6px 8px 12px}.day-body{padding:0 6px}.day-body:not(:empty){padding-bottom:6px}.day-body .item{display:flex}.dnum{font-size:1rem}.undated-list{grid-template-columns:1fr}.sidebar.page{background:0 0;border:0;width:auto}.sidebar.page .today-head{border:0;padding:2px 2px 10px}.sidebar.page .side-scroll{padding:0;overflow:visible}.sidebar.page .side-section h4{margin-top:16px}.sidebar.page .item+.item{margin-top:6px}.done-chips{flex-wrap:nowrap;overflow-x:auto}.done-row{padding:11px 12px}.completed-head .hint{font-size:.82rem}.completed-head h2,.sidebar.page .today-dow{display:none}.bottom-nav{z-index:30;padding:4px 6px calc(env(safe-area-inset-bottom) + 2px);background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:saturate(1.8)blur(18px);backdrop-filter:saturate(1.8)blur(18px);border-top:1px solid var(--border);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 0 4px;font-size:.68rem;font-weight:600;display:flex;position:relative}.bottom-nav button.on{color:var(--accent)}.nav-count{background:var(--ok);color:#fff;border-radius:99px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.66rem;display:grid;position:absolute;top:2px;left:calc(50% + 6px)}.fab{right:18px;bottom:calc(env(safe-area-inset-bottom) + 74px);z-index:31;background:var(--accent);color:#fff;width:58px;height:58px;box-shadow:0 10px 24px color-mix(in srgb, var(--accent) 45%, transparent);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid;position:fixed}.fab:active{transform:scale(.94)}.modal-backdrop{align-items:flex-end;padding:0;display:flex}.modal{max-width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 12px);border-bottom:0;border-radius:18px 18px 0 0;animation:.22s ease-out sheet;width:100%!important}.modal-head{padding:14px 10px 4px 18px}.modal-body{padding:8px 16px 16px}.modal-foot{padding:10px 16px calc(env(safe-area-inset-bottom) + 10px);border-radius:0;flex-wrap:wrap}.modal-foot .hint{display:none}.modal-foot .btn{height:2.7rem}.grid-2,.grid-3{grid-template-columns:1fr}input[type=date]{min-width:10.5rem}input[type=time]{min-width:7.5rem}.settings{grid-template-columns:1fr;gap:10px;min-height:0}.settings-nav{border-right:0;border-bottom:1px solid var(--border);scrollbar-width:none;flex-direction:row;padding:0 0 8px;overflow-x:auto}.settings-nav button{white-space:nowrap}.set-row{grid-template-columns:1fr;gap:6px}.phone-setup{flex-direction:column;align-items:flex-start}.key-row .pill{display:none}.toast{bottom:calc(env(safe-area-inset-bottom) + 86px)}}@keyframes sheet{0%{opacity:.6;transform:translateY(48px)}}
