:root{color:#14283d;font-synthesis:none;text-rendering:optimizelegibility;--canvas:#f7f4ed;--paper:#fffdf8;--paper-strong:#fff;--ink:#14283d;--muted:#68717a;--faint:#919790;--line:#ddd8cd;--line-soft:#ebe7de;--sage:#58775b;--sage-dark:#3f6245;--sage-soft:#dce6d7;--sage-pale:#eef3eb;--clay:#c96f3e;--clay-soft:#f3d5bd;--lavender:#8b6b9c;--lavender-soft:#e5dce8;--oat:#e8dfcf;--danger:#b74a3f;--danger-soft:#fae9e5;--shadow-panel:0 18px 48px #2d2b2317;--sidebar-width:208px;--serif:"Songti SC", "STSong", "Noto Serif CJK SC", Georgia, serif;background:#f7f4ed;font-family:Inter,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{background:var(--canvas);min-height:100vh}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--sage);outline-offset:3px}h1,h2,h3,p{margin-top:0}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.app-sidebar{z-index:30;width:var(--sidebar-width);border-right:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8d1;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:var(--ink);font-family:var(--serif);letter-spacing:.08em;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;margin:28px 20px 0;padding:0;font-size:23px;display:flex}.brand__mark{border:1px solid var(--ink);border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.main-navigation{gap:12px;margin-top:84px;display:grid}.nav-item{min-height:54px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0 5px 5px 0;align-items:center;gap:14px;margin-right:14px;padding:0 20px 0 30px;font-size:16px;transition:background .16s,color .16s;display:flex;position:relative}.nav-item:before{content:"";background:0 0;width:4px;position:absolute;inset:0 auto 0 0}.nav-item:hover{background:#58775b12}.nav-item--active{color:var(--sage-dark);background:#58775b1a}.nav-item--active:before{background:var(--sage)}.sidebar-footer{align-items:center;margin-top:auto;padding-bottom:22px;display:flex}.sidebar-footer .nav-item{flex:1;margin-right:0}.sidebar-footer__decoration{color:var(--faint);margin-right:20px}.app-main{grid-column:2;min-width:0;min-height:100vh;position:relative}.save-indicator{z-index:12;color:var(--muted);pointer-events:none;align-items:center;gap:7px;font-size:12px;display:flex;position:fixed;top:24px;right:26px}.save-indicator--error{color:var(--danger)}.save-indicator__dot{background:var(--sage);border-radius:50%;width:7px;height:7px}.page-content{width:100%;padding:36px 42px 52px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;min-height:88px;display:flex}.page-header h1{font-family:var(--serif);letter-spacing:.04em;margin-bottom:8px;font-size:clamp(34px,3vw,44px);font-weight:500;line-height:1.15}.page-header p,.week-navigation{color:var(--muted);font-family:var(--serif);letter-spacing:.05em;font-size:16px}.title-with-date{align-items:baseline;gap:30px;display:flex}.header-actions{align-items:center;gap:10px;padding-top:2px;padding-right:118px;display:flex}.button{border:1px solid var(--line);background:var(--paper);min-height:42px;color:var(--ink);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:9px;padding:0 17px;font-size:14px;transition:border-color .16s,background .16s,color .16s,transform .16s;display:inline-flex}.button:hover:not(:disabled){border-color:#b8b4aa;transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{opacity:.5;cursor:not-allowed}.button--primary{border-color:var(--sage);background:var(--sage);color:#fff}.button--primary:hover:not(:disabled){border-color:var(--sage-dark);background:var(--sage-dark)}.button--quiet{color:var(--sage-dark);background:0 0;border-color:#0000}.button--danger{color:var(--danger);background:0 0;border-color:#d7a69f}.button__icon{place-items:center;display:inline-grid}.icon-button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;place-items:center;width:34px;height:34px;padding:0;display:inline-grid}.icon-button:hover{border-color:var(--sage);color:var(--sage-dark)}.status-message{border-left:2px solid var(--sage);max-width:680px;color:var(--sage-dark);background:#eef3ebb8;align-items:center;gap:8px;margin:0 0 14px;padding:9px 12px;font-size:13px;display:flex}.status-message--danger{border-color:var(--clay);background:var(--danger-soft);color:#8e392f}.status-message--success{border-color:var(--sage)}.global-warning{z-index:40;max-width:440px;box-shadow:var(--shadow-panel);position:fixed;top:58px;right:24px}.page-loading{min-height:60vh;color:var(--muted);font-family:var(--serif);letter-spacing:.08em;place-items:center;display:grid}.planner-layout{grid-template-columns:minmax(0,1fr) 300px;min-height:100vh;display:grid}.planner-content{min-width:0;padding:32px 24px 28px 34px}.planner-header{min-height:108px}.planner-header .header-actions{padding-right:0}.week-navigation{align-items:center;gap:16px;display:flex}.week-navigation .icon-button{width:30px;height:30px}.calendar-legend{color:var(--muted);flex-wrap:wrap;gap:24px;margin-bottom:14px;font-size:13px;display:flex}.calendar-legend span{align-items:center;gap:7px;display:inline-flex}.legend-swatch{background:var(--sage-soft);border:1px solid #0000;border-radius:2px;width:16px;height:12px}.legend-swatch--exercise{background:var(--clay-soft)}.legend-swatch--free{background:var(--lavender-soft)}.calendar-canvas{border-top:1px solid var(--line);background:#fffdf85c;height:calc(100vh - 176px);min-height:590px;position:relative}.calendar-empty{z-index:5;border:1px solid var(--line);background:var(--paper);text-align:center;justify-items:center;padding:32px;display:grid;position:absolute;inset:120px 12% auto}.calendar-empty h2{font-family:var(--serif);margin:14px 0 6px;font-weight:500}.calendar-empty p{max-width:360px;color:var(--muted)}.schedule-inspector{border-left:1px solid var(--line);background:#fffdf8ad;min-width:0;padding:36px 22px 28px}.schedule-inspector--empty{place-items:center;display:grid}.schedule-inspector--empty h2,.inspector-header h2{font-family:var(--serif);margin-bottom:12px;font-size:25px;font-weight:500}.schedule-inspector--empty p:last-child{color:var(--muted);font-size:14px;line-height:1.8}.eyebrow{color:var(--sage-dark);letter-spacing:.12em;margin-bottom:7px;font-size:12px}.inspector-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding-bottom:20px;display:flex}.inspector-header .icon-button{border-color:#0000}.inspector-form{gap:19px;padding-top:24px;display:grid}.inspector-form label,.manual-entry label{color:var(--ink);gap:8px;font-size:13px;display:grid}.inspector-form input,.inspector-form select,.manual-entry input{border:1px solid var(--line);background:var(--paper-strong);width:100%;height:44px;color:var(--ink);border-radius:3px;padding:0 11px}.inspector-form input:hover,.inspector-form select:hover,.manual-entry input:hover{border-color:#bbb6ac}.form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-hint{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.inspector-actions{gap:8px;margin-top:6px;display:grid}.today-page,.review-page,.data-page{max-width:1420px;margin:0 auto}.today-layout{grid-template-columns:minmax(0,2fr) minmax(290px,1fr);gap:clamp(34px,6vw,78px);margin-top:10px;display:grid}.focus-panel{border:1px solid var(--sage);background:#fffdf86b;min-height:580px;padding:48px}.activity-state{color:var(--sage-dark);font-family:var(--serif);align-items:center;gap:10px;margin-bottom:30px;font-size:17px;display:flex}.activity-state span{background:var(--sage);border-radius:50%;width:9px;height:9px}.activity-title-row{align-items:center;gap:20px;display:flex}.activity-title-row h2{font-family:var(--serif);letter-spacing:.06em;margin:0;font-size:clamp(32px,4vw,48px);font-weight:500}.category-mark{background:var(--sage-soft);border-radius:2px;flex:none;width:18px;height:18px;display:inline-block}.activity-title-row .category-mark{width:36px;height:36px}.category-mark--learning{background:#9db595}.category-mark--exercise{background:#df925d}.category-mark--free{background:#a98ab6}.project-mark,.project-bar{background:var(--card-accent,var(--sage))}.activity-time{font-family:var(--serif);margin:20px 0 0 56px;font-size:22px}.focus-divider{background:var(--line);width:76%;height:1px;margin:38px 0 42px}.remaining-label{font-family:var(--serif);margin-bottom:4px;font-size:18px}.remaining-time{color:var(--sage-dark);align-items:baseline;gap:14px;display:flex}.remaining-time strong{font-family:var(--serif);font-size:clamp(68px,9vw,108px);font-weight:400;line-height:1}.remaining-time span{color:var(--ink);font-family:var(--serif);font-size:22px}.progress-track{background:#e9e5dc;border-radius:20px;width:76%;height:9px;margin-top:22px;overflow:hidden}.progress-track i{border-radius:inherit;background:var(--sage);height:100%;transition:width .2s;display:block}.progress-caption{color:var(--muted);font-family:var(--serif);margin:13px 0 0;font-size:14px}.focus-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px;margin-top:42px;padding-top:28px;display:flex}.focus-actions .button{min-width:150px;min-height:48px;font-family:var(--serif);font-size:16px}.focus-actions .button--quiet{min-width:0}.manual-entry-link{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;margin-top:28px;padding:0;display:inline-flex}.manual-entry-link:disabled{opacity:.45;cursor:not-allowed}.manual-entry{border:1px solid var(--line);background:var(--paper);align-items:end;gap:12px;max-width:520px;margin-top:16px;padding:18px;display:flex}.manual-entry label{flex:1}.day-sequence{min-width:0;padding-top:22px}.day-sequence h2,.comparison-section>h2,.review-aside h2,.data-intro h2{font-family:var(--serif);letter-spacing:.05em;margin-bottom:20px;font-size:24px;font-weight:500}.sequence-list{border-top:1px solid var(--line)}.sequence-item{border:0;border-bottom:1px solid var(--line);width:100%;min-height:98px;font-family:var(--serif);text-align:left;cursor:pointer;background:0 0;grid-template-columns:60px 58px 1fr auto;align-items:center;gap:14px;padding:16px 8px 16px 0;font-size:17px;display:grid}.sequence-item:hover{background:#fffdf885}.sequence-item time{font-size:14px}.sequence-icon{background:var(--sage-pale);width:52px;height:52px;color:var(--sage-dark);border-radius:5px;place-items:center;display:grid}.sequence-icon--exercise{color:var(--clay);background:#f7e1d2}.sequence-icon--free{color:var(--lavender);background:#eee7f0}.sequence-check{color:var(--sage-dark)}.sequence-section-title{margin-top:40px}.muted-copy{color:var(--muted);padding:18px 0;font-size:14px}.review-header{border-bottom:1px solid var(--line);padding-bottom:22px}.review-layout{grid-template-columns:minmax(0,1fr) 300px;gap:28px;display:grid}.summary-strip{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.summary-strip>div{border-right:1px solid var(--line);align-content:center;gap:8px;min-height:146px;padding:18px 42px;display:grid;position:relative}.summary-strip>div:last-child{border-right:0}.summary-strip span{color:var(--muted);font-family:var(--serif)}.summary-strip strong{font-family:var(--serif);font-size:clamp(24px,2.4vw,34px);font-weight:400}.summary-strip i{background:var(--sage);max-width:160px;height:3px;display:block}.comparison-section{padding-top:30px}.comparison-table{border-top:1px solid var(--line)}.comparison-head,.comparison-row{grid-template-columns:minmax(150px,1fr) minmax(270px,1.9fr) minmax(82px,.55fr) minmax(90px,.65fr);align-items:center;column-gap:18px;display:grid}.comparison-head{border-bottom:1px solid var(--line);min-height:48px;color:var(--muted);font-family:var(--serif);font-size:13px}.comparison-row{border-bottom:1px solid var(--line);min-height:106px}.comparison-activity{grid-template-columns:auto 1fr;align-items:center;column-gap:12px;display:grid}.comparison-activity strong{font-family:var(--serif);font-size:15px;font-weight:500}.comparison-activity small{color:var(--muted);grid-column:2;margin-top:5px;font-size:11px}.bar-pair{gap:10px;display:grid}.bar-pair>div{grid-template-columns:30px minmax(20px,1fr) 68px;align-items:center;gap:8px;display:grid}.bar-pair span,.bar-pair small{color:var(--muted);font-size:10px}.bar-pair small{text-align:right}.bar{background:var(--sage-soft);border-radius:8px;min-width:2px;max-width:100%;height:7px;display:block}.bar--exercise{background:var(--clay-soft)}.bar--free{background:var(--lavender-soft)}.bar--actual{filter:saturate(1.2)brightness(.82)}.delta{font-family:var(--serif);font-size:14px}.delta--positive{color:var(--sage-dark)}.delta--negative{color:var(--clay)}.row-status{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.review-aside{border-left:1px solid var(--line);padding:36px 0 0 28px}.review-aside section{margin-bottom:46px}.review-aside h2{border-bottom:1px solid var(--line);padding-bottom:16px}.observation-list{gap:24px;margin:0;padding:0;list-style:none;display:grid}.observation-list li{font-family:var(--serif);grid-template-columns:30px 1fr;align-items:center;gap:8px;font-size:14px;line-height:1.6;display:grid}.observation-list svg{color:var(--sage-dark)}.data-note p,.revision-details p,.revision-details ol{color:var(--muted);font-family:var(--serif);font-size:13px;line-height:1.8}.revision-details summary{color:var(--sage-dark);cursor:pointer}.revision-details ol{padding-left:20px}.empty-state{border:1px solid var(--line);text-align:center;background:#fffdf873;place-content:center;justify-items:center;max-width:620px;min-height:340px;margin:60px auto;padding:40px;display:grid}.empty-state h2,.empty-state h3{font-family:var(--serif);margin:18px 0 8px;font-weight:500}.empty-state p{color:var(--muted)}.empty-state--compact{min-height:240px;margin:0}.data-page{max-width:1080px}.data-intro{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:48px 1fr;gap:18px;margin:20px 0 42px;padding:26px 0;display:grid}.data-intro h2{margin-bottom:7px}.data-intro p,.data-actions-list p{color:var(--muted);margin-bottom:0;line-height:1.6}.data-actions-list{border-top:1px solid var(--line)}.data-actions-list article{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:18px;min-height:112px;padding:20px 0;display:grid}.data-actions-list h3{font-family:var(--serif);margin-bottom:6px;font-weight:500}.data-action-danger>svg,.data-action-danger h3{color:var(--danger)}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (width<=1180px){:root{--sidebar-width:78px}.brand{margin-inline:19px}.brand>span:last-child,.nav-item>span,.sidebar-footer__decoration{display:none}.nav-item{justify-content:center;margin-right:8px;padding:0}.main-navigation{margin-top:74px}.planner-layout{grid-template-columns:minmax(0,1fr)}.schedule-inspector{z-index:25;width:min(360px, calc(100vw - var(--sidebar-width)));background:var(--paper);box-shadow:var(--shadow-panel);position:fixed;inset:0 0 0 auto;overflow-y:auto}.schedule-inspector--empty{display:none}.review-layout{grid-template-columns:minmax(0,1fr)}.review-aside{border-left:0;border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:32px;padding:30px 0;display:grid}.revision-details{grid-column:1/-1}.header-actions{padding-right:120px}.save-indicator{font-size:10px;top:7px;right:16px}}@media (width<=1100px){.page-content{padding:28px 26px 100px}.today-layout{grid-template-columns:1fr}.focus-panel{min-height:520px;padding:36px}.day-sequence{padding-top:0}.review-header{align-items:flex-start}.review-header .header-actions{padding-right:0}.summary-strip>div{padding-inline:20px}.comparison-head,.comparison-row{grid-template-columns:minmax(135px,1fr) minmax(220px,1.5fr) 78px}.comparison-head span:last-child,.row-status{display:none}}@media (width<=760px){:root{--sidebar-width:0px}.app-shell{display:block}.app-sidebar{border-top:1px solid var(--line);border-right:0;flex-direction:row;align-items:stretch;width:100%;height:68px;inset:auto 0 0}.brand{display:none}.main-navigation{flex:3;margin:0;display:flex}.main-navigation .nav-item,.sidebar-footer .nav-item{border-radius:0;flex:1;min-height:68px;margin:0}.nav-item{flex-direction:column;justify-content:center;gap:4px;padding:5px 3px;font-size:11px}.nav-item>span{display:block}.nav-item:before{width:auto;height:3px;inset:auto 0 0}.sidebar-footer{flex:1;margin:0;padding:0}.app-main{min-height:calc(100vh - 68px)}.save-indicator{top:8px;right:14px}.save-indicator span:last-child{display:none}.page-content{padding:24px 18px 92px}.page-header{min-height:104px;padding-top:18px}.page-header h1{font-size:34px}.planner-content{padding:24px 10px 82px}.planner-header{flex-direction:column;min-height:150px;padding-inline:8px}.planner-header .header-actions{width:100%}.planner-header .header-actions .button{flex:1}.calendar-legend{gap:14px;padding-inline:8px}.calendar-canvas{height:calc(100vh - 252px);min-height:540px}.schedule-inspector{width:min(390px,94vw);inset:0 0 68px auto}.title-with-date{display:block}.focus-panel{min-height:500px;padding:28px 22px}.activity-time{margin-left:0}.focus-divider,.progress-track{width:100%}.focus-actions .button{min-width:calc(50% - 6px)}.manual-entry{flex-direction:column;align-items:stretch}.summary-strip{grid-template-columns:1fr}.summary-strip>div{border-right:0;border-bottom:1px solid var(--line);min-height:100px}.comparison-table{overflow-x:auto}.comparison-head,.comparison-row{min-width:640px}.review-aside{grid-template-columns:1fr}.revision-details{grid-column:auto}.review-header{flex-direction:column;min-height:160px}.review-header .header-actions{flex-wrap:wrap}.data-actions-list article{grid-template-columns:30px 1fr}.data-actions-list article .button{grid-column:2;justify-self:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-topbar{z-index:50;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf8f0;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:34px;width:100%;height:72px;padding:0 28px;display:grid;position:sticky;top:0}.app-topbar .brand{align-self:center;gap:10px;margin:0;font-size:21px}.app-topbar .brand__mark{width:34px;height:34px}.app-topbar .main-navigation{align-items:stretch;gap:24px;margin:0;display:flex}.app-topbar .nav-item{min-height:72px;font-family:var(--serif);background:0 0;border-radius:0;gap:7px;margin:0;padding:0 4px;font-size:15px}.app-topbar .nav-item:before{width:auto;height:2px;inset:auto 0 0}.app-topbar .nav-item:hover{color:var(--sage-dark);background:0 0}.app-topbar .nav-item--active{background:0 0}.app-topbar .brand>span:last-child,.app-topbar .nav-item>span{display:inline}.app-topbar .save-indicator{white-space:nowrap;align-self:center;position:static}.app-main{grid-column:auto;width:100%;min-height:calc(100vh - 72px)}.planner-layout{grid-template-columns:minmax(0,1fr) 54px;height:calc(100vh - 72px);min-height:620px;display:grid;position:relative}.planner-layout--sidebar-open{grid-template-columns:minmax(0,1fr) 400px}.planner-content{width:100%;min-width:0;height:100%;padding:0}.calendar-legend{align-items:center;gap:20px;min-height:34px;margin:0}.legend-swatch--routine{background:repeating-linear-gradient(135deg,#e2e1dd 0 3px,#d3d2cd 3px 4px);border-color:#bcbab4}.planner-status{width:100%;margin-top:14px}.planner-status .status-message{max-width:none;margin:0}.calendar-canvas{border:0;border-right:1px solid var(--line);background:#fffdf894;height:100%;min-height:0}.planner-sidebar{border-left:1px solid var(--line);background:#fffdf8d6;flex-direction:column;min-width:0;height:calc(100vh - 72px);display:flex;position:sticky;top:72px;overflow:hidden}.planner-sidebar__overview{border-bottom:1px solid var(--line);flex:none;padding:24px 26px 20px}.planner-sidebar__title-row{justify-content:space-between;align-items:center;display:flex}.planner-sidebar__title-row h1{font-family:var(--serif);letter-spacing:.04em;margin:0;font-size:30px;font-weight:500}.planner-sidebar__title-row .icon-button{border-color:#0000}.planner-sidebar__week-navigation{font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:18px;font-size:14px}.planner-sidebar__actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.planner-sidebar__actions .button{white-space:nowrap;min-width:0;padding-inline:9px}.planner-sidebar__legend{grid-template-columns:repeat(4,auto);justify-content:space-between;gap:8px;margin-top:17px;font-size:11px;display:grid}.planner-sidebar--collapsed{align-items:center;gap:12px;padding-top:14px}.planner-sidebar--collapsed .icon-button{border-color:#0000;flex:none}.planner-sidebar--collapsed .planner-sidebar__rail-primary{border-color:var(--sage);background:var(--sage);color:#fff}.planner-sidebar--collapsed .planner-sidebar__rail-assistant{background:var(--sage-pale);color:var(--sage-dark);border-color:#c8d6c5}.workbench-tabs{border-bottom:1px solid var(--line);flex:none;grid-template-columns:1fr 1fr;padding:0 18px;display:grid}.workbench-tab{min-height:46px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 8px;font-size:13px;display:inline-flex;position:relative}.workbench-tab:hover{color:var(--sage-dark)}.workbench-tab--active{border-bottom-color:var(--sage);color:var(--ink);font-weight:600}.workbench-tab>i{background:var(--clay);border-radius:50%;width:7px;height:7px}.agent-workbench{background:#fffdf873;flex-direction:column;flex:1;min-height:0;display:flex}.agent-workbench__header{justify-content:space-between;align-items:center;padding:18px 22px 12px;display:flex}.agent-workbench__header .eyebrow{margin-bottom:3px}.agent-workbench__header h2{font-family:var(--serif);margin:0;font-size:22px;font-weight:500}.agent-workbench__header .icon-button{border-color:#0000}.agent-workbench__header-actions{align-items:center;gap:3px;display:flex}.agent-workbench__header .icon-button.is-active{background:var(--sage-pale);color:var(--sage-dark);border-color:#b8c8b4}.agent-transcript{overscroll-behavior:contain;flex:1;min-height:0;padding:4px 18px 18px;overflow-y:auto}.agent-message{grid-template-columns:27px minmax(0,1fr);align-items:start;gap:9px;margin-top:12px;display:grid}.agent-message--user{grid-template-columns:minmax(0,1fr) 27px}.agent-message__avatar{background:var(--sage-pale);width:27px;height:27px;color:var(--sage-dark);border:1px solid #c9d4c5;border-radius:50%;place-items:center;display:grid}.agent-message--user .agent-message__avatar{color:#945334;background:#f7eee6;border-color:#e8cdb9;grid-column:2}.agent-message p{border:1px solid var(--line-soft);background:var(--paper);color:var(--ink);white-space:pre-wrap;border-radius:3px 10px 10px;margin:0;padding:9px 11px;font-size:13px;line-height:1.65}.agent-message--user p{background:#f8f1e9;border-color:#dfd2c5;border-radius:10px 3px 10px 10px;grid-area:1/1}.agent-message__trace{color:var(--faint);font-family:var(--mono);cursor:pointer;background:0 0;border:0;grid-column:2;justify-self:start;padding:2px 4px;font-size:9px}.agent-message__trace:hover{color:var(--sage-dark)}.agent-traces{overscroll-behavior:contain;flex-direction:column;flex:1;gap:10px;min-height:0;padding:4px 18px 18px;display:flex;overflow-y:auto}.agent-traces__toolbar{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding-bottom:9px;display:flex}.agent-traces__toolbar>div:first-child{gap:2px;display:grid}.agent-traces__toolbar strong{font-size:13px}.agent-traces__toolbar span{color:var(--faint);font-size:10px}.agent-traces__toolbar>div:last-child{gap:3px;display:flex}.agent-traces__toolbar .icon-button{width:29px;height:29px}.agent-traces__toolbar .icon-button--warning{color:#a35332;border-color:#dda989}.agent-traces__confirm{color:#7b4a32;background:#fbf3eb;border:1px solid #ead1bd;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;font-size:10px;line-height:1.4;display:flex}.agent-traces__confirm .button{min-height:28px;padding:4px 8px;font-size:10px}.agent-traces__empty{color:var(--muted);margin:20px 0;font-size:12px;line-height:1.6}.agent-traces__list{overscroll-behavior:contain;flex:none;gap:5px;max-height:clamp(160px,28vh,230px);padding-right:2px;display:grid;overflow-y:auto}.agent-traces__list>button{border:1px solid var(--line-soft);background:var(--paper);color:var(--muted);text-align:left;cursor:pointer;border-radius:5px;grid-template-columns:16px minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:8px 9px;display:grid}.agent-traces__list>button:hover,.agent-traces__list>button.is-selected{color:var(--sage-dark);background:#f5f8f1;border-color:#aebfab}.agent-traces__list>button>span{gap:2px;min-width:0;display:grid}.agent-traces__list strong{color:var(--ink);font-size:11px;font-weight:600}.agent-traces__list small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.agent-traces__list code{color:var(--faint);font-size:9px}.agent-traces__kind{color:var(--sage-dark);white-space:nowrap;background:#eef3eb;border-radius:999px;padding:2px 5px;font-size:8px;font-style:normal;font-weight:700}.agent-traces__kind--message{color:#716d63;background:#f0eee7}.agent-traces__kind--error{color:#9a4f30;background:#fae9df}.agent-trace-detail{background:#fbfcf8;border:1px solid #cbd7c8;border-radius:6px;display:grid}.agent-trace-detail>header,.agent-trace-detail>section,.agent-trace-detail>footer{padding:10px 11px}.agent-trace-detail>section,.agent-trace-detail>footer{border-top:1px solid var(--line-soft)}.agent-trace-detail>header{gap:7px;display:grid}.agent-trace-detail>header>div{gap:3px;display:grid}.agent-trace-detail>header span,.agent-trace-detail h4{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:700}.agent-trace-detail>header code{overflow-wrap:anywhere;color:var(--muted);font-size:9px}.agent-trace-detail__runtime{color:var(--faint);font-family:var(--mono);margin:0;padding:0 11px 10px;font-size:9px}.agent-trace-detail__notice{color:#6f604f;background:#f7f1e8;border-left:2px solid #bd9b71;margin:0 11px 10px;padding:7px 8px;font-size:9px;line-height:1.5}.trace-status{border-radius:999px;width:fit-content;padding:2px 7px;font-size:9px}.trace-status--ok{background:var(--sage-pale);color:var(--sage-dark)}.trace-status--error{color:#9a4f30;background:#fae9df}.agent-trace-detail h4{margin:0 0 7px}.agent-trace-detail section>p{color:var(--muted);margin:0;font-size:10px}.trace-evaluation{color:var(--sage-dark);grid-template-columns:15px minmax(0,1fr);gap:6px;margin-top:5px;display:grid}.trace-evaluation--fail{color:#a35332}.trace-evaluation>span{gap:1px;display:grid}.trace-evaluation strong{font-size:10px}.trace-evaluation small{color:var(--muted);font-size:9px;line-height:1.45}.agent-trace-steps{gap:4px;display:grid}.agent-trace-steps details{border:1px solid var(--line-soft);background:var(--paper);border-radius:4px;overflow:hidden}.agent-trace-steps summary{cursor:pointer;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:5px;padding:7px;list-style:none;display:grid}.agent-trace-steps summary span{color:var(--sage-dark);font-family:var(--mono);text-transform:uppercase;font-size:8px}.agent-trace-steps summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.agent-trace-steps summary small{color:var(--faint);font-size:8px}.agent-trace-steps pre{border-top:1px solid var(--line-soft);color:#4b554b;max-height:220px;font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f5ef;margin:0;padding:8px;font-size:8px;line-height:1.5;overflow:auto}.agent-trace-detail>footer{color:var(--muted);gap:4px;font-size:9px;line-height:1.45;display:grid}.agent-trace-detail>footer strong{color:var(--sage-dark)}.agent-suggestions{gap:7px;margin:14px 0 0 36px;display:grid}.agent-suggestions button{color:var(--sage-dark);text-align:left;cursor:pointer;background:0 0;border:1px solid #d7dfd3;border-radius:4px;padding:8px 10px;font-size:12px;line-height:1.45}.agent-suggestions button:hover{background:var(--sage-pale)}.agent-thinking{color:var(--muted);align-items:center;gap:4px;margin:16px 0 0 36px;font-size:12px;display:flex}.agent-thinking i{background:var(--sage);border-radius:50%;width:5px;height:5px;animation:.9s ease-in-out infinite alternate agent-dot}.agent-thinking i:nth-child(2){animation-delay:.15s}.agent-thinking i:nth-child(3){animation-delay:.3s}.agent-thinking span{margin-left:4px}@keyframes agent-dot{to{opacity:.3;transform:translateY(-2px)}}.agent-draft{background:#fbfcf8;border:1px dashed #9cab99;border-radius:6px;margin:16px 0 0 36px;overflow:hidden}.agent-draft>header{border-bottom:1px solid #e3e8df;padding:13px 13px 11px}.agent-draft>header>div{color:var(--sage-dark);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;display:flex}.agent-draft>header>div strong{color:#9a572f;letter-spacing:.04em;border:1px solid #dfb897;border-radius:999px;padding:2px 6px;font-size:9px}.agent-draft h3{font-family:var(--serif);margin:8px 0 5px;font-size:17px;font-weight:600}.agent-draft p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.agent-draft__changes{background:var(--line-soft);gap:1px;display:grid}.agent-draft__change{background:var(--paper);gap:4px;padding:11px 13px;font-size:11px;line-height:1.4;display:grid}.agent-draft__change>strong{font-family:var(--serif);align-items:center;gap:7px;font-size:14px;display:flex}.agent-draft__change>strong small{color:var(--sage-dark);letter-spacing:.08em;border:1px solid #b7c8b7;border-radius:999px;padding:1px 6px;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;font-size:8px;font-weight:700}.agent-draft__change--create>strong small{border-color:#9eb89e}.agent-draft__change--delete>strong small{color:#8c4b3f;border-color:#d2a092}.agent-draft__change--delete .agent-draft__after{color:#8c4b3f}.agent-draft__change del{color:var(--faint)}.agent-draft__after{color:var(--sage-dark);font-weight:600}.agent-draft__actions{grid-template-columns:1fr 1fr;gap:8px;padding:12px;display:grid}.agent-composer-area{border-top:1px solid var(--line);background:#fffdf8f0;flex:none;padding:12px 18px 16px}.agent-composer-area>.status-message{margin:0 0 9px}.starter-week{border-bottom:1px solid var(--line);background:var(--sage-pale);justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.starter-week strong{font-size:14px}.starter-week p{color:var(--muted);margin:4px 0 0;font-size:12px}.starter-week .button{flex-shrink:0}.planner-content:has(.starter-week){flex-direction:column;display:flex}.planner-content:has(.starter-week) .calendar-canvas{flex:1;height:auto;min-height:0}@media (width<=800px){.starter-week{flex-wrap:wrap;gap:8px;padding:10px}}.agent-composer{background:var(--paper-strong);border:1px solid #cec9bd;border-radius:7px;grid-template-columns:minmax(0,1fr) 36px;align-items:end;gap:5px;min-height:66px;padding:7px;display:grid;position:relative;box-shadow:0 5px 16px #38362c0d}.agent-composer:focus-within{border-color:var(--sage);box-shadow:0 0 0 3px #58775b1a}.agent-composer textarea{resize:vertical;width:100%;min-height:48px;max-height:118px;color:var(--ink);background:0 0;border:0;outline:0;padding:4px 3px;font-size:13px;line-height:1.55}.agent-composer textarea::placeholder{color:var(--faint)}.agent-composer__send{background:var(--sage-pale);width:34px;height:34px;color:#fff;cursor:pointer;background:var(--sage);border:0;border-radius:50%;place-items:center;padding:0;display:grid}.agent-composer__send:disabled{opacity:.38;cursor:default}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.agent-privacy{color:var(--faint);margin-top:8px;font-size:10px;line-height:1.5}.agent-privacy summary{cursor:pointer;align-items:center;gap:5px;display:inline-flex}.agent-privacy p{margin:6px 0 0}.schedule-inspector{width:100%;box-shadow:none;background:0 0;border:0;flex:1;padding:26px 22px 30px;animation:.16s ease-out inspector-enter;position:static;overflow-y:auto}.schedule-inspector--empty{flex-direction:column;justify-content:space-between;align-items:stretch;gap:28px;display:flex}.schedule-inspector--empty>div{max-width:none}.inspector-empty__primary{color:var(--sage-dark);padding-top:46px}.inspector-empty__primary h3{color:var(--ink);font-family:var(--serif);margin:18px 0 10px;font-size:24px;font-weight:500}.inspector-empty__primary p,.inspector-empty__future p{color:var(--muted);margin:0;font-size:13px;line-height:1.8}.inspector-empty__future{border-top:1px solid var(--line);color:var(--sage-dark);grid-template-columns:22px 1fr;gap:10px;padding-top:18px;display:grid}@keyframes inspector-enter{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.planner-layout--fullscreen{z-index:60;background:var(--canvas);min-height:100vh;display:block;position:fixed;inset:0;overflow:hidden}.planner-layout--fullscreen .planner-content{width:100vw;height:100vh;padding:0}.planner-layout--fullscreen .planner-sidebar{display:none}.planner-layout--fullscreen .calendar-canvas{border:0;width:100vw;height:100vh;min-height:0;position:fixed;inset:0}.fullscreen-exit{z-index:80;border:1px solid var(--line);width:36px;height:34px;color:var(--ink);cursor:pointer;background:#fffdf8eb;border-radius:3px;place-items:center;padding:0;display:inline-grid;position:fixed;top:4px;left:7px}.fullscreen-exit:hover{border-color:var(--sage);color:var(--sage-dark)}.planner-layout--fullscreen .calendar-event-handle{display:none!important}.calendar-canvas{--fc-classic-background:transparent;--fc-classic-faint:#14283d06;--fc-classic-muted:#14283d0d;--fc-classic-strong:#14283d17;--fc-classic-foreground:var(--ink);--fc-classic-faint-foreground:var(--faint);--fc-classic-muted-foreground:var(--muted);--fc-classic-border:var(--line-soft);--fc-classic-strong-border:var(--line);--fc-classic-primary:var(--sage);--fc-classic-primary-foreground:#fff;--fc-classic-today:#58775b0d;--fc-classic-now:var(--sage-dark);font-size:13px}.day-header-content{justify-content:center;align-items:center;gap:6px;min-height:24px;display:flex}.day-header-content small{font-size:10px}.day-header-content em{background:var(--sage);color:#fff;letter-spacing:.08em;border-radius:999px;padding:2px 7px;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;font-size:9px;font-style:normal;font-weight:600}.calendar-canvas .calendar-event{border-radius:4px;margin:1px 3px;transition:border-color .14s,box-shadow .14s,filter .14s,transform .14s;overflow:visible;cursor:grab!important}.calendar-canvas .calendar-event:hover{filter:saturate(1.08)brightness(1.01);transform:translateY(-1px)}.calendar-canvas .calendar-event:active,.calendar-canvas .calendar-event--dragging,.calendar-canvas .calendar-event--resizing{cursor:grabbing;filter:saturate(1.12);box-shadow:0 12px 26px #27483338;z-index:12!important}.calendar-canvas .calendar-event--routine{--fc-event-color:#dfe2e0;color:#49534e;filter:saturate(.3);cursor:default!important;background:repeating-linear-gradient(135deg,#e5e7e5 0 5px,#daddda 5px 6px)!important;border-color:#b3b8b4!important}.calendar-canvas .calendar-event--routine:hover{filter:saturate(.3);transform:none}.calendar-canvas .calendar-event--learning{background:#d9e5d5!important;border-color:#a8bea6!important}.calendar-canvas .calendar-event--exercise{background:#f2d0b8!important;border-color:#dda17b!important}.calendar-canvas .calendar-event--free{background:#e5dbe9!important;border-color:#c5b0ce!important}.calendar-canvas .calendar-event--draft{color:#435247;background:#f1eee5!important;border:1px dashed #829485!important}.calendar-canvas .calendar-event--ai-source{pointer-events:none;border-radius:4px;margin:1px 3px;z-index:2!important;opacity:1!important;cursor:default!important;background:repeating-linear-gradient(135deg,#dfe9dc94 0 7px,#fffdf87a 7px 10px)!important;border:1px dashed #9aaa9b!important}.calendar-canvas .calendar-event--ai-source:after{content:"原位置 · 尚未生效";color:#667468;text-overflow:ellipsis;white-space:nowrap;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;font-size:9px;line-height:1.3;position:absolute;inset:6px 8px auto;overflow:hidden}.calendar-canvas .calendar-event--ai-delete-source{color:#7b4338;box-shadow:0 6px 16px #743e3224;z-index:9!important;cursor:pointer!important;background:repeating-linear-gradient(135deg,#fff8f4 0 7px,#f4ddd4 7px 10px)!important;border:2px dashed #a76557!important}.calendar-canvas .calendar-event--ai-draft{color:var(--ink);box-shadow:0 6px 18px #38563c2e;z-index:10!important;border:2px dashed var(--sage-dark)!important;cursor:pointer!important;background:repeating-linear-gradient(135deg,#f7faf4 0 6px,#e7efe3 6px 8px)!important}.calendar-canvas .calendar-event--ai-draft:hover{filter:none}.calendar-canvas .calendar-event--ai-created{animation:.36s cubic-bezier(.22,.78,.24,1) both agent-card-created}@keyframes agent-card-created{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.calendar-event-flight{transform-origin:0 0;will-change:transform, width, height, opacity;border-style:solid;border-width:1px;border-radius:5px;overflow:hidden;box-shadow:0 12px 28px #293f2d3d}.calendar-canvas .calendar-event--ai-arriving{opacity:0}.event-draft-label{color:var(--sage-dark);letter-spacing:.04em;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;font-size:7px;font-weight:700;position:absolute;top:3px;left:5px}.event-delete-label{color:#8c4b3f;letter-spacing:.04em;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;font-size:7px;font-weight:700;position:absolute;top:3px;left:5px}@media (prefers-reduced-motion:reduce){.agent-thinking i{animation:none}.calendar-event-flight{display:none}.calendar-canvas .calendar-event--ai-created{animation:none}.calendar-canvas .calendar-event--ai-arriving{opacity:1}}.event-content--aiDraft .event-content__body,.calendar-event--ai-delete-source .event-content__body{padding-top:9px}.calendar-canvas .calendar-event--draft .event-content strong{color:#59675d;font-style:italic;font-weight:500}.calendar-canvas .calendar-event--selected,.calendar-canvas .calendar-event--selected:hover{outline-offset:0;filter:saturate(1.18)brightness(1.035);outline:3px solid #fffdf8eb;transform:translateY(-1px);box-shadow:0 0 0 5px #2f69442e,0 12px 30px #2748333d;z-index:11!important;border:2px solid #2f6944!important}.calendar-canvas .calendar-event--routine.calendar-event--selected{filter:saturate(.3)brightness(1.03);box-shadow:0 0 0 4px #595e5626,0 10px 24px #2c302b29;border-color:#656963!important}.calendar-canvas .calendar-event-inner,.event-content{width:100%;height:100%}.event-content{text-align:center;justify-content:center;align-items:center;padding:2px 6px;display:flex;position:relative;overflow:hidden}.event-content__body{flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;display:flex}.calendar-event-content{white-space:nowrap;text-overflow:ellipsis;opacity:.85;max-width:100%;display:block;overflow:hidden}.inspector-form textarea{resize:vertical;border:1px solid var(--line);background:var(--paper);width:100%;min-height:80px;font:inherit;border-radius:6px;padding:10px}.event-content strong{max-width:100%;font-family:var(--serif);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(12px,1vw,15px);font-weight:600;line-height:1.12;overflow:hidden}.event-content span{color:#14283dc2;font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:clamp(9px,.72vw,11px);line-height:1.08}.event-lock-label{color:#686c68;letter-spacing:.06em;align-items:center;gap:2px;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;font-size:8px;font-weight:600;line-height:1;display:inline-flex;position:absolute;top:4px;left:5px}.event-lock-label--compact{top:50%;transform:translateY(-50%)}.event-content--constraint:has(.event-lock-label--compact) .event-content__body{max-width:calc(100% - 22px);margin-left:18px}.calendar-event-handle{display:none}.calendar-canvas .calendar-event--selected:not(.calendar-event--routine)>.calendar-event-handle{z-index:20!important;border:2px solid var(--paper)!important;background:var(--sage-dark)!important;opacity:1!important;border-radius:999px!important;width:36px!important;height:8px!important;display:block!important;position:absolute!important;left:50%!important;transform:translate(-50%)!important}.calendar-canvas .calendar-event--selected>.calendar-event-handle--start{cursor:ns-resize;top:-5px!important;bottom:auto!important}.calendar-canvas .calendar-event--selected>.calendar-event-handle--end{cursor:ns-resize;top:auto!important;bottom:-5px!important}.calendar-canvas .calendar-day-header--today{background:#f3f6f1!important}.calendar-canvas .calendar-now-line{opacity:.82;border-top:1px solid var(--sage-dark)!important}.calendar-canvas .calendar-now-line:before{background:var(--sage-dark);color:#fff;content:"现在";white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:9px;line-height:1.4;position:absolute;bottom:-9px;right:calc(100% + 5px)}.calendar-canvas .calendar-now-dot{border-radius:50%;margin-top:-3px;background:var(--sage-dark)!important;border:0!important;width:6px!important;height:6px!important}@media (width<=1024px){.app-topbar{gap:18px;padding-inline:18px}.app-topbar .main-navigation{gap:15px}.app-topbar .nav-item{font-size:14px}.planner-layout--sidebar-open{grid-template-columns:minmax(0,1fr) 330px}.planner-sidebar__overview{padding-inline:18px}.planner-sidebar__actions .button{padding-inline:6px;font-size:12px}.agent-workbench__header{padding-inline:16px}.agent-transcript,.agent-composer-area{padding-inline:13px}.agent-draft{margin-left:32px}.event-content strong{font-size:12px}.event-content span{font-size:9px}}@media (width<=900px){.planner-layout--sidebar-open{grid-template-columns:minmax(0,1fr) 54px}.planner-layout--sidebar-open .planner-sidebar{z-index:12;border-top:0;border-left:1px solid var(--line);background:var(--paper);width:min(420px,100vw - 54px);height:100%;min-height:0;position:absolute;inset:0 0 0 auto;box-shadow:-18px 0 42px #2a2e251f}.schedule-inspector,.agent-workbench{min-height:0}}@media (width<=800px){.app-topbar{grid-template-columns:auto minmax(0,1fr) auto;gap:12px;height:64px;padding-inline:12px}.app-topbar .brand>span:last-child,.app-topbar .save-indicator span:last-child,.app-topbar .nav-item svg{display:none}.app-topbar .nav-item>span{display:inline}.app-topbar .main-navigation{justify-content:center;gap:14px}.app-topbar .nav-item{min-height:64px;font-size:13px}.app-main{min-height:calc(100vh - 64px)}.planner-layout{height:calc(100vh - 64px);min-height:560px}.planner-content{padding:0}.calendar-canvas{height:100%;min-height:0}.schedule-inspector{width:100%;padding:22px 18px 28px}.fc .fc-col-header-cell-cushion{font-size:13px}.day-header-content{gap:3px}.day-header-content em{padding-inline:4px;font-size:8px}.event-content{padding-inline:3px}.event-content strong{letter-spacing:0;font-size:11px}.event-content span{font-size:8px}}@media print{@page{size:A4 landscape;margin:0}html,body,#root,.app-shell,.app-main,.planner-layout,.planner-content{background:#fff!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important}.app-topbar,.planner-status,.planner-sidebar,.fullscreen-exit{display:none!important}.planner-layout{display:block!important}.planner-content{padding:0!important}.calendar-canvas{zoom:78%;background:#fff!important;border:0!important;width:128.205vw!important;height:128.205vh!important;min-height:0!important;position:fixed!important;inset:0!important}.calendar-canvas .calendar-event--selected{filter:none!important;box-shadow:none!important;border-width:1px!important;outline:0!important;transform:none!important}.calendar-event-handle{display:none!important}}
