:root{color:#25302a;background:#f2f7f5;font-family:Noto Sans JP,Hiragino Sans,Yu Gothic UI,Yu Gothic,Meiryo,system-ui,sans-serif;font-synthesis:none;font-weight:400;line-height:1.5;letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--canvas: #f2f7f5;--app-surface: #eff6f3;--surface: #ffffff;--surface-subtle: #f7faf8;--ink: #25302a;--muted: #5e6a64;--line: #d6e1dd;--control-border: #7c8d86;--control-border-hover: #5e7169;--action: #24302a;--action-hover: #111915;--teal: #2f6d5c;--blue-teal: #476b74;--teal-soft: #e1eee9;--warning: #7a4e0b;--warning-soft: #fff1c9;--destructive: #9f332e;--destructive-hover: #812722;--destructive-soft: #f8e7e4;--focus: #2f6d5c;--shadow: 0 8px 24px rgba(37, 48, 42, .08);--control-height: 52px;--command-size: 44px;--card-radius: 8px}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--canvas)}body{min-width:320px;min-height:100vh;margin:0;color:var(--ink);background:var(--canvas)}button,input,select,a{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button:disabled,input:disabled,select:disabled,fieldset:disabled{cursor:not-allowed}button:disabled,input:disabled,select:disabled{opacity:.58}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{color:var(--ink);letter-spacing:0}h1{font-size:1.5rem;line-height:1.32}h2{font-size:1rem;line-height:1.4}h3{font-size:.875rem;line-height:1.45}.app-shell{position:relative;width:min(100%,390px);min-height:100dvh;margin:0 auto;padding:22px 17px;background:var(--app-surface)}.authenticated-shell{display:flex;flex-direction:column;padding-bottom:max(12px,env(safe-area-inset-bottom))}.authenticated-shell>:not(.app-navigation-shell,.navigation-toast,.logout-error){width:100%}.eyebrow,.section-kicker{color:var(--blue-teal);font-size:.75rem;font-weight:700}.navigation-toast{position:fixed;top:14px;left:50%;z-index:30;width:min(calc(100% - 28px),356px);padding:11px 13px;border:1px solid #9ebcaf;border-left:4px solid var(--teal);border-radius:6px;color:#214e42;background:#edf8f3;box-shadow:var(--shadow);font-size:.8125rem;font-weight:700;transform:translate(-50%);pointer-events:none}.logout-error{margin-bottom:12px}.app-navigation-shell{position:sticky;bottom:max(10px,env(safe-area-inset-bottom));z-index:20;width:100%;min-height:66px;margin-top:auto;border:1px solid #cad8d3;border-radius:var(--card-radius);background:#fffffffa;box-shadow:0 8px 24px #25302a24}.app-navigation,.app-navigation-actions{width:100%;min-width:0;min-height:64px}.app-navigation-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.app-navigation-action{display:grid;min-width:0;min-height:64px;padding:7px 3px 6px;border:0;border-radius:0;place-content:center;place-items:center;gap:3px;color:var(--muted);background:transparent;font-size:.6875rem;font-weight:700;line-height:1.25;text-align:center;text-decoration:none;cursor:pointer}.app-navigation-action span{min-width:0;max-width:100%;overflow-wrap:anywhere}.app-navigation-action:hover:not(:disabled){color:var(--teal);background:var(--surface-subtle)}.app-navigation-action[aria-current=page]{color:var(--teal);background:var(--teal-soft)}.app-navigation-actions .app-navigation-action:first-child{border-radius:7px 0 0 7px}.app-navigation-actions .app-navigation-action:last-child{border-radius:0 7px 7px 0}.app-navigation-actions .app-navigation-action+.app-navigation-action{border-left:1px solid var(--line)}.account-section{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:20px 0 4px;border-top:1px solid var(--line)}.account-identity{min-width:0}.account-section h2{margin-bottom:8px;font-size:.875rem}.identity-name,.identity-email{min-width:0;overflow-wrap:anywhere}.identity-name{font-size:.875rem;font-weight:700}.identity-email{margin-top:3px;color:var(--muted);font-size:.75rem}.account-logout-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:var(--command-size);padding:8px 10px;border:1px solid #c47b76;border-radius:6px;color:var(--destructive);background:var(--surface);font-size:.75rem;font-weight:700;line-height:1.35;cursor:pointer}.account-logout-action:hover:not(:disabled){border-color:var(--destructive);background:var(--destructive-soft)}.account-logout-action span{min-width:0;overflow-wrap:anywhere}.groups-page{padding-top:4px;padding-bottom:24px}.groups-section,.create-section{padding:18px 0 24px}.groups-section{border-bottom:1px solid var(--line)}.groups-section>h1{margin-bottom:15px}.create-section>h2{margin-bottom:14px;font-size:1.125rem}.group-list,.project-list{display:grid;gap:10px}.group-row,.project-row{min-width:0;border:1px solid #d2ded9;border-radius:var(--card-radius);background:var(--surface);box-shadow:0 4px 14px #25302a0d;overflow:hidden}.group-row:focus-within,.project-row:focus-within{border-color:var(--focus);box-shadow:inset 0 0 0 3px var(--focus),0 4px 14px #25302a0d}.group-row-link:focus-visible,.project-row-link:focus-visible{outline:none}.group-row-link{display:flex;align-items:center;gap:12px;min-width:0;min-height:72px;padding:13px 14px;color:inherit;text-decoration:none}.group-row-link:hover,.project-row-link:hover,.task-row-link:hover{background:var(--surface-subtle)}.group-row-content{min-width:0;flex:1}.group-row h2,.group-row p{overflow-wrap:anywhere}.group-row h2{font-size:.9375rem}.group-row p{margin-top:4px;color:var(--muted);font-size:.75rem}.group-row-chevron,.project-chevron,.task-chevron{flex:0 0 auto;color:var(--muted)}.group-create-surface form,.project-form,.task-form>fieldset,.task-destination-fields,.task-form-primary-fields,.task-form-details{display:grid;gap:14px}.task-destination-fields{padding-bottom:16px;border-bottom:1px solid var(--line)}.task-project-empty{display:flex;flex-wrap:wrap;gap:5px 10px;color:var(--muted);font-size:.75rem}.task-project-empty a{color:var(--teal);font-weight:700}.field,.choice-field,.task-project-context{display:grid;gap:6px;min-width:0}.field label,.field-label,.choice-field legend{color:#43514b;font-size:.8125rem;font-weight:700}.field label:after{content:" *";color:var(--destructive)}.field.optional-field label:after{content:""}.field input,.field select{width:100%;min-width:0;min-height:var(--control-height);padding:11px 12px;border:1px solid var(--control-border);border-radius:6px;color:var(--ink);background:var(--surface);line-height:1.4}.field select{padding-right:34px}.field input:hover:not(:disabled),.field select:hover:not(:disabled){border-color:var(--control-border-hover)}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--destructive)}.field-error{color:var(--destructive);font-size:.75rem;overflow-wrap:anywhere}.empty-state{padding:18px 0;color:var(--muted);font-size:.8125rem}.primary-action,.secondary-action,.destructive-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:var(--control-height);padding:10px 16px;border-radius:6px;font-size:.875rem;font-weight:700;line-height:1.35;text-align:center;text-decoration:none;overflow-wrap:anywhere;cursor:pointer}.primary-action{width:100%;border:1px solid var(--action);color:#fff;background:var(--action)}.primary-action:hover:not(:disabled){border-color:var(--action-hover);background:var(--action-hover)}.secondary-action{border:1px solid var(--control-border);color:var(--ink);background:var(--surface)}.secondary-action:hover:not(:disabled){border-color:var(--control-border-hover);background:var(--surface-subtle)}.destructive-action{border:1px solid var(--destructive);color:#fff;background:var(--destructive)}.destructive-action:hover:not(:disabled){border-color:var(--destructive-hover);background:var(--destructive-hover)}.project-page{min-width:0;padding-top:2px;padding-bottom:24px}.back-link{display:inline-flex;align-items:center;gap:6px;min-width:0;min-height:var(--command-size);margin-left:-8px;padding:7px 8px;border-radius:6px;color:var(--muted);font-size:.8125rem;font-weight:700;text-decoration:none}.back-link:hover{color:var(--teal);background:#ffffff9e}.back-link[aria-disabled=true]{cursor:not-allowed;opacity:.58}.project-page-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;margin:10px 0 18px}.group-segmented-control{display:flex;gap:6px;width:100%;min-width:0;margin:-6px 0 18px;padding:2px 1px 8px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.group-segmented-option{min-width:96px;max-width:220px;min-height:var(--command-size);flex:0 0 auto;padding:8px 12px;border:1px solid var(--control-border);border-radius:6px;color:var(--muted);background:var(--surface);font-size:.8125rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere;cursor:pointer}.group-segmented-option:hover{border-color:var(--teal);color:var(--teal);background:var(--surface-subtle)}.group-segmented-option[aria-pressed=true]{border-color:var(--teal);color:#214e42;background:var(--teal-soft)}.project-page-heading>div,.project-page-heading>div>div{min-width:0}.project-page-heading h1,.detail-title-wrap h1{overflow-wrap:anywhere}.project-page-subtitle,.detail-subtitle,.task-form-subtitle,.task-detail-context{margin-top:3px;color:var(--muted);font-size:.75rem;overflow-wrap:anywhere}.icon-button{display:inline-grid;width:var(--command-size);height:var(--command-size);flex:0 0 var(--command-size);padding:0;border:1px solid var(--control-border);border-radius:6px;place-items:center;color:var(--ink);background:var(--surface);text-decoration:none;cursor:pointer}.icon-button:hover:not(:disabled){border-color:var(--teal);color:var(--teal);background:var(--surface-subtle)}.project-add-command{border-color:var(--action);color:#fff;background:var(--action)}.project-add-command:hover{border-color:var(--action-hover);color:#fff;background:var(--action-hover)}.destructive-icon-button{border-color:#c47b76;color:var(--destructive)}.project-list{padding-bottom:4px}.project-row-link{display:flex;align-items:flex-start;gap:10px;min-width:0;min-height:108px;padding:14px 12px;color:inherit;text-decoration:none}.project-icon{display:grid;width:36px;height:36px;flex:0 0 36px;border:1px solid #cfe0da;border-radius:7px;place-items:center;color:var(--teal);background:var(--teal-soft);font-size:1.125rem}.project-row-main{display:grid;gap:8px;min-width:0;flex:1}.project-row-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}.project-row-title h2{min-width:0;font-size:.875rem;overflow-wrap:anywhere}.project-date-chip{min-width:0;max-width:78px;flex:0 0 auto;padding:3px 7px;border:1px solid #c7d7d1;border-radius:4px;color:var(--blue-teal);background:#f1f7f5;font-size:.6875rem;font-weight:700;line-height:1.3;text-align:center;overflow-wrap:anywhere}.project-counts{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--muted);font-size:.75rem}.project-progress{display:block;min-width:0}.project-progress progress{display:block;width:100%;height:8px;border:0;border-radius:4px;background:#dbe6e2;overflow:hidden}.project-progress progress::-webkit-progress-bar{background:#dbe6e2}.project-progress progress::-webkit-progress-value{background:var(--teal)}.project-progress progress::-moz-progress-bar{background:var(--teal)}.project-chevron{align-self:center}.project-empty,.task-empty{border-top:1px solid var(--line)}.form-heading{align-items:end;margin-top:11px;margin-bottom:20px}.project-form-surface{min-width:0}.project-form{padding-bottom:8px}.detail-heading{margin-bottom:14px}.detail-title-wrap{display:flex;align-items:center;gap:10px;min-width:0}.detail-icon{display:grid;width:42px;height:42px;flex:0 0 42px;border:1px solid #cfe0da;border-radius:var(--card-radius);place-items:center;background:var(--teal-soft);font-size:1.25rem}.icon-actions{display:flex;gap:6px;flex:0 0 auto}.project-metadata{margin:0}.project-task-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;border:0}.project-task-summary>div{display:grid;min-width:0;min-height:76px;padding:10px 5px;border:1px solid #d3dfdb;border-radius:var(--card-radius);place-content:center;text-align:center;background:var(--surface)}.project-task-summary dt{color:var(--muted);font-size:.6875rem;font-weight:700;overflow-wrap:anywhere}.project-task-summary dd{margin-top:3px;color:var(--ink);font-size:1.25rem;font-weight:700;line-height:1.2}.task-section{padding:22px 0 8px}.task-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.task-section-heading h2{min-width:0;font-size:1rem;overflow-wrap:anywhere}.task-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.task-timeline-item{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:9px;min-width:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.task-timeline-item:before{position:absolute;top:28px;bottom:-18px;left:44px;width:1px;content:"";background:#a9c0b7}.task-timeline-item:last-child:before{display:none}.task-deadline-label{position:relative;display:grid;align-content:start;justify-items:end;gap:1px;min-width:0;padding-top:15px;padding-right:7px;color:var(--blue-teal);font-size:.6875rem;font-weight:700;line-height:1.25}.task-deadline-label:after{position:absolute;top:21px;right:-5px;width:9px;height:9px;border:2px solid var(--app-surface);border-radius:50%;content:"";background:var(--teal)}.task-deadline-label time,.task-deadline-label span{max-width:100%;overflow-wrap:anywhere}.task-row-link{display:flex;align-items:center;gap:8px;min-width:0;min-height:92px;padding:12px;border:1px solid #d3dfdb;border-radius:var(--card-radius);color:inherit;background:var(--surface);box-shadow:0 4px 14px #25302a0d;text-decoration:none}.task-row-main{display:grid;gap:9px;min-width:0;flex:1}.task-row-title{display:flex;align-items:flex-start;gap:6px;min-width:0}.task-row-title h3{min-width:0;flex:1;color:var(--ink);overflow-wrap:anywhere}.task-star,.task-summary-icon{display:inline-grid;flex:0 0 auto;place-items:center;color:var(--warning)}.task-row-metadata{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;min-width:0;color:var(--muted);font-size:.6875rem}.task-row-metadata>span{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%}.task-row-metadata svg{flex:0 0 auto}.task-metadata-text{min-width:0;overflow-wrap:anywhere}.task-status,.task-importance-label{display:inline-flex;min-height:22px;padding:2px 7px;border:1px solid #8fb2a5;border-radius:4px;align-items:center;color:#26594b;background:#edf7f3;font-size:.6875rem;font-weight:700;line-height:1.3}.task-status[data-status=doing]{border-color:#c6a45f;color:var(--warning);background:var(--warning-soft)}.task-status[data-status=done]{border-color:#aeb9b5;color:var(--muted);background:#f1f4f2}.completed-task-disclosure{margin-top:17px;border-top:1px solid var(--line);padding-top:12px}.completed-task-disclosure>summary{min-height:var(--command-size);padding:11px 4px;color:var(--muted);font-size:.8125rem;font-weight:700;cursor:pointer}.completed-task-disclosure[open]>summary{margin-bottom:8px}.task-form-header{display:grid;grid-template-columns:minmax(0,1fr) var(--command-size);align-items:start;gap:10px;min-width:0;margin:4px 0 20px}.task-form-header>div{min-width:0}.task-form-close{display:inline-grid;width:var(--command-size);height:var(--command-size);min-height:var(--command-size);margin:0;padding:0;border:1px solid var(--control-border);place-items:center;color:var(--ink);background:var(--surface)}.task-form-close:hover{border-color:var(--teal)}.task-form,.task-form>fieldset,.task-form fieldset{min-width:0;margin:0;padding:0;border:0}.task-timing-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:10px;min-width:0}.checkbox-control{display:flex;align-items:center;gap:10px;min-width:0;min-height:var(--control-height);padding:10px 12px;border:1px solid #e2bf72;border-radius:6px;color:var(--warning);background:var(--warning-soft);font-size:.8125rem;font-weight:700;cursor:pointer}.checkbox-control input{width:21px;height:21px;flex:0 0 21px;margin:0;accent-color:var(--warning)}.task-form-details{padding-top:3px}.task-form-details>h2{padding-bottom:8px;border-bottom:1px solid var(--line);font-size:.875rem}.choice-field{margin:0;padding:0;border:0}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;border:1px solid var(--control-border);border-radius:6px;background:var(--surface);overflow:hidden}.segmented-control.repeat-control{grid-template-columns:repeat(4,minmax(0,1fr))}.segmented-control label,.weekday-controls label{position:relative;display:grid;min-width:0;min-height:var(--command-size);place-items:center;cursor:pointer}.segmented-control label:not(:last-child){border-right:1px solid var(--line)}.segmented-control input,.weekday-controls input{position:absolute;width:1px;height:1px;opacity:0}.segmented-control span,.weekday-controls span{display:grid;width:100%;min-width:0;min-height:var(--command-size);padding:7px 3px;place-items:center;color:var(--muted);font-size:.75rem;font-weight:700;text-align:center;overflow-wrap:anywhere}.segmented-control input:checked+span,.weekday-controls input:checked+span{color:#fff;background:var(--teal)}.segmented-control input:focus-visible+span,.weekday-controls input:focus-visible+span{outline:3px solid var(--focus);outline-offset:-3px}.segmented-control input:checked:focus-visible+span,.weekday-controls input:checked:focus-visible+span{outline-color:#fff}.choice-field:disabled .segmented-control,.task-form>fieldset:disabled .segmented-control,.task-form>fieldset:disabled .weekday-controls,.task-form>fieldset:disabled .checkbox-control{cursor:not-allowed;opacity:.58}.choice-field:disabled label,.task-form>fieldset:disabled .segmented-control label,.task-form>fieldset:disabled .weekday-controls label,.task-form>fieldset:disabled .checkbox-control{cursor:not-allowed}.weekday-controls{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;min-width:0}.weekday-controls span{border:1px solid var(--control-border);border-radius:6px;background:var(--surface)}.readonly-value,.task-form-context{min-width:0;padding:12px;border:1px solid #ccd9d4;border-radius:6px;color:var(--muted);background:var(--surface-subtle);font-size:.8125rem;overflow-wrap:anywhere}.task-form-actions{padding-top:8px;padding-bottom:4px;background:var(--app-surface)}.task-form-submit{min-height:var(--control-height);box-shadow:0 6px 16px #25302a24}.task-detail-header{display:grid;gap:6px;min-width:0}.task-detail-heading{min-width:0;padding:2px 0 11px}.task-detail-title{min-width:0}.task-detail-title h1,.task-detail-title h2,.task-detail-title p,.task-detail-title span{min-width:0;overflow-wrap:anywhere}.task-detail-summary{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;min-width:0;min-height:116px;padding:17px 15px;border:1px solid #d5dfdb;border-radius:var(--card-radius);background:var(--surface)}.task-detail-summary[data-important=true]{border-color:#e0bd6c;background:var(--warning-soft)}.task-detail-summary h2{font-size:1rem}.task-detail-summary p{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.task-detail-summary .task-importance-label{border-color:#d7af57;color:var(--warning);background:#ffffff7a}.task-detail-sections{display:grid;gap:9px;margin-top:12px}.task-detail-information-card{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;min-width:0;min-height:70px;padding:13px 14px;border:1px solid #d3dfdb;border-radius:var(--card-radius);background:var(--surface)}.task-detail-information-card>svg{margin-top:1px;color:var(--blue-teal)}.task-detail-information-card>div,.task-detail-information-card dl,.task-detail-information-card dd,.task-detail-information-card p{min-width:0;overflow-wrap:anywhere}.task-detail-information-card h2{color:var(--muted);font-size:.6875rem}.task-detail-information-card p,.task-detail-information-card dd{margin-top:3px;color:var(--ink);font-size:.8125rem}.task-detail-metadata dl{margin:0}.task-detail-metadata dl>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}.task-detail-metadata dt{margin-top:3px;color:var(--muted);font-size:.6875rem}.task-detail-metadata dd{margin-left:0}.task-detail-creation-card dl{display:grid;gap:2px}.task-detail-command-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) var(--command-size);gap:9px;margin-top:14px;padding-top:9px;padding-bottom:4px;background:var(--app-surface)}.task-detail-command-bar[data-completable=false]{grid-template-columns:minmax(0,1fr) var(--command-size)}.task-detail-complete-action{width:auto}.task-detail-edit-action[aria-disabled=true]{pointer-events:none;opacity:.58}.task-detail-more-actions{position:relative;width:var(--command-size);height:var(--command-size)}.task-detail-actions-menu{position:absolute;right:0;bottom:calc(100% + 7px);z-index:4;width:max-content;min-width:176px;padding:5px;border:1px solid var(--control-border);border-radius:6px;background:var(--surface);box-shadow:var(--shadow)}.task-detail-delete-menu-item{display:flex;align-items:center;gap:8px;width:100%;min-height:var(--command-size);padding:8px 10px;border:0;border-radius:4px;color:var(--destructive);background:transparent;cursor:pointer}.task-detail-delete-menu-item:hover,.task-detail-delete-menu-item:focus-visible{background:var(--destructive-soft)}.task-detail-completion-error{margin-top:12px}.page-state{display:grid;gap:13px;min-width:0;margin-top:15px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.page-state h1,.page-state h2{font-size:1.125rem;overflow-wrap:anywhere}.page-state p:not(.inline-error){color:var(--muted);font-size:.8125rem}.page-state .secondary-action{width:fit-content;min-width:104px}.inline-error{min-width:0;padding:10px 12px;border:1px solid #dba09b;border-left:4px solid var(--destructive);border-radius:6px;color:var(--destructive);background:var(--destructive-soft);font-size:.75rem;overflow-wrap:anywhere}.confirm-dialog{width:min(calc(100% - 28px),356px);max-width:none;max-height:calc(100dvh - 28px);padding:0;border:1px solid #c8d5d0;border-radius:var(--card-radius);color:var(--ink);background:var(--surface);box-shadow:0 20px 60px #25302a3d}.confirm-dialog::backdrop{background:#18211d85}.confirm-dialog-body{display:grid;gap:15px;min-width:0;padding:21px}.confirm-dialog h2,.confirm-dialog p{min-width:0;overflow-wrap:anywhere}.confirm-dialog p:not(.inline-error){color:var(--muted);font-size:.8125rem}.confirm-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;min-width:0}.confirm-dialog-actions>button{min-width:0}.project-page-skeleton{display:grid;align-content:start;gap:17px;min-height:286px;padding:13px 0}.project-page-skeleton[data-variant=form]{min-height:320px}.project-page-skeleton[data-variant=detail]{min-height:260px}.project-skeleton-title{width:min(54%,190px);height:28px}.project-skeleton-content{display:grid;gap:9px}.project-skeleton-block{width:100%;height:76px}.project-page-skeleton[data-variant=form] .project-skeleton-block{height:var(--control-height)}.project-page-skeleton[data-variant=detail] .project-skeleton-block{height:68px}.today-page{min-width:0;padding-top:2px;padding-bottom:24px;overflow-x:clip}.today-page-header{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:12px;min-width:0;margin-bottom:14px}.today-page-header>div{min-width:0}.today-page-header h1,.today-page-header p{overflow-wrap:anywhere}.today-page-header p{margin-top:2px;color:var(--muted);font-size:.75rem}.today-add-command{display:grid;width:44px;height:44px;padding:0;border:1px solid var(--action);border-radius:6px;place-items:center;color:#fff;background:var(--action);text-decoration:none}.today-add-command:hover{border-color:var(--action-hover);background:var(--action-hover)}.today-date-strip{width:100%;min-width:0;height:64px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff75}.today-date-strip ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;height:100%;margin:0;padding:0;list-style:none}.today-date-strip li{display:grid;min-width:0;place-items:center}.today-date-strip time{display:grid;width:100%;height:100%;min-width:0;padding:7px 2px 6px;place-content:center;place-items:center;color:var(--muted);font-size:.6875rem;line-height:1.1}.today-date-strip time[aria-current=date]{color:var(--ink);background:var(--warning-soft);box-shadow:inset 0 -3px #b27619;font-weight:800}.today-date-number{margin-top:3px;font-size:1rem;font-weight:700}.today-page-skeleton{display:grid;gap:12px;min-height:236px;padding:22px 0 12px}.today-skeleton-row{display:grid;grid-template-columns:70px minmax(0,270px);gap:16px;min-width:0}.today-skeleton-time{width:46px;height:13px;margin-top:20px;justify-self:end}.today-skeleton-card{width:100%;max-width:270px;height:94px}.today-page-state{display:grid;justify-items:start;gap:13px;min-width:0;padding:26px 0 16px}.today-page-state h2,.today-page-state p{min-width:0;overflow-wrap:anywhere}.today-page-state .secondary-action{min-height:44px}.today-ready-content{display:grid;gap:20px;min-width:0;padding-top:16px}.today-overdue-banner{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;height:56px;min-width:0;padding:6px 6px 6px 10px;border:1px solid #d8b36a;border-left:4px solid #a76812;border-radius:6px;color:#633f0a;background:var(--warning-soft);overflow:hidden}.today-overdue-banner>svg{flex:0 0 auto}.today-overdue-summary{min-width:0;overflow:hidden}.today-overdue-summary p:first-child{font-size:.75rem;font-weight:800}.today-overdue-summary p:last-child{overflow:hidden;font-size:.6875rem;text-overflow:ellipsis;white-space:nowrap}.today-overdue-banner button{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:78px;height:44px;padding:0 7px;border:0;border-radius:5px;color:#fff;background:#71500f;font-size:.6875rem;font-weight:800;cursor:pointer}.today-overdue-banner button:hover{background:#513907}.today-overdue-banner button svg{flex:0 0 auto;transition:transform .16s ease}.today-overdue-banner button[aria-expanded=true] svg{transform:rotate(180deg)}.today-overdue-tasks,.today-task-section{min-width:0}.today-overdue-tasks{padding-bottom:2px}.today-overdue-tasks h2,.today-task-section>h2{margin-bottom:12px;font-size:.875rem;overflow-wrap:anywhere}.today-overdue-tasks h2{color:var(--warning)}.today-timeline{display:grid;gap:12px;width:100%;min-width:0;margin:0;padding:0;list-style:none}.today-timeline-item{position:relative;display:grid;grid-template-columns:70px minmax(0,270px);gap:16px;width:100%;min-width:0}.today-timeline-marker{position:absolute;top:24px;bottom:-20px;left:77px;width:1px;background:#a9c0b7;pointer-events:none}.today-timeline-marker:after{position:absolute;top:0;left:-4px;width:9px;height:9px;border:2px solid var(--app-surface);border-radius:50%;content:"";background:var(--teal)}.today-timeline-item:last-child .today-timeline-marker{bottom:auto;height:1px;background:transparent}.today-timeline[data-variant=overdue] .today-timeline-marker:after{background:#a76812}.today-timeline-time{display:grid;align-content:start;justify-items:end;gap:2px;min-width:0;padding-top:15px;padding-right:3px;color:var(--blue-teal);font-size:.6875rem;font-weight:800;line-height:1.2;text-align:right}.today-timeline-time time,.today-timeline-time span{max-width:100%;overflow-wrap:anywhere}.today-overdue-label{color:var(--warning);font-size:.625rem;text-transform:uppercase}.today-unscheduled{color:var(--muted);font-size:.625rem}.today-task-card{width:100%;max-width:270px;min-width:0;border:1px solid #d1ded9;border-radius:8px;background:var(--surface);box-shadow:0 4px 14px #25302a0d;overflow:hidden}.today-task-link{display:flex;align-items:center;gap:7px;width:100%;min-width:0;min-height:94px;padding:12px 10px 12px 12px;color:inherit;text-decoration:none}.today-task-link:hover{background:var(--surface-subtle)}.today-task-card-main{display:grid;gap:10px;min-width:0;flex:1}.today-task-title-row{display:flex;align-items:flex-start;gap:6px;min-width:0}.today-task-title-row h3{min-width:0;flex:1;font-size:.875rem;overflow-wrap:anywhere}.today-task-star{display:grid;flex:0 0 auto;place-items:center;color:var(--warning)}.today-task-metadata{display:flex;flex-wrap:wrap;gap:5px 9px;min-width:0;color:var(--muted);font-size:.6875rem}.today-task-metadata>span{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%}.today-task-metadata>span>span:last-child{min-width:0;overflow-wrap:anywhere}.today-task-metadata svg,.today-project-emoji{flex:0 0 auto}.today-project-emoji{line-height:1}.today-task-chevron{flex:0 0 auto;color:var(--muted)}.today-empty-state{display:grid;min-height:104px;padding:18px 0;place-content:center;place-items:center;gap:8px;color:var(--muted);font-size:.8125rem;text-align:center;overflow-wrap:anywhere}.today-empty-state-icon{color:var(--teal)}.history-page{min-width:0;padding-top:2px;padding-bottom:24px;overflow-x:clip}.history-page-header{display:grid;grid-template-columns:minmax(0,1fr) var(--command-size);align-items:center;gap:12px;min-width:0;margin-bottom:14px}.history-page-header>div,.history-page-header h1,.history-page-header p{min-width:0;overflow-wrap:anywhere}.history-page-header p{margin-top:2px;color:var(--muted);font-size:.75rem}.history-refresh-command{display:grid;width:var(--command-size);height:var(--command-size);padding:0;border:1px solid var(--action);border-radius:6px;place-items:center;color:#fff;background:var(--action);cursor:pointer}.history-refresh-command:hover:not(:disabled){border-color:var(--action-hover);background:var(--action-hover)}.history-group-field{gap:5px;margin-bottom:12px}.history-group-field select{min-height:var(--command-size);padding-top:7px;padding-bottom:7px}.history-period-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0;height:var(--command-size);padding:0;border-radius:8px;background:var(--surface);overflow:hidden}.history-period-option{min-width:0;height:var(--command-size);padding:0 5px;border:0;border-radius:6px;color:var(--muted);background:var(--surface);font-size:.6875rem;font-weight:700;overflow-wrap:anywhere;cursor:pointer}.history-period-option:hover{color:var(--ink);background:var(--surface-subtle)}.history-period-option[aria-pressed=true]{color:#fff;background:var(--action)}.history-ready-content{display:grid;gap:16px;min-width:0;padding-top:22px}.history-timeline{display:grid;gap:14px;width:100%;min-width:0;margin:0;padding:0;list-style:none}.history-timeline-item{position:relative;display:grid;grid-template-columns:48px 10px minmax(0,270px);align-items:start;column-gap:13px;width:100%;min-width:0;min-height:78px}.history-date-label{min-width:0;padding-top:2px;color:var(--blue-teal);font-size:.75rem;font-weight:800;line-height:1.5;text-align:right;overflow-wrap:anywhere}.history-timeline-item:first-child .history-date-label{color:var(--teal)}.history-timeline-marker{z-index:1;display:block;width:10px;height:10px;margin-top:5px;border:2px solid var(--app-surface);border-radius:50%;background:var(--blue-teal)}.history-timeline-item:first-child .history-timeline-marker{background:var(--teal)}.history-timeline-item:has(.history-card[data-starred=true]) .history-date-label{color:var(--warning)}.history-timeline-item:has(.history-card[data-starred=true]) .history-timeline-marker{background:#d99827}.history-timeline-rail{position:absolute;top:16px;bottom:-20px;left:65px;width:2px;border-radius:2px;background:#c8d3d0;pointer-events:none}.history-timeline-item:last-child .history-timeline-rail{display:none}.history-card{display:grid;align-content:center;gap:9px;width:100%;max-width:270px;min-width:0;min-height:78px;padding:10px 11px;border:1px solid #d2dfd9;border-radius:var(--card-radius);background:var(--surface)}.history-card[data-starred=true]{background:var(--warning-soft)}.history-card-title-row{display:flex;align-items:flex-start;gap:6px;min-width:0}.history-card h2{min-width:0;flex:1;font-size:.8125rem;line-height:1.45;overflow-wrap:anywhere}.history-card h2 a{color:inherit;text-decoration:none}.history-card h2 a:hover{color:var(--teal);text-decoration:underline;text-underline-offset:2px}.history-card-star{display:grid;flex:0 0 auto;place-items:center;color:var(--warning)}.history-card-metadata{display:flex;flex-wrap:wrap;align-items:center;gap:2px 5px;min-width:0;color:var(--muted);font-size:.6875rem;line-height:1.45}.history-card-metadata>span,.history-card-metadata time{min-width:0;overflow-wrap:anywhere}.history-page-skeleton{display:grid;gap:14px;min-height:210px;padding-top:22px}.history-skeleton-row{display:grid;grid-template-columns:71px minmax(0,270px);gap:13px;min-width:0}.history-skeleton-label{width:42px;height:13px;margin-top:4px;justify-self:end}.history-skeleton-card{width:100%;max-width:270px;height:78px}.history-page-state,.history-no-group-state,.history-empty-state{display:grid;min-width:0}.history-page-state{justify-items:start;gap:13px;padding:26px 0 16px}.history-page-state h2,.history-page-state p{min-width:0;overflow-wrap:anywhere}.history-no-group-state,.history-empty-state{min-height:140px;padding:24px 0;place-content:center;place-items:center;gap:9px;color:var(--muted);font-size:.8125rem;text-align:center}.history-no-group-state>svg,.history-empty-state>svg{color:var(--teal)}.history-no-group-state a{color:var(--teal);font-weight:700}.history-pagination-error{margin-left:84px}.history-load-more{width:calc(100% - 84px);max-width:270px;margin-left:84px}.login-shell,.state-shell{display:grid;align-items:center;padding-top:40px;padding-bottom:40px}.login-panel,.state-panel{width:100%;min-width:0}.login-panel{text-align:center}.login-brand-lockup{display:grid;justify-items:center;gap:13px}.login-panel h1{font-size:1.75rem}.brand-mark{display:grid;width:52px;height:52px;border:2px solid var(--ink);border-radius:var(--card-radius);place-items:center;color:var(--ink);background:var(--warning-soft);font-size:.75rem;font-weight:800}.login-panel .inline-error,.state-panel .inline-error{margin-top:22px;text-align:left}.login-action,.state-panel .primary-action{margin-top:24px}.state-panel h1{margin-top:4px;font-size:1.25rem}.authenticated-not-found{display:grid;gap:18px;padding-top:28px}.authenticated-not-found h1{font-size:1.25rem}.loading-screen{padding-top:18vh}.skeleton{border-radius:6px;background:#d5e2dd;animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-brand{width:76px;height:12px}.skeleton-title{width:min(48%,180px);height:30px;margin-top:12px}.skeleton-line{width:100%;height:76px;margin-top:32px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@keyframes skeleton-pulse{0%,to{opacity:.55}50%{opacity:1}}@media(min-width:520px){body{padding-top:28px;padding-bottom:28px}.app-shell{min-height:calc(100dvh - 56px);margin-top:0;margin-bottom:0;border:1px solid #d3dfdb;border-radius:28px;box-shadow:0 20px 60px #25302a1a}}@media(max-width:365px){.weekday-controls{grid-template-columns:repeat(4,minmax(44px,1fr))}}@media(max-width:359px){.app-shell{padding-right:14px;padding-left:14px}.app-navigation-action{font-size:.625rem}.project-page-heading,.task-timing-grid{gap:7px}.task-timeline-item{grid-template-columns:44px minmax(0,1fr);gap:7px}.task-timeline-item:before{left:40px}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}.today-overdue-banner button svg{transition:none}}
