:root{--paper:#f6f5f1;--white:#fffefa;--ink:#273b33;--muted:#8b9690;--line:#e8e8e0;--green:#426b56;--green-dark:#345640;--mint:#e9f0e9;--peach:#f4e8da;--yellow:#f4edcf;--lav:#ece9f2;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans','Noto Sans Thai',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{width:246px;background:#f0f0e9;border-right:1px solid #e7e8df;position:fixed;inset:0 auto 0 0;padding:29px 18px 15px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:#35473d;font-size:17px;font-weight:700;letter-spacing:-.7px;padding:0 9px 44px}.brand-mark{font-size:25px;color:#75977c}.brand-light{font-weight:400;color:#829087}.side-label,.section-kicker{font-size:10px;letter-spacing:1.5px;font-weight:700;color:#99a098}.side-label{padding:0 12px 11px}.nav-list{display:grid;gap:4px}.nav-item{width:100%;height:42px;border:0;background:transparent;border-radius:9px;text-align:left;display:flex;align-items:center;gap:12px;padding:0 12px;color:#758078;font-size:13px}.nav-item:hover{background:#e9ebe3}.nav-item.active{background:#e1e8df;color:#3b624b;font-weight:600}.nav-icon{width:18px;font-size:18px;text-align:center}.nav-count{margin-left:auto;border-radius:20px;background:#f4f5ee;padding:3px 8px;color:#8a958d;font-size:11px}.sidebar-bottom{margin-top:auto}.week-card{background:#e6eae0;border-radius:12px;padding:16px 15px 17px;margin-bottom:18px}.week-card-icon{color:#789775;font-size:16px;margin-bottom:9px}.week-card-title{font-size:12px;font-weight:700;margin-bottom:6px}.week-card-copy{font-size:11px;line-height:1.65;color:#839087}.profile{border-top:1px solid #e0e2d9;padding:14px 4px 0;display:flex;align-items:center;gap:10px}.avatar{height:31px;width:31px;border-radius:50%;display:grid;place-items:center;background:#dbe7dd;color:#567a61;font-weight:700}.profile strong,.profile small{display:block;font-size:11px}.profile small{color:#909a93;margin-top:3px}.icon-button{border:0;background:transparent;color:#7e8c82;font-size:20px;margin-left:auto}.avatar-small{border:0;width:30px;height:30px;font-size:12px}.main-area{margin-left:246px;width:calc(100% - 246px);min-height:100vh}.topbar{height:59px;border-bottom:1px solid #e9e8e1;display:flex;justify-content:space-between;align-items:center;padding:0 52px}.breadcrumbs{display:flex;gap:10px;align-items:center;color:#a1a79f;font-size:10px;letter-spacing:1px;font-weight:600}.breadcrumbs b{font-weight:400;color:#d0d1c9}.breadcrumbs strong{color:#58675d;font-size:11px;letter-spacing:.1px}.top-actions{display:flex;align-items:center;gap:17px}.language-toggle{border:0;background:none;font-size:10px;letter-spacing:.7px;color:#879189}.language-toggle span{color:#c4c9c1;padding:0 3px}.page{display:none;max-width:1135px;padding:48px 52px 70px;margin:0 auto}.page.active{display:block}.welcome-row{display:flex;justify-content:space-between;align-items:center;margin:6px 0 36px;min-height:148px}.eyebrow{font-size:11px;color:#7d8b80;letter-spacing:.4px;margin-bottom:16px}h1{font-size:37px;line-height:1.16;letter-spacing:-1.8px;margin:0;font-weight:600;color:#31463a}.serif{font-family:var(--serif);font-style:italic;color:#54765e;font-weight:400;letter-spacing:-1.3px}.intro{font-size:13px;color:#89938b;line-height:1.7;margin:12px 0 0}.hero-doodle{width:170px;height:145px;position:relative;display:grid;place-items:center;color:#a4b89e;font-size:53px}.hero-doodle:before{content:"";position:absolute;width:94px;height:94px;border-radius:45% 55% 59% 41%;background:#ecf0e7;transform:rotate(-20deg)}.hero-doodle span{z-index:1}.hero-doodle i{position:absolute;width:44px;height:62px;border:1px solid #c4d0be;border-radius:90% 0 90% 0;transform:rotate(-23deg);top:7px;right:19px}.hero-doodle b{position:absolute;font-size:19px;bottom:7px;left:9px;color:#d5bb82}.home-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.85fr);gap:18px}.card{border:1px solid #e9e8df;border-radius:13px;background:var(--white);padding:22px 24px}.compose-card{min-height:295px}.card-heading{display:flex;align-items:flex-start;justify-content:space-between}.card-heading h2,.section-title-row h2{font-size:17px;letter-spacing:-.4px;margin:7px 0 0;font-weight:600}.pencil-icon{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#f0f3eb;color:#7a987b}.field-label{display:block;font-size:11px;color:#6e7c72;font-weight:600;margin:19px 0 8px}.input, input,textarea{outline:none}#quick-form input,#quick-form textarea,.form-grid input,.form-grid textarea{width:100%;border:1px solid #e7e9e1;background:#fcfcf9;border-radius:7px;padding:11px 12px;font-size:12px;resize:vertical}input::placeholder,textarea::placeholder{color:#b0b8b0}#quick-form textarea{min-height:76px}.form-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.autosave-hint{display:flex;align-items:center;gap:7px;color:#9ba49b;font-size:10px}.save-dot{height:6px;width:6px;border-radius:50%;background:#8fb28f;display:inline-block}.button{border:1px solid transparent;border-radius:7px;height:37px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:11px;font-weight:600}.button.primary{background:var(--green);color:white}.button.primary:hover{background:var(--green-dark)}.progress-card{background:#f0f2e9;position:relative;min-height:295px;border-color:#eaebe2}.sparkle{color:#90a388;font-size:19px}.progress-stat{display:flex;align-items:baseline;gap:9px;margin:20px 0 15px}.progress-stat strong{font:italic 42px var(--serif);color:#526f57}.progress-stat span{font-size:11px;color:#89948b}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.day-cell{text-align:center}.day-label{font-size:9px;color:#98a097;display:block;margin-bottom:8px}.day-dot{width:23px;height:23px;margin:auto;border-radius:50%;display:grid;place-items:center;background:#e4e7dd;color:#a1a99e;font-size:9px}.day-dot.logged{background:#648366;color:#fff}.progress-footer{border-top:1px solid #e1e5db;margin-top:18px;padding-top:13px;display:flex;align-items:center;gap:8px;color:#869187;font-size:10px}.progress-leaf{color:#92a587}.recent-section{margin-top:41px}.section-title-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:17px}.text-button{border:0;background:none;color:#6b856f;font-size:11px;display:flex;gap:10px;align-items:center}.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.note-card{background:#fffefa;border:1px solid #e9e8df;border-radius:10px;padding:17px 18px;min-height:158px;cursor:pointer;transition:transform .15s,box-shadow .15s}.note-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #344b3510}.note-card:nth-child(4n+1) .note-tag{background:#e9efe6}.note-card:nth-child(4n+2) .note-tag{background:#f4ebdf}.note-card:nth-child(4n+3) .note-tag{background:#eceaf1}.note-card:nth-child(4n) .note-tag{background:#f4efdc}.note-meta{display:flex;justify-content:space-between;align-items:center}.note-tag{padding:5px 9px;border-radius:20px;font-size:9px;color:#66806b}.note-date{font-size:9px;color:#a1aaa2}.note-card h3{font-size:13px;line-height:1.45;margin:13px 0 7px;font-weight:600}.note-card p{font-size:10px;color:#8a958c;line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-foot{display:flex;align-items:center;justify-content:space-between;margin-top:13px}.tag-list{display:flex;gap:5px;flex-wrap:wrap}.tag-chip{color:#9aa49c;font-size:9px}.note-minutes{color:#929d92;font-size:9px}.empty-state{text-align:center;padding:48px 20px;color:#849187;border:1px dashed #dfe2d9;border-radius:12px;background:#fbfbf7}.empty-ornament{font-size:30px;color:#a2b59e;margin-bottom:10px}.empty-state h3{color:#52675a;font-size:15px;margin:0 0 7px}.empty-state p{font-size:11px;margin:0 0 15px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:10px 0 30px}.page-heading h1{font-size:34px;margin-top:9px}.page-heading .intro{margin-top:8px}.toolbar{display:flex;align-items:center;gap:9px;margin:0 0 21px}.search-box{height:38px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid #e5e7df;border-radius:7px;background:#fffefa;flex:1;max-width:350px;color:#94a095;font-size:18px}.search-box input{border:0;background:transparent;width:100%;font-size:11px;outline:0}.date-filter,.select-filter{height:38px;padding:0 10px;border:1px solid #e5e7df;background:#fffefa;border-radius:7px;color:#7c897e;font-size:10px}.view-toggle{margin-left:auto;display:flex;padding:3px;background:#eeefe8;border-radius:7px}.view-button{height:30px;width:33px;border:0;border-radius:5px;background:transparent;color:#8b968d}.view-button.selected{background:#fffefa;color:#4e7258;box-shadow:0 1px 3px #263b2812}.journal-list{display:grid;gap:10px}.journal-row{display:grid;grid-template-columns:92px 1fr auto;gap:16px;align-items:start;border:1px solid #e9e8df;border-radius:9px;background:#fffefa;padding:16px 18px;cursor:pointer}.journal-row:hover{border-color:#cbd7c9}.row-date{font-size:10px;color:#9ba49c;line-height:1.6}.row-body h3{font-size:13px;margin:0 0 5px}.row-body p{font-size:10px;line-height:1.6;color:#8b958d;margin:0}.row-tags{display:flex;gap:5px;margin-top:7px}.row-action{color:#9ba59c}.calendar-wrap{padding:19px;background:#fffefa;border:1px solid #e9e8df;border-radius:10px}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.calendar-head h3{font-size:14px;margin:0}.calendar-head button{border:0;background:none;color:#7e8b80}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-label{text-align:center;color:#a0a99f;font-size:9px;padding:5px}.cal-day{min-height:59px;padding:7px;border-radius:6px;background:#fbfbf7;color:#7d887f;font-size:10px;cursor:pointer}.cal-day:hover{background:#edf2eb}.cal-day.muted{opacity:.4}.cal-day.has-note{background:#e7efe5;color:#527658;font-weight:700}.cal-day.today{outline:1px solid #9db59c}.cal-day small{display:block;margin-top:6px;font-size:8px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-banner{padding:22px 25px;border-radius:12px;background:#e9efe6;display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.review-banner strong{font:italic 29px var(--serif);color:#52715a}.review-banner span{font-size:11px;color:#849087}.review-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:18px}.review-stat{border:1px solid #e9e8df;background:#fffefa;padding:17px;border-radius:9px}.review-stat strong{font:italic 30px var(--serif);display:block;color:#56745c}.review-stat span{font-size:10px;color:#929c93}.review-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.review-panel{background:#fffefa;border:1px solid #e9e8df;padding:20px;border-radius:10px;min-height:160px}.review-panel h3{font-size:12px;margin:0 0 14px}.topic-pills{display:flex;gap:7px;flex-wrap:wrap}.topic-pill{font-size:10px;color:#617a65;background:#edf2e9;padding:7px 10px;border-radius:18px}.question-item{border-left:2px solid #d8e2d5;padding:3px 0 3px 10px;font-size:10px;color:#7c887e;margin:9px 0;line-height:1.5}.week-nav{border:1px solid #e2e5dc;background:#fffefa;color:#748176;border-radius:7px;font-size:10px;padding:9px 11px}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h2{font-size:20px;margin:6px 0 18px}.close-dialog{font-size:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.form-grid label{min-width:0}.form-grid label.full{grid-column:1/-1}.form-grid .field-label{margin:10px 0 7px}.dialog-actions{display:flex;align-items:center;gap:12px;margin-top:20px}.dialog-actions .autosave-hint{margin-right:auto}dialog{border:1px solid #e4e5dc;border-radius:14px;padding:23px 25px;width:min(620px,calc(100% - 26px));max-height:90vh;overflow:auto;background:#fffefa;color:var(--ink);box-shadow:0 18px 65px #1f332d26}dialog::backdrop{background:#26332b66;backdrop-filter:blur(2px)}.danger-text{color:#af6a5b;background:transparent}.hidden{display:none!important}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:11px 17px;border-radius:8px;background:#334a3a;color:white;font-size:11px;transition:.2s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}.review-empty{font-size:11px;color:#939e94;line-height:1.7}
:root[data-theme="dark"]{color-scheme:dark;--paper:#1b2420;--white:#222d27;--ink:#e2e9e2;--muted:#a3afa5;--line:#35423a;--green:#8eb697;--green-dark:#a2c7a8;--mint:#29382e;--peach:#41362c;--yellow:#3d3928;--lav:#35333d} :root[data-theme="dark"] body{background:var(--paper);color:var(--ink)}:root[data-theme="dark"] .sidebar{background:#202a25;border-color:#344139}:root[data-theme="dark"] .brand{color:#d4e1d6}:root[data-theme="dark"] .brand-light,:root[data-theme="dark"] .nav-item{color:#a1afa4}:root[data-theme="dark"] .nav-item:hover{background:#2b3830}:root[data-theme="dark"] .nav-item.active{background:#314237;color:#c4dec7}:root[data-theme="dark"] .nav-count{background:#26332c;color:#aeb9b0}:root[data-theme="dark"] .week-card{background:#29372f}:root[data-theme="dark"] .week-card-copy,:root[data-theme="dark"] .profile small{color:#a2afa4}:root[data-theme="dark"] .profile{border-color:#38453c}:root[data-theme="dark"] .topbar{border-color:#344038}:root[data-theme="dark"] .breadcrumbs strong{color:#c7d4ca}:root[data-theme="dark"] h1,:root[data-theme="dark"] .card-heading h2,:root[data-theme="dark"] .section-title-row h2{color:#dbe7dc}:root[data-theme="dark"] .serif{color:#a4c5a8}:root[data-theme="dark"] .intro,:root[data-theme="dark"] .eyebrow,:root[data-theme="dark"] .section-kicker{color:#9aa99c}:root[data-theme="dark"] .card,:root[data-theme="dark"] .note-card,:root[data-theme="dark"] .journal-row,:root[data-theme="dark"] .calendar-wrap,:root[data-theme="dark"] .review-stat,:root[data-theme="dark"] .review-panel{background:#222d27;border-color:#35423a}:root[data-theme="dark"] .progress-card,:root[data-theme="dark"] .review-banner{background:#29372f;border-color:#35423a}:root[data-theme="dark"] #quick-form input,:root[data-theme="dark"] #quick-form textarea,:root[data-theme="dark"] .form-grid input,:root[data-theme="dark"] .form-grid textarea,:root[data-theme="dark"] .search-box,:root[data-theme="dark"] .date-filter,:root[data-theme="dark"] .select-filter{background:#1d2822;border-color:#39473e;color:#dfe8df}:root[data-theme="dark"] .search-box input{background:transparent}:root[data-theme="dark"] .view-toggle{background:#1c2621}:root[data-theme="dark"] .view-button.selected,:root[data-theme="dark"] .week-nav{background:#2c3931;color:#c0d4c2;border-color:#3b4a3e}:root[data-theme="dark"] .day-dot{background:#354139;color:#aeb9ad}:root[data-theme="dark"] .day-dot.logged{background:#719879;color:#fff}:root[data-theme="dark"] .progress-footer{border-color:#39463c;color:#a2afa3}:root[data-theme="dark"] .note-card h3,:root[data-theme="dark"] .row-body h3,:root[data-theme="dark"] .calendar-head h3,:root[data-theme="dark"] .review-panel h3{color:#dce6dc}:root[data-theme="dark"] .note-card p,:root[data-theme="dark"] .row-body p,:root[data-theme="dark"] .row-date,:root[data-theme="dark"] .note-date,:root[data-theme="dark"] .note-minutes,:root[data-theme="dark"] .review-stat span,:root[data-theme="dark"] .review-empty{color:#a0ada2}:root[data-theme="dark"] .note-tag,:root[data-theme="dark"] .topic-pill{background:#304037;color:#bbd5be}:root[data-theme="dark"] .cal-day{background:#1d2822;color:#bac6bb}:root[data-theme="dark"] .cal-day.has-note{background:#34483a;color:#c6e0c8}:root[data-theme="dark"] .cal-day:hover{background:#334239}:root[data-theme="dark"] .cal-label{color:#a6b2a7}:root[data-theme="dark"] .question-item{color:#bdc9bd;border-color:#607964}:root[data-theme="dark"] .empty-state{background:#202a24;border-color:#3b4a3f;color:#abb8ab}:root[data-theme="dark"] .empty-state h3{color:#d2dfd3}:root[data-theme="dark"] dialog{background:#222d27;color:#e2e9e2;border-color:#3d4b41}:root[data-theme="dark"] .toast{background:#d9e6db;color:#233128}:root[data-theme="dark"] .pencil-icon{background:#334238;color:#bad2bc}:root[data-theme="dark"] .hero-doodle:before{background:#29372e}:root[data-theme="dark"] .avatar{background:#364a3a;color:#c2dec5}:root[data-theme="dark"] .button.primary{background:#709579;color:#fff}:root[data-theme="dark"] .button.primary:hover{background:#81a989}:root[data-theme="dark"] .sidebar .icon-button,:root[data-theme="dark"] .language-toggle{color:#b3c0b5}
@media(max-width:900px){.sidebar{width:210px}.main-area{margin-left:210px;width:calc(100% - 210px)}.page{padding:38px 30px 60px}.topbar{padding:0 30px}.home-grid{grid-template-columns:1fr}.progress-card{min-height:240px}.notes-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.sidebar{inset:auto 0 0;width:auto;height:64px;padding:5px 8px;background:#f7f7f2;border-right:0;border-top:1px solid #e4e5dd}.brand,.side-label,.sidebar-bottom{display:none}.nav-list{display:flex;justify-content:space-around;gap:0;height:100%}.nav-item{height:54px;width:33%;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:3px;font-size:9px}.nav-icon{font-size:17px}.nav-count{display:none}.main-area{width:100%;margin:0;padding-bottom:68px}.topbar{height:51px;padding:0 18px}.page{padding:30px 18px 45px}.welcome-row{min-height:126px;margin:0 0 24px}.welcome-row h1{font-size:31px}.intro{font-size:11px}.hero-doodle{width:90px;transform:scale(.75);margin-right:-12px}.home-grid{gap:11px}.card{padding:18px}.compose-card{min-height:280px}.progress-card{min-height:225px}.recent-section{margin-top:30px}.notes-grid{grid-template-columns:1fr}.note-card{min-height:130px}.page-heading{align-items:flex-start;gap:12px}.page-heading h1{font-size:29px}.page-heading .intro{max-width:240px}.page-heading>.button{height:34px;padding:0 9px;font-size:9px}.toolbar{flex-wrap:wrap}.search-box{max-width:none;flex-basis:100%}.date-filter,.select-filter{flex:1;min-width:0}.view-toggle{margin-left:0}.journal-row{grid-template-columns:64px 1fr auto;gap:9px;padding:13px}.review-stats{gap:7px}.review-stat{padding:12px}.review-stat strong{font-size:25px}.review-stat span{font-size:9px}.review-columns{grid-template-columns:1fr}.review-banner{padding:17px}.review-banner strong{font-size:24px}.week-nav{font-size:0}.week-nav span{display:none}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.dialog-actions{gap:6px}.dialog-actions .autosave-hint{font-size:8px}}
.data-status{font-size:9px;letter-spacing:0;color:#719477;font-weight:500}.data-status:before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#83aa83}.data-status.offline{color:#bd875e}.data-status.offline:before{background:#c98e60}
.login-gate{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:var(--paper)}.login-gate.hidden{display:none}.login-card{width:min(420px,100%);padding:38px;background:var(--white);border:1px solid #e4e7dd;border-radius:16px;text-align:center;box-shadow:0 20px 70px #22352a14}.login-card .brand-mark{font-size:32px}.login-card h1{font-size:27px;margin:17px 0 10px}.login-card p{font-size:12px;line-height:1.7;color:var(--text-muted,#89938b);margin:0 auto 24px;max-width:310px}.login-card small{display:block;margin-top:18px;font-size:10px;color:#98a399}.login-error{font-size:11px!important;color:#b66553!important;margin:13px auto 0!important}.login-card #google-button{display:flex;justify-content:center}.profile #profile-avatar{background-size:cover;background-position:center}
.auth-form{display:grid;gap:11px;text-align:left}.auth-form label{display:grid;gap:6px;color:#77857a;font-size:10px;font-weight:600}.auth-form input{height:39px;width:100%;border:1px solid #e1e6dd;border-radius:7px;background:var(--soft,#fcfcf9);padding:0 11px;font-size:12px}.auth-submit{width:100%;margin-top:4px}.auth-mode-toggle{border:0;background:none;color:#63806a;font-size:11px;margin-top:15px}.data-status{white-space:nowrap}
