:root{color:#111;font-synthesis:none;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}.planner{min-height:100vh}.topbar{justify-content:space-between;align-items:center;gap:20px;height:92px;padding:0 24px;display:flex}.period{letter-spacing:-.04em;align-items:baseline;gap:10px;font-size:clamp(1.65rem,2.4vw,2.25rem);display:flex}.period span{color:#aaa;font-weight:700}.top-actions{align-items:center;gap:10px;display:flex}.board-picker{align-items:center;gap:8px;display:flex}.board-picker span{text-transform:uppercase;letter-spacing:.12em;color:#777;font-size:.7rem;font-weight:800}.board-picker select{background:#fff;border:0;border-bottom:1px solid #bbb;padding:8px 26px 8px 5px}.round,.icon-button{color:#fff;cursor:pointer;background:#111;border:0;border-radius:50%;width:40px;height:40px;font-size:1.8rem;line-height:1}.week-grid{grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;padding:20px 24px;display:grid}.day-column{min-width:0}.day-column:nth-child(7){grid-area:1/6;margin-top:265px}.day-column.someday{grid-column:1/-1;grid-template-columns:repeat(3,1fr);column-gap:24px;margin-top:18px;display:grid}.day-column.someday .day-heading{grid-column:1}.day-column.someday .task-list{grid-column:1/-1;grid-template-columns:repeat(3,1fr);column-gap:24px;display:grid}.day-column.someday .task-row,.day-column.someday .quick-add{grid-column:1}.day-column.someday .paper-line{grid-column:1/-1}.day-heading{border-bottom:2px solid #111;justify-content:space-between;align-items:center;height:44px;font-size:1.15rem;display:flex}.day-heading span{color:#999}.today{background:#f1f3ff;border-radius:8px;padding:0 10px}.today .day-heading{color:#2857d8;border-color:#2857d8}.task-list{min-height:420px}.task-row,.quick-add,.paper-line{border-bottom:1px solid #ddd;min-height:42px}.task-row{cursor:grab;align-items:center;gap:8px;display:flex}.task-row.color-yellow{background:linear-gradient(90deg,#fff36b 5px,#0000 5px)}.task-row.color-red{background:linear-gradient(90deg,#f77 5px,#0000 5px)}.task-row.color-blue{background:linear-gradient(90deg,#6fa8ff 5px,#0000 5px)}.task-row.color-green{background:linear-gradient(90deg,#6fd59a 5px,#0000 5px)}.task-row.color-purple{background:linear-gradient(90deg,#b68cff 5px,#0000 5px)}.check{background:#fff;border:1.5px solid #aaa;border-radius:50%;flex:none;width:19px;height:19px;padding:0;font-size:.75rem;line-height:16px}.check.large{width:24px;height:24px}.task-open{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;justify-content:space-between;gap:5px;min-width:0;padding:8px 0;display:flex}.task-open span{text-overflow:ellipsis;overflow:hidden}.task-open small{color:#777}.done .task-open{color:#999;text-decoration:line-through}.quick-add{align-items:center;display:flex}.quick-add input{background:0 0;border:0;outline:0;width:100%;height:40px}.quick-add span{opacity:0;color:#aaa;transition:all .15s}.quick-add:focus-within span{opacity:1}.error{color:#9d2020;background:#fff0f0;border-radius:6px;margin:0 24px;padding:10px 14px}.modal-backdrop{z-index:10;background:#0006;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.task-modal{background:#fff;border-radius:14px;width:min(680px,100%);max-height:92vh;padding:22px;overflow:auto;box-shadow:0 24px 70px #0004}.task-modal>header{justify-content:space-between;align-items:center;display:flex}.task-modal h2{margin:0}.task-modal .icon-button{color:#111;background:#eee}.task-tools{grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0;display:grid}.task-tools label,.field{color:#666;flex-direction:column;gap:5px;font-size:.75rem;font-weight:700;display:flex}.task-tools input,.task-tools select,.field textarea{color:#111;background:#fff;border:1px solid #ddd;border-radius:7px;padding:9px}.title-row{align-items:flex-start;gap:12px;display:flex}.task-title{resize:none;border:0;border-bottom:1px solid #ddd;outline:none;width:100%;font-size:1.3rem;font-weight:650}.field{margin:20px 0}.subtasks h3{font-size:.9rem}.subtasks>label,.subtasks>form{gap:8px;margin:7px 0;display:flex}.subtasks input[type=text],.subtasks input:not([type]){border:0;border-bottom:1px solid #ddd;flex:1;padding:6px}.subtasks button,.move-actions button,.task-modal footer button{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:7px;padding:7px 10px}.move-actions{flex-wrap:wrap;align-items:center;gap:7px;margin:20px 0;display:flex}.move-actions span{font-size:.8rem;font-weight:700}.task-modal footer{border-top:1px solid #eee;align-items:center;gap:8px;padding-top:16px;display:flex}.task-modal footer span{flex:1}.task-modal footer .primary{color:#fff;background:#111;border-color:#111}.task-modal footer .danger{color:#b42318}.round{color:#333;background:#fff;border:1px solid #d7d7d7;border-radius:8px;place-items:center;width:36px;height:36px;padding:0;display:grid;box-shadow:0 1px 2px #0000000d}.round svg{fill:none;stroke:currentColor;stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.round:hover{background:#f7f7f7;border-color:#aaa}.task-row,.quick-add,.paper-line{height:42px;min-height:42px}.task-row:not(.color-none){background:0 0;padding-left:0;position:relative}.task-row:not(.color-none):before{content:"";background:var(--task-color);width:5px;position:absolute;top:0;bottom:0;left:-10px}.task-row.color-yellow{--task-color:#fff36b}.task-row.color-red{--task-color:#f77}.task-row.color-blue{--task-color:#6fa8ff}.task-row.color-green{--task-color:#6fd59a}.task-row.color-purple{--task-color:#b68cff}.topbar{height:64px}.week-grid{padding-top:8px}.login-page{background:#fafafa;place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:#fff;border:1px solid #ddd;border-radius:10px;flex-direction:column;gap:16px;width:min(360px,100%);padding:28px;display:flex}.login-card h1{margin:0 0 4px;font-size:1.5rem}.login-card label{flex-direction:column;gap:6px;font-size:.82rem;font-weight:700;display:flex}.login-card input{border:1px solid #ccc;border-radius:7px;height:42px;padding:0 11px}.login-card button{color:#fff;cursor:pointer;background:#111;border:0;border-radius:7px;height:42px;font-weight:700}.login-card button:disabled{opacity:.6}.login-error{color:#a22323;margin:0;font-size:.85rem}.logout-button{color:#666;cursor:pointer;background:0 0;border:0;font-size:.78rem}.logout-button:hover{color:#111}.task-open span{white-space:nowrap}.completion-toggle{white-space:nowrap;color:#555;align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:flex}.completion-toggle input{width:1.3rem;height:1.3rem;margin:0}.task-tools{grid-template-columns:repeat(3,1fr)}.day-column:nth-child(6){grid-area:1/6}.day-column:nth-child(-n+5) .task-list{min-height:546px}.day-column:nth-child(6) .task-list,.day-column:nth-child(7) .task-list{min-height:210px}.day-column:nth-child(7){margin-top:294px;padding-inline:10px}.day-column.someday .task-list{grid-auto-rows:42px;grid-auto-flow:row;min-height:126px}.day-column.someday .task-row,.day-column.someday .quick-add,.day-column.someday .paper-line{grid-column:auto;min-width:0}@media (width<=900px){.week-grid{padding:10px 18px;display:block;overflow:visible}.day-column,.day-column:nth-child(6),.day-column:nth-child(7),.day-column.someday{width:100%;min-width:0;margin:0 0 24px;padding-inline:0;display:block}.day-column:nth-child(n) .task-list{min-height:0}.day-column.someday .task-list{display:block}.task-tools{grid-template-columns:1fr 1fr}.topbar{align-items:flex-start;height:auto;padding:14px 18px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.board-picker{order:3;justify-content:flex-end;width:100%}.period{font-size:1.55rem}}@media (width<=520px){.topbar{flex-direction:column}.top-actions{justify-content:flex-start;width:100%}.board-picker{order:0;width:auto}.task-tools{grid-template-columns:1fr}.task-modal{padding:16px}.task-modal footer{flex-wrap:wrap}}
