/* A light, playful notebook. Color is reserved for controls and small drawings. */
:root{--paper:#fffdf7;--white:#ffffff;--ink:#314c4b;--muted:#71817f;--green:#32776b;--sage:#e6f2e8;--line:#e6eae4;--orange:#b85538;--peach:#fff0dd;--serif:"Microsoft YaHei","PingFang SC",sans-serif}
body{font-family:"PingFang SC","Microsoft YaHei",sans-serif}h1,h2,h3{font-weight:600;letter-spacing:.2px}.sidebar{background:#fffefa;border-color:#edf0e8}.brand{font-weight:700;letter-spacing:2px}.brand-icon{background:#ffdd75;color:#375954;border-radius:17px 14px 19px 13px;transform:rotate(-5deg)}.brand-icon .doodle{width:34px;height:34px}.brand-sub{letter-spacing:3px;color:#71817f}.side-label{letter-spacing:1px}.sidebar nav a{border-radius:14px}.sidebar nav a.active{background:#e1f0eb;color:#2d695e;font-weight:600}.nav-icon .doodle{width:25px;height:25px;display:block}.side-bottom{border-color:var(--line)}.side-bottom p{font-size:15px;line-height:2;color:#66837c}.little-leaf .doodle{width:45px;height:45px}.header-note{font-size:12px;color:#768680}header{border-color:#e8ece5}.eyebrow{font-size:10px;letter-spacing:1.6px;color:#7b8c87}.floating{background:#ffda68;color:#3a514a;border:1.5px solid #f1cb60;box-shadow:0 4px 0 #d4ab442b;padding:11px 20px;font-weight:600;border-radius:18px 20px 16px 21px}.floating:hover{background:#ffcf45;transform:translateY(-1px)}.floating span{font-weight:400}.btn{border-radius:11px}.panel{border-radius:17px}.tag{border-radius:7px}.date-control{border-radius:12px;background:#fff;box-shadow:0 2px 0 #dce4d820}.date-control input{color:#49645d}.date-control button{font-size:19px;color:#65857b}.doodle{display:block;width:29px;height:29px}.garden-scene{width:235px;height:165px;display:block}.hero-art{transform:rotate(-3deg);opacity:1;font-size:inherit;align-self:center;flex-shrink:0;color:#3c514b}.hero-art::after{display:none}
body[data-page="today"] h1{font-size:30px;font-weight:700;letter-spacing:.5px}body[data-page="today"] .page-heading{margin-bottom:24px}body[data-page="today"] .week-strip{background:#fff;padding:8px;border:1px solid #e9ece5;border-radius:17px;gap:8px;margin-bottom:25px}body[data-page="today"] .day{padding:6px 3px;border-radius:13px;color:#7c8c87}body[data-page="today"] .day strong{font-size:23px;font-weight:500;color:#48655b;margin:2px}body[data-page="today"] .day.selected{background:#ffdf7d;color:#67582e;box-shadow:0 3px 0 #f0cb65;transform:rotate(-2deg)}body[data-page="today"] .day.selected strong{color:#394e42}body[data-page="today"] .day.today:not(.selected){border-color:#a8cfc0}body[data-page="today"] .day .dot{background:#bf7250}body[data-page="today"] .day .no-dot{background:transparent}
body[data-page="today"] .hero{background:#fff1ba;border:0;border-radius:20px 23px 19px 21px;min-height:215px;padding:26px 29px;gap:4px}body[data-page="today"] .hero .eyebrow{font-size:10px;color:#8b773a;letter-spacing:1px}body[data-page="today"] .hero h2{font-size:24px;line-height:1.7;max-width:360px;margin:12px 0 8px;color:#3e5547;font-weight:700}body[data-page="today"] .hero p{color:#82764a;margin:5px 0 13px;font-size:12px}body[data-page="today"] .hero .tag{background:#fff9e2;border:0;padding:5px 10px;color:#6f7047;font-size:11px}body[data-page="today"] .section-head h2{font-size:19px;font-weight:600}.heading-doodle{display:flex;align-items:center;gap:9px}.heading-doodle .doodle{width:28px;height:28px;transform:rotate(-7deg)}body[data-page="today"] .section-head{margin-top:23px;margin-bottom:15px}
body[data-page="today"] .course-list{border:1px solid var(--line);border-radius:17px;background:#fff;padding:0 20px}body[data-page="today"] .course{padding:16px 0;gap:15px;border-bottom:1px dashed #e5e9e1}body[data-page="today"] .course:last-child{border-bottom:0}body[data-page="today"] .course-code{background:#edf5e8;color:#48675a;border-radius:12px 10px 13px 10px;width:45px;height:46px;transform:rotate(-3deg)}body[data-page="today"] .course-code .doodle{width:32px;height:32px}body[data-page="today"] .course:nth-child(3n+2) .course-code{background:#fff1d0;transform:rotate(3deg)}body[data-page="today"] .course:nth-child(3n) .course-code{background:#e6f1fb;transform:rotate(-2deg)}body[data-page="today"] .course-text h3{font-size:14px;font-weight:600}body[data-page="today"] .course-text p{color:#7b8d84;line-height:1.7}body[data-page="today"] .record-btn{background:#f1f6f2;color:#467b69;border:0;border-radius:9px;padding:8px 13px;min-height:34px}body[data-page="today"] .record-btn:hover{background:#dceee1}body[data-page="today"] .record-btn.done{background:#e8f2d6;color:#587331}
body[data-page="today"] .right-column .panel{border:1px solid #e6eae4;background:#fff;padding:23px}body[data-page="today"] .right-column>.panel:first-child{background:#eaf3fa;border:0}body[data-page="today"] .right-column>.panel:first-child .tag{background:#fff;color:#66858a}body[data-page="today"] .summary-numbers{margin-top:22px;gap:35px}body[data-page="today"] .summary-numbers b{font-size:34px;color:#385b68;font-weight:600}body[data-page="today"] .summary-numbers small{color:#718c94}body[data-page="today"] .progress{background:#d5e5ee;height:6px}body[data-page="today"] .progress span{background:#8cb99e}body[data-page="today"] .btn.full{background:#fff;color:#427163;border-color:transparent;min-height:43px;font-size:13px;font-weight:600}body[data-page="today"] .btn.full:hover{background:#f7fcfa}body[data-page="today"] .note-empty{font-size:12px;line-height:1.9;color:#86958b;padding:20px 3px}body[data-page="today"] .note-empty .symbol .doodle{width:45px;height:45px;color:#72917e;transform:rotate(-7deg)}body[data-page="today"] .right-column>.panel:last-child{background:#f0f6e8;border:0}body[data-page="today"] .right-column>.panel:last-child .tag{background:#fff;color:#6b8450}body[data-page="today"] .life-grid{gap:9px}body[data-page="today"] .life-grid button{background:#fff;border:1px solid #e6eae4;border-radius:14px;padding:12px 5px;font-size:12px;transition:transform .15s}body[data-page="today"] .life-grid button:hover{transform:translateY(-2px);border-color:#bad2bd}body[data-page="today"] .life-grid button span{display:flex;justify-content:center;color:#526e62;margin-bottom:6px}body[data-page="today"] .life-grid button .doodle{width:30px;height:30px}body[data-page="today"] .life-grid button:nth-child(2n){background:#fffaf0}body[data-page="today"] .record-card h3{font-size:13px}
@media(min-width:1250px){body[data-page="today"] .columns{grid-template-columns:minmax(0,1.9fr) minmax(290px,1fr)}}
@media(max-width:1250px) and (min-width:1051px){.garden-scene{width:150px;height:135px}body[data-page="today"] .hero h2{font-size:21px}}
@media(max-width:1050px){body[data-page="today"] .hero{min-height:190px}.garden-scene{width:215px;height:150px}}
@media(max-width:700px){.workspace{padding:0 18px}body[data-page="today"] h1{font-size:25px}body[data-page="today"] .page-heading{margin-bottom:19px}body[data-page="today"] .week-strip{padding:6px;gap:4px;border-radius:15px;margin-bottom:19px}body[data-page="today"] .day{font-size:10px;padding:6px 1px;border-radius:10px}body[data-page="today"] .day strong{font-size:20px}body[data-page="today"] .hero{padding:21px 20px;min-height:196px;border-radius:18px;align-items:flex-start}body[data-page="today"] .hero>div:first-child{position:relative;z-index:1;max-width:77%}body[data-page="today"] .hero h2{font-size:20px;line-height:1.65;max-width:250px;margin:10px 0 7px}body[data-page="today"] .hero p{max-width:210px;font-size:11px;margin-bottom:10px}body[data-page="today"] .hero .eyebrow{font-size:8px}body[data-page="today"] .hero-art{position:absolute;right:-16px;bottom:6px;transform:rotate(-5deg)}.garden-scene{width:133px;height:109px}body[data-page="today"] .hero .tag{font-size:10px;padding:4px 8px}body[data-page="today"] .section-head h2{font-size:18px}body[data-page="today"] .section-head{margin-top:21px}body[data-page="today"] .course-list{padding:0 15px;border-radius:15px}body[data-page="today"] .course{gap:11px;padding:14px 0}body[data-page="today"] .course-code{width:39px;height:41px;border-radius:11px}body[data-page="today"] .course-code .doodle{width:29px;height:29px}body[data-page="today"] .course-text h3{font-size:13px}body[data-page="today"] .course-text p{font-size:10px}body[data-page="today"] .record-btn{font-size:11px;padding:7px 10px}.heading-doodle{gap:6px}.heading-doodle .doodle{width:24px;height:24px}body[data-page="today"] .right-column>.panel:first-child{margin-top:10px}body[data-page="today"] .right-column .panel{padding:21px}#mobile-nav a{padding:7px 14px;border-radius:12px}#mobile-nav a.active{background:#ffedac;color:#4d6655}#mobile-nav .nav-icon .doodle{width:23px;height:23px;margin:0 auto 3px}#mobile-nav{background:#fffef9f5;border-color:#eeeade}.floating{border-radius:16px 19px 15px 18px;padding:10px 15px;font-size:12px}.sidebar nav a.active{background:#e1f0eb}.page-heading .muted{font-size:11px}}

/* Flexible journal MVP */
.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.plan-task{padding:18px 0;border-bottom:1px dashed var(--line);margin-bottom:15px}.plan-task input,.plan-task select{max-width:100%}.todo-row{padding:12px 0;border-bottom:1px dashed var(--line)}.todo-row label{display:flex;align-items:center;gap:10px;margin:0}.todo-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--green)}.todo-done{text-decoration:line-through;color:var(--muted)}.week-overview{display:flex;gap:14px;text-align:left;width:100%;border:0;border-bottom:1px dashed var(--line);background:none;padding:14px 0;color:var(--ink)}.week-overview b{flex-shrink:0}.week-overview span{font-size:12px;color:var(--muted)}.template-options{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}.template-options summary{cursor:pointer;color:var(--muted)}.saved-report-body{margin-bottom:24px}.period label{margin:0}.summary-numbers{flex-wrap:wrap}.hero .summary-numbers{margin:15px 0 0}.course-text,.record-top h3{min-width:0;overflow-wrap:anywhere}.period{flex-wrap:wrap}.report-toolbar{flex-wrap:wrap}@media(max-width:600px){.period input{width:100%;min-width:0}.period label{flex:1;min-width:120px}.plan-task .form-grid{grid-template-columns:1fr}.hero-art{max-width:110px;flex-shrink:0}.hero .summary-numbers{gap:15px}.summary-numbers b{font-size:34px}.hero h2{font-size:22px}.course{flex-wrap:wrap}.course-text{flex:1}}

@media(max-width:700px){body[data-page="today"] .hero>div:first-child{max-width:100%}body[data-page="today"] .hero h2{max-width:100%;font-size:20px}.hero .summary-numbers{max-width:240px}}
