:root{color:#243c34;font-synthesis:none;text-rendering:optimizelegibility;background:#f9faf6;font-family:Inter,Noto Sans TC,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}a{color:#267558;text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}.shell{width:min(1120px,100% - 32px);margin:0 auto}.navbar{background:#fff;border-bottom:1px solid #e8ede6}.nav-inner{justify-content:space-between;align-items:center;gap:16px;min-height:70px;display:flex;position:relative}.brand{color:#30795b;white-space:nowrap;align-items:center;gap:9px;font-size:1.2rem;font-weight:800;display:flex}.nav-actions{align-items:center;gap:16px;display:flex}.nav-link{color:#53665c;font-size:.93rem}.nav-link.active{color:#217652;font-weight:700}.nav-error{color:#b42318;z-index:2;background:#fff4f2;position:absolute;top:100%;right:0}.btn{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:11px 18px;font-weight:650;text-decoration:none;transition:background .15s;display:inline-flex}.btn:hover{text-decoration:none}.btn-primary{color:#fff;background:#328365}.btn-primary:hover{background:#276f54}.btn-outline{color:#28765a;background:#fff;border-color:#a9bdb2}.btn-sm{padding:8px 13px;font-size:.88rem}.btn-wide{width:100%}.hero{text-align:center;background:linear-gradient(120deg,#eef7ef,#fff7eb);padding:69px 16px 61px}.hero-inner{flex-direction:column;align-items:center;display:flex}.hero-mark{color:#398365;background:#d8eede;border-radius:50%;padding:12px}.hero h1{margin:17px 0 10px;font-size:clamp(1.65rem,4vw,2.6rem)}.hero p{color:#67796e;margin:0 0 26px}.page-section{min-height:52vh;padding-top:44px;padding-bottom:65px}.section-title h1,.section-title h2{margin:0 0 8px}.section-title p{color:#6b7d72;margin:0}.filter-bar{background:#fff;border:1px solid #e2e9e3;border-radius:14px;flex-wrap:wrap;align-items:end;gap:14px;margin:25px 0;padding:18px;display:flex}.filter-bar label{color:#576c61;flex-direction:column;gap:7px;font-size:.88rem;display:flex}.filter-bar input{background:#fff;border:1px solid #cbd8cf;border-radius:9px;max-width:100%;padding:10px 12px}.entry-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:17px;display:grid}.entry-card,.panel,.auth-card{background:#fff;border:1px solid #e3ebe4;border-radius:15px;box-shadow:0 3px 15px #224e3008}.entry-card{padding:19px}.entry-meta{align-items:center;gap:10px;display:flex}.entry-meta div{flex-direction:column;gap:3px;display:flex}.entry-meta small,.posted{color:#84948b;font-size:.76rem}.avatar{color:#2d3e36;border-radius:50%;place-items:center;width:37px;height:37px;font-weight:700;display:grid}.public-icon{color:#89a99a;margin-left:auto}.entry-content{white-space:pre-wrap;overflow-wrap:anywhere;min-height:55px;line-height:1.8}.empty{text-align:center;color:#64796a;background:#fff;border:1px dashed #bed3c5;border-radius:14px;padding:45px 16px}.center{text-align:center}.more{margin-top:24px}.muted,.hint{color:#728378}.hint{font-size:.8rem;line-height:1.6}.notice{background:#f0f7f2;border-radius:9px;margin-top:15px;padding:11px 14px;font-size:.88rem;line-height:1.6}.notice.error{color:#a52923;background:#fff2f0}.auth-layout{place-items:start center;min-height:calc(100vh - 160px);padding:62px 16px;display:grid}.auth-card{width:min(100%,420px);padding:30px}.auth-card h1{margin:0 0 8px;font-size:1.6rem}.auth-card>p,.auth-card form>p{line-height:1.6}.field{flex-direction:column;gap:8px;margin:20px 0;font-size:.94rem;font-weight:600;display:flex}.field input{border:1px solid #cddbd1;border-radius:9px;outline-color:#328365;width:100%;padding:11px 12px}.auth-footer{text-align:center;color:#78877f;margin:20px 0 0;font-size:.9rem}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:18px;margin-top:26px;display:grid}.panel{padding:25px}.panel h2{margin-top:0}.panel ul{line-height:2}.palette{flex-wrap:wrap;gap:9px;display:flex}.color-choice{border:2px solid #fff;border-radius:50%;outline:1px solid #dae5de;width:35px;height:35px}.color-choice.selected{outline:3px solid #297f5d}.site-footer{text-align:center;color:#84958a;border-top:1px solid #e6ece7;padding:28px 12px;font-size:.82rem}@media (width<=580px){.nav-inner{min-height:64px}.brand{font-size:1rem}.nav-actions{gap:8px}.nav-link{font-size:.8rem}.btn-sm{padding:7px 10px;font-size:.78rem}.hero{padding:54px 12px}.filter-bar{grid-template-columns:1fr 1fr;display:grid}.filter-bar input{width:100%}.filter-bar .btn{grid-column:1/-1}.auth-layout{padding:27px 16px}.auth-card,.panel{padding:20px}.page-section{padding-top:28px}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e6eee8;background:#131d1a}:root[data-theme=dark] body{color:#e6eee8;background:#131d1a}:root[data-theme=dark] .navbar,:root[data-theme=dark] .entry-card,:root[data-theme=dark] .panel,:root[data-theme=dark] .auth-card,:root[data-theme=dark] .filter-bar,:root[data-theme=dark] .empty{box-shadow:none;background:#202c27;border-color:#35483e}:root[data-theme=dark] .hero{background:linear-gradient(120deg,#20382d,#32291f)}:root[data-theme=dark] .brand,:root[data-theme=dark] a{color:#89d9b3}:root[data-theme=dark] .nav-link,:root[data-theme=dark] .section-title p,:root[data-theme=dark] .muted,:root[data-theme=dark] .hint,:root[data-theme=dark] .hero p,:root[data-theme=dark] .entry-meta small,:root[data-theme=dark] .posted,:root[data-theme=dark] .site-footer,:root[data-theme=dark] .filter-bar label{color:#b4c8ba}:root[data-theme=dark] .btn-primary{color:#fff;background:#378c69}:root[data-theme=dark] .btn-outline{color:#d5eadb;background:#25372d;border-color:#5a7966}:root[data-theme=dark] .filter-bar input,:root[data-theme=dark] .field input{color:#eef6f0;background:#17221d;border-color:#53705e}:root[data-theme=dark] .notice{color:#c9e4d1;background:#263c2e}:root[data-theme=dark] .notice.error,:root[data-theme=dark] .nav-error{color:#ffd3ca;background:#462824}:root[data-theme=dark] .site-footer{border-color:#35483e}:root[data-theme=dark] .color-choice{border-color:#283a31}:root[data-theme=dark] .color-choice.selected{outline-color:#9be1b4}.theme-control{position:relative}.icon-button{color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.icon-button:hover,.icon-button[aria-expanded=true]{color:#246b4e;background:#dcefe2}:root[data-theme=dark] .icon-button:hover,:root[data-theme=dark] .icon-button[aria-expanded=true]{color:#b0e7c4;background:#324f3e}.theme-menu{z-index:30;background:#fff;border:1px solid #d8e5db;border-radius:12px;min-width:170px;padding:6px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 12px 28px #14261b20}.theme-item{text-align:left;color:#244135;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;width:100%;padding:10px;display:flex}.theme-item span:nth-child(2){flex:1}.theme-item:hover,.theme-item.chosen{background:#eaf5ed}:root[data-theme=dark] .theme-menu{background:#22342b;border-color:#496050;box-shadow:0 12px 28px #0005}:root[data-theme=dark] .theme-item{color:#e3efe5}:root[data-theme=dark] .theme-item:hover,:root[data-theme=dark] .theme-item.chosen{background:#355344}.nav-profile{color:#425b4b;white-space:nowrap;align-items:center;gap:7px;font-size:.87rem;text-decoration:none;display:flex}.nav-profile:hover{text-decoration:none}.nav-avatar{width:30px;height:30px;font-size:.84rem}.settings-panel{max-width:650px;margin-top:25px}.dashboard-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.profile-heading{align-items:center;gap:17px;display:flex}.profile-heading h1{margin:0 0 6px}.profile-heading p{margin:0}.big-avatar{flex-shrink:0;width:64px;height:64px;font-size:1.6rem}@media (width<=700px){.nav-profile-name{display:none}.nav-actions{gap:7px}.nav-profile{gap:3px}.nav-profile svg{display:none}}@media (width<=410px){.brand span{display:none}.nav-inner,.nav-actions{gap:5px}.nav-link{font-size:.78rem}.icon-button{width:36px}}.diary-form-panel{margin-top:26px;margin-bottom:35px}.diary-form-panel h2{align-items:center;gap:8px;display:flex}.gratitude-textarea{resize:vertical;color:#243c34;width:100%;min-height:125px;font:inherit;background:#fff;border:1px solid #cddbd1;border-radius:10px;outline-color:#328365;padding:13px 14px;line-height:1.75;display:block}.entry-form-bottom{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex}.entry-form-bottom .field{margin:8px 0}.entry-form-bottom input[type=date],.diary-filters input,.diary-filters select{color:#243c34;width:100%;min-height:43px;font:inherit;background:#fff;border:1px solid #cddbd1;border-radius:9px;padding:9px 11px}.visibility-toggle{cursor:pointer;align-items:center;gap:8px;padding:10px 0;font-size:.93rem;display:inline-flex}.visibility-toggle input{accent-color:#328365;width:18px;height:18px}.entry-count{margin:4px 0 18px}.diary-history>.section-title{margin-bottom:17px}.diary-filters{background:#fff;border:1px solid #e3ebe4;border-radius:14px;grid-template-columns:minmax(180px,2fr) repeat(2,minmax(145px,1fr)) minmax(125px,1fr) auto auto;align-items:end;gap:12px;margin-bottom:22px;padding:18px;display:grid}.diary-filters label{color:#576c61;flex-direction:column;gap:7px;font-size:.85rem;display:flex}.diary-filters button{white-space:nowrap;min-height:43px}.diary-entry{flex-direction:column;min-height:225px;display:flex}.diary-entry-head{justify-content:space-between;align-items:center;gap:9px;font-size:.86rem;display:flex}.visibility-label{white-space:nowrap;border-radius:50px;align-items:center;gap:4px;padding:5px 9px;font-size:.78rem;display:inline-flex}.is-public{color:#226648;background:#e3f3e8}.is-private{color:#4f6459;background:#edf0ee}.diary-entry .entry-content{flex:1}.diary-entry-dates{color:#728378;flex-wrap:wrap;gap:5px 14px;display:flex}.diary-entry-dates small{font-size:.76rem}.diary-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-top:15px;display:flex}.btn-danger{color:#ad3830;background:0 0;border-color:#e2afa8}.btn-danger:hover{background:#fff1f0}.diary-modal-backdrop{z-index:100;background:#0008;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0;overflow-y:auto}.diary-modal{background:#fff;border:1px solid #e3ebe4;border-radius:17px;width:min(100%,620px);max-height:calc(100dvh - 36px);padding:25px;overflow:auto;box-shadow:0 24px 70px #0004}.diary-modal-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.diary-modal-title h2{margin:0}:root[data-theme=dark] .gratitude-textarea,:root[data-theme=dark] .entry-form-bottom input[type=date],:root[data-theme=dark] .diary-filters input,:root[data-theme=dark] .diary-filters select{color:#eef6f0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#17221d;border-color:#53705e}:root[data-theme=dark] .diary-filters,:root[data-theme=dark] .diary-modal{color:#eef6f0;background:#22342b;border-color:#496050}:root[data-theme=dark] .diary-filters label{color:#c0d5c8}:root[data-theme=dark] .is-public{color:#b5f0ce;background:#27513c}:root[data-theme=dark] .is-private{color:#d8e7df;background:#39483e}:root[data-theme=dark] .btn-danger{color:#ffbbb3;border-color:#93584f}:root[data-theme=dark] .btn-danger:hover{background:#51342f}@media (width<=1000px){.diary-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.diary-filters label:first-child{grid-column:1/-1}}@media (width<=580px){.diary-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:13px}.diary-filters label:first-child,.diary-filters label:nth-child(4){grid-column:1/-1}.diary-filters button{width:100%}.diary-modal{padding:18px}.entry-form-bottom{flex-direction:column;align-items:start;gap:4px}.diary-entry-head{align-items:start}}.welcome-hero{text-align:center;background:linear-gradient(125deg,#eef7ef,#fff7eb);padding:85px 16px 78px}.welcome-inner{flex-direction:column;align-items:center;gap:16px;display:flex}.welcome-symbol{color:#398365;background:#d8eede;border-radius:24px;place-items:center;width:70px;height:70px;display:grid}.welcome-hero h1{letter-spacing:.06em;margin:4px 0;font-size:clamp(2rem,5vw,3.5rem)}.welcome-lead{margin:0;font-size:1.24rem;font-weight:650}.welcome-intro{color:#526d5d;max-width:610px;margin:0;font-size:1.08rem;line-height:1.9}.welcome-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px;display:flex}.welcome-footnote{text-align:center;color:#728378;padding:38px 16px 70px;line-height:1.9}.loading-block{text-align:center;width:min(100%,560px);margin:25px auto;padding:10px 0}.loading-track{background:#dcebe0;border-radius:99px;width:100%;height:5px;position:relative;overflow:hidden}.loading-indicator{border-radius:inherit;background:#328365;width:34%;height:100%;animation:1.25s ease-in-out infinite grace-progress;position:absolute;left:-38%}.loading-caption{color:#657b6d;margin-top:12px;font-size:.86rem;display:block}.loading-compact{width:100%;margin:12px auto;padding:0}@keyframes grace-progress{0%{transform:translate(0)}to{transform:translate(410%)}}:root[data-theme=dark] .welcome-hero{background:linear-gradient(125deg,#192c24,#302c21)}:root[data-theme=dark] .welcome-symbol{color:#b2e4c3;background:#304c3b}:root[data-theme=dark] .welcome-intro,:root[data-theme=dark] .welcome-footnote,:root[data-theme=dark] .loading-caption{color:#b4c7ba}:root[data-theme=dark] .loading-track{background:#3a5041}:root[data-theme=dark] .loading-indicator{background:#8ed9a9}@media (width<=580px){.welcome-hero{padding:55px 14px}.welcome-actions{flex-direction:column;width:100%}.welcome-actions .btn{width:100%}}@media (prefers-reduced-motion:reduce){.loading-indicator{opacity:.65;width:100%;animation:none;left:0}}
