@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&display=swap";:root{--bg: #ffffff;--bg-muted: #f7f7f5;--ink: #0a0a0a;--muted: #6b6b6b;--line: rgba(10, 10, 10, .12);--line-strong: rgba(10, 10, 10, .22);--today: #0a0a0a;--accent: #0a0a0a;--danger: #b42318;--done-ink: #6f6f6b;--done-decor: rgba(111, 111, 107, .45);--radius: 6px;--font: "IBM Plex Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;--text-xs: .68rem;--text-sm: .78rem;--text-base: .875rem;--text-md: .88rem;--text-lg: .95rem;--week-h: 7.5rem;--week-h-current: 15rem}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}html{font-size:16px}@media(min-width:900px){html{font-size:90%}}body{font-family:var(--font);font-size:var(--text-base);line-height:1.45;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}.app-shell{min-height:100dvh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(1200px 600px at 10% -10%,rgba(10,10,10,.03),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(10,10,10,.025),transparent 50%),var(--bg)}.app-body{flex:1;display:flex;min-height:0;align-items:stretch;overflow:hidden}.main{flex:1;padding:0;width:auto;max-width:none;margin:0;overflow:hidden;min-width:0;display:flex;flex-direction:column;min-height:0}.assistant-rail{flex:0 0 auto;width:380px;border-left:1px solid var(--line);background:#fff;display:flex;flex-direction:column;min-height:0;align-self:stretch;height:100%;max-height:none;position:relative;opacity:1;transform:translate(0);transition:opacity .15s ease,transform .15s ease,width .15s ease,flex-basis .15s ease,border-color .15s ease;overflow:hidden}.assistant-rail.is-closed{width:0!important;flex-basis:0!important;opacity:0;transform:translate(10px);border-left-color:transparent;pointer-events:none}.assistant-rail-inner{display:flex;flex-direction:column;min-height:0;flex:1;width:100%;min-width:280px}.assistant-resize-handle{position:absolute;left:-3px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:5;touch-action:none}.assistant-resize-handle:after{content:"";position:absolute;left:3px;top:0;bottom:0;width:1px;background:transparent;transition:background .12s ease}.assistant-resize-handle:hover:after,.assistant-resize-handle:focus-visible:after,body.is-resizing-assistant .assistant-resize-handle:after{background:#0a0a0a47}body.is-resizing-assistant{cursor:col-resize;-webkit-user-select:none;user-select:none}body.is-resizing-assistant iframe{pointer-events:none}body.is-resizing-day{cursor:col-resize;-webkit-user-select:none;user-select:none}body.is-resizing-day iframe{pointer-events:none}.assistant-rail.is-collapsed{flex-basis:44px;width:44px;align-items:center;padding-top:.75rem;align-self:stretch}.assistant-toggle{writing-mode:vertical-rl;border:1px solid var(--line);background:var(--bg-muted);border-radius:var(--radius);padding:.75rem .35rem;letter-spacing:.12em;font-weight:550}.assistant-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.85rem .9rem;border-bottom:1px solid var(--line);flex:0 0 auto;background:#fff}.assistant-head-main{min-width:0;flex:1}.assistant-head-main>span{display:block;color:var(--muted);font-size:.78rem;margin-top:.15rem}.assistant-title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.assistant-title-row strong{font-weight:550}.assistant-head-actions{display:flex;align-items:center;gap:.15rem;flex-shrink:0}.btn-tiny{padding:.2rem .45rem;font-size:.75rem}.assistant-bubble.error{align-self:flex-start;background:#fff5f4;border:1px solid rgba(180,35,24,.25);color:var(--danger)}.assistant-retry-banner{align-self:flex-start;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;max-width:100%;padding:.5rem .65rem;border-radius:10px;background:#faf9f7;border:1px dashed rgba(10,10,10,.14);font-size:.82rem;color:var(--muted, #666)}.assistant-retry-banner span{flex:1 1 12rem;line-height:1.4}.assistant-history{position:absolute;inset:0;z-index:10;border-bottom:none;background:#fff;box-shadow:0 8px 24px #0a0a0a14;display:flex;flex-direction:column;min-height:0}.assistant-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;position:relative}.assistant-history-head{display:flex;justify-content:space-between;align-items:center;padding:.55rem .9rem;border-bottom:1px solid var(--line)}.assistant-history-list{list-style:none;margin:0;padding:.35rem;overflow-y:auto;flex:1 1 auto;min-height:0;-webkit-overflow-scrolling:touch}.assistant-history-list li{margin:0}.history-item{width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:var(--radius);padding:.5rem .55rem;display:flex;flex-direction:column;gap:.15rem}.history-item:hover,.history-item.is-active{background:#fff;border-color:var(--line)}.history-title{font-size:.82rem}.assistant-messages{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:.85rem .9rem;display:flex;flex-direction:column;gap:.65rem;overscroll-behavior:contain}.assistant-bubble{max-width:95%;padding:.65rem .75rem;border-radius:8px;font-size:var(--text-md);line-height:1.45;word-break:break-word}.assistant-plain{white-space:pre-wrap}.assistant-md{display:flex;flex-direction:column;gap:.45rem}.assistant-md-p{margin:0}.assistant-md-heading{margin:.15rem 0 0;font-size:.92rem;font-weight:600;line-height:1.35}.assistant-md-list{margin:.1rem 0;padding-left:1.2rem}.assistant-md-list li{margin:.2rem 0}.assistant-md-list li::marker{color:var(--muted)}.assistant-md-pre{position:relative;margin:0;padding:.55rem .65rem;border-radius:var(--radius);background:#0a0a0a0d;border:1px solid var(--line);overflow:auto;font-size:.78rem;line-height:1.45}.assistant-md-pre code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.assistant-md-lang{display:block;margin-bottom:.35rem;font-size:.68rem;color:var(--muted);text-transform:lowercase}.assistant-md-inline-code{padding:.05rem .3rem;border-radius:4px;background:#0a0a0a0f;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82em}.assistant-md a{color:#175cd3;text-decoration:underline;text-underline-offset:2px}.assistant-md strong{font-weight:600}.assistant-reply{display:flex;flex-direction:column;gap:.35rem}.assistant-reply-copy{align-self:flex-end;margin-top:.1rem}.assistant-reply-copy.is-done{color:var(--ink)}.assistant-bubble.user{align-self:flex-end;background:#f3f2ef;color:var(--ink);border:1px solid var(--line)}.assistant-bubble.assistant{align-self:flex-start;background:var(--bg-muted);border:1px solid var(--line);color:var(--ink)}.assistant-trace{align-self:flex-start;max-width:100%;font-size:var(--text-sm);color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius);background:#fafaf8;padding:.35rem .55rem}.assistant-trace-summary{display:flex;align-items:center;gap:.45rem;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.assistant-trace-summary::-webkit-details-marker{display:none}.assistant-trace.is-active .assistant-trace-summary{color:var(--ink)}.assistant-trace-spinner{width:.65rem;height:.65rem;border:1.5px solid var(--line-strong);border-top-color:var(--ink);border-radius:50%;animation:assistant-trace-spin .8s linear infinite;flex-shrink:0}@keyframes assistant-trace-spin{to{transform:rotate(360deg)}}.assistant-trace-list{margin:.45rem 0 0;padding:0 0 0 1rem;display:flex;flex-direction:column;gap:.35rem}.assistant-trace-step{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem}.assistant-trace-step-kind{font-size:var(--text-xs);font-weight:600;color:var(--muted);flex-shrink:0}.assistant-trace-step-title{color:var(--ink)}.assistant-trace-step-detail{width:100%;font-size:var(--text-xs);color:var(--muted)}.assistant-composer .btn-primary,.assistant-composer .btn-ghost{width:100%;font-size:var(--text-sm);font-weight:600}.assistant-composer .btn-primary,.assistant-confirm .btn-primary{background:#f0f0ee;color:#4a4a4a;border-color:#0a0a0a1a}.assistant-composer .btn-primary:hover:not(:disabled),.assistant-confirm .btn-primary:hover:not(:disabled){background:#e8e8e4;color:var(--ink)}.assistant-composer .btn-primary:disabled,.assistant-confirm .btn-primary:disabled{opacity:.55}.assistant-composer{flex:0 0 auto;border-top:1px solid var(--line);padding:.75rem .9rem calc(.75rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:.5rem;background:#fff;position:sticky;bottom:0;z-index:1}.assistant-suggestions{display:flex;flex-wrap:nowrap;gap:.4rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -.1rem;padding:0 .1rem .05rem}.assistant-suggestions::-webkit-scrollbar{display:none}.assistant-suggestion-chip{appearance:none;border:1px solid var(--line-strong);border-radius:calc(var(--radius) + 2px);background:#fff;color:var(--ink);font:inherit;font-size:var(--text-sm);font-weight:550;line-height:1.2;padding:.38rem .72rem;cursor:pointer;flex-shrink:0;white-space:nowrap;transition:background .12s ease,transform .12s ease;-webkit-tap-highlight-color:transparent}.assistant-suggestion-chip:hover:not(:disabled){background:var(--bg-muted)}.assistant-suggestion-chip:active:not(:disabled){transform:scale(.98)}.assistant-suggestion-chip:disabled{opacity:.45;cursor:default}.assistant-paste-card{position:relative;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-muted);padding:.5rem .6rem;display:flex;flex-direction:column;gap:.35rem}.assistant-paste-card-body{display:flex;align-items:flex-start;gap:.35rem}.assistant-paste-card-head{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.assistant-paste-card-label{font-size:var(--text-xs);font-weight:650;color:var(--ink)}.assistant-paste-card-meta{font-size:var(--text-xs);color:var(--muted);flex:1;min-width:0}.assistant-paste-card-remove{margin-left:auto;flex-shrink:0}.assistant-paste-card-preview{margin:0;font-size:var(--text-xs);line-height:1.4;color:var(--muted);flex:1;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.assistant-paste-card-hint{flex-shrink:0;font-size:var(--text-xs);color:var(--muted);opacity:.85;white-space:nowrap}.assistant-paste-card-expand{flex-shrink:0}.assistant-paste-popover{z-index:1200;max-height:min(42vh,22rem);overflow:auto;border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;box-shadow:0 10px 28px #0a0a0a1f;padding:.55rem .65rem;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(4px);transition:opacity .14s ease,visibility .14s ease,transform .14s ease}.assistant-paste-popover.is-floating{position:fixed}.assistant-paste-popover.is-floating.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.assistant-paste-popover-body,.assistant-paste-inline{margin:0;font:inherit;font-size:var(--text-xs);line-height:1.45;color:var(--ink);white-space:pre-wrap;word-break:break-word}.assistant-paste-inline{display:none;max-height:min(36vh,16rem);overflow:auto;padding:.45rem .5rem;border:1px dashed var(--line-strong);border-radius:calc(var(--radius) - 2px);background:#fff}.assistant-paste-card.is-expanded .assistant-paste-inline{display:block}@media(hover:hover)and (pointer:fine){.assistant-paste-card-hint{display:inline}}@media(hover:none),(pointer:coarse){.assistant-paste-card-hint{display:none}}.assistant-composer textarea{width:100%;resize:none;min-height:5.5rem;max-height:9rem;border:1px solid var(--line);border-radius:var(--radius);padding:.55rem .65rem;font:inherit;font-size:var(--text-sm);line-height:1.45;background:#fff}.assistant-composer textarea::placeholder{color:var(--muted);opacity:1}.assistant-composer textarea:focus{outline:2px solid rgba(10,10,10,.15);outline-offset:1px}.assistant-composer-actions{display:flex;align-items:center;gap:.5rem}.assistant-composer-actions .btn-primary,.assistant-composer-actions .btn-ghost{width:auto;flex:1}.assistant-image-upload-btn{flex:0 0 auto;min-width:4.5rem}.assistant-image-attachments{display:flex;flex-wrap:wrap;gap:.45rem}.assistant-image-thumb-wrap{position:relative;width:3.25rem;height:3.25rem}.assistant-image-thumb{width:100%;height:100%;padding:0;border:1px solid var(--line-strong);border-radius:calc(var(--radius) - 2px);overflow:hidden;background:#fff;cursor:zoom-in}.assistant-image-thumb img{width:100%;height:100%;object-fit:cover;display:block}.assistant-image-thumb--message{width:3.5rem;height:3.5rem}.assistant-image-remove{position:absolute;top:-.35rem;right:-.35rem;width:1.1rem;height:1.1rem;border:1px solid var(--line-strong);border-radius:999px;background:#fff;color:var(--muted);font-size:.75rem;line-height:1;cursor:pointer;padding:0}.assistant-image-lightbox{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:1.5rem}.assistant-image-lightbox-backdrop{position:absolute;inset:0;border:none;background:#0a0a0a8c;cursor:zoom-out}.assistant-image-lightbox-body{position:relative;z-index:1;margin:0;max-width:min(92vw,56rem);max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:.65rem;background:#fff;border-radius:var(--radius);padding:.75rem;box-shadow:0 16px 40px #0a0a0a33}.assistant-image-lightbox-body img{max-width:100%;max-height:calc(88vh - 5rem);object-fit:contain;display:block}.assistant-image-lightbox-body figcaption{font-size:var(--text-sm);color:var(--muted)}.assistant-user-content{display:flex;flex-direction:column;gap:.45rem}.assistant-message-images{display:flex;flex-wrap:wrap;gap:.4rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--line);background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:relative;z-index:20;flex:0 0 auto}.brand{font-weight:600;letter-spacing:.04em;font-size:1.05rem;display:inline-flex;align-items:center;gap:.45rem}.account-dropdown-divider{height:1px;margin:.2rem .15rem;background:var(--line)}.account-dropdown-label{padding:.35rem .7rem .2rem;font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;color:var(--muted)}.account-dropdown-item.is-active{font-weight:600;background:var(--bg-muted)}.account-dropdown-item-demo{color:#6b4f1d}.demo-mode-entry{margin:.85rem 0 0;text-align:center}.demo-mode-entry-label{margin:0 0 .45rem;font-size:var(--text-xs);color:var(--muted)}.demo-mode-scene-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem}.demo-mode-scene-btn,.demo-mode-entry .btn{font-size:.75rem;color:var(--muted)}.topbar-meta{display:flex;align-items:center;gap:.55rem;color:var(--muted);font-size:.875rem}.topbar-panel-toggles{display:inline-flex;align-items:center;gap:.15rem}.topbar-text-btn{border-color:transparent;color:var(--ink);display:inline-flex;align-items:center;gap:.3rem;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-text-btn.is-active,.topbar-text-btn.is-open{background:var(--bg-muted)}.topbar-panel-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;padding:0;border-color:transparent;color:var(--muted)}.topbar-panel-btn:hover,.topbar-panel-btn:focus-visible{color:var(--ink)}.topbar-panel-btn.is-active{color:var(--ink);background:var(--bg-muted)}.topbar-panel-icon{display:block;flex-shrink:0}.topbar-panel-label{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);padding:.2rem .45rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:var(--text-xs);font-weight:500;line-height:1.2;white-space:nowrap;opacity:0;pointer-events:none;box-shadow:0 2px 8px #0a0a0a14;transition:opacity .12s ease;z-index:40}.topbar-panel-btn:hover .topbar-panel-label,.topbar-panel-btn:focus-visible .topbar-panel-label{opacity:1}.mode-switch{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;align-items:stretch;min-width:7.25rem;height:1.85rem;padding:2px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-muted);-webkit-user-select:none;user-select:none}.mode-switch-thumb{position:absolute;top:2px;bottom:2px;left:2px;width:calc(50% - 2px);border-radius:calc(var(--radius) - 2px);background:var(--bg);border:1px solid var(--line);box-shadow:0 1px 2px #0a0a0a0f;transition:transform .2s ease;pointer-events:none;z-index:0}.mode-switch.is-calendar .mode-switch-thumb{transform:translate(100%)}.mode-switch.is-plan .mode-switch-thumb{transform:translate(0)}.mode-switch-option{position:relative;z-index:1;appearance:none;border:0;margin:0;padding:0 .55rem;background:transparent;color:var(--muted);font:inherit;font-size:var(--text-sm);font-weight:500;line-height:1;cursor:pointer;border-radius:calc(var(--radius) - 2px)}.mode-switch-option[aria-checked=true]{color:var(--ink)}.mode-switch-option:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.account-caret{font-size:.7rem;color:var(--muted);line-height:1}.account-menu{position:relative}.topbar-meta .account-trigger{height:1.85rem;padding:0 .55rem;box-sizing:border-box}.account-dropdown{position:absolute;right:0;top:calc(100% + .35rem);min-width:9.5rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #0a0a0a14;padding:.25rem;z-index:40}.account-dropdown-item{width:100%;text-align:left;border:none;background:transparent;border-radius:4px;padding:.55rem .7rem;font:inherit;color:var(--ink)}.account-dropdown-item:hover{background:var(--bg-muted)}.btn{border:1px solid var(--line-strong);background:var(--bg);border-radius:var(--radius);padding:.45rem .8rem;transition:transform .12s ease,background .12s ease}.btn:hover{background:var(--bg-muted)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:#222}.btn-soft{background:#f0f0ee;color:#6b6b6b;border-color:#0a0a0a14}.btn-soft:hover:not(:disabled){background:#e8e8e4;color:#4a4a4a}.btn-soft:disabled{opacity:.55}.btn-ghost{border-color:transparent;color:var(--muted)}.btn-danger{color:var(--danger);border-color:#b4231859}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:2rem 1rem;background:linear-gradient(180deg,#fff,#f7f7f5)}.auth-card{width:min(400px,100%);border:1px solid var(--line);border-radius:8px;padding:2rem 1.5rem;background:#fff}.auth-card h1{margin:0 0 .35rem;font-size:1.5rem;font-weight:600;letter-spacing:.02em}.auth-card .sub{margin:0 0 1.5rem;color:var(--muted);font-size:.9rem}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}.field label{font-size:.8rem;color:var(--muted)}.field input{border:1px solid var(--line);border-radius:var(--radius);padding:.65rem .75rem;background:#fff}.field input:focus{outline:2px solid rgba(10,10,10,.2);outline-offset:1px}.field textarea{border:1px solid var(--line);border-radius:var(--radius);padding:.65rem .75rem;background:#fff;resize:vertical;min-height:7rem;font:inherit;line-height:1.45}.field textarea:focus{outline:2px solid rgba(10,10,10,.2);outline-offset:1px}.feedback-modal-root{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:1rem}.feedback-modal-backdrop{position:absolute;inset:0;border:none;background:#0a0a0a47;cursor:pointer}.feedback-modal{position:relative;width:min(480px,100%);border:1px solid var(--line);border-radius:10px;padding:1.5rem;background:#fff;box-shadow:0 18px 48px #0a0a0a1f}.feedback-modal h2{margin:0 0 .35rem;font-size:1.25rem;font-weight:600}.feedback-modal-sub{margin:0 0 1rem;color:var(--muted);font-size:.9rem}.feedback-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.feedback-modal-success{margin:.5rem 0 0;color:#1a7f37;font-size:.85rem}.prompt-config-modal{width:min(560px,100%);max-height:min(88vh,720px);overflow:auto}.prompt-config-list{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1rem}.prompt-config-item{display:flex;flex-direction:column;gap:.35rem}.prompt-config-label{font-size:var(--text-sm);font-weight:600;color:var(--ink)}.prompt-config-item textarea{width:100%;resize:vertical;min-height:4.5rem;border:1px solid var(--line);border-radius:var(--radius);padding:.55rem .65rem;font:inherit;font-size:var(--text-sm);line-height:1.45;background:#fff;color:var(--ink)}.prompt-config-item textarea:focus{outline:2px solid rgba(10,10,10,.14);outline-offset:1px}.prompt-config-actions{justify-content:space-between;gap:.75rem}.prompt-config-actions-end{display:flex;gap:.5rem}.auth-actions{display:flex;flex-direction:column;gap:.65rem;margin-top:1.1rem}.auth-switch{margin-top:1rem;font-size:.875rem;color:var(--muted);text-align:center}.auth-switch button{border:none;background:none;text-decoration:underline;padding:0}.error-text{color:var(--danger);font-size:.85rem;margin:.5rem 0 0}.week-grid-shell{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 1.25rem .5rem}.week-toolbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem 0 .4rem}.week-month-nav{display:inline-flex;align-items:center;gap:.15rem;min-width:0}.week-month-nav-btn{appearance:none;border:1px solid var(--line-strong);border-radius:calc(var(--radius) + 2px);background:#fff;color:var(--ink);font:inherit;font-size:1.05rem;font-weight:500;line-height:1;width:1.85rem;height:1.85rem;min-width:1.85rem;display:inline-grid;place-items:center;cursor:pointer;transition:background .12s ease,opacity .12s ease;-webkit-tap-highlight-color:transparent}.week-month-nav-btn:hover:not(:disabled){background:var(--bg-muted)}.week-month-nav-btn:disabled{opacity:.32;cursor:default}.month-sticky{font-family:var(--font);font-size:.88rem;font-weight:600;letter-spacing:.01em;line-height:1.2;color:var(--ink)}.month-jump{position:relative;display:inline-flex;align-items:center;gap:.15rem;padding:.2rem .4rem;margin:0;border-radius:var(--radius);cursor:pointer;color:var(--muted);overflow:hidden;flex:0 0 auto}.month-jump:hover{background:var(--bg-muted);color:var(--ink)}.month-jump:hover .month-sticky,.month-jump:hover .month-jump-icon{color:inherit}.month-jump-icon{font-size:.65rem;line-height:1;color:var(--muted);opacity:.75}.month-jump-input{position:absolute;width:0;height:0;margin:0;padding:0;border:0;opacity:0;pointer-events:none}.week-grid-scroll{flex:1;min-height:0;overflow:auto;padding:0 0 1.25rem;scrollbar-width:thin;scrollbar-color:rgba(10,10,10,.18) transparent}.week-grid-scroll::-webkit-scrollbar{width:6px}.week-grid-scroll::-webkit-scrollbar-track{background:transparent}.week-grid-scroll::-webkit-scrollbar-thumb{background:#0a0a0a29;border-radius:999px;border:1px solid transparent;background-clip:padding-box}.week-grid-scroll::-webkit-scrollbar-thumb:hover{background:#0a0a0a47;background-clip:padding-box}.week-month-plan{flex:0 0 auto;display:flex;flex-direction:column;gap:.2rem;margin-top:.35rem;padding:.55rem .15rem .35rem;border-top:1px solid var(--cal-line, rgba(10, 10, 10, .14));min-height:4.5rem}.week-month-plan-label{font-family:var(--font);font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--ink);padding:0 .15rem}.week-month-plan-toast{margin:0;padding:0 .15rem;font-size:.75rem}.week-month-plan .plan-summary-field{padding:.2rem .15rem .35rem;background:transparent}.week-month-plan .plan-summary-preview{-webkit-line-clamp:5;min-height:3.2rem;font-size:.84rem}.week-month-plan .plan-summary-input{min-height:4.5rem;font-size:.84rem}.week-grid-frame{display:flex;flex-direction:column;width:100%;border:1px solid var(--cal-line, rgba(10, 10, 10, .16));border-top:none;background:#fff}.grid-head{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:2.1rem repeat(7,minmax(0,1fr));gap:0;background:#fff;border-top:1px solid var(--cal-line, rgba(10, 10, 10, .16));border-bottom:1px solid var(--cal-line, rgba(10, 10, 10, .16));min-height:var(--grid-head-h, 2.05rem)}.grid-head span{text-align:center;font-size:.75rem;color:var(--muted);padding:.55rem 0;letter-spacing:.06em;background:#fff;border-right:1px solid var(--cal-line, rgba(10, 10, 10, .16))}.grid-head span:last-child{border-right:none}.grid-head .week-num-head,.grid-head .week-num-head-btn{font-size:.68rem;letter-spacing:0;padding:.55rem .1rem}.week-num-head-btn{display:flex;align-items:center;justify-content:center;border:none;border-right:1px solid var(--cal-line, rgba(10, 10, 10, .16));background:#fafaf8;color:var(--muted);font:inherit;font-weight:550;cursor:pointer;min-height:100%;-webkit-tap-highlight-color:transparent}.week-num-head-btn:hover{background:#f0efec;color:var(--ink)}.week-num-head-btn:focus-visible{outline:2px solid rgba(10,10,10,.42);outline-offset:-2px;z-index:1}.week-num-head-btn.is-selected{background:#ecebe7;color:var(--ink);box-shadow:inset 0 0 0 1px #0a0a0a38}.week-row{display:grid;grid-template-columns:2.1rem repeat(7,minmax(0,1fr));gap:0;min-height:var(--week-h);background:#fff;border-bottom:1px solid var(--cal-line, rgba(10, 10, 10, .16))}.week-num-cell{display:flex;align-items:flex-start;justify-content:center;padding:.5rem .1rem .35rem;border:none;border-right:1px solid var(--cal-line, rgba(10, 10, 10, .16));background:#fafaf8;color:var(--muted);font:inherit;font-size:.68rem;font-weight:550;line-height:1.2;cursor:pointer;min-height:inherit;-webkit-tap-highlight-color:transparent}.week-num-cell:hover{background:#f0efec;color:var(--ink)}.week-num-cell:focus-visible{outline:2px solid rgba(10,10,10,.42);outline-offset:-2px;z-index:1}.week-num-cell.is-selected{background:#ecebe7;color:var(--ink);box-shadow:inset 0 0 0 1px #0a0a0a38}.week-num-cell.is-empty{cursor:default;pointer-events:none}.month-section{display:flex;flex-direction:column}.month-section.is-current-month .week-row{min-height:calc(var(--week-h) * 1.32)}.day-cell{background:var(--bg);padding:.45rem .4rem .5rem;display:flex;flex-direction:column;gap:.25rem;min-height:inherit;overflow:hidden;cursor:pointer;transition:background .12s ease,box-shadow .12s ease;border-right:1px solid var(--cal-line, rgba(10, 10, 10, .16));box-sizing:border-box}.day-cell:last-child{border-right:none}.day-cell.is-empty{background:#fafafa;cursor:default;pointer-events:none}.day-cell:hover{background:var(--bg-muted)}.day-cell:focus{outline:none}.day-cell:focus-visible{outline:2px solid rgba(10,10,10,.42);outline-offset:-2px;z-index:1;background:#f3f2ef}.day-cell.is-today{position:relative;z-index:1;box-shadow:inset 0 0 0 2px var(--today)}.day-cell.is-selected{background:#ecebe7;box-shadow:inset 0 0 0 1px #0a0a0a47,inset 4px 0 #0a0a0a80}.day-cell.is-today.is-selected{background:#ecebe7;box-shadow:inset 0 0 0 2px var(--today)}.day-cell.is-drag-over{background:#175cd314;box-shadow:inset 0 0 0 2px #175cd373;z-index:2}.day-cell.is-flash{animation:day-flash 1.8s ease}@keyframes day-flash{0%{background:#e8f0ea}40%{background:#dfe9e2}to{background:var(--bg)}}.day-cell.is-other-month{background:#fcfcfb}.day-num{font-size:.8rem;font-weight:500;color:var(--muted);display:flex;align-items:center;gap:.3rem}.day-cell.is-rest-day .day-num{color:#8f2f2f}.day-cell.is-today .day-num{color:var(--ink);font-weight:600}.day-cell.is-today.is-rest-day .day-num{color:#7a2424}.flash-dot{width:.4rem;height:.4rem;border-radius:50%;background:#3d6b4f;flex:0 0 auto;animation:flash-dot-fade 1.8s ease forwards}@keyframes flash-dot-fade{0%,55%{opacity:1}to{opacity:0}}.task-preview{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem;overflow:hidden}.task-preview li.is-draggable{cursor:grab}.task-preview li.is-draggable:active{cursor:grabbing}.task-preview li.is-dragging{opacity:.45}.task-preview li{display:flex;align-items:flex-start;gap:.3rem;font-size:.72rem;line-height:1.25;color:var(--ink)}.task-preview li.done span{text-decoration:line-through;text-decoration-color:var(--done-decor);text-decoration-thickness:1px;color:var(--done-ink)}.task-preview .more{color:var(--muted);font-size:.7rem}.task-preview .more-btn{border:none;background:none;padding:0;color:var(--muted);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.task-preview .more-btn:hover{color:var(--ink)}.go-today-btn.is-here{opacity:.45;color:var(--muted)}.checkbox{width:.9rem;height:.9rem;border:1px solid var(--line-strong);border-radius:2px;flex:0 0 auto;margin-top:.05rem;display:grid;place-items:center;background:#fff;padding:0}.checkbox[data-checked=true]{background:var(--ink);border-color:var(--ink)}.checkbox[data-checked=true]:after{content:"";width:.28rem;height:.5rem;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translate(-.5px,-.5px)}.week-pager{display:flex;flex-direction:column;gap:.55rem;min-height:0;height:100%}.period-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;flex:0 0 auto}.period-nav-btn{appearance:none;border:1px solid var(--line-strong);border-radius:calc(var(--radius) + 2px);background:#fff;color:var(--ink);font:inherit;font-size:1.1rem;font-weight:500;line-height:1;width:2.25rem;height:2.25rem;min-width:2.25rem;display:inline-grid;place-items:center;cursor:pointer;transition:background .12s ease,opacity .12s ease,transform .12s ease;-webkit-tap-highlight-color:transparent}.period-nav-btn:active:not(:disabled){transform:scale(.97);background:var(--bg-muted)}.period-nav-btn:disabled{opacity:.32;cursor:default}.period-nav-title{min-width:0;text-align:center;padding:0 .1rem}.period-nav-title h2{margin:0;font-family:var(--font);font-size:1.1rem;font-weight:600;line-height:1.3;color:var(--ink)}.week-pager-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex:0 0 auto}.week-pager-hint{font-size:.72rem;color:var(--muted)}.week-pager-track{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;touch-action:pan-y}.week-page{display:flex;flex-direction:column;gap:.45rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom));min-width:0}.week-day-card.is-expanded{align-content:start;cursor:default}.week-day-card.is-expanded .week-day-tasks-col{max-height:min(42dvh,18rem);overflow-y:auto;-webkit-overflow-scrolling:touch}.week-day-card.is-expanded .week-day-task-list li{white-space:normal;overflow:visible;text-overflow:unset}.week-day-task-edit-list{margin:0}.week-day-card.is-expanded .task-row{align-items:flex-start}.week-day-card.is-expanded .week-day-task-edit-list .task-drag-handle{display:none}.week-pager-hint-error{padding:0 .85rem .35rem;margin:0}.week-day-card{display:grid;grid-template-columns:3.4rem minmax(0,1fr) auto;align-items:start;gap:.55rem .65rem;padding:.72rem .8rem;border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:#fff;box-shadow:0 1px 3px #0a0a0a0a;cursor:pointer;transition:background .12s ease,box-shadow .12s ease;-webkit-tap-highlight-color:transparent}.week-day-card.is-today{border:2px solid var(--today);padding:calc(.72rem - 1px) calc(.8rem - 1px)}.week-day-card.is-selected{background:#ecebe7}.week-day-card.is-today.is-selected{background:#ecebe7;border:2px solid var(--today)}.week-day-card.is-flash{animation:day-flash 1.8s ease}.week-day-date-col{display:flex;flex-direction:column;gap:.12rem;line-height:1.15}.week-day-weekday{font-size:.82rem;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:.25rem}.week-day-md{font-size:.72rem;color:var(--muted)}.week-day-tasks-col{min-width:0;padding-top:.05rem}.week-day-empty{font-size:.78rem;color:var(--muted)}.week-day-task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.28rem}.week-day-task-list li{position:relative;padding-left:.75rem;font-size:.8rem;line-height:1.35;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.week-day-task-list li:before{content:"•";position:absolute;left:0;color:var(--muted)}.week-day-task-list li.done{color:var(--done-ink);text-decoration:line-through;text-decoration-color:var(--done-decor)}.week-day-meta-col{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;padding-top:.05rem;flex-shrink:0}.week-day-count{font-size:.72rem;color:var(--muted);white-space:nowrap}.week-day-more{font-size:.85rem;line-height:1;color:var(--muted);letter-spacing:.08em}.mobile-day-view,.mobile-month-view{display:flex;flex-direction:column;min-height:0;height:100%;gap:.55rem}.mobile-view-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex:0 0 auto}.mobile-view-hint{font-size:.72rem;color:var(--muted)}.mobile-view-hint-error{padding:0 .15rem;color:var(--danger)}.mobile-day-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-day-composer{flex:0 0 auto;display:flex;gap:.45rem;padding-bottom:calc(.25rem + env(safe-area-inset-bottom))}.mobile-day-composer input{flex:1;min-width:0}.mobile-month-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.mobile-month-view.has-day-picked .mobile-month-body{flex:1 1 0;max-height:52%}.mobile-month-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-month-day-panel{flex:1 1 0;min-height:0;display:flex;flex-direction:column;border-top:1px solid var(--line);background:#fafaf8}.mobile-month-day-panel-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .15rem .4rem}.mobile-month-day-panel-title{min-width:0;font-size:.78rem;font-weight:600;color:var(--ink)}.mobile-month-day-panel-close{appearance:none;flex-shrink:0;border:none;border-radius:calc(var(--radius) + 2px);background:var(--accent);color:#fff;font:inherit;font-size:.78rem;font-weight:550;line-height:1;padding:.42rem .9rem;min-height:2rem;cursor:pointer;transition:transform .12s ease,background .12s ease;-webkit-tap-highlight-color:transparent}.mobile-month-day-panel-close:active{transform:scale(.98);background:#222}.mobile-month-day-panel-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 .15rem .35rem}.mobile-month-day-panel-body .week-list-by-group{gap:.55rem}.mobile-month-day-panel-body .task-list{margin:0}.mobile-month-day-composer{flex:0 0 auto;display:flex;gap:.45rem;padding:.45rem .15rem .55rem;border-top:1px solid var(--line);background:#fafaf8}.mobile-month-day-composer input{flex:1;min-width:0}.week-day-empty-hint{margin:0 0 .15rem}.week-day-composer{display:flex;gap:.4rem;margin-top:.35rem}.week-day-composer input{flex:1;min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:.4rem .5rem;font-size:var(--text-sm);background:#fff}.week-day-composer input:focus{outline:2px solid rgba(10,10,10,.12);outline-offset:1px}.mobile-month-head,.mobile-month-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.mobile-month-head{position:sticky;top:0;z-index:1;background:var(--bg);padding-bottom:.35rem;font-size:.68rem;color:var(--muted);text-align:center}.mobile-month-row+.mobile-month-row{margin-top:.2rem}.mobile-month-cell{display:flex;flex-direction:column;height:3.35rem;min-height:3.35rem;max-height:3.35rem;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);padding:.22rem .25rem;background:#fff;cursor:pointer}.mobile-month-cell.is-empty{height:3.35rem;min-height:3.35rem;border-color:transparent;background:transparent;cursor:default;pointer-events:none}.mobile-month-cell.is-today{border:2px solid var(--today);padding:calc(.22rem - 1px) calc(.25rem - 1px)}.mobile-month-cell.is-selected{background:#ecebe7}.mobile-month-day-num{font-size:.72rem;font-weight:600;line-height:1.1;flex:0 0 auto}.mobile-month-cell.is-rest-day .mobile-month-day-num{color:#8f2f2f}.mobile-month-cell.is-today.is-rest-day .mobile-month-day-num{color:#7a2424}.mobile-month-indicators{display:flex;flex-wrap:wrap;align-content:flex-start;gap:.14rem;margin-top:.18rem;min-height:0;overflow:hidden}.mobile-month-dot{width:.34rem;height:.34rem;border-radius:999px;background:var(--ink);flex:0 0 auto}.mobile-month-dot.is-done{background:var(--done-ink);opacity:.55}.mobile-month-count{font-size:.58rem;line-height:1;color:var(--muted);align-self:center}.mobile-view-footer{flex:0 0 auto;margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.72rem 0;border-top:1px solid var(--line);background:#fff}.mobile-view-footer-meta{flex:1;min-width:0;font-size:.78rem;line-height:1.2;color:var(--muted)}.mobile-view-footer-copy{appearance:none;flex-shrink:0;border:1px solid rgba(10,10,10,.1);border-radius:calc(var(--radius) + 2px);background:#f0f0ee;color:#4a4a4a;font:inherit;font-size:.8rem;font-weight:550;line-height:1;padding:.48rem 1rem;min-height:2.05rem;min-width:3.25rem;display:inline-grid;place-items:center;cursor:pointer;transition:transform .12s ease,background .12s ease,color .12s ease}.mobile-view-footer-copy:active{transform:scale(.98);background:#e8e8e4;color:var(--ink)}.mobile-view-footer-copy.is-done{background:#e8e8e4;color:var(--ink)}.day-block{border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .75rem;background:#fff;cursor:pointer;transition:background .12s ease,box-shadow .12s ease;-webkit-tap-highlight-color:transparent}.day-block.is-today{border:2px solid var(--today);box-shadow:none}.day-block.is-selected{background:#ecebe7;box-shadow:inset 0 0 0 1px #0a0a0a47,inset 4px 0 #0a0a0a73}.day-block.is-today.is-selected{background:#ecebe7;border:2px solid var(--today);box-shadow:none}.day-block.is-flash{animation:day-flash 1.8s ease}.day-block-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem}.day-block-head strong{font-weight:550;display:inline-flex;align-items:center;gap:.3rem}.day-block-head span{color:var(--muted);font-size:.8rem}.day-block .task-preview{pointer-events:auto}.day-block .checkbox{width:1.05rem;height:1.05rem}.task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.task-row{display:flex;align-items:flex-start;gap:.35rem;min-height:1.65rem}.task-drag-handle{flex:0 0 auto;align-self:flex-start;margin-top:.12rem;display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;cursor:grab;color:var(--muted);font-size:.85rem;line-height:1;padding:0;-webkit-user-select:none;user-select:none;opacity:.45}.task-drag-handle:active{cursor:grabbing}.task-row.is-dragging{opacity:.45}.task-row .checkbox{flex:0 0 auto;align-self:flex-start;margin-top:.12rem}.task-row-main textarea{flex:1;border:none;background:transparent;padding:0;line-height:1.4;font-size:inherit;min-height:1.25rem;resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;field-sizing:content}.task-row.done textarea{text-decoration:line-through;text-decoration-color:var(--done-decor);text-decoration-thickness:1px;color:var(--done-ink)}.task-row.done .task-group-tag{color:#858582}.task-row .icon-btn{flex:0 0 auto;align-self:flex-start;margin-top:.05rem;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:none;background:none;color:var(--muted);padding:0;line-height:1;font-size:1rem;opacity:.7}.task-row .icon-btn:hover{color:var(--danger);opacity:1}.empty-hint{color:var(--muted);font-size:.85rem;margin:.25rem 0 .5rem}.add-row{display:flex;gap:.5rem;margin-top:.65rem}.add-row input{flex:1;border:1px solid var(--line);border-radius:var(--radius);padding:.55rem .65rem}.panel-close-btn,.assistant-close-btn,.panel-backdrop,.label-short{display:none}.label-full{display:inline}.plan-workbench{flex:1;min-height:0;display:flex;align-items:stretch;overflow:hidden;position:relative}.plan-workbench-toast{position:absolute;bottom:.75rem;left:50%;transform:translate(-50%);z-index:6;margin:0;padding:.35rem .65rem;border-radius:var(--radius);background:#fffffff5;border:1px solid var(--line);box-shadow:0 4px 16px #0a0a0a14;pointer-events:none}.plan-column-head,.app-shell.is-plan-mode .assistant-head{flex:0 0 auto;height:2.75rem;min-height:2.75rem;box-sizing:border-box;display:flex;align-items:center;padding:0 .9rem;border-bottom:1px solid var(--line);background:#fff}.plan-column-head strong{font-weight:550;font-size:.95rem;line-height:1.2}.app-shell.is-plan-mode .assistant-head{align-items:center}.app-shell.is-plan-mode .assistant-head-main,.app-shell.is-plan-mode .assistant-title-row{width:100%;align-items:center}.plan-rail{flex:0 0 auto;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column;min-height:0;min-width:0}.plan-rail-scroll{flex:1;min-height:0;overflow:auto;padding:.65rem .75rem 1rem;scrollbar-width:thin;scrollbar-color:rgba(10,10,10,.14) transparent}.plan-rail-scroll::-webkit-scrollbar{width:4px}.plan-rail-scroll::-webkit-scrollbar-track{background:transparent}.plan-rail-scroll::-webkit-scrollbar-thumb{background:#0a0a0a1a;border-radius:999px}.plan-rail-scroll::-webkit-scrollbar-thumb:hover{background:#0a0a0a33}.plan-month-list,.plan-week-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.plan-period-item{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;display:flex;flex-direction:column;transition:border-color .12s ease}.plan-period-item.is-active{border-color:#0a0a0a47}.plan-period-item.is-current{border-color:#b423187a}.plan-period-item.is-current.is-active{border-color:#b423189e}.plan-period-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.4rem;min-height:2.35rem;padding:.45rem .65rem;border:none;border-bottom:1px solid var(--line);background:transparent;text-align:left;font:inherit;cursor:pointer;box-sizing:border-box}.plan-period-item.is-current .plan-period-head{border-bottom-color:#b423182e}.plan-period-head strong{flex:1;min-width:0;font-size:.84rem;font-weight:550;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-now-tag{flex:0 0 auto;font-size:.62rem;font-weight:500;color:#b42318;letter-spacing:.02em;line-height:1.2;padding:.1rem .35rem;border:1px solid rgba(180,35,24,.28);border-radius:999px;background:#b423180a}.plan-summary-field{position:relative;display:flex;flex-direction:column;gap:.2rem;padding:.35rem .65rem .5rem;background:#fff}.plan-period-item.is-current .plan-summary-field{background:#fffaf9}.plan-summary-preview{width:100%;margin:0;padding:0;border:none;background:transparent;text-align:left;font:inherit;font-size:.82rem;line-height:1.45;color:var(--ink);cursor:text;white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.35rem;transition:none}.plan-summary-field.has-content:not(.is-editing):hover .plan-summary-preview,.plan-period-item:has(.plan-summary-field.has-content:not(.is-editing)):hover .plan-summary-preview{display:block;-webkit-line-clamp:unset;overflow:visible}.plan-summary-preview.is-empty{color:#6b6b6bb8}.plan-summary-preview:hover{color:var(--ink)}.plan-summary-input{width:100%;margin:0;border:none;background:transparent;padding:0;resize:vertical;min-height:5.25rem;max-height:14rem;line-height:1.45;font:inherit;font-size:.82rem;color:var(--ink);box-sizing:border-box}.plan-summary-input:focus{outline:none}.plan-summary-input::placeholder{color:#6b6b6bb8}.plan-summary-field.is-editing{padding-top:.45rem;padding-bottom:.55rem}.plan-summary-view{display:flex;align-items:flex-start;gap:.35rem}.plan-summary-view .plan-summary-preview{flex:1;min-width:0}.plan-summary-edit-btn{flex:0 0 auto;margin-top:.1rem;opacity:.72}.plan-summary-view:hover .plan-summary-edit-btn,.plan-summary-field:focus-within .plan-summary-edit-btn{opacity:1}.plan-summary-actions{display:flex;justify-content:flex-end;gap:.35rem;padding-top:.25rem}.plan-period-item.is-current .plan-summary-input:focus{background:transparent}.plan-memo-panel{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:#fff}.plan-memo-tabs-wrap{flex:0 0 auto;border-bottom:1px solid var(--line);background:#fafaf8}.plan-memo-tabs{display:flex;align-items:stretch;gap:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:rgba(10,10,10,.14) transparent;padding:0 .35rem}.plan-memo-tabs::-webkit-scrollbar{height:3px}.plan-memo-tabs::-webkit-scrollbar-track{background:transparent}.plan-memo-tabs::-webkit-scrollbar-thumb{background:#0a0a0a1a;border-radius:999px}.plan-memo-tabs::-webkit-scrollbar-thumb:hover{background:#0a0a0a33}.plan-memo-tab{flex:0 0 auto;display:flex;align-items:stretch;max-width:10rem;border-right:1px solid var(--line);background:transparent}.plan-memo-tab.is-active{background:#fff;box-shadow:inset 0 -2px 0 var(--ink)}.plan-memo-tab-btn{flex:1;min-width:0;border:none;background:transparent;padding:.5rem .55rem;font:inherit;font-size:.78rem;color:var(--muted);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.plan-memo-tab.is-active .plan-memo-tab-btn{color:var(--ink);font-weight:550}.plan-memo-tab-input{flex:1;min-width:5rem;border:none;background:#fff;padding:.45rem .55rem;font:inherit;font-size:.78rem;color:var(--ink);outline:none;box-shadow:inset 0 -2px 0 var(--ink)}.plan-memo-tab-close{flex:0 0 auto;border:none;background:transparent;color:var(--muted);font-size:.95rem;line-height:1;padding:0 .35rem;cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease}.plan-memo-tab:hover .plan-memo-tab-close,.plan-memo-tab.is-active .plan-memo-tab-close{opacity:.65}.plan-memo-tab-close:hover{opacity:1;color:var(--ink)}.plan-memo-tab-add{flex:0 0 auto;border:none;background:transparent;color:var(--muted);font-size:1.05rem;line-height:1;padding:.45rem .65rem;cursor:pointer;align-self:center}.plan-memo-tab-add:hover{color:var(--ink);background:#0a0a0a0a}.plan-memo-editor{flex:1;min-height:0;width:100%;border:none;padding:1rem 1.1rem 1.25rem;resize:none;line-height:1.55;font:inherit;font-size:.9rem;color:var(--ink);background:#fff;white-space:pre-wrap;overflow-wrap:break-word;scrollbar-width:thin;scrollbar-color:rgba(10,10,10,.14) transparent}.plan-memo-editor::-webkit-scrollbar{width:4px}.plan-memo-editor::-webkit-scrollbar-track{background:transparent}.plan-memo-editor::-webkit-scrollbar-thumb{background:#0a0a0a1a;border-radius:999px}.plan-memo-editor::-webkit-scrollbar-thumb:hover{background:#0a0a0a33}.plan-memo-editor::placeholder{color:var(--muted)}.plan-memo-editor:focus{outline:none;background:#fafaf8}.plan-memo-empty{flex:1;display:grid;place-items:center}.day-rail{flex:0 0 320px;width:320px;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column;min-height:0;align-self:stretch;height:100%;position:relative;opacity:1;transform:translate(0);transition:opacity .15s ease,transform .15s ease,width .15s ease,flex-basis .15s ease,border-color .15s ease;overflow:hidden}.day-rail.is-closed{width:0!important;flex-basis:0!important;opacity:0;transform:translate(-10px);border-right-color:transparent;pointer-events:none}.day-rail-inner{display:flex;flex-direction:column;min-height:0;flex:1;width:100%;min-width:260px}.day-resize-handle{position:absolute;right:-3px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:5;touch-action:none}.day-resize-handle:after{content:"";position:absolute;right:3px;top:0;bottom:0;width:1px;background:transparent;transition:background .12s ease}.day-resize-handle:hover:after,.day-resize-handle:focus-visible:after,body.is-resizing-day .day-resize-handle:after{background:#0a0a0a47}.day-rail-head{flex:0 0 auto;padding:.85rem .9rem;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.day-rail-head-main{min-width:0;flex:1}.day-rail-head-actions{display:flex;align-items:center;gap:.15rem;flex:0 0 auto}.day-rail-head strong{display:block;font-weight:550;font-size:.95rem}.day-rail-head span,.day-rail-head-hint{display:block;color:var(--muted);font-size:.78rem;margin-top:.2rem}.week-list{display:flex;flex-direction:column;gap:.85rem}.week-list-day-head{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;border:none;background:transparent;padding:0;margin:0 0 .35rem;cursor:pointer;text-align:left;font:inherit;color:inherit}.week-list-day-head strong{font-size:.82rem;font-weight:550}.week-list-day-head span{font-size:.72rem;color:var(--muted)}.week-list-day-head:hover strong{text-decoration:underline;text-underline-offset:2px}.week-list-empty{margin:0 0 .15rem;font-size:.78rem}.week-view-toggle{flex:0 0 auto;padding:.55rem .9rem .7rem;border-bottom:1px solid var(--line)}.week-view-toggle-inner{display:inline-flex;align-items:stretch;gap:.15rem;padding:.18rem;background:var(--bg-muted);border-radius:calc(var(--radius) + 2px)}.week-view-tab{appearance:none;border:none;background:transparent;padding:.32rem .75rem;font-size:.78rem;font-weight:500;line-height:1.2;color:var(--muted);border-radius:var(--radius);white-space:nowrap}.week-view-tab.is-active{color:var(--ink);background:#fff;box-shadow:0 1px 2px #0a0a0a0f}.day-rail-footer{flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:.45rem .65rem;padding:.6rem .9rem;border-top:1px solid var(--line);background:#fafaf8}.day-rail-footer-meta{font-size:.75rem;color:var(--muted);line-height:1.2}.day-rail-footer-actions{display:flex;align-items:center;gap:.15rem}.week-list-by-group{gap:1rem}.week-list-block{border:1px solid var(--line);border-radius:var(--radius);padding:.65rem .7rem;background:#fafaf8}.week-list-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.week-list-block-title{margin:0;font-size:.82rem;font-weight:600;min-width:0}.week-list-block-manage-btn{flex:0 0 auto;opacity:0;pointer-events:none;transition:opacity .12s ease;font-size:.72rem;padding:.2rem .45rem}.week-list-block:hover .week-list-block-manage-btn,.week-list-block:focus-within .week-list-block-manage-btn,.group-drop-rail-wrap:hover .week-list-block-manage-btn,.group-drop-rail-wrap:focus-within .week-list-block-manage-btn,.week-list-block-manage-btn.is-active{opacity:1;pointer-events:auto}@media(hover:none){.week-list-block-manage-btn{opacity:1;pointer-events:auto}}.group-drop-rail-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.group-drop-rail-head .group-drop-rail-hint{margin:0}.week-list-section+.week-list-section{margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--line)}.week-list-section-title{margin:0 0 .35rem;font-size:.75rem;font-weight:550;color:var(--muted)}.week-list-day-nested+.week-list-day-nested{margin-top:.5rem}.week-list-day-head-nested{margin-bottom:.25rem}.week-list-day-head-nested strong{font-size:.75rem;font-weight:500}.group-drop-rail-wrap{margin-bottom:.85rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.group-drop-rail-hint{margin:0 0 .4rem;font-size:.72rem;color:var(--muted)}.group-drop-rail{display:flex;flex-wrap:wrap;gap:.35rem}.group-drop-zone{border-radius:var(--radius);transition:background .12s ease,border-color .12s ease}.group-drop-zone.is-drag-over{background:#175cd314;outline:2px dashed rgba(23,92,211,.45);outline-offset:1px}.group-drop-chip{display:inline-flex;border:1px solid var(--line);background:var(--bg-muted);padding:.28rem .55rem;min-height:1.75rem;align-items:center}.group-drop-chip-label{font-size:.72rem;font-weight:500;white-space:nowrap}.group-drop-section{margin-top:.35rem;padding:.45rem .5rem;border:1px dashed transparent;border-radius:var(--radius);transition:background .12s ease}.group-drop-section:hover{background:#0a0a0a05}.group-drop-section.is-empty{min-height:0;padding-bottom:.35rem}.group-drop-section.is-empty:hover,.group-drop-section.is-empty:focus-within{min-height:2rem}.group-drop-empty{margin:.15rem 0 0;font-size:.72rem}.group-task-add-wrap{overflow:hidden}.group-task-add-trigger{display:flex;align-items:center;width:100%;margin:0;padding:0;border:none;border-radius:4px;background:transparent;color:var(--muted);font-size:.78rem;line-height:1.55rem;cursor:pointer;text-align:left;opacity:0;max-height:0;pointer-events:none;overflow:hidden;transition:opacity .14s ease,max-height .14s ease,color .12s ease}.group-drop-section:hover .group-task-add-trigger,.group-drop-section:focus-within .group-task-add-trigger,.group-task-add-wrap.is-open .group-task-add-trigger{opacity:1;max-height:2rem;margin-top:.2rem;padding:.1rem .35rem .1rem 2.55rem;pointer-events:auto}.group-task-add-wrap.is-open{margin-top:.2rem}.group-task-add-trigger:hover,.group-task-add-trigger:focus-visible{color:var(--ink);outline:none}.group-task-add.is-open{display:flex;align-items:center;min-height:1.55rem;padding-left:2.55rem}.group-task-add-input{width:100%;border:none;border-radius:4px;padding:.1rem .35rem;font-size:.82rem;color:var(--ink);background:#0a0a0a0a;box-sizing:border-box}.group-task-add-input::placeholder{color:var(--muted)}.group-task-add-input:focus{outline:none;background:#0a0a0a0f}@media(hover:none){.group-task-add-trigger{opacity:.45;max-height:2rem;margin-top:.2rem;padding:.1rem .35rem .1rem 2.55rem;pointer-events:auto}}.day-rail-body{flex:1 1 auto;min-height:0;overflow:auto;padding:.85rem .9rem}.day-rail-hint{margin:0;padding:.35rem .9rem .55rem;font-size:.78rem;color:var(--danger, #a33)}.day-rail-composer{flex:0 0 auto;margin:0;padding:.75rem .9rem calc(.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;flex-direction:column;align-items:stretch}.day-rail-composer.add-row{gap:.45rem}.task-group-select{width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:.45rem .55rem;font-size:.78rem;color:var(--ink);background:#fff}.task-group-select-inline{margin-top:.2rem;font-size:.72rem;padding:.25rem .4rem}.task-row-main{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:.1rem}.task-row-main textarea{width:100%;font:inherit;color:inherit}.task-group-tag{font-size:.68rem;color:var(--muted);line-height:1.2}.group-manager{display:flex;flex-direction:column;gap:.65rem}.group-manager-sheet{display:none}.group-manager-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.group-tree{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.group-l1{border:1px solid var(--line);border-radius:var(--radius);padding:.55rem .6rem;background:#fafaf8}.group-l2-list{list-style:none;margin:.35rem 0 .35rem .65rem;padding:0;display:flex;flex-direction:column;gap:.25rem}.group-row{display:flex;align-items:center;gap:.35rem}.group-row-name{flex:1;border:none;background:transparent;font:inherit;padding:.15rem 0}.group-add-l2{margin-top:.35rem}.group-add-l2 input{font-size:.78rem}.assistant-confirm{margin:.35rem .75rem .65rem;padding:.7rem .75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-muted);display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.assistant-confirm p{margin:0;flex:1 1 100%;font-size:.85rem}.assistant-inline-error{margin:.25rem .75rem .5rem;font-size:.82rem}.assistant-error-block{padding:0 .75rem .5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.desktop-only,.mobile-only{flex:1;min-height:0;display:flex;flex-direction:column}.mobile-only{padding:.85rem .85rem 1.5rem;overflow:hidden}@media(min-width:768px)and (max-width:1280px){:root{--week-h: 6rem;--week-h-current: 11rem}.topbar{padding:.65rem .85rem;gap:.65rem}.brand{font-size:.98rem}.topbar-meta{gap:.45rem;font-size:.82rem}.topbar-panel-toggles{gap:.1rem}.topbar-text-btn{padding:.35rem .5rem;max-width:8rem}.label-full{display:none}.label-short{display:inline}.week-grid-shell{padding-left:.65rem;padding-right:.65rem}.week-toolbar{padding:.4rem 0 .35rem;gap:.35rem}.grid-head{grid-template-columns:1.65rem repeat(7,minmax(0,1fr));min-height:1.85rem}.week-row{grid-template-columns:1.65rem repeat(7,minmax(0,1fr))}.grid-head span{font-size:.68rem;padding:.4rem 0;letter-spacing:.04em}.day-cell{padding:.3rem .28rem .35rem;gap:.18rem}.day-num{font-size:.72rem}.task-preview li{font-size:.66rem;line-height:1.2;gap:.2rem}.task-preview{gap:.1rem}.month-section.is-current-month .week-row{min-height:calc(var(--week-h) * 1.25)}.week-month-nav-btn{width:1.7rem;height:1.7rem;min-width:1.7rem;font-size:1rem}.month-sticky{font-size:.82rem}.day-rail-head,.assistant-head{padding:.65rem .7rem}.day-rail-head strong{font-size:.88rem}.day-rail-inner{min-width:220px}.assistant-rail-inner{min-width:240px}.task-row{gap:.28rem;min-height:1.5rem}.assistant-head-main>span{display:none}.assistant-bubble{font-size:.82rem}.assistant-composer textarea{min-height:2.6rem}}@media(min-width:768px){.mobile-only{display:none!important}}@media(max-width:767.98px){.desktop-only{display:none!important}.topbar-mobile{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.6rem .85rem;padding-top:calc(.6rem + env(safe-area-inset-top));gap:.5rem}.topbar-slot-start{justify-self:start}.topbar-slot-center{justify-self:center;text-align:center;font-size:1rem;font-weight:600;letter-spacing:.04em}.topbar-slot-end{justify-self:end;display:flex;align-items:center;gap:.4rem}.topbar-chip{appearance:none;border:1px solid var(--line-strong);border-radius:calc(var(--radius) + 2px);background:#fff;color:var(--ink);font:inherit;font-size:.82rem;font-weight:550;line-height:1;padding:.44rem .78rem;min-width:2.55rem;min-height:2.2rem;display:inline-grid;place-items:center;cursor:pointer;transition:background .12s ease}.topbar-chip.is-active,.topbar-chip.is-open{background:var(--bg-muted)}.topbar-chip-avatar{padding:0;width:2.2rem;min-width:2.2rem;font-size:.78rem}.topbar{padding:.65rem .75rem;padding-top:calc(.65rem + env(safe-area-inset-top));gap:.5rem}.brand{font-size:.98rem}.topbar-meta{gap:.2rem}.topbar-text-btn{padding:.4rem .55rem;max-width:none}.label-full{display:none}.label-short{display:inline}.account-avatar{display:inline-grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:50%;background:var(--bg-muted);font-size:.78rem;font-weight:550;color:var(--ink)}.panel-backdrop{display:block;position:fixed;inset:0;z-index:32;border:none;padding:0;margin:0;background:#0a0a0a47;opacity:0;pointer-events:none;transition:opacity .15s ease;cursor:pointer}.panel-backdrop.is-visible{opacity:1;pointer-events:auto}.panel-close-btn{display:inline-flex;flex:0 0 auto}.assistant-close-btn{appearance:none;display:inline-grid;place-items:center;flex:0 0 auto;order:-1;border:none;border-radius:calc(var(--radius) + 2px);background:var(--accent);color:#fff;font:inherit;font-size:.82rem;font-weight:550;line-height:1;padding:.5rem 1.05rem;min-height:2.15rem;cursor:pointer;transition:transform .12s ease,background .12s ease;-webkit-tap-highlight-color:transparent}.assistant-close-btn:active{transform:scale(.98);background:#222}.day-rail{position:fixed;inset:auto 0 0;width:100%!important;flex-basis:auto!important;height:min(92dvh,720px);max-height:calc(100dvh - env(safe-area-inset-top) - 2.5rem);z-index:34;border-right:none;border-top:1px solid var(--line);border-radius:14px 14px 0 0;box-shadow:0 -10px 32px #0a0a0a1f;transform:translateY(0);opacity:1;transition:opacity .15s ease,transform .15s ease}.day-rail.is-closed{width:100%!important;flex-basis:auto!important;transform:translateY(110%);opacity:0;pointer-events:none;box-shadow:none}.day-rail-inner{min-width:0;padding-bottom:env(safe-area-inset-bottom)}.day-rail.is-open:before{content:"";display:block;width:2.25rem;height:.28rem;border-radius:99px;background:#0a0a0a2e;margin:.45rem auto .1rem;flex:0 0 auto}.day-resize-handle{display:none}.main{padding:0}.mobile-only{padding:.65rem .75rem calc(.85rem + env(safe-area-inset-bottom))}.mobile-view-footer{margin-left:-.75rem;margin-right:-.75rem;margin-bottom:calc(-.85rem - env(safe-area-inset-bottom));padding:.72rem .85rem calc(.72rem + env(safe-area-inset-bottom))}.week-grid-shell{padding-left:.85rem;padding-right:.85rem}.assistant-rail.is-open{position:fixed;inset:0;width:100%!important;flex-basis:auto!important;max-height:none;z-index:35;border-left:none;box-shadow:none;transform:translateY(0);opacity:1;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.assistant-rail.is-closed{position:fixed;inset:0;width:100%!important;flex-basis:auto!important;transform:translateY(10px);opacity:0;pointer-events:none;box-shadow:none}.assistant-rail-inner{min-width:0}.assistant-resize-handle{display:none}.assistant-title-row,.assistant-head-actions{flex-wrap:wrap}.assistant-rail.is-collapsed{position:fixed;right:.65rem;bottom:calc(.85rem + env(safe-area-inset-bottom));top:auto;width:auto;flex-basis:auto;border:none;background:transparent;z-index:30;padding:0}.assistant-rail.is-collapsed .assistant-toggle{writing-mode:horizontal-tb;padding:.7rem .95rem;background:#fff;box-shadow:0 4px 16px #0a0a0a1f}.group-manager-sheet{display:flex;flex-direction:column;position:fixed;inset:0;z-index:35;background:#fff;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);transform:translateY(12px);opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}.group-manager-sheet.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.group-manager-sheet-inner{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.85rem}}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.panel-head h2{margin:0;font-size:1.05rem;font-weight:550}.panel-body{flex:1;overflow:auto}.status-bar{color:var(--muted);font-size:.8rem;margin-bottom:.75rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{transform:translate(12px);opacity:.6}to{transform:translate(0);opacity:1}}@keyframes sheet-up{0%{transform:translateY(16px);opacity:.6}to{transform:translateY(0);opacity:1}}.admin-auth .admin-loading{color:var(--muted)}.admin-shell{min-height:100dvh;padding:1.5rem clamp(1rem,4vw,2.5rem) 2.5rem;background:radial-gradient(1200px 600px at 10% -10%,rgba(10,10,10,.03),transparent 55%),var(--bg)}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.admin-header h1{margin:.15rem 0 0;font-size:1.5rem;font-weight:600}.admin-kicker{margin:0;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.admin-header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.admin-meta{margin:0 0 1.25rem;color:var(--muted);font-size:.875rem}.admin-error{margin-bottom:1rem}.admin-loading{color:var(--muted)}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;margin-bottom:1.5rem}.admin-stat{border:1px solid var(--line);border-radius:var(--radius);padding:.85rem 1rem;background:var(--bg-muted)}.admin-stat-value{display:block;font-size:1.35rem;font-weight:600;line-height:1.2}.admin-stat-label{display:block;margin-top:.25rem;font-size:.8rem;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1rem;align-items:start}@media(max-width:900px){.admin-grid{grid-template-columns:1fr}}.admin-panel{border:1px solid var(--line);border-radius:var(--radius);padding:1rem;background:var(--bg)}.admin-panel h2{margin:0 0 .75rem;font-size:1rem;font-weight:600}.admin-panel h3{margin:1rem 0 .5rem;font-size:.9rem;font-weight:600}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table th,.admin-table td{padding:.55rem .65rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.admin-table th{color:var(--muted);font-weight:500;font-size:.75rem}.admin-table tbody tr{cursor:default}.admin-table tbody tr:hover{background:var(--bg-muted)}.admin-feedback-content{max-width:36rem;white-space:pre-wrap;word-break:break-word}.admin-muted{color:var(--muted);font-size:.8rem}.admin-user-tasks{border-top:1px solid var(--line);margin-top:.75rem;padding-top:.25rem}.admin-task-list,.admin-session-list{list-style:none;margin:0;padding:0}.admin-task-list li,.admin-session-list li{display:flex;flex-direction:column;gap:.15rem;padding:.55rem 0;border-bottom:1px solid var(--line);cursor:pointer}.admin-session-list li:hover{background:var(--bg-muted);margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem}.admin-session-list li.is-selected{background:#0a0a0a0d;margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem}.admin-task-list li:last-child,.admin-session-list li:last-child{border-bottom:none}.admin-task-done{text-decoration:line-through;color:var(--muted)}.admin-session-title{font-size:.875rem;font-weight:500}.admin-panel-sessions{min-height:12rem}.admin-session-raw{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.admin-session-raw-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.admin-session-raw-head h3{margin:0;font-size:.9rem;font-weight:600}.admin-session-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.65rem 1rem;margin:0 0 1rem;font-size:.8rem}.admin-session-meta div{min-width:0}.admin-session-meta dt{margin:0;color:var(--muted);font-weight:500}.admin-session-meta dd{margin:.15rem 0 0;word-break:break-all}.admin-session-meta code{font-size:.75rem}.admin-message-log{display:flex;flex-direction:column;gap:.65rem;max-height:28rem;overflow:auto;padding-right:.25rem}.admin-message{border:1px solid var(--line);border-radius:var(--radius);padding:.65rem .75rem;background:var(--bg-muted)}.admin-message--tool,.admin-message--system{background:var(--bg)}.admin-message--error{border-color:#b4231859}.admin-message-head{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;margin-bottom:.45rem;font-size:.75rem}.admin-message-seq{font-weight:600}.admin-message-role{text-transform:uppercase;letter-spacing:.04em;font-weight:600}.admin-message-tool{color:var(--muted)}.admin-message-content,.admin-message-raw pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.8rem;line-height:1.45;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.admin-message-raw{margin-top:.45rem}.admin-message-raw summary{cursor:pointer;color:var(--muted);font-size:.75rem;-webkit-user-select:none;user-select:none}.admin-message-raw pre{margin-top:.35rem;padding:.5rem;border-radius:var(--radius);background:#0a0a0a0a;max-height:16rem;overflow:auto}.btn-sm{padding:.25rem .55rem;font-size:.75rem}.admin-tabs{display:flex;gap:.35rem;margin-bottom:1rem;border-bottom:1px solid var(--line);padding-bottom:0}.admin-tab{appearance:none;border:none;background:transparent;padding:.55rem .85rem;margin-bottom:-1px;font-size:.875rem;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;text-decoration:none;cursor:pointer;display:inline-block}.admin-tab.is-active{color:var(--ink);border-bottom-color:var(--ink)}.admin-panel-full{min-height:20rem}.admin-tab-panel{display:flex;flex-direction:column;gap:.85rem}.admin-tab-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.admin-filter{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.admin-filter select{min-width:12rem;border:1px solid var(--line);border-radius:var(--radius);padding:.35rem .5rem;font:inherit;font-size:var(--text-sm);background:#fff}.admin-filter input[type=search]{min-width:10rem;width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:.35rem .5rem;font:inherit;font-size:var(--text-sm);background:#fff}.admin-filter-grow{flex:1;min-width:12rem}.admin-plan-scope{display:flex;flex-direction:column;gap:.15rem}.admin-plan-scope strong{font-weight:600}.admin-plan-body{max-width:18rem;font-size:var(--text-sm);color:var(--muted);line-height:1.4}.admin-badge--plan-month{background:#3b82f61f;color:#1d4ed8}.admin-badge--plan-week{background:#10b9811f;color:#047857}.admin-badge--plan-scratch{background:#f59e0b24;color:#b45309}.admin-badge{display:inline-block;padding:.12rem .45rem;border-radius:999px;font-size:.72rem;font-weight:500}.admin-badge--done{background:#0a0a0a14;color:var(--muted)}.admin-badge--open{background:#0a0a0a0a}.admin-code-inline{font-size:.75rem}.admin-drawer-root{position:fixed;inset:0;z-index:100;display:flex;justify-content:flex-end}.admin-drawer-backdrop{position:absolute;inset:0;border:none;background:#0a0a0a47;cursor:pointer}.admin-drawer{position:relative;width:min(32rem,100vw);height:100%;background:var(--bg);border-left:1px solid var(--line);display:flex;flex-direction:column;box-shadow:-8px 0 32px #0a0a0a14;animation:admin-drawer-in .18s ease-out}@keyframes admin-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.admin-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1rem .75rem;border-bottom:1px solid var(--line)}.admin-drawer-head h2{margin:.2rem 0 0;font-size:1rem;font-weight:600}.admin-drawer-body{flex:1;overflow:auto;padding:1rem}.admin-drawer-log{max-height:none}.admin-message--user-query{border-color:#b4231859;background:#b423180a}.admin-message--user-query .admin-message-content{color:#b42318;font-family:var(--font);font-weight:500}.admin-message--user-query .admin-message-role{color:#b42318}.admin-message--assistant-reply{border-color:#175cd359;background:#175cd30a}.admin-message--assistant-reply .admin-message-content{color:#175cd3;font-family:var(--font);font-weight:500}.admin-message--assistant-reply .admin-message-role{color:#175cd3}
