:root{--bg:#eae0cf;--paper:#faf6ef;--paper-hover:#f0e8da;--ink:#000;--ink-soft:#333;--ink-faint:#575757;--ink-typed:#000;--line:#ddd3c1;--line-strong:#bfb3a0;--hover-neutral:#f0e8da;--hover-accent:#5477921f;--brand-deep:#213448;--accent:#3f5f78;--accent-soft:#d5e0e7;--good:#1f8a4c;--good-soft:#1f8a4c24;--warn:#c0392b;--warn-soft:#c0392b1f;--scrim:#21344873;--shadow-float:0 6px 20px #2134482e;--shadow-card:0 1px 2px #2134480f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#16232f;--paper:#213448;--paper-hover:#2b4159;--ink:#fff;--ink-soft:#c3c7cd;--ink-faint:#969aa2;--ink-typed:#fff;--line:#2a3f54;--line-strong:#547792;--hover-neutral:#2b4159;--hover-accent:#94b4c124;--brand-deep:#94b4c1;--accent:#94b4c1;--accent-soft:#94b4c12e;--good:#4ade80;--good-soft:#4ade8026;--warn:#f87171;--warn-soft:#f8717126;--scrim:#0a121ab8;--shadow-float:0 6px 20px #00000080;--shadow-card:0 1px 2px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--sans:"IBM Plex Sans JP", system-ui, -apple-system, sans-serif;--display:var(--sans);--mono:"Space Mono", ui-monospace, Consolas, monospace;--w-title:600;--w-row:500;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--r-chip:6px;--r:10px;--r-card:12px;--r-focus:3px;--fs-micro:9px;--fs-mini:10px;--fs-label:11px;--fs-chrome:12px;--fs-body:13px;--fs-row:14px;--fs-section:14px;--fs-title:15px;--fs-figure:19px;--grip-size:16px;--check-size:18px;--icon-size:13px}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);min-height:100%;color:var(--ink-soft);font:16px/1.5 var(--sans);font-weight:var(--w-row);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}button,input,select,textarea{font:inherit;color:inherit;outline:none}input[type=text],input[type=email],input[type=password],select,textarea{background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r);color:var(--ink);caret-color:var(--ink-typed);padding:6px 10px;transition:border-color .15s}input[type=text]:focus,select:focus{border-color:var(--accent)}button{cursor:pointer;transition:all .15s}#app{flex-direction:column;height:100dvh;display:flex}.header{border-bottom:1px solid var(--line);background:var(--bg);z-index:100;align-items:center;padding:9px 24px;display:flex;position:sticky;top:0}.brand{font-family:var(--display);font-size:var(--fs-section);color:var(--ink);margin-right:20px;font-weight:700}.brand span{color:var(--accent)}.nav-tabs{gap:8px;display:flex}.nav-tab{color:var(--ink-soft);font-size:var(--fs-chrome);letter-spacing:.05em;text-transform:uppercase;border-radius:var(--r-chip);background:0 0;border:none;padding:5px 10px;font-weight:600;text-decoration:none}.nav-tab:hover{color:var(--ink);background:var(--paper)}.nav-tab.active{color:var(--accent);background:var(--accent-soft)}.header-spacer{flex:1}.user-menu{align-items:center;gap:12px;font-size:.8rem;display:flex}.cog-btn{color:var(--ink-faint);background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;width:30px;height:30px;transition:color .18s,background .25s,border-color .18s;display:grid}.cog-btn:hover{color:var(--accent);border-color:var(--line);background:radial-gradient(circle at 50% 45%, var(--accent-soft), transparent 72%), var(--hover-neutral)}.cog-btn svg{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.cog-btn:hover svg{transform:rotate(60deg)}.main-content{flex-direction:column;flex:1;min-height:0;padding:24px;display:flex}.toolbar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.toolbar-left{align-items:center;gap:12px;display:flex}.week-date-box{background:var(--paper);border-radius:var(--r-chip);border:1px solid var(--line);align-items:center;gap:var(--sp-6);padding:4px 14px;display:flex}.proj-hover-action{opacity:0;transition:opacity .15s}.project-card:hover .proj-hover-action{opacity:1}.icon-btn{color:var(--ink-faint);background:0 0;border:none;place-items:center;width:32px;height:32px;transition:color .15s;display:grid}.icon-btn:hover{color:var(--ink);background:0 0}.week-title{color:var(--accent);font-weight:600;font-size:var(--fs-body);white-space:nowrap}.week-dates{color:var(--ink-soft);font-size:var(--fs-body);font-family:var(--mono);letter-spacing:.04em;white-space:nowrap}.today-link{color:var(--ink-faint);font-size:var(--fs-body);cursor:pointer;margin-left:8px}.today-link:hover{color:var(--ink)}.toolbar-right{gap:12px;display:flex}.toolbar-right button{background:var(--paper);border:1px solid var(--line-strong);color:var(--ink-soft);border-radius:var(--r-chip);font-size:var(--fs-body);padding:6px 12px;font-weight:500;transition:all .15s}.toolbar-right button:hover{background:var(--hover-neutral);color:var(--ink)}.progress-section{margin-bottom:32px}.progress-track{background:var(--line-strong);width:100%;height:6px;margin-bottom:var(--sp-2);border-radius:999px;overflow:hidden}.progress-fill{background:var(--good);border-radius:999px;height:100%;transition:width .4s cubic-bezier(.2,.8,.2,1)}.progress-stats{color:var(--ink-faint);font-size:.75rem;font-family:var(--mono);justify-content:space-between;display:flex}.planning-board{flex:1;align-items:stretch;gap:32px;min-height:0;display:flex}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:.65rem;font-weight:600}.sidebar{gap:var(--sp-3);overscroll-behavior:contain;width:400px;min-height:0;padding-right:var(--sp-1);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}.sidebar-header{justify-content:space-between;align-items:center;padding:0 4px;display:flex}.sidebar-header .eyebrow{font-family:var(--mono)}.header-links{font-size:.75rem}.header-links a{color:var(--accent);text-decoration:none}.header-links a:hover{text-decoration:underline}.header-links .sep{color:var(--ink-faint);margin:0 4px}.project-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--sp-3) var(--sp-4);gap:var(--sp-3);flex-direction:column;transition:transform .18s cubic-bezier(.2,.8,.2,1),opacity .15s,border-color .15s;display:flex}.project-card.dragging{opacity:.4;border-style:dashed;border-color:var(--accent)}.project-card-head{align-items:center;gap:12px;display:flex}.proj-progress-track{background:var(--line-strong);border-radius:999px;flex-shrink:0;width:32px;height:4px;overflow:hidden}.proj-progress-fill{background:var(--good);border-radius:999px;height:100%;transition:width .4s cubic-bezier(.2,.8,.2,1)}.proj-title{color:var(--ink);margin:0;font-size:1rem}.proj-title-wrap{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.proj-deadline{font-family:var(--mono);font-size:var(--fs-body);color:var(--ink-faint);letter-spacing:.04em;white-space:nowrap}input[type=text].proj-title-input{color:var(--ink-typed);font-size:var(--fs-title);line-height:normal;font-weight:var(--w-title);text-overflow:ellipsis;background:0 0;border:none;border-radius:0;outline:none;width:100%;margin:0;padding:0}.proj-title-input::placeholder{color:var(--ink-faint);font-weight:500}input[type=text].task-name-input{color:var(--ink-typed);font-size:var(--fs-row);line-height:normal;font-weight:var(--w-row);background:0 0;border:none;border-radius:0;outline:none;flex:1;min-width:0;padding:0}.task-name-input::placeholder{color:var(--ink-faint)}input[type=text].task-name-input.done{color:var(--ink-faint);text-decoration:line-through}.task-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.assign-date{cursor:pointer;color:var(--accent);font-family:var(--mono);font-size:var(--fs-mini);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-weight:700;display:flex;position:relative}.assign-date,.task-del{opacity:0;transition:opacity .15s,color .15s,transform .18s cubic-bezier(.2,.8,.2,1)}.task-item:hover .assign-date,.task-item:hover .task-del,.task-actions:focus-within .assign-date,.task-actions:focus-within .task-del{opacity:1}.assign-date{transform-origin:100%}.assign-date:hover{transform:scale(1.14)}.task-item:not(.has-day) .assign-date{opacity:1;color:var(--ink-faint)}.task-item:not(.has-day):hover .assign-date,.task-item:not(.has-day) .assign-date:focus-within{color:var(--accent)}.task-item:not(.has-day) .assign-date .arrow,.task-item:not(.has-day) .assign-date .cal-box{opacity:0;transition:opacity .15s}.task-item:not(.has-day):hover .assign-date .arrow,.task-item:not(.has-day):hover .assign-date .cal-box,.task-item:not(.has-day) .assign-date:focus-within .arrow,.task-item:not(.has-day) .assign-date:focus-within .cal-box{opacity:1}.assign-date .cal-box{border:1px solid var(--accent);border-radius:var(--r-chip);place-items:center;width:22px;height:22px;display:grid}.assign-date .hidden-date{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.task-del{color:var(--ink-faint);background:0 0;border:none;place-items:center;padding:2px;display:grid}.task-del:hover{color:var(--ink);background:0 0}.proj-meta{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:.65rem}.add-task-btn{align-items:center;gap:var(--sp-2);width:100%;color:var(--ink-faint);text-align:left;font-size:var(--fs-body);padding:var(--sp-1) var(--sp-2);border-radius:var(--r);background:0 0;border:none;line-height:1.5;transition:background-color .12s,color .12s;display:flex}.add-task-plus{width:var(--check-size);height:var(--check-size);flex-shrink:0}.add-task-btn:hover{color:var(--ink-soft);background:var(--hover-neutral)}.add-project-dashed{border:1px dashed var(--line-strong);color:var(--ink-faint);padding:var(--sp-3);border-radius:var(--r);font-family:var(--mono);font-size:var(--fs-chrome);letter-spacing:.6px;text-transform:uppercase;background:0 0;transition:border-color .15s,color .15s}.add-project-dashed:hover{border-color:var(--ink-faint);color:var(--ink-soft)}.week-grid-container{overscroll-behavior:contain;flex-direction:column;flex:1;gap:16px;min-height:0;display:flex;overflow-y:auto}.grid-header{justify-content:space-between;align-items:center;padding:0 4px;display:flex}.day-tabs{gap:var(--sp-2);flex-shrink:0;grid-template-columns:repeat(7,1fr);display:grid}.day-tab{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-2) var(--sp-2);background:var(--bg);border:1px solid var(--line);border-radius:var(--r);color:var(--ink-soft);flex-direction:column;transition:background .15s,border-color .15s,color .15s;display:flex}.day-tab:hover{border-color:var(--line-strong);color:var(--ink)}.day-tab.selected{background:var(--accent);border-color:var(--accent);color:var(--paper)}.day-tab-label{font-family:var(--mono);font-size:var(--fs-row);align-items:center;gap:3px;font-weight:700;line-height:1;display:flex}.day-tab-flag{flex-shrink:0}.day-tab-track{background:var(--line-strong);border-radius:999px;width:60%;height:3px;overflow:hidden}.day-tab.selected .day-tab-track{background:#00000040}.day-tab-fill{background:var(--good);border-radius:999px;height:100%;transition:width .4s cubic-bezier(.2,.8,.2,1);display:block}.day-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.day-panel-head{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);flex-shrink:0}.day-panel-name{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:700}.day-panel-count{font-family:var(--mono);font-size:var(--fs-body);color:var(--ink-soft);margin-top:2px}.day-panel-due{font-family:var(--mono);font-size:var(--fs-body);color:var(--accent);overflow-wrap:anywhere;margin-top:2px}.day-panel-empty{padding:var(--sp-5) var(--sp-4);color:var(--ink-faint);font-size:var(--fs-body)}.day-panel-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;min-height:0;overflow-y:auto}.day-panel-list::-webkit-scrollbar{width:8px}.day-panel-list::-webkit-scrollbar-track{background:0 0}.day-panel-list::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.day-row{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);transition:background-color .12s;display:flex}.day-row:last-child{border-bottom:none}.day-row:hover{background:var(--hover-neutral)}.day-row .task-check{margin-top:2px}.day-row-body{flex:1;min-width:0}.day-row-project{font-family:var(--mono);font-size:var(--fs-mini);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}.day-row-task{font-size:var(--fs-row);color:var(--ink-typed);overflow-wrap:anywhere;margin-top:1px}.day-row-sub{font-size:var(--fs-body);color:var(--ink-soft);overflow-wrap:anywhere;margin-top:1px}.day-row.done .day-row-task,.day-row.done .day-row-sub{color:var(--ink-faint);text-decoration:line-through}.day-row-foot{align-items:center;gap:var(--sp-3);margin-top:var(--sp-1);display:flex}.day-row-overdue{min-width:0;font-size:var(--fs-body);color:var(--warn);flex:1}.day-row-move{border:1px solid var(--line-strong);border-radius:var(--r-chip);color:var(--ink-soft);font-family:var(--mono);font-size:var(--fs-mini);letter-spacing:.06em;text-transform:uppercase;background:0 0;flex-shrink:0;padding:3px 10px;font-weight:700;transition:all .15s}.day-row-move:hover{border-color:var(--accent);color:var(--accent);background:var(--hover-accent)}.day-row.missed{opacity:.6}.day-row.missed .day-row-task{text-decoration:line-through}.missed-mark{width:var(--check-size);height:var(--check-size);border:2px dashed var(--line-strong);border-radius:var(--r-chip);flex-shrink:0;margin-top:2px}.day-row-missed{font-size:var(--fs-body);color:var(--ink-faint)}.proj-tasks{padding-left:12px}.task-item{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--r);transition:background-color .12s;display:flex}.task-item:hover{background:var(--hover-neutral)}.task-check{appearance:none;width:var(--check-size);height:var(--check-size);border:2px solid var(--line-strong);border-radius:var(--r-chip);background:var(--paper);cursor:pointer;flex-shrink:0;place-items:center;transition:all .15s;display:grid}.task-check:hover{border-color:var(--ink-faint)}.task-check:checked{background:var(--good);border-color:var(--good)}.task-check:checked:after{content:"";background:var(--paper);width:12px;height:12px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") 50%/contain no-repeat}.modal-overlay{background:var(--scrim);z-index:1200;padding:var(--sp-4);place-items:center;display:grid;position:fixed;inset:0}.modal-card{background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-card);width:100%;max-width:380px;padding:var(--sp-5);box-shadow:var(--shadow-float)}.modal-card.wide{max-width:540px}.modal-eyebrow{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:var(--sp-1)}.modal-title{color:var(--ink);font-size:var(--fs-title);font-weight:var(--w-title);margin:0 0 var(--sp-4);overflow-wrap:anywhere}.deadline-row{align-items:stretch;gap:var(--sp-2);display:flex}.deadline-input{min-width:0;font-family:var(--mono);font-size:var(--fs-row);letter-spacing:.04em;background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r-chip);color:var(--ink);padding:var(--sp-2) var(--sp-3);flex:1}.deadline-input:focus{border-color:var(--accent)}.deadline-input.invalid{border-color:var(--warn)}.deadline-cal{background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r-chip);width:40px;color:var(--ink-soft);flex-shrink:0;place-items:center;transition:all .15s;display:grid;position:relative}.deadline-cal:hover{border-color:var(--accent);color:var(--accent)}.deadline-native{opacity:0;cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.deadline-hint{font-size:var(--fs-label);color:var(--ink-faint);margin-top:var(--sp-2);min-height:14px}.modal-actions{align-items:center;gap:var(--sp-2);margin-top:var(--sp-5);display:flex}.modal-title-dates{font-family:var(--mono);font-size:var(--fs-body);color:var(--ink-soft);letter-spacing:.04em;margin-left:var(--sp-3);font-weight:400}.modal-divider{background:var(--line);height:1px;margin:var(--sp-4) 0}.modal-card.scroll{max-height:calc(100vh - var(--sp-6));scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;overflow-y:auto}.modal-card.scroll::-webkit-scrollbar{width:8px}.modal-card.scroll::-webkit-scrollbar-track{background:0 0}.modal-card.scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.field-label{font-family:var(--mono);font-size:var(--fs-mini);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:var(--sp-2);font-weight:700}.sched-deadline-row{gap:var(--sp-2);margin-bottom:var(--sp-4);display:flex}.sched-date,.sched-time{background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r);color:var(--ink);font-family:var(--mono);font-size:var(--fs-row);padding:var(--sp-2) var(--sp-3);min-width:0}.sched-date{flex:2}.sched-time{flex:1}.sched-date:focus,.sched-time:focus{border-color:var(--accent)}:root[data-theme=dark] .sched-date::-webkit-calendar-picker-indicator{filter:invert();opacity:.7}:root[data-theme=dark] .sched-time::-webkit-calendar-picker-indicator{filter:invert();opacity:.7}.day-toggle-row{gap:var(--sp-2);margin-bottom:var(--sp-4);display:flex}.day-toggle{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--bg);min-width:0;height:42px;color:var(--ink-soft);font-family:var(--mono);font-size:var(--fs-row);flex:1;font-weight:700;transition:all .14s}.day-toggle.wide-label{font-size:var(--fs-body)}.day-toggle:hover:not(:disabled){border-color:var(--accent);color:var(--ink)}.day-toggle.selected{background:var(--accent);border-color:var(--accent);color:var(--paper)}.day-toggle:disabled{opacity:.4;border-color:var(--line);color:var(--ink-faint);cursor:not-allowed}.sched-day{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--bg);padding:var(--sp-3);margin-bottom:var(--sp-3)}.sched-day-name{font-family:var(--mono);font-size:var(--fs-mini);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--sp-2);font-weight:700}.sched-sub-row{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2);padding-left:var(--sp-3);display:flex}input[type=text].sched-sub-input{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-chip);min-width:0;color:var(--ink-typed);font-size:var(--fs-body);padding:var(--sp-2) var(--sp-3);flex:1}input[type=text].sched-sub-input:focus{border-color:var(--accent)}.sched-sub-input::placeholder{color:var(--ink-faint)}.dots{flex-shrink:0;gap:6px;display:flex}.dot{border:1px solid var(--line-strong);background:0 0;border-radius:50%;width:9px;height:9px;padding:0;transition:all .14s}.dot:hover{border-color:var(--accent);transform:scale(1.2)}.dot.on{background:var(--accent);border-color:var(--accent)}.sched-sub-del{color:var(--ink-faint);opacity:0;background:0 0;border:none;flex-shrink:0;place-items:center;padding:2px;transition:opacity .15s,color .15s;display:grid}.sched-sub-row:hover .sched-sub-del{opacity:1}.sched-sub-del:hover{color:var(--warn);background:0 0}.sched-add{padding:0 0 0 var(--sp-3);color:var(--accent);font-size:var(--fs-body);background:0 0;border:none;font-weight:500}.sched-add:hover{text-decoration:underline}.sched-hint{font-size:var(--fs-body);color:var(--ink-faint);margin:0 0 var(--sp-4)}.schedule-note{width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r);background:var(--bg);color:var(--ink-typed);font:inherit;font-size:var(--fs-row);resize:vertical;display:block}.schedule-note:focus{border-color:var(--accent)}.schedule-note::placeholder{color:var(--ink-faint)}.missed-check{align-items:center;gap:var(--sp-2);font-size:var(--fs-row);color:var(--ink);cursor:pointer;display:flex}.missed-check .task-check:checked{background:var(--accent);border-color:var(--accent)}.subtask-badge{background:var(--good-soft);height:18px;color:var(--good);font-family:var(--mono);font-size:var(--fs-mini);letter-spacing:.02em;border-radius:999px;flex-shrink:0;place-items:center;padding:0 7px;font-weight:700;display:inline-grid}.subtask-badge.full{background:var(--good);color:var(--paper)}.transfer-list-head{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.select-all-btn{color:var(--accent);font-weight:700;font-size:var(--fs-body);background:0 0;border:none;padding:0}.select-all-btn:hover{text-decoration:underline}.transfer-list{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;max-height:240px;margin:0;padding:0;list-style:none;overflow-y:auto}.transfer-list::-webkit-scrollbar{width:8px}.transfer-list::-webkit-scrollbar-track{background:0 0}.transfer-list::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.transfer-row{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2);border-radius:var(--r);cursor:pointer;transition:background-color .12s;display:flex}.transfer-row:hover{background:var(--hover-neutral)}.transfer-name{min-width:0;color:var(--ink-typed);font-size:var(--fs-row);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.transfer-count{font-family:var(--mono);font-size:var(--fs-label);color:var(--ink-faint);flex-shrink:0}.transfer-summary{font-size:var(--fs-body);margin-top:var(--sp-3);font-weight:700}.transfer-summary.ok{color:var(--good)}.transfer-summary.bad{color:var(--warn)}.transfer-summary.muted{color:var(--ink-faint);font-weight:var(--w-row)}.transfer-empty{color:var(--ink-faint);font-size:var(--fs-body)}.transfer-code{width:100%;font-family:var(--mono);font-size:var(--fs-label);background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r);color:var(--ink);padding:var(--sp-3);resize:vertical;white-space:pre;tab-size:2;line-height:1.5;overflow:auto}.transfer-code:focus{border-color:var(--accent)}.transfer-code.invalid{border-color:var(--warn)}.transfer-fallback{margin-top:var(--sp-3)}.transfer-hint{font-size:var(--fs-label);color:var(--ink-faint);margin-bottom:var(--sp-1)}.link-btn{color:var(--accent);font:inherit;font-size:inherit;background:0 0;border:none;padding:0}.link-btn:hover,.link-btn.always-on{text-decoration:underline}.link-btn:disabled{color:var(--ink-faint);cursor:default;text-decoration:none}.link-btn:disabled:hover{text-decoration:none}.theme-options{gap:var(--sp-2);grid-template-columns:repeat(3,1fr);display:grid}.theme-option{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-2);background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r);color:var(--ink-soft);font-size:var(--fs-label);flex-direction:column;font-weight:500;transition:all .18s;display:flex}.theme-option:hover{border-color:var(--accent);color:var(--ink)}.theme-option.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.theme-option svg{width:18px;height:18px}.settings-note{font-size:var(--fs-label);color:var(--ink-faint);margin-top:var(--sp-3)}.btn-primary{background:var(--accent);border:1px solid var(--accent);color:var(--paper);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-chip);font-weight:500;transition:filter .15s}.btn-primary:hover{filter:brightness(1.08)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{border:1px solid var(--line-strong);color:var(--ink-soft);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-chip);background:0 0;transition:all .15s}.btn-ghost:hover{background:var(--hover-neutral);color:var(--ink)}.toast-container{z-index:1000;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--paper-hover);border:1px solid var(--line-strong);color:var(--ink);border-radius:var(--r);box-shadow:var(--shadow-card);padding:12px 16px;font-size:.85rem}.toast.error{border-color:var(--warn);color:var(--warn)}.pane-switch{display:none}@media (width<=900px){#app{height:auto;min-height:100dvh}.main-content{padding:var(--sp-4);min-width:0}.pane-switch{gap:var(--sp-2);margin-bottom:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.pane-tab{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-2);background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r);color:var(--ink-soft);font-size:var(--fs-row);font-weight:500;transition:all .15s;display:flex}.pane-tab.selected{background:var(--accent);border-color:var(--accent);color:var(--paper)}.pane-tab-count{font-family:var(--mono);font-size:var(--fs-mini);background:var(--hover-neutral);color:var(--ink-faint);border-radius:999px;padding:2px 7px;font-weight:700}.pane-tab.selected .pane-tab-count{color:var(--paper);background:#00000038}.planning-board{gap:var(--sp-5);flex-direction:column}.planning-board.pane-projects .week-grid-container,.planning-board.pane-week .sidebar{display:none}.sidebar{width:100%;padding-right:0;overflow-y:visible}.week-grid-container{overflow-y:visible}.day-panel{overflow:visible}.day-panel-list{overflow-y:visible}.grid-header{gap:var(--sp-1);flex-wrap:wrap}}@media (width<=600px){.header{padding:8px 12px}.brand{margin-right:var(--sp-2)}.nav-tab{font-size:var(--fs-mini);padding:5px 7px}.user-menu{gap:var(--sp-2)}.main-content{padding:var(--sp-3)}.toolbar{gap:var(--sp-2);flex-wrap:wrap}.toolbar-left{flex:1}.toolbar-right{width:100%}.toolbar-right button{font-size:var(--fs-chrome);flex:1;padding:5px 10px}.week-date-box{gap:var(--sp-3);padding:4px 10px}.today-link{margin-left:0}.progress-section{margin-bottom:var(--sp-5)}.progress-stats{gap:var(--sp-2)}.day-tabs{gap:4px}.day-tab{padding:var(--sp-2) 2px}.day-tab-track{width:80%}.day-panel-head,.day-row,.project-card{padding:var(--sp-3)}.proj-tasks{padding-left:var(--sp-2)}.modal-overlay{padding:var(--sp-2)}.modal-card{padding:var(--sp-4)}.modal-card.scroll{max-height:calc(100vh - var(--sp-4));max-height:calc(100dvh - var(--sp-4))}.day-toggle-row{gap:4px}.day-toggle{font-size:var(--fs-body)}.day-toggle.wide-label{font-size:var(--fs-mini)}.sched-sub-row{padding-left:var(--sp-2);flex-wrap:wrap}.sched-day{padding:var(--sp-2)}}@media (width<=420px){.sched-deadline-row{flex-direction:column}.sched-date,.sched-time{flex:none;width:100%}}@media (hover:none){.assign-date,.task-del,.proj-hover-action,.sched-sub-del,.task-item:not(.has-day) .assign-date .arrow,.task-item:not(.has-day) .assign-date .cal-box{opacity:1}.assign-date:hover,.dot:hover{transform:none}:root{--check-size:22px;--icon-size:16px}.task-check:checked:after{width:15px;height:15px}.icon-btn{width:40px;height:40px}.cog-btn{width:38px;height:38px}.task-del{padding:8px}.day-row-move{padding:7px 14px}.day-tab{min-height:52px}.day-toggle{height:46px}.sched-add{padding:var(--sp-2) 0 var(--sp-2) var(--sp-3)}.dot{width:14px;height:14px}input[type=text].proj-title-input,input[type=text].task-name-input,input[type=text].sched-sub-input,.deadline-input,.sched-date,.sched-time,.schedule-note,.transfer-code{font-size:16px}}
