:root{transition:background-color .65s cubic-bezier(.4,0,.2,1),color .65s cubic-bezier(.4,0,.2,1);font-family:Inter,"Segoe UI","Microsoft YaHei UI",sans-serif;color-scheme:dark;--canvas:#171717;--surface:#202020;--raised:#303030;--text:#f2f2f2;--secondary:#d0d0d0;--muted:#afafaf;--line:#2d2d2d;--border:#3c3c3c;--accent:#f1f1f1;--on-accent:#171717;--warning:#ddb475;--selected:#343434;font-size:14px;background:var(--canvas);color:var(--text)}
:root[data-theme=light]{color-scheme:light;--canvas:#fff;--surface:#fafafa;--raised:#eee;--text:#202020;--secondary:#454545;--muted:#626262;--line:#ebebeb;--border:#dfdfdf;--accent:#202020;--on-accent:#fff;--warning:#855a1d;--selected:#e9e9e9}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:transparent;border-radius:11px}button:disabled{cursor:default;opacity:.4}button:hover:not(:disabled){background:var(--raised)}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:1.5px solid var(--muted);outline-offset:4px}button,input,textarea,select,body,html,header,main,dialog,div,article,section,span,p{transition:background-color .65s cubic-bezier(.4,0,.2,1),border-color .65s cubic-bezier(.4,0,.2,1)}svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}img{display:block}h1,h2,p{margin:0}h1{font-size:32px;font-weight:400;letter-spacing:-.8px}h2{font-size:15px;font-weight:500}small{font-size:12px;color:var(--muted)}button.quiet{padding:10px 15px;background:var(--raised);font-size:13px}button.plain{padding:10px 14px;font-size:13px;color:var(--muted)}.icon-button{height:40px;width:40px;display:inline-flex;align-items:center;justify-content:center}.icon-button svg{height:19px;width:19px}.muted{color:var(--muted)}.warning{color:var(--warning)}.empty{padding:42px 0;color:var(--muted);font-size:18px}.section-label{font-size:12px;color:var(--muted);margin:30px 0 14px}.inline{display:flex;gap:8px;align-items:center}#app{max-width:1680px;height:100dvh;min-height:660px;margin:auto;padding:0 36px 12px;display:flex;flex-direction:column;gap:0}header{height:88px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:23px;font-weight:500;letter-spacing:.2px}.brand img{border-radius:8px}.header-actions{display:flex;gap:8px}#page{flex:1;min-height:0;overflow:auto;padding:14px 0 20px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.page-enter{animation:page-in .28s ease-out}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:4px 0 24px;gap:16px}.month-heading{justify-content:flex-start}.month-heading h1{margin-right:12px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}.calendar-layout.with-aside{grid-template-columns:minmax(0,1fr) 330px}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);color:var(--muted);font-size:12px;margin-bottom:12px}.weekdays span{padding:0 12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(var(--rows,5),minmax(66px,1fr));height:clamp(330px,calc(100dvh - 405px),680px)}.day{min-width:0;text-align:left;border-radius:0;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:9px 10px;display:flex;flex-direction:column;gap:6px;overflow:hidden}.day:nth-child(7n){border-right:0}.day.outside{color:var(--muted)}.day.active{background:var(--selected)}.day-number{width:26px;height:26px;display:grid;place-items:center;flex-shrink:0}.day.today .day-number{background:var(--accent);color:var(--on-accent);border-radius:50%}.day-event{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:12px;color:var(--secondary)}.day-count{font-size:11px;color:var(--muted)}.inspector{padding:0 6px;min-width:0}.inspector-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.inspector-heading h2{font-weight:400;font-size:18px}.chat-log{max-height:clamp(180px,calc(100dvh - 500px),620px);overflow:auto;padding-right:8px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.chat-message{line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:25px;color:var(--secondary)}.chat-message.user{background:var(--raised);color:var(--text);padding:11px 15px;margin-left:24px;border-radius:20px 20px 5px 20px}.day-details{max-height:460px;overflow:auto}#composer{width:min(100%,780px);margin:12px auto 4px;background:var(--surface);border:1px solid var(--border);border-radius:30px;padding:8px 10px 8px 17px;display:flex;gap:12px;align-items:center;flex-shrink:0}#composer:focus-within{border-color:var(--muted)}.composer-mark{color:var(--muted);width:24px;display:flex;justify-content:center}#message{border:0;outline:none;background:transparent;resize:none;line-height:24px;max-height:108px;min-height:38px;padding:7px 0;flex:1;min-width:0}#message::placeholder{color:var(--muted)}#send{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);border-radius:50%}#send svg{width:19px;height:19px}#orbit{height:124px;width:min(100%,600px);margin:4px auto 0;position:relative;overflow:clip;flex-shrink:0;touch-action:pan-y;user-select:none}.orbit-line{position:absolute;width:100%;height:100%;stroke:var(--border);stroke-width:.7;opacity:.65}#orbit-items{position:absolute;width:100%;height:100%}.orbit-item{position:absolute;left:50%;top:0;width:100px;height:106px;padding:0;display:flex;flex-direction:column;align-items:center;gap:12px;will-change:transform,opacity}.orbit-item:hover{background:transparent!important}.orbit-disc{height:62px;width:62px;display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative}.orbit-disc::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--raised);border:1px solid var(--border);opacity:var(--emphasis,0)}.orbit-item svg,.orbit-item img{width:28px;height:28px;position:relative}.orbit-item img{width:36px;height:36px;border-radius:7px}.orbit-item:hover svg,.orbit-item:hover img{scale:1.08;transition:scale .18s ease-out}.orbit-label{font-size:12px;color:var(--secondary);opacity:var(--emphasis,0)}.orbit-item:focus-visible{outline-offset:-4px;border-radius:35px}.plan-row{min-height:85px;display:grid;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;border-bottom:1px solid var(--line);gap:0}.plan-time{font-size:15px;color:var(--secondary);display:grid;gap:5px}.plan-main{padding:18px 8px 18px 0;min-width:0;text-align:left;border-radius:0}.plan-main:hover{background:transparent!important;color:var(--muted)}.plan-title{font-size:16px;font-weight:500;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.plan-meta{display:block;margin-top:6px;color:var(--muted);font-size:12px}.plan-row.completed .plan-title{text-decoration:line-through;color:var(--muted)}.complete{width:38px;height:38px;display:grid;place-items:center}.complete-circle{width:17px;height:17px;border:1px solid var(--muted);border-radius:50%;display:grid;place-items:center}.completed .complete-circle{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.complete svg{width:13px;height:13px}.row-actions{display:flex;align-items:center}.row-actions a{display:grid;place-items:center;height:32px;width:32px}.row-actions svg{width:16px;height:16px}.inspector .plan-row{grid-template-columns:62px minmax(0,1fr) auto}.inspector .plan-title{font-size:14px}.inspector .plan-time{font-size:13px}.today-summary{margin:-8px 0 32px;color:var(--muted)}.today-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:40px}.next-event{padding:14px 20px}.next-time{font-size:40px;font-weight:300;margin:17px 0 10px}.filters{display:flex;gap:26px;margin-bottom:24px}.filters button{border-radius:0;padding:10px 3px;color:var(--muted);border-bottom:1px solid transparent}.filters button[aria-pressed=true]{border-color:var(--text);color:var(--text)}.task-group{margin-bottom:26px}.task-group>p{font-size:13px;color:var(--muted);margin-bottom:6px}.journal-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px}.journal-date{font-size:18px}.journal-title{display:block;width:100%;font-size:30px;letter-spacing:-.4px;margin:30px 0 18px;padding:6px 0 18px;border:0;border-bottom:1px solid var(--line);background:none;outline:none}.journal-body{width:100%;height:clamp(200px,calc(100dvh - 450px),550px);resize:vertical;background:none;border:0;outline:none;font-size:16px;line-height:1.8}.journal-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:20px 0 0}.journal-history{border-left:1px solid var(--line);padding:4px 0 0 24px}.journal-history h2{margin-bottom:20px}.journal-history input{padding:10px;border:1px solid var(--border);background:var(--surface);border-radius:9px;width:100%;margin:12px 0 20px}.entry-link{display:block;width:100%;text-align:left;padding:14px;border-radius:12px;margin:5px 0}.entry-link span{display:block;margin-top:7px;font-size:13px}.entry-link.active{background:var(--raised)}.settings-page{max-width:800px;margin:0 auto 30px}.settings-page>.icon-button{margin:0 0 15px -10px}.settings-section{margin:32px 0 0}.settings-section>h2{font-size:13px;font-weight:400;color:var(--muted);margin-bottom:6px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:68px;padding:18px 0;border-bottom:1px solid var(--line)}.setting-row p{font-size:15px}.setting-row small{display:block;line-height:1.6;margin-top:6px;max-width:445px}.setting-row select{min-width:200px;max-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:11px 12px;font-size:13px}.switch{height:25px;width:43px;border-radius:15px;border:1px solid var(--border);background:var(--raised);position:relative;flex-shrink:0;margin:0 8px}.switch::after{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;background:var(--muted);border-radius:50%;transition:transform .25s ease-out}.switch[aria-checked=true]{background:var(--accent);border-color:var(--accent)}.switch[aria-checked=true]::after{transform:translateX(17px);background:var(--on-accent)}.about{line-height:1.7;color:var(--muted);font-size:12px;padding:25px 0}.shortcut-list{line-height:2;color:var(--muted);font-size:13px;padding-top:22px}.shortcut-list div{display:flex;justify-content:space-between}dialog{padding:20px;border:1px solid var(--border);border-radius:22px;background:var(--surface);color:var(--text);width:440px;max-width:calc(100vw - 24px);margin:0;position:fixed;top:82px;left:auto;right:36px;box-shadow:0 18px 65px #0002}dialog::backdrop{background:transparent}dialog[open]{animation:search-in .2s ease-out}.search-field{display:flex;align-items:center;gap:12px}.search-field>span{color:var(--muted)}#search-input{background:none;border:0;outline:none;width:100%;padding:10px 0;min-width:0;font-size:15px}#search-results{max-height:min(420px,calc(100dvh - 190px));overflow:auto;margin-top:14px;scrollbar-width:thin}.search-caption{font-size:12px;color:var(--muted);padding:0 0 10px 3px}.search-result{display:block;text-align:left;width:100%;padding:12px}.search-result strong{display:block;font-size:14px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.search-result small{display:block;margin-top:5px}.search-result.active{background:var(--selected)}#notice{position:fixed;z-index:10;bottom:24px;left:50%;transform:translateX(-50%);background:var(--raised);color:var(--text);border:1px solid var(--border);border-radius:16px;padding:13px 20px;max-width:min(680px,calc(100vw - 24px));line-height:1.6;box-shadow:0 5px 24px #0002;font-size:13px}#notice button{margin-left:16px;text-decoration:underline}.startup header{animation:reveal .65s both}.startup #page{animation:reveal .65s .07s both}.startup #composer{animation:reveal .65s .14s both}.startup #orbit{animation:reveal .65s .21s both}[hidden]{display:none!important}@keyframes reveal{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@keyframes page-in{from{opacity:.25;translate:0 6px}to{opacity:1;translate:0 0}}@keyframes search-in{from{opacity:0;translate:0 -5px}to{opacity:1;translate:0 0}}html[data-reduced=true] *,html[data-reduced=true] *::after{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important}@media(prefers-reduced-motion:reduce){*,*::after{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important}}
@media(max-width:1000px){.calendar-layout.with-aside{grid-template-columns:minmax(0,1fr) 290px}.today-layout{grid-template-columns:minmax(0,1fr) 210px;gap:20px}.journal-layout{grid-template-columns:minmax(0,1fr) 230px}.day-event{font-size:11px}}
@media(max-width:760px){#app{padding:0 18px 4px;min-height:600px}header{height:76px}.brand{font-size:21px}.brand img{width:32px;height:32px}h1{font-size:27px}.month-heading{gap:2px}.month-heading h1{margin-right:auto;font-size:25px;letter-spacing:-.6px}.month-heading .plain{font-size:12px;padding:9px}.month-heading .icon-button{width:32px;height:36px}.calendar-layout.with-aside{grid-template-columns:1fr}.calendar-layout.with-aside .inspector{grid-row:1}.chat-log{max-height:250px}.calendar-grid{height:auto;grid-template-rows:repeat(var(--rows),minmax(86px,1fr))}.day{padding:7px 4px;gap:4px}.day-event{font-size:10px}.weekdays span{padding-left:7px;font-size:11px}.today-layout{display:block}.next-event{display:none}#orbit{height:112px}.orbit-item{height:105px}#composer{gap:9px;padding-left:12px;border-radius:26px}.composer-mark{display:none}#message{font-size:14px;padding-left:5px}.plan-row{grid-template-columns:70px minmax(0,1fr) auto;min-height:79px}.plan-title{font-size:14px}.plan-time{font-size:13px}.journal-layout{grid-template-columns:1fr}.journal-history{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.journal-title{font-size:28px}.journal-body{height:260px}.journal-date{font-size:14px}.journal-top{flex-wrap:wrap}.settings-page{padding:0 4px}.setting-row{gap:16px}.setting-row select{min-width:128px;max-width:160px;font-size:12px}.setting-row p{font-size:14px}.setting-row small{font-size:11px}.settings-section{margin-top:28px}dialog{right:12px;top:72px}.search-field{gap:8px}#notice{bottom:12px}.page-heading{margin-bottom:24px}}
@media (max-height:800px) and (min-width:761px){.day{padding:5px 9px;gap:2px}.day-number{width:24px;height:24px;font-size:13px}.day-event{font-size:11px;line-height:15px}}
.restore-review{padding:20px 0;line-height:1.6}.restore-review .section-label{margin:12px 0}.brand{color:var(--text)}
.day-event{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 5px;line-height:16px;flex-shrink:0;width:100%}.event-time{flex-shrink:0;color:var(--text);font-variant-numeric:tabular-nums}.event-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 40px}.event-more{font-size:10px;color:var(--muted)}.day.active{box-shadow:inset 0 0 0 1px var(--muted)}
.chat-actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0 4px}.confirm-plan{border-radius:22px;background:var(--accent);color:var(--on-accent);padding:11px 18px;font-size:13px}.confirm-plan:hover:not(:disabled){background:var(--accent);opacity:.86}.chat-log{max-height:clamp(160px,calc(100dvh - 480px),620px)}
.day-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 28px}.agenda-date{font-size:20px;letter-spacing:-.25px}.today-summary{margin:9px 0 0;font-size:13px}.day-navigation{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.day-navigation input{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px;font-size:13px;max-width:155px}
@media(max-width:760px){.day-event,.calendar-layout.with-aside .day-event{display:flex;gap:0;font-size:10px}.event-time{display:block;width:100%}.event-title{flex-basis:100%;line-height:13px}.day-number{width:22px;height:22px}.agenda-date{font-size:19px}.day-toolbar{gap:16px;margin-bottom:10px}.day-navigation{gap:0}.day-navigation .plain{padding:10px;font-size:12px}.day-navigation input{max-width:140px}}
#workspace{flex:1;min-height:0;position:relative;display:flex}#workspace>#page{width:100%;transition:filter .35s ease,opacity .35s ease;transform-origin:center}
#chat-stage{position:absolute;inset:0;z-index:3;display:flex;align-items:flex-end;justify-content:center;visibility:hidden;pointer-events:none;opacity:0;transform:translateY(20px);transition:opacity .28s ease,transform .38s cubic-bezier(.2,.75,.2,1),visibility 0s .38s}
#chat-backdrop{position:absolute;inset:0;width:100%;height:100%;border-radius:0;cursor:default;background:transparent!important}
#chat-sheet{position:relative;width:min(100%,780px);max-height:100%;display:flex;flex-direction:column;min-height:0;padding:12px 12px 8px}
.chat-focused #page{filter:blur(5px);opacity:.34;pointer-events:none;user-select:none}.chat-focused #chat-stage{opacity:1;transform:translateY(0);visibility:visible;pointer-events:auto;transition-delay:0s}
#chat-sheet .inspector-heading{margin:0 0 10px;padding:0 4px;flex-shrink:0}#chat-sheet .inspector-heading small{font-size:13px;letter-spacing:.5px}
#chat-sheet .chat-log{display:flex;flex-direction:column;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;padding:6px 8px 4px}
#chat-sheet .chat-message{flex-shrink:0;align-self:flex-start;max-width:85%;border-radius:22px 22px 22px 6px;background:var(--surface);color:var(--text);padding:13px 18px;margin:0 0 14px;line-height:1.7;border:1px solid var(--border)}
#chat-sheet .chat-message.user{align-self:flex-end;background:var(--raised);border-color:transparent;border-radius:22px 22px 6px 22px;margin-left:24px}
#chat-sheet .chat-actions{flex-shrink:0;margin:0 8px;padding:8px 0 4px}
@media(max-width:760px){#chat-sheet{padding:8px 0}#chat-sheet .chat-message{max-width:92%;font-size:14px;padding:12px 15px}.chat-focused #page{filter:blur(4px)}}
