:root{--app-default-font-family: system-ui, sans-serif;--app-font-family: system-ui, sans-serif;--app-font-size: 16px;--control-height: 2.625rem;--panel-padding: 1.25rem;--space-2xs: .375rem;--space-xs: .5rem;--space-sm: .625rem;--space-md: .875rem;--space-lg: 1.125rem;--space-xl: 1.5rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base: 1rem;--text-md: 1.0625rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-title: 2rem;--calculator-panel-bg: #eef1ff;--calculator-panel-border: #b8c2ff;--calculator-display-bg: #fbfcff;--calculator-display-border: #aeb9ef;--calculator-number-bg: #ffffff;--calculator-number-border: #cbd3f6;--calculator-function-bg: #dfe4ff;--calculator-function-border: #bac4f6;--calculator-operator-bg: #3949ab;--calculator-operator-border: #3949ab;--calculator-text: #14172f;--calculator-muted-text: #2f3c8f;color:#1e2329;background:#f4f2ed;color-scheme:light;font-family:var(--app-font-family);font-size:var(--app-font-size);font-synthesis:none;text-rendering:optimizeLegibility}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}:root[data-font-size=small]{--app-font-size: 15px}:root[data-font-size=medium]{--app-font-size: 16px}:root[data-font-size=large]{--app-font-size: 18px}:root[data-font-family=system]{--app-font-family: system-ui, sans-serif}:root[data-font-family=sans]{--app-font-family: "Noto Sans SC", "Noto Sans CJK SC", "Roboto", system-ui, sans-serif}:root[data-font-family=source_sans]{--app-font-family: "Source Han Sans SC", "Noto Sans SC", "Noto Sans CJK SC", "Roboto", system-ui, sans-serif}:root[data-font-family=songti]{--app-font-family: "Noto Serif SC", "Noto Serif CJK SC", serif}:root[data-font-family=fangsong]{--app-font-family: "FandolFang", "AR PL UMing CN", "Noto Serif SC", "Noto Serif CJK SC", serif}:root[data-font-family=kaiti]{--app-font-family: "FandolKai", "AR PL UKai CN", "Noto Serif SC", "Noto Serif CJK SC", cursive, serif}:root[data-font-family=custom]{--app-font-family: var( --app-custom-font-family, "Noto Sans SC", "Noto Sans CJK SC", "Roboto", system-ui, sans-serif )}*{box-sizing:border-box}*:not(i):not(.icon),*:not(i):not(.icon):before,*:not(i):not(.icon):after,input,textarea,button,select,h1,h2,h3,h4,h5,h6,p,span{font-family:var( --app-font-family, "Noto Sans SC", "Noto Sans CJK SC", "Roboto", system-ui, sans-serif )!important}body{background:#f4f2ed;color:#1e2329;font-size:var(--text-base);margin:0;min-width:0;min-height:100vh;overflow-x:hidden}button{font:inherit}.app-shell{width:min(1120px,100%);margin:0 auto;padding:var(--space-xl) var(--space-lg) 3rem}.topbar{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-lg)}.topbar h1,.panel h2,.panel h3,.hero-panel h2{letter-spacing:0;margin:0}.topbar h1{font-size:var(--text-title)}.eyebrow{color:#687176;font-size:var(--text-sm);font-weight:700;margin:0 0 var(--space-2xs)}.navigation{background:#f9f8f6;border:1px solid #ddd8cf;border-radius:8px;display:grid;gap:var(--space-2xs);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:var(--space-lg);padding:var(--space-2xs)}.navigation button{background:transparent;border:0;border-radius:6px;color:#4b555b;cursor:pointer;min-height:var(--control-height);padding:var(--space-xs) var(--space-sm)}.navigation button.active{background:#1f6f68;color:#fff;font-weight:700}.page-grid{display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.panel{background:#f9f8f6;border:1px solid #ddd8cf;border-radius:8px;min-width:0;padding:var(--panel-padding)}.wide{grid-column:1 / -1}.hero-panel{background:#fffaf0}.hero-panel h2{font-size:var(--text-xl);margin-bottom:var(--space-lg)}.hero-panel p,.section-note,.task-row p,.schedule-row p,.empty-state p{color:#657076;line-height:1.65}.input-preview{align-items:center;background:#fbfaf8;border:1px solid #d6d0c5;border-radius:8px;color:#8b938f;display:flex;min-height:3.25rem;padding:0 var(--space-lg)}.quick-form{display:grid;gap:var(--space-sm)}.quick-form label,.schedule-controls label,.date-control-group legend,.degree-panel label{color:#566064;font-size:var(--text-sm);font-weight:700}.quick-form label,.schedule-controls label,.degree-panel label{display:grid;gap:var(--space-2xs)}.quick-form-row{display:grid;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) minmax(96px,auto)}.quick-form input,.schedule-controls input,.schedule-controls select,.degree-panel input,.degree-panel textarea{background:#fbfaf8;border:1px solid #d6d0c5;border-radius:8px;color:#1e2329;font:inherit;min-height:var(--control-height);min-width:0;padding:0 var(--space-md);width:100%}.degree-panel textarea{min-height:5.25rem;padding:var(--space-sm) var(--space-md);resize:vertical}.quick-form button,.row-actions button,.schedule-controls button,.schedule-secondary-actions button,.task-row-actions button,.degree-panel button{background:#1f6f68;border:0;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;min-height:var(--control-height);padding:0 var(--space-md);white-space:nowrap}.row-actions .secondary-action,.schedule-secondary-actions .secondary-action,.task-row-actions .secondary-action{background:#e7ecea;color:#2c514d}.quick-form button:disabled,.row-actions button:disabled,.schedule-controls button:disabled,.schedule-secondary-actions button:disabled,.task-row-actions button:disabled,.degree-panel button:disabled{background:#aeb8b5;cursor:not-allowed}.metric-row{display:grid;gap:var(--space-sm);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--space-md)}.metric{background:#eef6f4;border-radius:8px;padding:var(--space-sm) var(--space-md)}.metric strong{display:block;font-size:1.375rem;line-height:1.1}.metric span{color:#5d696d;font-size:var(--text-xs)}.item-list{display:grid;gap:var(--space-sm);margin-top:var(--space-lg)}.library-page{background:#f4f2ed;border-radius:8px;min-width:0;padding:var(--panel-padding)}.library-page h2{letter-spacing:0;margin:0}.task-note-list{background:#f9f8f6;border-radius:8px;margin-top:var(--space-lg);overflow:hidden}.task-note-row{align-items:center;background:#f9f8f6;display:grid;grid-template-columns:2.75rem minmax(0,1fr);min-height:3.625rem}.task-note-row+.task-note-row{border-top:1px solid #e6e0d7}.task-note-row.completed{color:#aeaeb2}.task-complete-button{align-items:center;align-self:stretch;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;font-size:var(--text-lg);justify-content:center;line-height:1;min-height:3.625rem;padding:0}.task-complete-button:disabled{cursor:wait;opacity:.6}.task-note-button{align-items:center;background:transparent;border:0;color:#1e2329;cursor:pointer;display:flex;min-height:3.625rem;padding:var(--space-sm) var(--space-md) var(--space-sm) 0;text-align:left;width:100%}.task-note-main{display:grid;gap:var(--space-2xs);min-width:0}.task-title{font-size:var(--text-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-title.completed{color:#8e8e93;text-decoration:line-through}.task-note-time{color:#8e8e93;font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-note-time.completed{color:#aeaeb2;text-decoration:line-through}.bottom-sheet-backdrop{align-items:end;background:#29231c2e;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:var(--space-lg);position:fixed;z-index:30}.bottom-sheet{background:#f9f8f6f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:18px 18px 8px 8px;border:1px solid rgb(221 216 207 / 72%);box-shadow:0 -10px 24px #29231c1a;display:grid;gap:var(--space-md);max-height:min(94vh,860px);max-width:720px;overflow:auto;padding:var(--space-sm) var(--space-lg) var(--space-lg);width:min(100%,720px)}.sheet-handle{background:#c7c7cc;border-radius:999px;height:5px;justify-self:center;width:42px}.sheet-header{align-items:start;display:flex;gap:var(--space-sm);justify-content:space-between}.sheet-header h3{font-size:var(--text-lg);letter-spacing:0;margin:0;overflow-wrap:anywhere}.sheet-kicker{color:#8e8e93;font-size:var(--text-xs);font-weight:700;margin:0 0 4px}.sheet-header button,.sheet-form button,.ios-secondary-button,.repeat-action-sheet button,.degree-picker-header button,.degree-wheel button{border:0;border-radius:10px;cursor:pointer;font-weight:700;min-height:calc(var(--control-height) - .125rem);padding:0 var(--space-md)}.sheet-header button,.ios-secondary-button,.repeat-action-sheet button,.degree-picker-header button{background:#f9f8f6;color:#1f6f68}.sheet-form{display:grid;gap:var(--space-sm)}.sheet-form label{color:#566064;display:grid;font-size:var(--text-sm);font-weight:700;gap:var(--space-2xs)}.sheet-form input,.sheet-form textarea{background:#fbfaf8;border:1px solid #e1dbd2;border-radius:10px;color:#1e2329;font:inherit;min-height:var(--control-height);min-width:0;padding:0 var(--space-md);width:100%}.sheet-form textarea{min-height:5.125rem;padding:var(--space-sm) var(--space-md);resize:vertical}.reason-preset-actions{display:flex;gap:var(--space-xs);justify-content:space-between;margin-top:calc(var(--space-xs) * -1)}.reason-preset-actions button{background:#f9f8f6;border:1px solid #e6e0d7;border-radius:10px;color:#1f6f68;cursor:pointer;flex:1;font-size:var(--text-sm);font-weight:700;min-height:calc(var(--control-height) - .125rem);padding:0 var(--space-md)}.reason-preset-actions button:disabled{background:#ece9e4;color:#a6a09a;cursor:not-allowed}.reason-preset-sheet{grid-template-rows:auto auto minmax(0,1fr);height:50dvh;max-width:560px;max-height:50dvh}.reason-preset-list{align-content:start;display:flex;flex-wrap:wrap;gap:var(--space-xs);min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-2xs)}.reason-preset-item{display:contents}.reason-preset-item input{background:#fbfaf8;border:1px solid #e1dbd2;border-radius:10px;color:#1e2329;min-height:calc(var(--control-height) - .25rem);min-width:0;padding:0 var(--space-sm)}.reason-preset-header{align-items:center}.reason-preset-mode-actions{display:flex;gap:var(--space-xs)}.reason-preset-mode-actions button{background:#f9f8f6;border:1px solid #e6e0d7;border-radius:999px;color:#1f6f68;font-size:var(--text-xs);min-height:2rem;padding:0 var(--space-sm)}.reason-preset-mode-actions button.active{background:#e6f1ee;border-color:#9fcac2}.reason-preset-edit-row{background:#f6f3ed;border:1px solid #e6e0d7;border-radius:14px;display:grid;gap:var(--space-xs);grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto auto;padding:var(--space-xs);width:100%}.reason-preset-edit-row button{background:#f9f8f6;border:1px solid #e6e0d7;border-radius:999px;color:#1f6f68;cursor:pointer;font-size:var(--text-xs);font-weight:800;min-height:2rem;padding:0 var(--space-sm)}.reason-preset-use-button{background:#f6f3ed;border:1px solid #e6e0d7;border-radius:999px;color:#1e2329;cursor:pointer;font-size:var(--text-sm);font-weight:700;max-width:100%;min-height:2rem;overflow:hidden;padding:0 var(--space-sm);text-overflow:ellipsis;white-space:nowrap}.reason-preset-use-button.edit-mode{border-color:#9fcac2;color:#1f6f68}.reason-preset-use-button.delete-mode{background:#f7ece8;border-color:#f0b8ad;color:#b42318}.sheet-degree-grid{display:grid;gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr))}.degree-picker-field{color:#566064;display:grid;font-size:var(--text-sm);font-weight:700;gap:var(--space-2xs)}.degree-value-button{align-items:center;background:#fbfaf8;border:1px solid #e1dbd2;color:#1e2329;display:flex;font:inherit;justify-content:space-between;min-height:var(--control-height);padding:0 var(--space-md);text-align:left;width:100%}.degree-value-button:after{color:#8e8e93;content:"›";font-size:22px;line-height:1;transform:rotate(90deg)}.degree-picker-backdrop{align-items:end;background:#29231c29;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:var(--space-lg) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));position:fixed;z-index:45}.degree-picker-sheet{background:#f9f8f6f7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgb(221 216 207 / 72%);border-radius:18px 18px 8px 8px;box-shadow:0 -10px 24px #29231c1a;display:grid;gap:var(--space-sm);max-width:520px;padding:var(--space-sm) var(--space-md) var(--space-lg);width:min(100%,520px)}.degree-picker-header{align-items:center;display:flex;gap:var(--space-sm);justify-content:space-between}.degree-picker-header h4{font-size:var(--text-base);letter-spacing:0;margin:0}.degree-wheel-frame{background:#f6f3ed;border:1px solid #e6e0d7;border-radius:16px;height:228px;overflow:hidden;position:relative}.degree-wheel-frame:before{background:#efe8dce0;border-bottom:1px solid rgb(31 111 104 / 18%);border-top:1px solid rgb(31 111 104 / 18%);content:"";height:54px;left:0;pointer-events:none;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:1}.degree-wheel{display:grid;height:100%;overflow-y:auto;overscroll-behavior:contain;padding:5.4375rem 0;scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 26%,#000 74%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 26%,#000 74%,transparent)}.degree-wheel::-webkit-scrollbar{display:none}.degree-wheel button{background:transparent;border-radius:0;color:#1e23296b;font-size:1.1875rem;min-height:3.375rem;position:relative;scroll-snap-align:center;transform:scale(.88);transition:color .14s ease,font-size .14s ease,transform .14s ease;z-index:2}.degree-wheel button+button{border-top:0}.degree-wheel button.selected{background:transparent;color:#1f6f68;font-size:1.625rem;transform:scale(1)}.degree-delete-button{background:#f7ece8;border:0;border-radius:12px;color:#b42318;cursor:pointer;font:inherit;font-weight:700;min-height:calc(var(--control-height) + .125rem)}@media(max-width:640px){.degree-picker-backdrop{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.degree-picker-sheet{border-radius:18px 18px 0 0;max-width:none;padding:var(--space-sm) var(--space-sm) max(var(--space-lg),env(safe-area-inset-bottom));width:100%}.degree-wheel-frame{height:240px}.reason-preset-sheet{height:50dvh;max-height:50dvh}.reason-preset-edit-row{grid-template-columns:1fr}}.sheet-action-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:space-between}.sheet-action-row button[type=submit]{background:#1f6f68;color:#fff}.sheet-action-row button:disabled,.repeat-action-sheet button:disabled{background:#d1d1d6;color:#8e8e93;cursor:not-allowed}.repeat-action-sheet{background:#f9f8f6;border-radius:12px;display:grid;overflow:hidden}.repeat-action-sheet button{border-radius:0;min-height:calc(var(--control-height) + .375rem);text-align:left}.repeat-action-sheet button+button{border-top:1px solid #e6e0d7}.sheet-meta{color:#8e8e93;display:grid;font-size:var(--text-sm);gap:var(--space-2xs)}.sheet-meta.structured{background:#f6f3ed;border:1px solid #e6e0d7;border-radius:12px;gap:0;overflow:hidden}.detail-meta-row{align-items:start;display:grid;gap:var(--space-sm);grid-template-columns:76px minmax(0,1fr);padding:var(--space-sm) var(--space-md)}.detail-meta-row+.detail-meta-row{border-top:1px solid #e6e0d7}.detail-meta-row span{color:#8e8e93;font-size:var(--text-xs);font-weight:700}.detail-meta-row strong{color:#1e2329;font-size:var(--text-sm);font-weight:600;line-height:1.45;overflow-wrap:anywhere}.sheet-meta p{margin:0;overflow-wrap:anywhere}.schedule-row,.task-row{align-items:center;background:#f8f8f5;border:1px solid #e3dfd7;border-radius:8px;display:grid;gap:var(--space-md);padding:var(--space-md)}.schedule-row,.task-row{grid-template-columns:minmax(0,1fr) auto}.schedule-row>div:first-child,.task-row>div:first-child{grid-column:1;grid-row:1;min-width:0}.schedule-controls{align-items:end;display:grid;gap:var(--space-sm);grid-template-columns:minmax(250px,1.25fr) minmax(120px,.65fr) minmax(150px,.8fr) auto;min-width:0}.schedule-controls button{align-self:end}.date-control-group{border:0;margin:0;min-width:0;padding:0}.date-control-group legend{margin:0 0 var(--space-2xs);padding:0}.date-control-grid{display:grid;gap:var(--space-xs);grid-template-columns:minmax(86px,1fr) minmax(96px,1fr) minmax(72px,.8fr)}.adjust-panel{border-top:1px solid #e3dfd7;display:grid;gap:var(--space-sm);grid-column:1 / -1;grid-row:2;padding-top:var(--space-md)}.schedule-secondary-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.row-actions{align-items:center;display:flex;gap:var(--space-sm);grid-column:2;grid-row:1}.task-row-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:flex-end}.degree-panel{align-items:end;border-top:1px solid #e3dfd7;display:grid;gap:var(--space-sm);grid-column:1 / -1;grid-template-columns:minmax(100px,.5fr) minmax(100px,.5fr) minmax(220px,1fr) auto;padding-top:var(--space-md)}.degree-history{color:#657076;grid-column:1 / -1;line-height:1.6}.degree-history strong{color:#566064;display:block;font-size:var(--text-sm)}.degree-trend{background:#fbfaf7;border:1px solid #e3dfd7;border-radius:8px;color:#657076;display:grid;gap:var(--space-sm);margin-top:var(--space-sm);max-width:100%;padding:var(--space-sm) var(--space-sm) var(--space-xs)}.degree-trend strong{color:#30383c;font-size:var(--text-sm)}.degree-trend p{margin:0}.degree-trend svg{display:block;height:auto;max-width:100%;overflow:visible;width:100%}.trend-axis{stroke:#d6d0c5;stroke-width:1}.trend-grid-line{stroke:#9aa0a638;stroke-width:1}.trend-axis-label{fill:#8e8e93;font-size:8px}.trend-axis-label.y{text-anchor:end}.trend-axis-label.x{text-anchor:middle}.trend-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.trend-line.willingness,.trend-dot.willingness{stroke:#1f6f68}.trend-line.importance,.trend-dot.importance{stroke:#b7791f}.trend-dot{cursor:pointer;fill:#fff;outline:none;stroke-width:2}.trend-dot:focus-visible{stroke:#1e2329;stroke-width:3}.degree-trend-legend{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.degree-trend-legend span{align-items:center;display:inline-flex;font-size:var(--text-xs);gap:var(--space-2xs)}.degree-trend-legend span:before{background:#1f6f68;border-radius:999px;content:"";display:inline-block;height:8px;width:8px}.degree-trend-legend span+span:before{background:#b7791f}.floating-calculator-layer{top:0;right:0;bottom:0;left:0;pointer-events:none;position:fixed;z-index:20}.floating-calculator-button{align-items:center;background:#1f6f68;border:0;border-radius:999px;box-shadow:0 14px 28px #1f6f683d;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;justify-content:center;padding:0;pointer-events:auto;position:fixed;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;will-change:left,top}.calculator-panel{background:var(--calculator-panel-bg);border:1px solid var(--calculator-panel-border);border-radius:8px;box-shadow:0 0 0 1px #3949ab1a,0 22px 58px #3949ab4d,0 12px 24px #1e23292e;box-sizing:border-box;display:grid;gap:clamp(.375rem,2cqw,var(--space-sm));grid-template-rows:auto auto minmax(0,1fr);min-height:320px;min-width:260px;overflow:visible;padding:clamp(.5rem,4cqw,var(--space-md));pointer-events:auto;position:fixed;touch-action:none;-webkit-user-select:none;user-select:none;container-type:size;will-change:left,top,width,height}.calculator-header{align-items:center;cursor:grab;display:flex;justify-content:space-between;gap:var(--space-sm);touch-action:none;-webkit-user-select:none;user-select:none}.calculator-header:active{cursor:grabbing}.calculator-header h2{font-size:clamp(.875rem,4cqw,var(--text-base));letter-spacing:0;margin:0}.calculator-header button{background:var(--calculator-function-bg);border:0;border-radius:8px;color:var(--calculator-muted-text);cursor:pointer;font-size:clamp(.75rem,3.5cqw,var(--text-sm));font-weight:700;min-height:clamp(1.75rem,8cqw,2.125rem);padding:0 clamp(.375rem,2.5cqw,var(--space-sm));touch-action:manipulation}.calculator-display{align-items:center;background:var(--calculator-display-bg);border:1px solid var(--calculator-display-border);border-radius:8px;box-sizing:border-box;color:var(--calculator-text);display:flex;font-size:clamp(1.125rem,7cqw,2rem);font-weight:900;justify-content:flex-end;min-height:clamp(2.625rem,16cqw,3.625rem);overflow-wrap:anywhere;padding:clamp(.375rem,2.5cqw,var(--space-sm)) clamp(.5rem,3cqw,var(--space-md));text-align:right;-webkit-user-select:text;user-select:text}.calculator-grid{display:grid;gap:clamp(.25rem,1.6cqw,var(--space-xs));grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));min-height:0}.calculator-grid button{background:var(--calculator-number-bg);border:1px solid var(--calculator-number-border);border-radius:8px;box-sizing:border-box;color:var(--calculator-text);cursor:pointer;font-size:clamp(.875rem,4.5cqw,1rem);font-weight:800;min-height:0;overflow:hidden;padding:0;touch-action:manipulation;-webkit-user-select:none;user-select:none}.calculator-grid .calculator-function{background:var(--calculator-function-bg);border-color:var(--calculator-function-border);color:var(--calculator-text)}.calculator-grid .calculator-operator{background:var(--calculator-operator-bg);border-color:var(--calculator-operator-border);color:#fff}.calculator-resize-handle{pointer-events:auto;position:absolute;touch-action:none}.calculator-resize-handle.top,.calculator-resize-handle.bottom{cursor:ns-resize;height:10px;left:10px;right:10px}.calculator-resize-handle.top{top:-5px}.calculator-resize-handle.bottom{bottom:-5px}.calculator-resize-handle.left,.calculator-resize-handle.right{bottom:10px;cursor:ew-resize;top:10px;width:10px}.calculator-resize-handle.left{left:-5px}.calculator-resize-handle.right{right:-5px}.calculator-resize-handle.top-left,.calculator-resize-handle.top-right,.calculator-resize-handle.bottom-right,.calculator-resize-handle.bottom-left{height:18px;width:18px}.calculator-resize-handle.top-left,.calculator-resize-handle.bottom-right{cursor:nwse-resize}.calculator-resize-handle.top-right,.calculator-resize-handle.bottom-left{cursor:nesw-resize}.calculator-resize-handle.top-left{left:-6px;top:-6px}.calculator-resize-handle.top-right{right:-6px;top:-6px}.calculator-resize-handle.bottom-right{bottom:-6px;right:-6px}.calculator-resize-handle.bottom-left{bottom:-6px;left:-6px}.calculator-grid button:active{filter:brightness(.96)}.inline-error{background:#fff1f0;border:1px solid #f1b7b0;border-radius:8px;color:#9b2c22;margin:0 0 var(--space-lg);padding:var(--space-sm) var(--space-md)}.schedule-row h3,.task-row h3{font-size:var(--text-base);margin-bottom:var(--space-2xs);overflow-wrap:break-word;word-break:keep-all}.schedule-summary{display:grid;gap:var(--space-2xs)}.schedule-time-label{color:#1f6f68;font-size:var(--text-sm);font-weight:700}.schedule-row p,.task-row p{margin:0;overflow-wrap:break-word;word-break:keep-all}.status-pill{background:#e7ecea;border-radius:999px;color:#2c514d;display:inline-flex;flex:0 0 auto;font-size:var(--text-sm);font-weight:700;padding:var(--space-2xs) var(--space-sm)}.week-board{display:grid;gap:var(--space-lg);margin-top:var(--space-lg)}.week-board .schedule-row{grid-template-columns:minmax(0,1fr) auto}.day-group{display:grid;gap:var(--space-sm)}.day-group-header{align-items:center;border-bottom:1px solid #e3dfd7;display:flex;justify-content:space-between;gap:var(--space-sm);padding-bottom:var(--space-xs)}.day-group-header h3{font-size:var(--text-md)}.day-group-header span{color:#657076;font-size:var(--text-sm);font-weight:700}.empty-slot{align-items:center;border:1px dashed #d6d0c5;border-radius:8px;color:#8b938f;display:flex;justify-content:center;margin:0;min-height:4rem}.settings-list{display:grid;gap:var(--space-sm);margin:var(--space-lg) 0 0}.settings-list div{align-items:center;background:#f8f8f5;border:1px solid #e3dfd7;border-radius:8px;display:grid;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;padding:var(--space-md)}.settings-list dt{color:#566064;font-weight:700}.settings-list dd{margin:0}.settings-page{display:grid;gap:var(--space-xl)}.settings-section h3{font-size:var(--text-md);margin:0}.ios-settings-list{background:#f9f8f6;border:1px solid #e6e0d7;border-radius:12px;gap:0;overflow:hidden}.ios-settings-list button{align-items:center;background:transparent;border:0;color:#1e2329;cursor:pointer;display:grid;font:inherit;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;min-height:calc(var(--control-height) + .25rem);padding:0 var(--space-md);text-align:left;width:100%}.ios-settings-list button+button{border-top:1px solid #e6e0d7}.ios-settings-list span{font-weight:700}.ios-settings-list strong{color:#8e8e93;font-size:var(--text-sm);font-weight:700}.custom-font-form{background:#f9f8f6;border:1px solid #e6e0d7;border-radius:12px;display:grid;gap:var(--space-sm);margin-top:var(--space-sm);padding:var(--space-md)}.custom-font-form label{color:#1e2329;display:grid;font-weight:700;gap:var(--space-2xs)}.custom-font-form label span{color:#8e8e93;font-size:var(--text-xs);font-weight:600;line-height:1.45}.custom-font-form div{display:grid;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto}.custom-font-form input{background:#fbfaf8;border:1px solid #d6d0c5;border-radius:10px;color:#1e2329;font:inherit;min-height:var(--control-height);min-width:0;padding:0 var(--space-md)}.custom-font-form button{background:#1f6f68;border:0;border-radius:10px;color:#fff;cursor:pointer;font:inherit;font-weight:700;min-height:var(--control-height);padding:0 var(--space-md);white-space:nowrap}.custom-font-form button:disabled{background:#aeb8b5;cursor:not-allowed}.settings-error{background:#fff1f0;border:1px solid #f1b7b0;border-radius:10px;color:#9b2c22;font-size:var(--text-sm);margin:0;padding:var(--space-sm) var(--space-md)}.restore-display-button{background:#f7ece8;border:1px solid #f1c9bd;border-radius:12px;color:#9b2c22;cursor:pointer;font:inherit;font-weight:800;margin-top:var(--space-sm);min-height:var(--control-height);padding:0 var(--space-md);width:100%}.settings-toast{background:#1e2329e0;border-radius:999px;bottom:max(20px,env(safe-area-inset-bottom));color:#fff;font-size:var(--text-sm);font-weight:700;left:50%;margin:0;max-width:calc(100vw - 32px);padding:var(--space-sm) var(--space-lg);position:fixed;text-align:center;transform:translate(-50%);z-index:60}.display-picker-backdrop{align-items:end;background:#29231c2e;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:var(--space-lg) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));position:fixed;z-index:46}.display-picker-sheet{background:#f9f8f6f7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgb(221 216 207 / 72%);border-radius:18px 18px 8px 8px;box-shadow:0 -10px 24px #29231c1a;display:grid;gap:var(--space-sm);max-width:520px;padding:var(--space-sm) var(--space-md) var(--space-lg);width:min(100%,520px)}.display-picker-header{align-items:center;display:flex;gap:var(--space-sm);justify-content:space-between}.display-picker-header h4{font-size:var(--text-base);letter-spacing:0;margin:0}.display-picker-header button{background:#f9f8f6;border:0;border-radius:10px;color:#1f6f68;cursor:pointer;font:inherit;font-weight:700;min-height:calc(var(--control-height) - .125rem);padding:0 var(--space-md)}.display-picker-options{background:#f6f3ed;border:1px solid #e6e0d7;border-radius:14px;display:grid;overflow:hidden}.display-picker-options button{align-items:center;background:transparent;border:0;color:#1e2329;cursor:pointer;display:grid;font:inherit;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;min-height:calc(var(--control-height) + .25rem);padding:0 var(--space-md);text-align:left}.display-picker-options button+button{border-top:1px solid #e6e0d7}.display-picker-options strong{color:#1f6f68;font-size:var(--text-sm)}.empty-state{background:#f9f8f6;border:1px solid #ddd8cf;border-radius:8px;margin-top:72px;padding:var(--space-xl)}:root[data-theme=night]{--calculator-panel-bg: #181a33;--calculator-panel-border: #404b94;--calculator-display-bg: #22264a;--calculator-display-border: #4d5aa7;--calculator-number-bg: #282d58;--calculator-number-border: #465199;--calculator-function-bg: #313765;--calculator-function-border: #5560a8;--calculator-operator-bg: #4d57c8;--calculator-operator-border: #4d57c8;--calculator-text: #eef1ff;--calculator-muted-text: #d8ddff;background:#101413;color:#e7ece9;color-scheme:dark}:root[data-theme=night] body{background:#101413;color:#e7ece9}:root[data-theme=night] .eyebrow,:root[data-theme=night] .section-note,:root[data-theme=night] .hero-panel p,:root[data-theme=night] .task-row p,:root[data-theme=night] .schedule-row p,:root[data-theme=night] .empty-state p,:root[data-theme=night] .day-group-header span,:root[data-theme=night] .task-note-time,:root[data-theme=night] .sheet-kicker,:root[data-theme=night] .sheet-meta,:root[data-theme=night] .ios-settings-list strong,:root[data-theme=night] .custom-font-form label span{color:#9ca9a4}:root[data-theme=night] .navigation,:root[data-theme=night] .panel,:root[data-theme=night] .empty-state,:root[data-theme=night] .task-note-list,:root[data-theme=night] .task-note-row,:root[data-theme=night] .schedule-row,:root[data-theme=night] .task-row,:root[data-theme=night] .settings-list div,:root[data-theme=night] .ios-settings-list,:root[data-theme=night] .custom-font-form,:root[data-theme=night] .display-picker-header button{background:#171d1b;border-color:#2f3936;color:#e7ece9}:root[data-theme=night] .hero-panel,:root[data-theme=night] .library-page{background:#121716}:root[data-theme=night] .input-preview,:root[data-theme=night] .quick-form input,:root[data-theme=night] .schedule-controls input,:root[data-theme=night] .schedule-controls select,:root[data-theme=night] .degree-panel input,:root[data-theme=night] .degree-panel textarea,:root[data-theme=night] .custom-font-form input,:root[data-theme=night] .sheet-form input,:root[data-theme=night] .sheet-form textarea,:root[data-theme=night] .degree-value-button,:root[data-theme=night] .reason-preset-item input,:root[data-theme=night] .reason-preset-edit-row,:root[data-theme=night] .degree-trend,:root[data-theme=night] .sheet-meta.structured,:root[data-theme=night] .display-picker-options,:root[data-theme=night] .repeat-action-sheet,:root[data-theme=night] .degree-picker-sheet,:root[data-theme=night] .degree-wheel-frame{background:#202825;border-color:#3a4642;color:#e7ece9}:root[data-theme=night] .navigation button,:root[data-theme=night] .ios-settings-list button,:root[data-theme=night] .display-picker-options button,:root[data-theme=night] .task-note-button,:root[data-theme=night] .custom-font-form label,:root[data-theme=night] .sheet-form label,:root[data-theme=night] .degree-picker-field,:root[data-theme=night] .settings-list dt,:root[data-theme=night] .detail-meta-row strong,:root[data-theme=night] .degree-trend strong{color:#e7ece9}:root[data-theme=night] .navigation button.active,:root[data-theme=night] .quick-form button,:root[data-theme=night] .row-actions button,:root[data-theme=night] .schedule-controls button,:root[data-theme=night] .schedule-secondary-actions button,:root[data-theme=night] .task-row-actions button,:root[data-theme=night] .degree-panel button,:root[data-theme=night] .custom-font-form button,:root[data-theme=night] .floating-calculator-button{background:#3f9b8f;color:#071210}:root[data-theme=night] .row-actions .secondary-action,:root[data-theme=night] .schedule-secondary-actions .secondary-action,:root[data-theme=night] .task-row-actions .secondary-action,:root[data-theme=night] .calculator-header button,:root[data-theme=night] .reason-preset-actions button,:root[data-theme=night] .reason-preset-mode-actions button,:root[data-theme=night] .reason-preset-edit-row button,:root[data-theme=night] .reason-preset-use-button,:root[data-theme=night] .status-pill{background:#263331;border-color:#3a4642;color:#cfe1dc}:root[data-theme=night] .reason-preset-actions button:disabled{background:#1b2220;color:#6d7974}:root[data-theme=night] .reason-preset-mode-actions button.active,:root[data-theme=night] .reason-preset-use-button.edit-mode{background:#1b3c37;border-color:#3f9b8f;color:#75c9bd}:root[data-theme=night] .reason-preset-use-button.delete-mode{background:#3b2623;border-color:#8f4a40;color:#ffb4a8}:root[data-theme=night] .reason-preset-use-button,:root[data-theme=night] .degree-value-button:after,:root[data-theme=night] .degree-wheel button.selected{color:#75c9bd}:root[data-theme=night] .degree-wheel-frame:before{background:#263331e0;border-color:#75c9bd3d}:root[data-theme=night] .degree-wheel button{color:#e7ece96b}:root[data-theme=night] .schedule-time-label,:root[data-theme=night] .display-picker-options strong{color:#75c9bd}:root[data-theme=night] .metric{background:#1b2b28}:root[data-theme=night] .metric span{color:#99aaa5}:root[data-theme=night] .task-note-row+.task-note-row,:root[data-theme=night] .ios-settings-list button+button,:root[data-theme=night] .display-picker-options button+button,:root[data-theme=night] .repeat-action-sheet button+button,:root[data-theme=night] .detail-meta-row+.detail-meta-row,:root[data-theme=night] .adjust-panel,:root[data-theme=night] .degree-panel,:root[data-theme=night] .day-group-header{border-color:#2f3936}:root[data-theme=night] .bottom-sheet,:root[data-theme=night] .display-picker-sheet{background:#171d1bf5;border-color:#3f4e49b8;box-shadow:0 -14px 32px #0000005c}:root[data-theme=night] .bottom-sheet-backdrop,:root[data-theme=night] .display-picker-backdrop{background:#0000006b}:root[data-theme=night] .sheet-handle{background:#64716d}:root[data-theme=night] .empty-slot{border-color:#3a4642;color:#899792}@media(max-width:980px){.schedule-row,.task-row{grid-template-columns:1fr}.schedule-row>div:first-child,.task-row>div:first-child,.adjust-panel,.degree-panel,.row-actions,.task-row-actions{grid-column:1;grid-row:auto}.schedule-controls{grid-template-columns:minmax(240px,1fr) minmax(120px,.6fr) minmax(150px,.7fr) auto;width:100%}.degree-panel{grid-template-columns:repeat(2,minmax(120px,1fr))}.week-board .schedule-controls{width:100%}.row-actions{justify-content:flex-start}}@media(max-width:640px){:root{--app-font-size: 15px;--control-height: 2.375rem;--panel-padding: 1rem;--space-lg: 1rem;--space-xl: 1.125rem;--text-title: 1.625rem;--text-xl: 1.25rem}:root[data-font-size=small]{--app-font-size: 14px}:root[data-font-size=medium]{--app-font-size: 15px}:root[data-font-size=large]{--app-font-size: 16px}.app-shell{padding:var(--space-lg) var(--space-sm) 2.5rem}.topbar{align-items:flex-start;flex-direction:column}.metric-row{gap:var(--space-xs)}.metric{padding:var(--space-xs)}.metric strong{font-size:1.25rem}.settings-list div{align-items:flex-start;grid-template-columns:1fr}.ios-settings-list button,.display-picker-options button{grid-template-columns:minmax(0,1fr) auto}.custom-font-form div{grid-template-columns:1fr}.display-picker-backdrop{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.display-picker-sheet{border-radius:18px 18px 0 0;max-width:none;padding:var(--space-sm) var(--space-sm) max(var(--space-lg),env(safe-area-inset-bottom));width:100%}.navigation{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-form-row{grid-template-columns:1fr}.quick-form button,.row-actions button,.schedule-controls button,.schedule-secondary-actions button,.task-row-actions button,.degree-panel button,.week-board .schedule-controls button{width:100%}.schedule-controls,.degree-panel{grid-template-columns:1fr}.row-actions{align-items:stretch;flex-direction:column;width:100%}.schedule-secondary-actions,.task-row-actions{flex-direction:column}}@media(max-width:420px){.navigation{grid-template-columns:1fr}.status-pill{max-width:100%;overflow-wrap:break-word;white-space:normal}}
