*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--background);color:var(--text);-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.45}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--accent-text)}h1,h2,h3{margin:0;line-height:1.2}:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.app{grid-template-columns:228px minmax(0,1fr);min-height:100%;display:grid}.sidebar{gap:var(--space-lg);padding:var(--space-xl) var(--space-lg);border-right:1px solid var(--border);background:var(--surface);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.brand{flex-direction:column;gap:2px;display:flex}.brand-name{letter-spacing:.2px;font-size:22px;font-weight:700}.brand-tagline{color:var(--muted);font-size:13px;font-weight:500}.nav{flex-direction:column;gap:2px;display:flex}.nav-link{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--muted);font-size:15px;font-weight:600;text-decoration:none;display:flex}.nav-link:hover{background:var(--background);color:var(--text)}.nav-link[aria-current=page]{background:var(--accent-surface);color:var(--accent-text)}.nav-count{color:var(--subtle);font-size:12px;font-weight:700}.sidebar-footer{align-items:flex-start;gap:var(--space-xs);flex-direction:column;margin-top:auto;display:flex}.nav-note{padding:0 var(--space-md);color:var(--subtle);overflow-wrap:anywhere;font-size:12px;font-weight:600}.main{min-width:0;padding:var(--space-xl) var(--space-xxl)}.screen{gap:var(--space-xl);flex-direction:column;max-width:1180px;margin:0 auto;display:flex}.screen-head{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);flex-wrap:wrap;display:flex}.screen-heading{gap:var(--space-xs);flex-direction:column;display:flex}.screen-title{letter-spacing:.2px;font-size:30px;font-weight:800}.screen-sub{color:var(--muted);max-width:62ch;font-size:15px}.screen-actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--text);cursor:pointer;white-space:nowrap;font-size:15px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--subtle)}.btn:disabled{background:var(--disabled);color:var(--subtle);cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-text);border-color:var(--accent-text)}.btn-done{background:var(--done);border-color:var(--done);color:var(--on-accent)}.btn-not-tonight{border-color:var(--not-tonight);color:var(--not-tonight);background:0 0}.btn-ghost{color:var(--accent-text);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--accent-surface);border-color:#0000}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn-icon{padding:var(--space-xs) var(--space-sm);font-size:14px}.btn-sm{padding:4px var(--space-md);font-size:14px}.kbd{border:1px solid var(--border);background:var(--background);min-width:18px;color:var(--subtle);text-align:center;border-radius:5px;padding:1px 5px;font-size:11px;font-weight:700;display:inline-block}.page-columns{gap:var(--space-xxl);grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);align-items:start;max-width:1180px;margin:0 auto;display:grid}.page-main{gap:var(--space-lg);flex-direction:column;min-width:0;display:flex}.deck-column{gap:var(--space-md);flex-direction:column;min-width:0;display:flex}.side-panel{padding:var(--space-md);gap:var(--space-sm)}.side-panel .row{padding:4px var(--space-sm);font-size:14px}.done-head{gap:var(--space-xs);flex-direction:column;display:flex}.side-panel .chip{padding:2px var(--space-sm);font-size:13px}.day-picker{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0;left:50%}.frog{gap:var(--space-lg);padding:var(--space-xl);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-raised);box-shadow:0 12px 28px color-mix(in srgb, var(--shadow) 12%, transparent);flex-direction:column;display:flex}.frog-top{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.frog-title{margin:0;font-size:30px;font-weight:700;line-height:1.25}.frog-description{color:var(--muted);white-space:pre-wrap;margin:0}.frog-meta{gap:var(--space-md);color:var(--subtle);flex-wrap:wrap;font-size:14px;font-weight:600;display:flex}.frog-actions{gap:var(--space-sm);flex-wrap:wrap;align-items:center;display:flex}.frog-hint{color:var(--subtle);font-size:13px}.badge{padding:2px var(--space-sm);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}.badge-priority{background:var(--accent-surface);min-width:30px;color:var(--accent-text);text-transform:none;justify-content:center;font-size:14px}.badge-carry-over{background:var(--not-tonight);color:var(--on-accent)}.badge-event{background:var(--event-surface);color:var(--event)}.badge-done{background:var(--accent-surface);color:var(--done)}.panel{gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;display:flex}.panel-title{letter-spacing:.3px;text-transform:uppercase;color:var(--subtle);margin-bottom:8px;font-size:15px;font-weight:700}.rows{gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.row{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);text-align:left;background:0 0;border:1px solid #0000;display:flex}button.row{cursor:pointer}.row:hover{background:var(--surface-raised);border-color:var(--border)}.row.is-current{background:var(--accent-surface);border-color:var(--accent-surface)}.row.is-sent-back{opacity:.55}.row-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.row-meta{color:var(--subtle);white-space:nowrap;font-size:13px;font-weight:600}.row-done .row-title{color:var(--subtle);text-decoration:line-through}.empty{gap:var(--space-sm);padding:var(--space-xl);border:1px dashed var(--border);border-radius:var(--radius-lg);text-align:center;flex-direction:column;display:flex}.empty-title{font-size:20px;font-weight:700}.empty-body{color:var(--muted)}.notice{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--accent-surface);color:var(--accent-text);font-weight:600;display:flex}.notice-error{background:var(--danger-surface);color:var(--danger)}.quick-add{gap:var(--space-sm);display:flex}.field-narrow{max-width:460px}.search-row{gap:var(--space-sm);align-items:center;display:flex}.field-inline{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);flex:1 1 0;align-items:stretch;min-width:0;display:flex}.field-inline:focus-within{border-color:var(--accent-text)}.field-inline .input{background:0 0;border:0;border-radius:0;flex:1 1 0;min-width:0}.field-inline .input:focus-visible{outline:none}.icon{flex:none;width:15px;height:15px}.field-icon{margin-left:var(--space-md);margin-right:calc(var(--space-sm) * -1);width:16px;height:16px;color:var(--subtle);flex:none;align-self:center}.btn-inline{align-items:center;gap:var(--space-xs);padding:0 var(--space-lg);border:1px solid var(--accent);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--accent);color:var(--on-accent);cursor:pointer;flex:none;margin:-1px;font-size:15px;font-weight:600;display:inline-flex}.btn-inline:hover:not(:disabled){background:var(--accent-text);border-color:var(--accent-text)}.btn-inline:disabled{background:var(--disabled);border-color:var(--disabled);color:var(--subtle);cursor:not-allowed}.input,.textarea,.select{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised)}.textarea{resize:vertical;min-height:92px}.field{gap:var(--space-xs);flex-direction:column;display:flex}.field-label{color:var(--subtle);text-transform:uppercase;letter-spacing:.3px;font-size:13px;font-weight:700}.field-hint{color:var(--muted);font-size:13px}.field-row{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.chips{gap:var(--space-xs);flex-wrap:wrap;display:flex}.chip{padding:4px var(--space-md);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-raised);cursor:pointer;font-size:14px;font-weight:600}.chip[aria-pressed=true]{background:var(--accent-surface);border-color:var(--accent-text);color:var(--accent-text)}.chip:disabled{background:var(--disabled);color:var(--subtle);cursor:not-allowed}.priority-grid{gap:var(--space-xs);grid-template-columns:repeat(10,minmax(0,1fr));display:grid}.priority-cell{padding:var(--space-sm) 0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);cursor:pointer;flex-direction:column;align-items:center;gap:2px;font-weight:700;display:flex}.priority-cell[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.priority-cell:disabled{background:var(--disabled);color:var(--subtle);cursor:not-allowed}.month{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:0 14px 30px color-mix(in srgb, var(--shadow) 12%, transparent);flex-direction:column;display:flex;overflow:hidden}.month-bar{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--accent);color:var(--on-accent);flex-wrap:wrap;display:flex}.month-name{letter-spacing:.2px;color:var(--on-accent);font-size:20px;font-weight:700}.month-nav{border:1px solid color-mix(in srgb, var(--on-accent) 30%, transparent);border-radius:var(--radius-pill);align-items:stretch;display:inline-flex;overflow:hidden}.month-nav-btn{min-width:38px;height:32px;padding:0 var(--space-sm);color:var(--on-accent);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:inline-flex}.month-nav-btn+.month-nav-btn{border-left:1px solid color-mix(in srgb, var(--on-accent) 30%, transparent)}.month-nav-btn:hover{background:color-mix(in srgb, var(--on-accent) 18%, transparent)}.month-nav-btn:focus-visible{outline-color:var(--on-accent);outline-offset:-2px}.month-nav-today{padding:0 var(--space-md)}.month-head,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}.month-head{padding:var(--space-sm) 0;background:var(--surface)}.month-grid{background:var(--border);border-top:1px solid var(--border)}.month-weekday{padding:0 var(--space-xs);color:var(--subtle);letter-spacing:.6px;text-transform:uppercase;text-align:center;font-size:11px;font-weight:700}.day-cell{align-items:flex-start;gap:var(--space-xs);min-height:92px;padding:var(--space-sm);background:var(--surface-raised);color:var(--text);cursor:pointer;border:0;border-radius:0;flex-direction:column;display:flex}.day-cell:hover{background:var(--accent-surface)}.day-cell:nth-child(7n),.day-cell:nth-child(7n+6){background:var(--surface)}.day-cell:nth-child(7n):hover,.day-cell:nth-child(7n+6):hover{background:var(--accent-surface)}.day-cell.is-outside{background:var(--background);color:var(--subtle)}.day-cell.is-outside .day-number{font-weight:500}.day-cell.is-outside:hover{background:var(--accent-surface)}.day-cell.is-selected{background:var(--accent-surface);box-shadow:inset 0 0 0 2px var(--accent-text)}.day-cell.is-today .day-number{background:var(--accent);color:var(--on-accent)}.day-number{border-radius:var(--radius-pill);justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 4px;font-weight:700;display:inline-flex}.day-dots{flex-wrap:wrap;gap:3px;display:flex}.dot{border-radius:var(--radius-pill);background:var(--accent);width:6px;height:6px}.dot-event{background:var(--event)}.agenda{gap:var(--space-lg);flex-direction:column;display:flex}.agenda-group{gap:var(--space-xs);flex-direction:column;display:flex}.agenda-group-title{color:var(--subtle);text-transform:uppercase;letter-spacing:.3px;font-size:13px;font-weight:700}.calendar-columns{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr)}.calendar-side{gap:var(--space-lg);flex-direction:column;min-width:0;display:flex}.calendar-actions{flex-wrap:nowrap}.calendar-actions .btn{min-width:0;padding-left:var(--space-md);padding-right:var(--space-md);flex:1}.card-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.list-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(210px,1fr));align-items:stretch;display:grid}.list-card{align-items:flex-start;gap:var(--space-xs);min-height:164px;padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);color:var(--text);text-align:left;cursor:pointer;flex-direction:column;display:flex}.list-card:hover{border-color:var(--list-color,var(--subtle));box-shadow:0 10px 24px color-mix(in srgb, var(--shadow) 12%, transparent)}.list-badge{width:46px;height:46px;margin-bottom:var(--space-sm);border-radius:var(--radius-md);background:color-mix(in srgb, var(--list-color,var(--accent)) 16%, transparent);color:var(--list-color,var(--accent));justify-content:center;align-items:center;font-size:22px;line-height:1;display:inline-flex}.list-card-title{margin-top:auto;font-size:17px;font-weight:700}.list-card-meta{color:var(--subtle);font-size:13px;font-weight:600}.list-card-new{gap:var(--space-sm);cursor:default;background:0 0;border-style:dashed}.list-card-new:hover{border-color:var(--accent-text);box-shadow:none}.list-badge-new{background:var(--accent-surface);color:var(--accent-text)}.list-new-input{margin-top:auto}.list-card-new .btn{width:100%}.card{gap:var(--space-sm);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);text-align:left;cursor:pointer;flex-direction:column;display:flex}.card:hover{border-color:var(--subtle)}.card-title{font-size:17px;font-weight:700}.card-meta{color:var(--subtle);font-size:13px;font-weight:600}.form{gap:var(--space-lg);flex-direction:column;max-width:720px;display:flex}.form-actions{gap:var(--space-sm);align-items:center;display:flex}.form-actions .spacer{flex:1}.things{gap:var(--space-xs);flex-direction:column;display:flex}.thing{align-items:center;gap:var(--space-sm);display:flex}.dialog-backdrop{padding:var(--space-lg);background:var(--scrim);z-index:20;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{gap:var(--space-md);width:min(520px,100%);max-height:86vh;padding:var(--space-xl);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 24px 48px color-mix(in srgb, var(--shadow) 30%, transparent);flex-direction:column;display:flex;overflow:auto}.dialog-title{font-size:20px;font-weight:700}.dialog-body{color:var(--muted)}.dialog-actions{gap:var(--space-sm);flex-wrap:wrap;justify-content:flex-end;display:flex}.start{min-height:100vh;padding:var(--space-xl);justify-content:center;align-items:center;display:flex}.start-card{gap:var(--space-md);max-width:520px;padding:var(--space-xl);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;display:flex}.day-switch{align-items:center;gap:var(--space-xs);flex-wrap:nowrap;display:flex;position:relative}.day-label{white-space:nowrap;text-align:center;min-width:8ch;font-weight:700}button.day-label{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);color:inherit;font-size:inherit;cursor:pointer;background:0 0;border:0}button.day-label:hover{color:var(--accent-text)}.inline-list{gap:var(--space-md);color:var(--subtle);flex-wrap:wrap;font-size:14px;font-weight:600;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1080px){.calendar-columns{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.page-columns{grid-template-columns:minmax(0,1fr)}}@media (width<=860px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{border-right:none;border-bottom:1px solid var(--border);height:auto;position:static}.nav{flex-direction:row;overflow-x:auto}.sidebar-footer{flex-direction:row}.main{padding:var(--space-lg) var(--space-md)}.priority-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
