*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:--theme(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--bg:#f6f7f3;--paper:#fff;--ink:#263b34;--muted:#738079;--line:#e6eae3;--green:#2b584b;--green-light:#edf3ec;--blue:#edf2fa;--blue-ink:#506885}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:none;color:inherit}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}button,input,textarea,select,a{outline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid #4a7968}svg{flex-shrink:0}button{touch-action:manipulation}.app-shell{min-height:100vh}.topbar{height:84px;border-bottom:1px solid var(--line);background:#ffffffd6;padding:0 max(30px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand-symbol{background:var(--green);color:#f9fbf6;border-radius:12px;width:43px;height:43px;display:flex;align-items:center;justify-content:center}.brand>div:last-child{display:flex;align-items:baseline;gap:14px}.brand strong{font-size:23px;font-weight:650;letter-spacing:3px}.brand span{font-size:12px;letter-spacing:2px;color:var(--muted)}.header-right{display:flex;align-items:center;gap:22px}.header-clock{font-size:12px;color:var(--muted)}.header-clock b{font-size:13px;font-weight:500;margin-left:8px;font-variant-numeric:tabular-nums}.private-badge{display:flex;align-items:center;gap:6px;font-size:11px;color:#718176;background:#edf1ec;border-radius:6px;padding:5px 8px}.icon-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#65756d;transition:background .15s;flex-shrink:0}.icon-button:hover{background:#eff3ec;color:var(--green)}.icon-button.small{width:30px;height:32px}.main{max-width:1280px;margin:0 auto;padding:42px 30px 28px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:18px}.eyebrow{font-size:10px;letter-spacing:2.3px;color:#98a29a;font-weight:600;margin-bottom:8px}h1{font-size:29px;font-weight:600;letter-spacing:.7px;margin:0}.page-heading p{color:#829086;font-size:12px;margin:9px 0 0}.page-heading p span{margin:0 6px}.main-actions{display:flex;align-items:center;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:500;min-height:42px;padding:0 16px;border-radius:8px;white-space:nowrap;transition:background .15s,transform .15s;border:1px solid transparent}.button:active{transform:translateY(1px)}.button.primary{background:var(--green);color:#fff;box-shadow:0 2px 3px #264e3d0c}.button.primary:hover{background:#234c3e}.button.secondary{background:#fff;border-color:#dce3d8;color:#50655a}.button.secondary:hover{background:#f5f7f2;border-color:#c7d2c3}.button.danger{background:#a84843;color:#fff}.button.danger:hover{background:#8d3733}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 346px;gap:22px;align-items:start}.calendar-panel,.day-panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 3px 16px #253c2905}.calendar-toolbar{padding:23px 22px;display:flex;align-items:center;justify-content:space-between;gap:8px}.month-controls{display:flex;align-items:center;gap:14px}.month-title{display:inline-flex;align-items:baseline;gap:3px;font-size:22px;font-weight:550;white-space:nowrap;padding:0}.month-title span{font-weight:400;font-size:15px;margin:0 4px}.month-title svg{margin-left:4px;align-self:center;color:#8b998e}.month-navigation{display:flex;gap:0}.today-button{border:1px solid #dfe5db;border-radius:6px;min-height:32px;padding:0 11px;font-size:12px;color:#597163;background:#fff}.today-button:hover{background:var(--green-light)}.view-switch{display:flex;background:#f3f5f0;border-radius:7px;padding:3px;gap:1px;flex-shrink:0}.view-switch button{display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;color:#8a978d;min-height:29px;padding:0 9px;border-radius:5px}.view-switch button.active{background:#fff;color:#365c49;box-shadow:0 1px 4px #21372f0d}.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 12px;background:#fff;border-bottom:1px solid var(--line)}.weekdays div{text-align:center;font-size:11px;font-weight:500;color:#829084;padding:0 0 15px}.weekdays .weekend{color:#abb4a9}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 12px}.day-cell{position:relative;min-width:0;height:98px;padding:10px 5px 7px;display:flex;flex-direction:column;align-items:stretch;text-align:left;border-right:1px solid #edf0e9;border-bottom:1px solid #edf0e9;background:#fff;border-radius:0;transition:background .12s}.day-cell:nth-child(7n){border-right:0}.day-cell:nth-last-child(-n+7){border-bottom:0}.day-cell:hover{background:#f8faf5}.day-cell.selected{background:#f1f6ee;box-shadow:inset 0 0 0 1px #8faa86;border-radius:5px;z-index:1}.day-cell.outside{background:#fcfcfa;color:#c3c9be}.day-cell.outside .cell-events{opacity:.45}.day-cell.weekend:not(.selected){background:#fcfcfa}.cell-date{display:flex;align-items:center;justify-content:space-between;gap:2px;margin-bottom:7px;min-height:27px}.day-number{width:27px;height:27px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;flex-shrink:0}.today .day-number{background:var(--green);color:#fff;border-radius:50%}.today-label{font-size:9px;color:#51785b;padding-right:3px;white-space:nowrap}.cell-events{display:flex;flex-direction:column;gap:4px;overflow:hidden}.cell-event{font-size:10px;line-height:19px;height:19px;padding:0 4px;border-radius:3px;display:block;overflow:hidden;color:#527353;background:#edf3e9;white-space:nowrap}.cell-event>span{display:block;overflow:hidden;text-overflow:ellipsis}.cell-event b{font-size:9px;font-weight:500}.cell-event.blue{background:#edf1f8;color:#526c87}.cell-event.done{background:#f1f2ee;color:#9ba495;text-decoration:line-through}.more-events{font-size:9px;color:#8d9b8b;margin-left:3px}.mobile-dots{display:none}.calendar-footer{padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);color:#869181;font-size:11px}.footer-dot{margin:0 7px;color:#b4bcb0}.calendar-tip{color:#a6afa0;font-size:10px}.day-header{padding:26px 23px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px}.day-eyebrow{font-size:10px;color:#91a086;letter-spacing:1.8px;margin-bottom:11px}.day-header h2{font-size:22px;font-weight:550;margin:0;white-space:nowrap}.day-header h2 span{color:#7f8b7a;font-size:12px;font-weight:400;margin-left:8px}.day-header p{color:#97a18f;font-size:11px;margin:9px 0 0}.day-navigation{display:flex;gap:0;margin-right:-6px}.day-items{padding:7px 19px 17px;min-height:408px}.work-row{display:flex;align-items:flex-start;gap:7px;border-bottom:1px solid #edf0e8;padding:18px 0 17px;position:relative}.complete-button{width:28px;height:28px;flex-shrink:0;border:1px solid #cdd8c8;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-top:20px;color:#fff;background:#fff}.work-row.completed .complete-button{border-color:#9caf93;background:#9caf93}.work-content{text-align:left;padding:0;display:flex;flex-direction:column;min-width:0;flex:1;gap:7px}.work-time{display:flex;gap:8px;align-items:center;font-size:10px;color:#8a9d7f;white-space:nowrap;font-variant-numeric:tabular-nums}.work-row.timed .work-time{color:#8094b0}.work-title{font-size:14px;line-height:1.7;font-weight:450;word-break:break-word;white-space:pre-wrap}.work-notes{font-size:11px;line-height:1.8;color:#939e8b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;word-break:break-word}.work-row.completed .work-title{color:#99a38f;text-decoration:line-through}.work-row.completed .work-notes{color:#b0b7a8}.done-label{color:#9ba794;font-size:9px}.row-actions{display:flex;flex-direction:column;opacity:.6;margin-top:14px;margin-right:-6px}.work-row:hover .row-actions{opacity:1}.delete-button:hover{color:#a04941;background:#f8efec}.add-inline{width:100%;margin-top:18px;border:1px dashed #d5ddcc;border-radius:7px;padding:12px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:#7b906c}.add-inline:hover{background:#f6f8f2}.day-panel-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;color:#a2ad97;padding:17px}.day-empty{min-height:408px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px 22px}.empty-illustration{width:90px;height:83px;position:relative;margin-bottom:27px}.mini-calendar{position:absolute;width:72px;height:72px;left:5px;top:4px;background:#f8faf5;border:1px solid #e2e8da;border-radius:10px;transform:rotate(-7deg)}.mini-calendar>span{height:19px;border-bottom:1px solid #e2e8da;display:block;background:#eef3e8;border-radius:10px 10px 0 0}.mini-calendar>span:before,.mini-calendar>span:after{content:"";position:absolute;width:3px;height:12px;top:-5px;background:#b2c0a4;border-radius:4px}.mini-calendar>span:before{left:17px}.mini-calendar>span:after{right:17px}.mini-calendar>div{padding:10px 13px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mini-calendar i{width:8px;height:7px;background:#e4eadc;border-radius:2px}.mini-calendar i.picked{background:#9fba87}.empty-check{position:absolute;right:0;bottom:0;background:#a7bb96;color:#fff;width:31px;height:31px;border:4px solid #fff;display:flex;justify-content:center;align-items:center;border-radius:50%}.day-empty h3{font-size:15px;font-weight:500;margin:0 0 10px}.day-empty p{font-size:12px;color:#98a18f;text-align:center;line-height:1.9;margin:0 0 22px}.day-empty .button{min-height:38px;font-size:12px}.example-link{font-size:10px;display:flex;align-items:center;gap:4px;margin-top:17px;color:#98a58e}.example-link:hover{color:var(--green)}.bottom-bar{display:flex;align-items:center;gap:20px;font-size:11px;margin-top:20px;color:#96a18e}.sync-status{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:10px;color:#8c9e81}.sync-status.error,.sync-status.offline{color:#a78d58}.sync-status:hover{color:var(--green)}.desktop-hint{display:flex;align-items:center;gap:6px;color:#96a18e;font-size:10px;margin-left:auto}.desktop-hint:hover{color:var(--green)}.version-label{font-size:10px;color:#bcc4b7}.demo-banner{margin:-12px 0 19px;padding:12px 16px;background:#f4f1e4;border:1px solid #e9e2c9;border-radius:8px;color:#948052;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.demo-banner>span{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.demo-banner button{display:flex;align-items:center;gap:4px;font-size:11px;color:#776536;white-space:nowrap}.demo-explanation{font-size:11px}.sync-warning{display:flex;align-items:center;gap:9px;margin-bottom:18px;padding:12px 15px;border-radius:8px;background:#fff8eb;border:1px solid #e9dfc7;color:#917747;font-size:12px}.sync-warning>span{flex:1}.sync-warning button,.sync-warning a{font-size:11px;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.monthly-list{min-height:636px;padding:0 23px 20px;max-height:665px;overflow:auto}.search-box{display:flex;align-items:center;border:1px solid #e2e8db;border-radius:8px;padding:0 11px;gap:8px;margin-bottom:23px;color:#91a187;min-height:40px;background:#fbfcf9}.search-box input{border:0;outline:0;min-width:0;flex:1;background:none;font-size:12px;padding:10px 0;color:#4a624d}.search-box input::placeholder{color:#b0bbaa}.list-group{margin-bottom:27px}.list-date{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:550;padding:0 0 7px;color:#496546}.list-date span{font-size:11px;color:#a3af98;font-weight:400}.list-date b{font-size:9px;font-weight:500;background:#edf3e7;color:#709063;border-radius:4px;padding:2px 5px}.monthly-list .work-row{gap:12px}.monthly-list .row-actions{flex-direction:row;margin-top:8px}.monthly-list .work-content{gap:5px}.monthly-list .complete-button{margin-top:14px}.monthly-list .work-notes{-webkit-line-clamp:1}.monthly-list .work-title{font-size:13px}.list-empty{height:370px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#a2b197}.list-empty p{font-size:13px;margin:17px 0}.text-button{display:flex;align-items:center;gap:5px;font-size:12px;color:#6c8860}.modal{width:calc(100% - 32px);max-width:490px;padding:0;border:1px solid #e1e7dc;border-radius:15px;color:var(--ink);background:#fff;max-height:calc(100dvh - 48px);overflow-y:auto;box-shadow:0 24px 80px #20382726;margin:auto}.modal::backdrop{background:#28382f52;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:21px 25px 17px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:19px;font-weight:550}.editor,.modal-body{padding:23px 25px 25px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:19px;position:relative;min-width:0}.field>span{font-size:12px;font-weight:500;color:#65825b}.field input,.field textarea,.field select{width:100%;min-width:0;border:1px solid #dce4d5;background:#fcfdf9;border-radius:7px;padding:11px 12px;color:#3c5840;outline:none;font-size:14px;font-variant-numeric:tabular-nums;min-height:43px;appearance:auto}.field textarea{line-height:1.7;resize:vertical;min-height:90px;max-height:240px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#89a97c;box-shadow:0 0 0 3px #edf4e6}.field textarea::placeholder{color:#adb9a3;font-size:13px}.field-counter{position:absolute;bottom:7px;right:10px;font-size:9px;color:#aeb9a4;background:#fcfdf9}.field small{font-size:10px;font-weight:400;color:#a4b295;margin-left:5px}.expand-options{display:flex;align-items:center;gap:5px;padding:0;color:#879d76;font-size:12px;margin:1px 0 20px}.expand-options span{font-size:10px;color:#b0bba6;margin-left:3px}.expand-options svg{transition:transform .2s}.expand-options .rotated{transform:rotate(180deg)}.time-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.extra-fields{padding-top:4px}.check-label{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:19px;color:#68885c}.check-label input{accent-color:var(--green);width:16px;height:16px}.form-error{font-size:12px;line-height:1.7;color:#a25949;background:#fcf2ed;border:1px solid #efdbd1;padding:10px 12px;border-radius:6px;margin:0 0 18px}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding-top:17px;border-top:1px solid var(--line);margin-top:7px}.modal-actions .button{min-height:40px}.small-modal{max-width:390px}.export-intro{display:flex;align-items:center;gap:14px;margin-bottom:24px}.file-symbol{width:51px;height:56px;background:#edf4e7;border:1px solid #dfebd6;display:flex;align-items:center;justify-content:center;border-radius:9px;color:#79a062}.export-intro h3{font-size:15px;margin:0 0 5px;font-weight:500}.export-intro p{font-size:11px;color:#a1ae94;margin:0}.export-choices{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.radio-card{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #e4eadc;border-radius:8px;cursor:pointer;background:#fff}.radio-card.checked{border-color:#90aa80;background:#f3f7ee}.radio-card input{accent-color:var(--green);height:16px;width:16px}.radio-card b{font-size:12px;font-weight:500;display:block}.radio-card small{font-size:10px;color:#a2af95;display:block;margin-top:5px}.inline-hint{font-size:11px;line-height:1.8;color:#92a180;background:#f6f8f1;border-radius:7px;padding:10px 12px;margin:0 0 19px}.menu-options{padding:10px 15px 16px}.menu-options>button,.menu-options>a{width:100%;display:flex;align-items:center;text-align:left;gap:12px;padding:13px 12px;border-radius:8px;color:#637e55;font-size:13px}.menu-options>button:hover,.menu-options>a:hover{background:#f4f7ee}.menu-options>button svg:last-child:not(:first-child){margin-left:auto;color:#a2b292}.menu-options span{display:block}.menu-options small{font-size:10px;color:#a9b49b;display:block;margin-top:4px}.menu-options>a{border-top:1px solid var(--line);margin-top:8px;padding-top:18px}.delete-title{font-size:16px;line-height:1.8;margin:0 0 10px;word-break:break-word}.muted{font-size:12px;color:#8b9b7e;line-height:1.9;margin:0 0 21px;word-break:break-word}.restore-file{display:flex;align-items:center;gap:13px;color:#7da360;background:#f5f8ef;padding:15px;border-radius:9px;margin-bottom:17px}.restore-file strong{font-size:12px;font-weight:500;display:block;word-break:break-all}.restore-file span{display:block;font-size:10px;color:#a7b895;margin-top:5px}.install-row{display:flex;align-items:flex-start;gap:13px;margin-bottom:24px;color:#82a071}.install-row h3{color:#527044;font-size:14px;font-weight:550;margin:0 0 8px}.install-row p{font-size:12px;line-height:1.9;color:#8d9d7e;margin:0}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);max-width:calc(100vw - 30px);display:flex;align-items:center;gap:8px;background:#2e4a36;color:#f4f8ed;border:1px solid #59734b;border-radius:8px;padding:13px 18px;font-size:12px;box-shadow:0 8px 26px #31482126;z-index:999;animation:enter .2s ease}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:0;bottom:24px}to{opacity:1;bottom:30px}}@media(min-width:1350px){.main{padding-top:49px}.calendar-toolbar{padding:26px 23px}.day-cell{height:105px}.day-items,.day-empty{min-height:446px}}@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) 305px;gap:16px}.main{padding:32px 24px 25px}.calendar-toolbar{padding:20px 16px}.month-controls{gap:6px}.month-title{font-size:20px}.month-title span{font-size:13px;margin:0 1px}.view-switch button{padding:0 6px}.day-header{padding:24px 19px 20px}.day-items{padding:7px 15px 17px}.day-header h2{font-size:20px}.day-cell{height:92px}.calendar-tip{display:none}.today-label{font-size:8px}.cell-event{font-size:9px}.cell-event b{display:none}.work-row{gap:4px}.complete-button{width:25px;height:25px}}@media(max-width:900px){.workspace{grid-template-columns:minmax(0,1fr) 280px;gap:14px}.main{padding:28px 20px}.month-controls{gap:3px}.month-title{font-size:18px}.month-title svg{display:none}.month-navigation .icon-button{width:28px}.view-switch span{display:none}.view-switch button{width:30px;padding:0}.calendar-toolbar{padding:18px 13px}.day-cell{height:87px;padding-left:3px;padding-right:3px}.today-label{display:none}.calendar-grid,.weekdays{padding-left:8px;padding-right:8px}.day-header{padding:22px 16px 18px}.day-header h2{font-size:18px}.day-header h2 span{font-size:11px;margin-left:4px}.day-navigation .icon-button{width:24px}.day-items{padding:7px 12px 16px}.day-empty,.day-items{min-height:359px}.calendar-footer{padding:16px}.monthly-list{min-height:568px}.work-title{font-size:13px}}@media(max-width:740px){.topbar{height:69px;padding:0 20px}.brand-symbol{height:36px;width:36px;border-radius:10px}.brand strong{font-size:21px}.brand>div:last-child{gap:11px}.brand span{font-size:10px}.header-right{gap:12px}.header-clock{display:none}.main{padding:26px 18px 24px}.page-heading{align-items:center;margin-bottom:23px;gap:12px}h1{font-size:25px}.eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:6px}.page-heading p{font-size:11px;margin-top:8px}.main-actions{gap:7px}.button{padding:0 13px;min-height:40px}.add-button span{display:none}.add-button{width:40px;padding:0}.export-button{font-size:11px;padding:0 11px;gap:6px}.export-button svg{width:15px;height:15px}.workspace{grid-template-columns:1fr;gap:17px}.calendar-toolbar{padding:18px 16px}.month-controls{gap:9px}.month-title{font-size:21px}.month-title span{font-size:14px;margin:0 2px}.month-title svg{display:block}.month-navigation .icon-button{width:31px}.view-switch button{width:33px;padding:0}.calendar-grid,.weekdays{padding:0 10px}.weekdays div{font-size:11px;padding-bottom:12px}.day-cell{height:61px;padding:9px 3px 5px;text-align:center;align-items:center;gap:4px}.cell-date{margin:0;min-height:27px}.day-number{height:27px;width:27px;font-size:13px}.cell-events{display:none}.mobile-dots{display:flex;align-items:center;justify-content:center;gap:3px;height:8px}.mobile-dots i{height:4px;width:4px;border-radius:50%;background:#99b77f}.mobile-dots i.blue{background:#93a8c3}.mobile-dots i.done{background:#ccd3c5}.mobile-dots span{font-size:8px;color:#9dab8f}.calendar-footer{padding:14px 17px;font-size:10px}.calendar-tip{display:block;font-size:9px}.day-header{padding:21px 21px 18px}.day-eyebrow{font-size:9px;margin-bottom:9px}.day-header h2{font-size:22px}.day-header h2 span{font-size:12px;margin-left:8px}.day-header p{margin-top:8px}.day-navigation .icon-button{width:32px}.day-items{padding:0 21px 18px;min-height:auto}.day-empty{min-height:290px;padding:27px 20px}.empty-illustration{margin-bottom:20px;width:80px;height:70px}.mini-calendar{transform:rotate(-7deg) scale(.9);transform-origin:top left}.empty-check{width:29px;height:29px}.day-empty h3{font-size:14px}.day-empty p{font-size:11px;margin-bottom:17px}.example-link{margin-top:14px}.day-panel-footer{font-size:9px;padding:13px}.work-row{padding:18px 0;gap:9px}.complete-button{width:28px;height:28px}.work-title{font-size:14px}.row-actions{opacity:.8}.row-actions .icon-button{width:33px;height:33px}.work-time{font-size:11px}.work-notes{font-size:12px}.bottom-bar{margin-top:17px;gap:12px;flex-wrap:wrap}.desktop-hint{font-size:9px;gap:4px}.version-label{display:none}.demo-banner{margin-top:-8px;font-size:11px;padding:10px 12px}.demo-banner>span{gap:5px}.demo-explanation{display:none}.sync-warning{font-size:11px;align-items:flex-start;gap:7px}.sync-warning svg{margin-top:2px}.monthly-list{min-height:420px;padding:0 18px 20px;max-height:550px}.monthly-list .row-actions{flex-direction:column}.monthly-list .work-notes{-webkit-line-clamp:2}.modal{border-radius:13px;max-height:calc(100dvh - 24px)}.modal-head{padding:18px 20px 14px}.modal-head h2{font-size:18px}.modal-body,.editor{padding:20px}.field input,.field textarea{font-size:16px}.field-counter{font-size:10px}.modal-actions .button{min-height:43px}.toast{font-size:11px;width:max-content;line-height:1.8;max-width:calc(100vw - 32px)}}@media(max-width:380px){.topbar{padding:0 15px}.brand span{display:none}.private-badge{font-size:10px}.main{padding:23px 13px}.page-heading{gap:8px}h1{font-size:22px}.export-button span{font-size:10px}.export-button{padding:0 9px}.month-controls{gap:4px}.month-title{font-size:19px}.month-title svg{width:12px;margin-left:1px}.month-title span{font-size:12px}.month-navigation .icon-button{width:26px}.calendar-toolbar{padding:16px 12px}.today-button{padding:0 8px}.view-switch button{width:27px}.day-cell{height:57px}.desktop-hint{font-size:8px}.calendar-tip{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.sync-link-field{margin-bottom:12px}.sync-link-field textarea{font-size:12px;line-height:1.65;word-break:break-all;resize:none;min-height:93px}.copy-link-button{width:100%;justify-content:center}.link-note{display:flex;gap:7px;align-items:flex-start;color:#92a180;font-size:11px;line-height:1.9;margin:15px 0 24px}.link-note svg{flex-shrink:0;margin-top:4px}.connection-details{border-top:1px solid var(--line);padding-top:19px;color:#6c865e;font-size:12px}.connection-details summary{cursor:pointer}.connection-details form{padding-top:19px}.connection-details .field textarea{font-size:12px;word-break:break-all}.connection-confirm{border-top:1px solid var(--line);padding-top:19px}.connection-confirm h3{font-size:15px;font-weight:550;margin:0 0 11px}.connection-confirm .muted{margin-bottom:12px}.connection-confirm .modal-actions{border-top:0;padding-top:7px}.private-badge:hover{background:#e8efdf}.page-heading p .heading-lunar{margin-left:12px;color:#79906d;font-size:11px;white-space:nowrap}.academic-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-3px 0 20px;padding:11px 15px;background:#f1f5ec;border:1px solid #e1e8d8;border-radius:8px}.academic-summary{display:flex;align-items:center;gap:8px;min-width:0;color:#778d68;font-size:12px;line-height:1.7}.academic-summary svg{flex-shrink:0}.academic-summary>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academic-settings-button{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap;color:#507547;padding:5px 0;flex-shrink:0}.academic-settings-button:hover{color:#264c31}.day-cell{height:124px}.cell-date{margin-bottom:3px}.cell-lunar{font-size:10px;color:#94a388;padding-right:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today .cell-lunar{color:#658851}.outside .cell-lunar{color:#bdc6b5}.cell-academic{display:flex;gap:3px;align-items:center;min-height:17px;margin-bottom:4px;min-width:0;overflow:hidden}.cell-week{font-size:9px;color:#719261;white-space:nowrap;flex-shrink:0}.cell-holiday{font-size:9px;background:#f8edd5;color:#ab8245;border-radius:3px;padding:1px 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:14px}.holiday-mobile-mark{display:none}.day-cell.holiday:not(.selected){background:#fffcf4}.day-cell.holiday:hover:not(.selected){background:#fcf5e5}.day-header .day-lunar{color:#7b926d;line-height:1.6;font-size:11px;margin-top:8px}.day-academic-context{padding:14px 23px;background:#f7f9f3;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:11px}.day-academic-context>div{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#779064;line-height:1.7}.day-academic-context svg{flex-shrink:0;margin-top:3px}.day-academic-context b{display:block;font-weight:550;color:#507346;font-size:13px;margin-top:3px}.day-academic-context small{display:block;color:#aa9876;font-size:10px;margin-top:3px}.day-academic-context .day-holiday-context{color:#9f804a}.holiday-context-dot{width:7px;height:7px;border-radius:50%;background:#d6b479;margin-top:7px;flex-shrink:0}.teaching-modal{max-width:680px}.teaching-tabs{display:flex;gap:5px;background:#f2f5ec;padding:4px;border-radius:8px;margin-bottom:18px}.teaching-tabs button{padding:9px 15px;flex:1;font-size:13px;color:#829371;border-radius:6px}.teaching-tabs button[aria-selected=true]{background:#fff;color:#476b3d;box-shadow:0 1px 4px #21372f0d}.teaching-description,.teaching-footnote{font-size:12px;color:#8b9b7a;line-height:1.9;margin:0 0 16px}.teaching-footnote{font-size:11px;margin:15px 0}.teaching-records{display:flex;flex-direction:column;gap:9px}.teaching-record{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #e4eadb;background:#fdfefa;padding:13px 14px;border-radius:8px}.teaching-record>div:first-child{min-width:0;flex:1}.teaching-record strong{display:block;overflow-wrap:anywhere;font-size:13px;font-weight:550;color:#58744a}.teaching-record span{display:block;font-size:11px;color:#96a48a;line-height:1.7;margin-top:6px}.teaching-record-actions{display:flex;flex-shrink:0}.teaching-empty{padding:29px 16px;text-align:center;border:1px dashed #dce5d3;border-radius:8px;font-size:12px;color:#a0ae92}.teaching-editor .add-inline{margin-top:13px}.teaching-editor .modal-actions{margin-top:20px}.holiday-form,.semester-form{padding-top:3px}.week-generator{border:1px solid #e0e7d8;border-radius:8px;margin-bottom:22px}.week-generator summary{cursor:pointer;display:flex;align-items:center;gap:7px;font-size:12px;color:#739065;padding:13px 15px;list-style:none}.week-generator summary::-webkit-details-marker{display:none}.week-generator-fields{padding:8px 15px 16px}.week-generator-fields .field small{line-height:1.7;margin:0}.week-generator-fields>.button{min-height:36px;font-size:12px}.week-generator-fields .teaching-footnote{margin-bottom:0}.week-editor-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.week-editor-title strong{font-size:12px;font-weight:500;color:#6b865a}.week-editor-title span{font-size:10px;color:#a3af96}.week-editor-list{display:flex;flex-direction:column;gap:9px;max-height:340px;overflow-y:auto;padding-right:4px}.week-edit-row{display:grid;grid-template-columns:78px minmax(0,1fr) minmax(0,1fr) 28px;gap:10px;background:#f8faf4;border:1px solid #e5ebdc;border-radius:7px;padding:11px 10px 9px;align-items:start}.week-edit-row .field{margin-bottom:0;gap:6px}.week-edit-row .field>span{font-size:10px}.week-edit-row .field input{font-size:12px;padding:7px 6px;min-height:35px;background:#fff}.week-edit-row .field small{font-size:9px;margin:0;color:#a4b195}.week-edit-row>.icon-button{margin-top:22px;width:26px;height:31px}.week-number-field input{padding-left:9px!important}.teaching-editor .form-error{margin-top:15px}@media(min-width:1350px){.day-cell{height:130px}}@media(max-width:900px)and (min-width:741px){.day-cell{height:114px}.cell-date{gap:0}.cell-lunar{font-size:9px}.cell-week,.cell-holiday{font-size:8px}.day-academic-context{padding:13px 16px}}@media(max-width:740px){.page-heading p{line-height:1.8}.page-heading p .heading-lunar{display:block;margin-left:0;font-size:10px}.academic-toolbar{padding:10px 12px;margin:0 0 17px;gap:10px}.academic-summary{font-size:11px;gap:6px}.academic-settings-button{font-size:11px;gap:4px}.day-cell{height:92px;padding:6px 2px 4px;gap:2px}.cell-date{flex-direction:column;justify-content:flex-start;gap:0;margin:0;min-height:39px}.day-number{width:25px;height:25px}.cell-lunar{font-size:9px;line-height:14px;padding:0;max-width:100%}.cell-academic{justify-content:center;gap:2px;min-height:14px;margin:1px 0 0;max-width:100%}.cell-week{font-size:8px;line-height:12px}.cell-holiday{font-size:8px;padding:0 2px;line-height:13px}.holiday-desktop-name{display:none}.holiday-mobile-mark{display:inline}.mobile-dots{height:6px;margin-top:1px}.day-academic-context{padding:13px 21px}.teaching-record{padding:12px 10px}.teaching-record span{font-size:10px}.week-edit-row{grid-template-columns:55px minmax(0,1fr) minmax(0,1fr) 23px;gap:5px;padding:9px 7px}.week-edit-row .field input{font-size:11px;padding:7px 2px;min-height:35px}.week-edit-row .field>span{font-size:9px}.week-edit-row>.icon-button{width:22px}.week-editor-title span{font-size:9px}.teaching-editor .time-fields{gap:11px}.teaching-tabs button{font-size:12px}.week-editor-list{max-height:300px}.teaching-modal .modal-body{padding:19px 15px}.teaching-record-actions .icon-button{width:29px}}@media(max-width:380px){.day-cell{height:88px}.cell-week,.cell-holiday{font-size:7px}.cell-lunar{font-size:8px}.academic-summary{font-size:10px}.week-edit-row{grid-template-columns:47px minmax(0,1fr) minmax(0,1fr) 21px;gap:4px}.week-edit-row .field input{font-size:10px}.teaching-modal .modal-body{padding-left:11px;padding-right:11px}}.brand{text-align:left;border:0;background:none;cursor:pointer}.private-badge{cursor:default}.local-storage-note{display:flex;align-items:flex-start;gap:7px;font-size:11px;line-height:1.9;color:#85937b;margin:15px 0 0}.local-storage-note svg{flex-shrink:0;margin-top:4px}.migration-banner{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid #dbe7d2;background:#f3f8ed;border-radius:8px;font-size:12px;color:#6a815b;margin-bottom:17px}.migration-banner>span{flex:1}.migration-banner>svg{flex-shrink:0}.migration-banner>button:not(.icon-button){color:#396135;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.migration-form{margin-top:20px;margin-bottom:19px}.migration-form textarea{font-size:12px;overflow-wrap:anywhere}.bottom-bar .saved{color:#62845c}.main-actions{flex-wrap:wrap}@media(max-width:740px){.backup-button{padding:0 9px;gap:5px;font-size:11px}.backup-button svg{width:14px}.main-actions{gap:5px}.local-storage-note{font-size:10px}.migration-banner{font-size:11px;align-items:flex-start;gap:7px}.migration-banner>svg{margin-top:2px}}
