@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--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:var(--default-font-feature-settings,normal);font-variation-settings:var(--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:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}: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:currentColor}@supports (color:color-mix(in lab,red,red)){::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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.relative{position:relative}.start{inset-inline-start:var(--spacing)}}:root{--paper:#f3efe6;--card:#fbf8f0;--ink:#1f2a27;--muted:#737871;--line:#d9d2c4;--sage:#688276;--rust:#ad6247;--gold:#b48a44}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:radial-gradient(circle at 18% 8%,#ffffffd1,transparent 25rem),var(--paper);font-family:var(--font-geist-sans),"PingFang SC","Microsoft YaHei",sans-serif;margin:0}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--rust);outline-offset:3px}button:disabled,input:disabled,textarea:disabled{cursor:not-allowed;opacity:.58}.site-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:92px;padding:0 clamp(24px,5vw,76px);display:flex}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{border:1px solid var(--ink);border-radius:50%;place-items:center;width:42px;height:42px;font-family:serif;font-size:20px;display:grid}.brand strong{letter-spacing:.16em;font:600 22px/1.1 Georgia,Songti SC,serif;display:block}.brand small{color:var(--muted);letter-spacing:.24em;font-size:8px}.save-indicator{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.topbar-actions{align-items:center;gap:16px;display:flex}.account-email{max-width:240px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.preview-badge{color:var(--rust);letter-spacing:.08em;white-space:nowrap;background:#ad624714;border:1px solid #ad62476b;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:700}.signout-button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#ffffff47;border-radius:999px;padding:7px 13px;font-size:12px}.signout-button:hover{border-color:var(--ink);background:var(--ink);color:#fff}.status-dot{background:#b9aa92;border-radius:50%;width:7px;height:7px}.status-saving .status-dot{background:var(--gold);animation:1s ease-in-out infinite pulse}.status-saved .status-dot{background:var(--sage)}.status-dirty .status-dot{background:var(--rust)}.status-error{color:#9c3e31}.status-error .status-dot{background:#b74d3f}.page-grid{grid-template-columns:minmax(0,1fr) 420px;max-width:1500px;margin:auto;display:grid}.journal{border-right:1px solid var(--line);padding:72px clamp(24px,5vw,88px) 96px}.date-header{text-align:center;margin:0 auto 48px;position:relative}.eyebrow{color:var(--rust);letter-spacing:.26em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:700}.date-line{grid-template-columns:42px minmax(0,520px) 42px;justify-content:center;align-items:center;gap:20px;display:grid}.date-line h1{letter-spacing:-.04em;margin:0;font:500 clamp(32px,4.2vw,56px)/1.15 Georgia,Songti SC,serif}.date-line p{color:var(--muted);letter-spacing:.06em;margin:12px 0 0;font-size:14px}.date-caption{justify-content:center;align-items:baseline;gap:12px;display:flex}.mobile-calendar-trigger{color:var(--rust);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:2px 0;font-size:11px;display:none}.round-button{border:1px solid var(--line);cursor:pointer;background:#ffffff57;border-radius:50%;width:42px;height:42px}.round-button:not(:disabled):hover{background:var(--ink);border-color:var(--ink);color:#fff;transform:translateY(-1px)}.today-button{border:0;border-bottom:1px solid var(--ink);cursor:pointer;background:0 0;margin-top:18px;padding:3px 0;font-size:12px}.reflection-card{border:1px solid var(--line);background:#fbf8f0c7;border-radius:3px;grid-template-columns:55px 1fr;gap:22px;margin-top:18px;padding:32px 34px 34px 26px;display:grid;position:relative;box-shadow:0 14px 36px #382d1c09}.reflection-card:before{content:"";background:var(--sage);width:3px;position:absolute;top:24px;bottom:24px;left:-1px}.card-plan:before{background:var(--rust)}.card-gain:before{background:var(--gold)}.card-number{color:#aaa292;border-right:1px solid var(--line);padding-top:3px;font:italic 16px Georgia,serif}.card-kicker{color:var(--sage);letter-spacing:.18em;margin:0 0 5px;font-size:11px;font-weight:700}.card-plan .card-kicker{color:var(--rust)}.card-gain .card-kicker{color:var(--gold)}.card-copy h2{margin:0 0 22px;font:500 22px/1.35 Georgia,Songti SC,serif}textarea{resize:vertical;border:0;border-top:1px solid var(--line);width:100%;min-height:108px;color:var(--ink);background:0 0;outline:none;padding:18px 0 0;line-height:1.8}textarea::placeholder,input::placeholder{color:#aaa79e}textarea:focus{border-color:var(--sage)}.character-count{text-align:right;color:#9b978e;letter-spacing:.04em;margin-top:8px;font-size:10px;display:block}.plan-input{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 0 12px;display:grid}.plan-input span{color:var(--rust);font-size:20px}.plan-input input{background:0 0;border:0;outline:none;min-width:0}.plan-input button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:8px 16px;font-size:12px}.empty-hint{color:var(--muted);margin:14px 0 0;font-size:12px}.primary-save{background:var(--ink);color:#fff;cursor:pointer;letter-spacing:.08em;border:0;justify-content:space-between;width:100%;margin-top:22px;padding:18px 22px;display:flex}.primary-save span:last-child{color:#e4b990}.primary-save:not(:disabled):hover{background:#2e3b37}.autosave-note{text-align:center;color:var(--muted);margin:10px 0 0;font-size:11px}.error-banner{color:#733a2f;background:#f8eae4;border:1px solid #d4a99c;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:13px 16px;font-size:13px;display:flex}.error-banner button,.history-error button{white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:2px 0}.field-error{color:#9c3e31;margin:9px 0 0;font-size:12px}.plan-list{border-top:1px solid var(--line);margin:18px 0 0;padding:0;list-style:none}.plan-list li{border-bottom:1px solid var(--line);grid-template-columns:28px 34px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;display:grid}.plan-check{cursor:pointer;width:22px;height:22px;position:relative}.plan-check input{opacity:0;width:1px;height:1px;position:absolute}.plan-check span{color:#0000;border:1px solid #afa99e;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;transition:all .18s;display:grid}.plan-check input:focus-visible+span{outline:2px solid var(--rust);outline-offset:2px}.plan-check input:checked+span{background:var(--sage);border-color:var(--sage);color:#fff}.plan-index{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.plan-content{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:10px 3px}.plan-done .plan-content{color:#898b85;text-decoration:line-through;text-decoration-thickness:1px}.plan-actions{opacity:.38;gap:2px;transition:opacity .18s;display:flex}.plan-list li:hover .plan-actions,.plan-actions:focus-within{opacity:1}.plan-actions button{width:27px;height:27px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%}.plan-actions button:not(:disabled):hover{color:var(--ink);background:#e8e2d6}.history-panel{background:#e2dcce6b;align-self:start;min-height:calc(100vh - 92px);max-height:100vh;padding:34px 34px 48px;position:sticky;top:0;overflow-y:auto}.sidebar-tabs{background:#fbf8f070;border:1px solid #73787133;border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:34px;padding:4px;display:grid}.sidebar-tabs button{min-height:34px;color:var(--muted);letter-spacing:.16em;cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:12px}.sidebar-tabs button[aria-selected=true]{background:var(--ink);color:var(--card)}.sidebar-pane{display:none}.sidebar-pane.is-active{display:block}.calendar-kicker{color:var(--rust);letter-spacing:.24em;margin:0 0 8px;font-size:10px;font-weight:700}.calendar-header{justify-content:space-between;align-items:end;gap:16px;margin-bottom:28px;display:flex}.calendar-header h2{margin:0;font:500 27px/1.1 Georgia,Songti SC,serif}.calendar-controls{align-items:center;gap:5px;display:flex}.calendar-controls button{border:1px solid var(--line);min-width:32px;height:32px;color:var(--ink);cursor:pointer;background:#ffffff42;border-radius:50%;place-items:center;display:grid}.calendar-controls .calendar-today{width:auto;color:var(--muted);border-radius:999px;padding:0 10px;font-size:10px}.calendar-controls button:hover{border-color:var(--ink);background:var(--ink);color:#fff}.calendar-weekdays,.calendar-row{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{color:var(--muted);text-align:center;margin-bottom:11px;font-size:11px}.calendar-weekdays span{padding:5px 0}.calendar-grid{gap:5px;display:grid}.calendar-row{gap:5px}.calendar-row>[role=gridcell]{min-width:0}.calendar-day{width:100%;min-height:55px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-content:center;justify-items:center;gap:3px;padding:5px 2px;display:grid;position:relative}.calendar-day:hover{background:#fbf8f0a3;border-color:#ad624757}.calendar-day strong{font:500 19px/1 Georgia,Songti SC,serif}.calendar-day small{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.2;display:block;overflow:hidden}.calendar-day.calendar-weekend strong,.calendar-day .calendar-festival,.calendar-day .calendar-term{color:var(--rust)}.calendar-day.calendar-current:not(.calendar-selected){border-color:var(--sage);box-shadow:inset 0 0 0 1px #6882762e}.calendar-day.calendar-selected{border-color:var(--rust);background:var(--rust);color:#fff;box-shadow:0 7px 16px #7e44302e}.calendar-day.calendar-selected strong,.calendar-day.calendar-selected small{color:#fff}.calendar-empty-cell{min-height:55px}.calendar-note{border-top:1px solid var(--line);color:var(--muted);margin:28px 0 0;padding-top:18px;font:12px/1.7 Georgia,Songti SC,serif}.mobile-calendar-overlay{display:none}.history-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding-bottom:22px;display:flex}.history-heading h2{margin:0;font:500 27px Georgia,Songti SC,serif}.history-count{color:var(--muted);font-size:12px}.history-empty{text-align:center;padding:90px 25px 80px}.empty-orbit{width:64px;height:64px;color:var(--gold);border:1px solid #bbb3a5;border-radius:50%;place-items:center;margin:auto;font-size:20px;display:grid}.history-empty h3{margin:23px 0 9px;font:500 18px Georgia,Songti SC,serif}.history-empty p{color:var(--muted);margin:0;font-size:13px;line-height:1.7}blockquote{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#777167;margin:0;padding:22px 0;font:italic 14px/1.9 Georgia,Songti SC,serif}.history-list{gap:0;margin:24px 0 42px;display:grid}.history-item{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;gap:8px;width:100%;padding:20px 16px 20px 3px;display:grid;position:relative}.history-item:before{content:"";background:0 0;width:2px;position:absolute;top:19px;bottom:19px;left:-13px}.history-item:hover,.history-active{background:#ffffff42;padding-left:10px}.history-active:before{background:var(--rust)}.history-date{color:var(--rust);letter-spacing:.12em;font-size:10px;font-weight:700}.history-item strong{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font:500 15px/1.55 Georgia,Songti SC,serif;display:-webkit-box;overflow:hidden}.history-meta{color:var(--muted);font-size:11px}.load-more{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #bdb5a7;margin-top:18px;padding:11px}.load-more:not(:disabled):hover{border-color:var(--ink);color:var(--ink)}.history-error{color:#873f32;justify-content:space-between;gap:14px;margin:0 0 28px;padding:12px 0;font-size:12px;display:flex}.auth-shell{background:linear-gradient(#f3efe6c2,#f3efe6e6),radial-gradient(circle at 24% 18%,#fffffffa,transparent 30rem),repeating-linear-gradient(0deg,transparent 0,transparent 27px,#574a3409 28px),var(--paper);place-items:center;min-height:100vh;padding:40px 20px;display:grid}.auth-overlay{z-index:20;background-color:#f3efe6e8;position:fixed;inset:0;overflow-y:auto}.auth-paper{border:1px solid var(--line);background:#fbf8f0f0;width:min(100%,460px);padding:42px 46px 38px;box-shadow:0 26px 80px #342a1a17}.auth-brand{width:max-content;margin-bottom:56px}.auth-paper>.eyebrow{margin-bottom:13px}.auth-paper h1{letter-spacing:-.04em;margin:0;font:500 clamp(35px,6vw,48px)/1.15 Georgia,Songti SC,serif}.auth-intro{color:var(--muted);margin:13px 0 32px;font:15px/1.7 Georgia,Songti SC,serif}.auth-form{gap:18px;display:grid}.auth-form label{color:var(--ink);letter-spacing:.06em;gap:8px;font-size:12px;font-weight:600;display:grid}.auth-form input{border:1px solid var(--line);width:100%;min-width:0;height:48px;color:var(--ink);background:#ffffff75;outline:0;padding:0 14px;font-size:14px;font-weight:400}.auth-form input:focus{border-color:var(--rust);box-shadow:0 0 0 3px #ad624717}.password-field{position:relative}.password-field input{padding-right:66px}.password-toggle{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:5px;font-size:11px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-submit{background:var(--ink);color:#fff;letter-spacing:.1em;cursor:pointer;border:0;height:50px;margin-top:4px;font-size:13px;font-weight:600}.auth-submit:not(:disabled):hover{background:#2e3b37}.forgot-button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;justify-self:center;padding:3px 0;font-size:12px}.auth-message{margin:-4px 0 0;padding:11px 13px;font-size:12px;line-height:1.55}.auth-error{color:#733a2f;background:#f8eae4;border:1px solid #d4a99c}.auth-notice{color:#3d5c4e;background:#edf3ef;border:1px solid #adc1b6}.auth-footnote{color:#929087;text-align:center;letter-spacing:.05em;margin:32px 0 0;font-size:10px}.auth-config-message,.auth-link-error{border:1px solid var(--line);color:var(--muted);background:#ffffff4d;gap:8px;padding:20px;font-size:13px;line-height:1.6;display:grid}.auth-config-message strong{color:var(--ink);font:500 17px Georgia,Songti SC,serif}.auth-checking{min-height:54px;color:var(--muted);align-items:center;gap:11px;font-size:13px;display:flex}.auth-spinner{border:1px solid var(--line);border-top-color:var(--rust);border-radius:50%;width:17px;height:17px;animation:.8s linear infinite spin}.auth-link-error p{margin:0}.auth-link-error a{width:max-content;color:var(--rust);text-underline-offset:4px}.journal-locked{pointer-events:none;filter:blur(2px);opacity:.38;min-height:100vh}.reset-shell .auth-paper{margin:auto}@keyframes pulse{50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:980px){.page-grid{grid-template-columns:1fr}.journal{border-right:0}.history-panel{min-height:auto;max-height:none;padding:52px clamp(24px,6vw,60px);position:static;overflow:visible}.sidebar-tabs,.calendar-pane{display:none}.history-pane{display:block}.history-empty{padding:50px 20px}.history-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.load-more{grid-column:1/-1}.mobile-calendar-trigger{display:inline-block}.mobile-calendar-overlay{z-index:50;padding:max(18px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));background:radial-gradient(circle at 18% 5%,#ffffffd1,transparent 23rem),var(--paper);display:block;position:fixed;inset:0;overflow-y:auto}.mobile-calendar-dialog{width:min(100%,620px);min-height:100%;margin:0 auto}.mobile-calendar-topbar{justify-content:space-between;align-items:center;margin-bottom:clamp(42px,9vh,88px);display:flex}.mobile-calendar-topbar>div{align-items:baseline;gap:10px;display:flex}.mobile-calendar-topbar span{color:var(--rust);letter-spacing:.16em;font:500 15px Georgia,Songti SC,serif}.mobile-calendar-topbar strong{color:var(--muted);letter-spacing:.12em;font-size:11px;font-weight:500}.mobile-calendar-topbar button{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);cursor:pointer;background:#ffffff4d;border-radius:50%;font-size:24px;line-height:1}.mobile-calendar-overlay .calendar-kicker{display:none}.mobile-calendar-overlay .calendar-header{align-items:center;margin-bottom:clamp(34px,6vh,58px)}.mobile-calendar-overlay .calendar-header h2{letter-spacing:-.05em;font-size:clamp(42px,11vw,68px)}.mobile-calendar-overlay .calendar-weekdays{margin-bottom:clamp(18px,4vh,36px);font-size:13px}.mobile-calendar-overlay .calendar-grid{gap:clamp(8px,2vh,18px)}.mobile-calendar-overlay .calendar-row{gap:clamp(4px,1.4vw,10px)}.mobile-calendar-overlay .calendar-day{border-radius:16px;min-height:clamp(66px,10.5vh,94px)}.mobile-calendar-overlay .calendar-day strong{font-size:clamp(23px,6.5vw,34px)}.mobile-calendar-overlay .calendar-day small{font-size:clamp(9px,2.8vw,13px)}.mobile-calendar-overlay .calendar-empty-cell{min-height:clamp(66px,10.5vh,94px)}.mobile-calendar-help{color:var(--muted);text-align:center;margin:30px 0 0;font-size:11px}}@media(max-width:600px){.topbar{height:76px;padding:0 20px}.save-indicator{font-size:0}.topbar-actions{gap:10px}.account-email{display:none}.preview-badge{padding:4px 7px;font-size:9px}.signout-button{padding:6px 11px}.journal{padding:48px 16px 64px}.date-line{grid-template-columns:36px 1fr 36px;gap:8px}.date-caption{flex-wrap:wrap;gap:6px 10px}.date-line p{margin-top:10px;font-size:12px}.round-button{width:36px;height:36px}.reflection-card{grid-template-columns:1fr;padding:26px 22px}.card-number{border-right:0;border-bottom:1px solid var(--line);padding:0 0 10px}.history-list{grid-template-columns:1fr}.plan-actions{opacity:.72}.plan-actions button{width:30px;height:30px}.error-banner{align-items:flex-start}.auth-shell{padding:18px 14px}.auth-paper{padding:30px 24px}.auth-brand{margin-bottom:42px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.page-grid{grid-template-columns:minmax(0,1fr);max-width:1880px}.journal{border-right:0;min-width:0;padding:44px clamp(22px,3vw,52px) 72px}.date-header{margin-bottom:34px}.reflection-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px;display:grid}.dashboard-card{background:linear-gradient(145deg,#ffffff5c,#ffffff14),#e8e2d56b;border:1px solid #60594b47;border-radius:34px;flex-direction:column;min-width:0;height:clamp(560px,100vh - 310px,700px);display:flex;position:relative;overflow:hidden;box-shadow:0 22px 54px #382d1c12}.dashboard-card:before{content:"";background:var(--sage);width:3px;position:absolute;inset:0 auto 0 0}.dashboard-plan:before{background:var(--rust)}.dashboard-reimbursement:before{background:var(--gold)}.dashboard-card.is-collapsed{height:auto;min-height:0}.dashboard-card-header{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;min-height:88px;padding:20px 20px 18px 22px;display:grid}.dashboard-number{color:#9b9487;font:italic 13px Georgia,serif}.dashboard-card-header>span:nth-child(2){gap:4px;display:grid}.dashboard-card-header strong{letter-spacing:.03em;font:600 18px/1.25 Georgia,Songti SC,serif}.dashboard-card-header small{color:var(--muted);letter-spacing:.05em;font-size:10px}.collapse-button{width:32px;height:32px;color:var(--ink);cursor:pointer;background:#27363112;border:1px solid #60594b2e;border-radius:50%;place-items:center;display:grid}.collapse-button span{transition:transform .18s;transform:rotate(180deg)}.is-collapsed .collapse-button span{transform:rotate(0)}.dashboard-card-body{scrollbar-width:thin;scrollbar-color:#4b494247 transparent;flex:1;min-height:0;padding:22px;overflow-y:auto}.dashboard-card .plan-input{padding-top:0}.dashboard-card .plan-input button{padding-inline:13px}.dashboard-card .plan-list{margin-top:16px}.dashboard-card .plan-list li{grid-template-columns:28px 34px minmax(0,1fr);padding:6px 0}.dashboard-card .plan-actions{grid-column:3;justify-content:flex-end}.review-section+.review-section{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}.review-section-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.review-section-heading span{color:var(--muted);font-size:9px}.review-section .card-kicker{color:var(--sage);margin:0}.review-section:nth-child(2) .card-kicker{color:var(--gold)}.review-section h3{margin:9px 0 14px;font:500 18px/1.45 Georgia,Songti SC,serif}.review-section textarea{background:#ffffff2e;border:1px solid #60594b2e;border-radius:16px;min-height:150px;padding:14px 15px}.review-section textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px #68827614}.reimbursement-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding-bottom:17px;display:flex}.reimbursement-toolbar>div{gap:4px;display:grid}.reimbursement-toolbar span{color:var(--muted);letter-spacing:.1em;font-size:10px}.reimbursement-toolbar strong{color:var(--rust);font:600 22px Georgia,serif}.reimbursement-toolbar button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:9px 14px;font-size:11px}.reimbursement-list{gap:12px;margin:16px 0;padding:0;list-style:none;display:grid}.reimbursement-item{background:#fff3;border:1px solid #60594b29;border-radius:17px;padding:14px}.reimbursement-item-fields{grid-template-columns:1fr;gap:10px;display:grid}.reimbursement-item label{gap:5px;display:grid}.reimbursement-item label>span:first-child{color:var(--muted);letter-spacing:.08em;font-size:9px}.reimbursement-item input,.reimbursement-item select{width:100%;min-width:0;height:38px;color:var(--ink);background:#fbf8f075;border:1px solid #60594b33;border-radius:9px;outline:0;padding:0 10px;font-size:12px}.reimbursement-item input:focus,.reimbursement-item select:focus{border-color:var(--rust);box-shadow:0 0 0 3px #ad624714}.amount-input-wrap{display:block;position:relative}.amount-input-wrap b{z-index:1;color:var(--rust);font-size:11px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.amount-input-wrap input{padding-left:25px}.reimbursement-item-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:11px;display:flex}.reimbursement-status{position:relative;display:block!important}.reimbursement-status select{background:0 0;border:0;height:31px;padding:0 24px 0 19px}.reimbursement-status-dot{z-index:1;background:var(--rust);pointer-events:none;border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:4px;transform:translateY(-50%)}.reimbursement-status.status-submitted .reimbursement-status-dot{background:#b78335}.reimbursement-status.status-received .reimbursement-status-dot{background:var(--sage)}.reimbursement-remove{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:3px 0;font-size:10px}.reimbursement-row-error{margin-bottom:0}.reimbursement-empty{text-align:center;place-items:center;padding:58px 18px 46px;display:grid}.reimbursement-empty>span{border:1px solid var(--line);width:54px;height:54px;color:var(--gold);border-radius:50%;place-items:center;font:22px Georgia,serif;display:grid}.reimbursement-empty h3{margin:18px 0 7px;font:500 16px Georgia,Songti SC,serif}.reimbursement-empty p{max-width:220px;color:var(--muted);margin:0;font-size:11px;line-height:1.7}.reimbursement-legend,.calendar-status-legend{color:var(--muted);flex-wrap:wrap;gap:8px 14px;font-size:10px;display:flex}.reimbursement-legend{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.reimbursement-legend span,.calendar-status-legend span{align-items:center;gap:6px;display:inline-flex}.reimbursement-legend i,.calendar-status-legend i{background:var(--rust);border-radius:50%;width:7px;height:7px}.marker-pending{background:var(--rust)!important}.marker-submitted{background:#b78335!important}.marker-received{background:var(--sage)!important}.calendar-markers{align-items:center;gap:3px;min-height:5px;display:flex}.calendar-marker{border-radius:50%;width:4px;height:4px}.calendar-selected .calendar-marker{outline:1px solid #ffffffa6}.calendar-status-legend{border-top:1px solid var(--line);margin:18px 0 0;padding-top:16px}.month-totals{gap:12px;margin-top:18px;display:grid}.month-totals article{background:#ffffff3d;border:1px solid #60594b2e;border-radius:16px;gap:7px;padding:17px 18px;display:grid;position:relative}.month-totals article>button{width:34px;height:34px;color:var(--rust);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;font-size:20px;display:grid;position:absolute;top:12px;right:12px}.month-totals article>button:hover{background:#ad62471a}.month-totals span{color:var(--muted);letter-spacing:.08em;font-size:10px}.month-totals strong{font:600 23px Georgia,serif}.month-totals small{color:#9a958a;font-size:9px}.compact-error{margin:12px 0 0}.reflection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-todo{order:1}.dashboard-review{order:2}.dashboard-plan{order:3}.dashboard-reimbursement{order:4}.sidebar-drawer{display:none}.desktop-sidebar-trigger{color:var(--rust);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;align-items:center;padding:2px 0;font-size:11px;display:inline-flex}.drawer-close{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);cursor:pointer;background:#ffffff57;border-radius:50%;place-items:center;font-size:22px;display:grid}.desktop-drawer-close{display:none}.reimbursement-detail-overlay{z-index:70;background:#1f2a2757;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.reimbursement-detail-backdrop{cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.reimbursement-detail-dialog{z-index:1;border:1px solid var(--line);background:var(--card);border-radius:24px;width:min(100%,680px);max-height:min(760px,100vh - 48px);position:relative;overflow:auto;box-shadow:0 24px 80px #1f2a2733}.reimbursement-detail-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding:26px 28px 22px;display:flex}.reimbursement-detail-header h2{margin:0 0 8px;font:500 25px Georgia,Songti SC,serif}.reimbursement-detail-header p:last-child{color:var(--muted);margin:0;font-size:12px}.reimbursement-detail-list{gap:0;padding:0 28px 20px;display:grid}.reimbursement-detail-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:17px 0;display:flex}.reimbursement-detail-item>div{gap:5px;min-width:0;display:grid}.reimbursement-detail-item>div:last-child{justify-items:end}.reimbursement-detail-item strong{overflow-wrap:anywhere;font-size:13px}.reimbursement-detail-item span{color:var(--muted);font-size:11px}.reimbursement-detail-empty{color:var(--muted);text-align:center;margin:0;padding:56px 28px 64px;font-size:13px}@media(max-width:1120px)and (min-width:981px){.reflection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-card{height:auto;min-height:500px;max-height:720px}.dashboard-card.is-collapsed{min-height:0}}@media(max-width:980px){.page-grid{grid-template-columns:minmax(0,1fr)}.journal{border-right:0;width:100%}.sidebar-drawer{display:block}.history-panel{width:100%}.desktop-sidebar-trigger,.desktop-drawer-close,.sidebar-pane.calendar-pane{display:none}.sidebar-pane.history-pane{display:block}.reflection-grid{grid-template-columns:1fr}.dashboard-card{height:auto;min-height:480px;max-height:none}.dashboard-card.is-collapsed{min-height:0}.mobile-calendar-overlay .month-totals{grid-template-columns:repeat(2,minmax(0,1fr));margin:28px 0 0}}@media(max-width:600px){.page-grid{grid-template-columns:minmax(0,1fr)}.journal{width:100%;padding:48px 16px calc(64px + env(safe-area-inset-bottom))}.history-panel{width:100%;padding-inline:16px}.date-header{width:100%}.date-line{grid-template-columns:36px minmax(0,1fr) 36px;width:100%}.date-line>div{min-width:0}.date-line h1{overflow-wrap:anywhere;max-width:100%}.dashboard-card{border-radius:24px;min-height:430px}.dashboard-card-header{min-height:78px;padding:17px 17px 15px 19px}.dashboard-card-body{padding:18px}.review-section textarea{min-height:128px}.mobile-calendar-overlay .month-totals{grid-template-columns:1fr}.reimbursement-detail-overlay{padding:12px}.reimbursement-detail-dialog{border-radius:18px;max-height:calc(100vh - 24px)}.reimbursement-detail-header{padding:20px 18px 17px}.reimbursement-detail-list{padding-inline:18px}.reimbursement-detail-item{gap:12px}}@media(min-width:981px){.sidebar-drawer.is-open{display:block}.sidebar-drawer-backdrop{z-index:59;cursor:pointer;background:#1f2a2740;border:0;position:fixed;inset:0}.sidebar-drawer .history-panel{z-index:60;border-left:1px solid var(--line);background:var(--paper);width:min(420px,92vw);height:100vh;min-height:100vh;max-height:100vh;padding:34px 34px 48px;position:fixed;top:0;right:0;overflow-y:auto;box-shadow:-20px 0 60px #1f2a271f}.desktop-drawer-close{z-index:1;display:grid;position:absolute;top:22px;right:22px}.sidebar-drawer .sidebar-tabs{margin-top:44px}}:root{--font-geist-sans:"PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-geist-mono:"SFMono-Regular", Consolas, monospace}.auth-provider-note{color:var(--muted);text-align:center;margin:20px 0 0;font-size:11px;line-height:1.7}.auth-submit:disabled,.forgot-button:disabled,.password-toggle:disabled{cursor:wait;opacity:.58}
