:root{--bg:#f6f8f6;--card:#fff;--ink:#233331;--muted:#71817c;--line:#e3e9e5;--green:#287d63;--green-dark:#17634d;--green-light:#eaf5ed;--violet:#6761a8;--shadow:0 9px 32px rgba(20,54,43,.04)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 13% -7%,#eaf3e9 0,transparent 41%),var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-size:14px;line-height:1.6}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #a1cbbb;outline-offset:2px}button:disabled{opacity:.5;cursor:default}.app{max-width:1350px;padding:28px 28px 66px;margin:0 auto}
.header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.brand{display:flex;gap:13px;align-items:center}.logo{width:50px;height:50px;border-radius:17px;background:#277c62;display:grid;place-items:center;color:white;box-shadow:0 9px 22px #287d6326}.brand h1{font-size:24px;line-height:1.25;letter-spacing:-.6px;margin:0;font-weight:780}.brand p{margin:4px 0 0;color:var(--muted);font-size:13px}.header-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{border:1px solid var(--line);background:white;color:#466058;border-radius:11px;padding:10px 14px;font-weight:640;transition:.16s}.btn:hover{border-color:#98b9aa;background:#f7fbf8}.btn-primary{background:var(--green);color:#fff;border-color:var(--green)}.btn-primary:hover{background:var(--green-dark);color:#fff}.btn-quiet{background:transparent;border-color:transparent;color:var(--muted)}.btn-quiet:hover{background:#f4f8f5}.btn-small{padding:7px 10px;font-size:12px}.section{background:var(--card);border:1px solid #e8ede9;box-shadow:var(--shadow);border-radius:20px}.intro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}.eyebrow{color:var(--green);font-size:12px;font-weight:750;letter-spacing:1.2px}.intro h2{font-weight:780;font-size:26px;letter-spacing:-.5px;margin:3px 0}.intro p{color:var(--muted);margin:0}.datepick{display:flex;gap:9px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:9px 12px}.datepick span{font-size:12px;color:var(--muted);font-weight:700}.datepick input{border:0;background:transparent;color:var(--ink);font-weight:650;max-width:155px;outline:none}
.controls{padding:17px 20px;display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.field label{display:block;font-weight:700;font-size:12px;color:#5b7067;margin-bottom:7px}.interval-line{display:flex;gap:7px;align-items:center}.interval-line input{border:1px solid #dbe5de;border-radius:10px;background:#fcfdfb;padding:9px 11px;width:190px;color:var(--ink);outline:none;font-variant-numeric:tabular-nums}.field-note{color:#8b9691;font-size:11px;margin-top:4px}.control-sep{width:1px;background:var(--line);height:47px}.stepper{display:flex;gap:0;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#fafcfa}.stepper button{padding:5px 13px;border:0;background:transparent;color:#38564c;font-size:21px}.stepper button:hover{background:#eaf5ed}.stepper strong{min-width:66px;padding:7px 6px;text-align:center;font-variant-numeric:tabular-nums;border-inline:1px solid var(--line)}.active-intervals{margin-left:auto;align-self:center;color:#61776c;font-size:12px}.active-intervals strong{color:var(--green)}
.review-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:29px 0 11px}.review-head h3{font-size:17px;margin:0;font-weight:760}.review-head span{color:var(--muted);font-size:12px}.review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.due-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:16px 17px;text-align:left;position:relative;min-height:142px;transition:transform .15s,border-color .15s,box-shadow .15s}.due-card:hover{transform:translateY(-2px);border-color:#9ac6ad;box-shadow:0 12px 30px #29574416}.due-card .card-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#778e83}.number{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#eaf5ed;color:var(--green);font-size:13px;font-weight:750}.due-date{margin-top:13px;font-size:22px;font-weight:780;line-height:1.25}.due-card .count{font-size:12px;margin-top:7px;color:var(--muted);line-height:1.55}.due-card .count.filled{color:var(--green);font-weight:650}.due-card .corner{position:absolute;right:17px;bottom:17px;color:#85a391;font-size:19px}
.work-grid{display:grid;grid-template-columns:minmax(330px,.78fr) minmax(0,1.45fr);gap:16px;align-items:start}.calendar-section{padding:19px 18px}.calendar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-top h3{margin:0;font-size:17px}.month-nav{display:flex;align-items:center;gap:7px}.month-nav strong{font-size:14px;min-width:90px;text-align:center}.navbtn{width:31px;height:31px;border-radius:9px;background:#fff;border:1px solid var(--line);font-size:19px;color:#456859;display:grid;place-items:center}.navbtn:hover{background:var(--green-light)}.weekdays,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays{text-align:center;margin-bottom:8px;color:#96a29a;font-size:11px;font-weight:740}.day{min-height:52px;border:1px solid transparent;background:transparent;color:#3b4944;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-weight:660;position:relative}.day:hover{background:#f1f7f2}.day.empty{pointer-events:none}.day.today:not(.selected){border:1px solid #bbd8c7}.day.due:not(.selected){background:#edf6f0;color:var(--green-dark)}.day.selected{background:#287d63;color:#fff;box-shadow:0 4px 11px #287d6335}.day .dot{width:5px;height:5px;border-radius:50%;background:#678ec5}.day.selected .dot{background:#e8fff4}.day.faded{opacity:.4}.legend{margin-top:17px;display:flex;flex-wrap:wrap;align-items:center;gap:15px;font-size:11px;color:#7a8982;border-top:1px solid #edf1ee;padding-top:15px}.legend i{display:inline-block;width:10px;height:10px;border-radius:4px;vertical-align:middle;margin-right:5px}.legend .saved{background:#678ec5;border-radius:50%;width:7px;height:7px}.legend .due{background:#cce9d3}.legend .now{border:1px solid #8ebba2}
.notes-section{padding:20px;min-height:365px}.notes-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:16px;border-bottom:1px solid #eef0ed}.notes-header .tag{font-weight:750;font-size:11px;color:var(--violet);letter-spacing:.7px}.notes-header h3{font-size:20px;margin:3px 0;font-weight:790}.notes-header p{color:var(--muted);margin:2px 0;font-size:12px}.notes-header .right{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.notes-items{margin:18px 0 0;display:flex;flex-direction:column;gap:15px}.empty-state{text-align:center;color:var(--muted);padding:50px 14px 42px}.empty-graphic{width:69px;height:69px;border-radius:23px;margin:auto;background:#f0f5f0;color:#629880;display:grid;place-items:center;font-size:30px}.empty-state h4{color:#465a50;margin:17px 0 4px;font-size:15px}.empty-state p{max-width:340px;margin:0 auto;font-size:12px;line-height:1.9}
.note-card{border:1px solid #e6ece6;border-radius:15px;overflow:hidden;background:#fcfdfc}.note-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 14px;background:#fafcf9}.note-bar h4{margin:0;font-size:15px;line-height:1.35;overflow-wrap:anywhere}.note-actions{display:flex;gap:4px;flex-shrink:0}.note-media{background:#fff;position:relative;padding:12px 12px 15px;text-align:center}.note-image{display:block;max-width:100%;max-height:520px;margin:auto;border-radius:7px;object-fit:contain}.mind-svg{display:block;width:100%;height:auto;max-height:460px}.recall-cover{position:absolute;inset:0;background:#f1f7f2ed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:100%;border:0;color:#356c55;backdrop-filter:blur(8px)}.recall-cover span:first-child{font-size:29px}.recall-cover strong{font-size:15px}.recall-cover small{font-size:12px;color:#738f80}.note-caption{font-size:11px;color:#91a098;text-align:center;padding:0 12px 12px;background:#fff}
.editor{margin-top:16px;border:1px solid #bedacd;border-radius:16px;padding:19px;background:#fafdFA}.editor-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.editor h4{margin:0;font-size:17px}.editor-tabs{display:flex;gap:6px;padding:4px;border:1px solid #e2eae4;background:#f1f5f0;border-radius:12px;width:max-content;margin-bottom:15px}.editor-tabs button{border:0;border-radius:9px;color:#688075;background:transparent;padding:7px 12px;font-weight:660;font-size:12px}.editor-tabs button.active{background:#fff;color:var(--green);box-shadow:0 2px 7px #265d4514}.text-field{margin-bottom:12px}.text-field label{font-size:12px;font-weight:700;color:#587269;display:block;margin-bottom:6px}.text-field input,.text-field textarea{width:100%;border:1px solid #dae8dd;background:#fff;color:var(--ink);padding:10px 12px;border-radius:10px;outline:none}.text-field textarea{resize:vertical;min-height:125px;line-height:1.8}.hint{color:#87988d;font-size:11px;line-height:1.7}.preview{border:1px dashed #d7e5d9;border-radius:12px;margin:12px 0;padding:8px;background:#fff}.preview-title{margin:3px 7px;color:#8b9c91;font-size:11px}.preview .mind-svg{max-height:260px}.upload{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:25px 12px;border:1.5px dashed #b8d0bf;border-radius:13px;background:white;color:#628b74;cursor:pointer;text-align:center}.upload:hover,.upload.dragging{background:#f0faf2;border-color:#3e9472}.upload strong{color:#47745f;font-size:13px}.upload small{color:#8b9f92}.upload img{max-width:100%;max-height:230px;object-fit:contain}.editor-footer{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:15px}.storage-info{margin-top:24px;display:flex;align-items:center;gap:8px;justify-content:center;text-align:center;color:#91a099;font-size:12px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(10px);background:#253e33;color:#fff;padding:12px 20px;border-radius:12px;box-shadow:0 12px 35px #183b2b44;z-index:9;pointer-events:none;opacity:0;transition:.2s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.hide{display:none!important}
@media(max-width:960px){.app{padding:19px 18px 44px}.work-grid{grid-template-columns:1fr 1.2fr}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.active-intervals{margin-left:0;width:100%}}@media(max-width:710px){.header{align-items:flex-start;margin-bottom:24px}.brand h1{font-size:21px}.brand p{font-size:11px}.logo{width:43px;height:43px;border-radius:13px}.header-actions{justify-content:flex-end}.header-actions .btn{padding:7px 9px;font-size:12px}.intro{align-items:flex-start;flex-direction:column}.intro h2{font-size:23px}.datepick{width:100%;justify-content:space-between}.controls{padding:15px;gap:14px}.control-sep{display:none}.work-grid{grid-template-columns:1fr}.review-grid{gap:9px}.due-card{padding:13px;min-height:124px}.due-date{font-size:20px}.notes-section{padding:15px}.calendar-section{padding:18px}.day{min-height:48px}.notes-header{align-items:flex-start;flex-wrap:wrap}.notes-header .right{width:100%;justify-content:flex-start}}
@media(max-width:400px){.app{padding:15px 11px 44px}.header{gap:7px}.brand{gap:7px}.header-actions .btn{padding:6px 7px}.header-actions{gap:3px}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.due-card .corner{right:10px}.due-card{padding:12px}.interval-line input{width:170px}.field{width:100%}}
/* 第二版：日期调度与可调间隔 */
.intro-actions{display:flex;flex-direction:column;align-items:flex-end;gap:9px}.plan-nav{display:flex;gap:7px}.plan-nav .btn{padding:6px 10px;font-size:12px}
.controls-v2{padding:20px 22px;margin-bottom:14px}.settings-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.settings-top h3{font-size:15px;margin:0}.preset-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.preset{padding:9px 14px;border:1px solid #e0e8e2;border-radius:12px;background:#f7faf7;color:#527465;font-weight:650}.preset.active{background:#e5f4eb;border-color:#75ae8c;color:#20694f}.steps-head{margin-top:15px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.steps-head strong{font-size:12px;color:#657e6f}.steps-head small{font-size:11px;color:#86978e}.step-chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:9px}.step-chip{display:inline-flex;align-items:center;gap:5px;padding:8px 8px;background:white;border:1px solid #dbe8e0;border-radius:12px;font-size:12px;color:#315845;min-height:44px}.step-chip.is-off{background:#f7f7f7;color:#9ca9a0}.step-chip input[type=checkbox]{accent-color:#287d63;width:17px;height:17px;cursor:pointer}.step-chip input[type=number]{width:51px;border:0;border-bottom:1px solid #d3ddd6;border-radius:0;padding:3px 0;text-align:center;font-size:16px;font-weight:750;background:transparent;color:inherit;font-variant-numeric:tabular-nums;outline:none}.step-chip .unit{color:#82938a}.step-remove{background:transparent;border:0;border-radius:6px;padding:2px 5px;color:#94a39b;font-size:16px}.step-remove:hover{background:#f7e9e6;color:#a44a4a}.setting-hint{color:#74887c;font-size:12px;margin:13px 0 0;line-height:1.7}.control-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between;margin-top:14px;padding-top:13px;border-top:1px solid #edf0ed}.control-summary .active-intervals{margin:0}
.plan-information{margin-top:-6px;color:#7b8c82;font-size:12px;line-height:1.8}.rest-summary{display:none;margin:-8px 0 18px;padding:11px 14px;border:1px dashed #d8ddd8;border-radius:12px;background:#f5f6f4;color:#74837a;font-size:12px}.rest-summary strong{color:#526459}
.due-card .card-top .number{flex-shrink:0}.due-card .when{margin-top:7px;color:#627e6f;font-size:11px}.due-card .count.unknown{color:#78827d}.due-card .count.filled{color:var(--green)}.due-card .count.external{color:#626faa}.due-card.selected-source{border-color:#2d926c}
.day.rest:not(.selected){background:#f0f1f0;color:#a8ada8}.day .rest-mark{font-size:9px;line-height:1;color:#aab2ad}.day.selected .rest-mark{color:#e7f6ef}.rest-state{margin-top:8px;color:#798d7c;font-size:11px}.note-rest-note{font-size:12px;color:#75887b;margin-top:8px}.empty-state.rest-day .empty-graphic{background:#f1f2f0;color:#9aaa9f}.notes-header .right #restBtn[aria-pressed=true]{background:#e9eeea;border-color:#a6baae;color:#4d7160}
.help-details{margin:2px 0 22px;border:1px solid #e4eae5;border-radius:15px;background:#fdfefd;padding:12px 16px}.help-details summary{cursor:pointer;font-size:12px;font-weight:700;color:#617b6b}.help-details p{font-size:12px;color:#6a7e71;margin:10px 0 2px;line-height:1.8}.help-details strong{color:#3d7259}
@media(max-width:710px){.intro-actions{width:100%;align-items:stretch}.intro-actions .datepick{width:100%}.plan-nav{justify-content:space-between}.controls-v2{padding:16px}.step-chips{gap:7px}.step-chip{padding:7px}.due-card .when{font-size:10px}}
/* 可选的无图过滤，避免把未录入误判为没学 */
.review-tools{display:flex;align-items:center;justify-content:flex-end;gap:13px;flex-wrap:wrap}.view-toggle{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;background:#fff;border:1px solid var(--line);border-radius:9px;color:#4c7561;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer}.view-toggle input{accent-color:var(--green)}
@media(max-width:710px){.review-head{align-items:flex-start;flex-direction:column}.review-tools{justify-content:flex-start}}
/* 补看几天：合并学习日而不是平移间隔 */
.lookback-label{display:flex;align-items:center;gap:8px;color:#637e6d;font-size:12px;font-weight:650}.lookback-label select{border:1px solid #dce6df;background:#fff;border-radius:10px;color:#37654c;padding:7px 9px;font-size:12px;max-width:200px}.due-card .stage-line{color:#4f765e;font-size:12px;font-weight:670;margin-top:5px}.due-card .stage-details{font-size:11px;color:#7f9084;margin-top:2px}
@media(max-width:710px){.lookback-label{justify-content:flex-end}.lookback-label select{width:190px}}

.schedule-panel{padding:19px 22px 18px;margin-bottom:15px;border-color:#cce0d3;background:linear-gradient(110deg,#ffffff,#f7fcf8)}
.schedule-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.schedule-top h3{margin:2px 0 0;font-size:18px;letter-spacing:-.25px}.schedule-inputs{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:15px}.missed-field{display:flex;gap:12px;align-items:center;color:#415c50;font-size:13px;font-weight:700}.missed-input{display:inline-flex;align-items:center;gap:8px;border:1px solid #cbded3;border-radius:10px;padding:5px 11px;background:#fff}.missed-input input{width:56px;text-align:center;font-weight:800;font-size:18px;border:0;background:transparent;color:#26785f}.mode-notice{font-size:12px;color:#789083}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.mode-option{display:flex;gap:13px;align-items:flex-start;border:1.5px solid #dfeae2;border-radius:13px;padding:13px 15px;background:white;cursor:pointer;min-height:78px}.mode-option.active{background:#ebf6ee;border-color:#6eac89;box-shadow:inset 0 0 0 1px #a6cbb2}.mode-option input{margin:4px 0 0;accent-color:#297d63}.mode-option span{display:flex;flex-direction:column;gap:5px}.mode-option strong{font-size:15px}.mode-option small{font-size:12px;color:#6e8479;line-height:1.6}.schedule-result{padding:11px 14px;background:#eaf3ed;border-radius:11px;margin-top:12px;color:#365c49;font-size:13px;line-height:1.75;overflow-wrap:anywhere}.schedule-result strong{color:#1b694c}.schedule-result em{font-style:normal;color:#426959;font-weight:700}.due-card .stage-details{overflow-wrap:anywhere}
@media(max-width:680px){.schedule-panel{padding:16px}.schedule-top h3{font-size:16px}.schedule-top{align-items:flex-start}.schedule-top button{flex-shrink:0}.mode-grid{grid-template-columns:1fr}.mode-option{min-height:0}.mode-notice{width:100%}.schedule-inputs{gap:6px}.schedule-result{font-size:12px}}

/* 4.0: keep the original green layout, give review dates and touch controls room. */
html{-webkit-text-size-adjust:100%;scroll-padding-bottom:110px}
.app{padding-top:max(24px,env(safe-area-inset-top));padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right));padding-bottom:calc(40px + env(safe-area-inset-bottom))}
.app>*{min-width:0}.version{font-size:11px;font-weight:600;color:var(--green);background:var(--green-light);border-radius:7px;padding:3px 6px;vertical-align:middle;letter-spacing:0}
button,.btn,.preset,.navbtn{touch-action:manipulation;min-height:44px}.navbtn{width:44px}.btn-small{font-size:13px}
input,textarea{max-width:100%;scroll-margin-block:100px}.datepick input{min-height:32px}
.header{margin-bottom:24px}.header-actions{max-width:50%}#pwaStatus{flex-basis:100%;text-align:right}
.controls-v2{padding:0;overflow:hidden}.controls-v2>summary{padding:15px 20px;cursor:pointer;list-style:none;min-height:52px}.controls-v2>summary::-webkit-details-marker{display:none}.controls-v2>summary:after{content:'展开 ⌄';font-size:12px;color:var(--muted)}.controls-v2[open]>summary:after{content:'收起 ⌃'}.controls-v2>summary:focus-visible,.storage-details summary:focus-visible{outline:3px solid #a1cbbb;outline-offset:-3px}.controls-v2>.preset-tabs,.controls-v2>.steps-head,.controls-v2>.step-chips,.controls-v2>.control-summary,.controls-v2>.setting-hint{margin-left:20px;margin-right:20px}.controls-v2>.setting-hint{margin-bottom:18px}
.step-chip{gap:0;padding:2px 4px}.step-chip label{display:grid;place-items:center;min-width:40px;min-height:44px}.step-chip .step-remove{min-width:36px;min-height:44px}.step-chip input[type=number]{width:62px;min-height:44px}.step-chip .unit{padding:0 2px}
.schedule-panel{padding:16px 20px}.schedule-top{margin-bottom:10px}.schedule-inputs{margin-bottom:10px}.mode-option{min-height:64px;padding:10px 12px;gap:9px}.mode-option span{gap:2px}.mode-option strong{font-size:14px}.schedule-result{margin-top:10px}.missed-input input{width:68px;min-height:32px}
.review-head{margin-top:24px}.review-head h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px}.due-date{font-size:26px;font-variant-numeric:tabular-nums}.review-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.due-card{min-width:0;color:var(--ink)}.more-review{display:block;margin:0 auto 22px}.stage-details{line-height:1.7}.note-bar{gap:8px}.note-bar h4{min-width:0}.notes-section,.calendar-section{min-width:0}.camera-btn{margin-top:10px;width:100%}.editor-tabs{max-width:100%}.editor-tabs button{min-height:44px}.toast{max-width:min(90vw,520px);width:max-content;bottom:calc(20px + env(safe-area-inset-bottom));overflow-wrap:anywhere}
.save-panel{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;margin-top:22px;background:#edf5ef;border:1px solid #cfdfd2;border-radius:13px;color:#35654b}.save-panel>span{flex:1;min-width:180px;font-size:13px;overflow-wrap:anywhere}.save-panel.failed{background:#fff4ec;border-color:#e9bd96;color:#87431b}.storage-details{margin-top:15px;color:#64786d;font-size:12px}.storage-details summary{cursor:pointer;padding:10px 0}.storage-info{display:block;margin:6px 0 12px;text-align:left;color:#64786d}.storage-details .hint{font-size:12px}.empty-state{padding:34px 12px}.hint,.field-note{color:#6c8072}
@media(max-width:710px){
 .app{padding:calc(16px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
 .header{gap:10px;align-items:center;margin-bottom:20px}.brand{gap:8px}.brand h1{font-size:20px}.brand p{font-size:11px}.logo{width:39px;height:39px;flex-shrink:0}.header-actions{gap:5px;max-width:45%}.header-actions .btn{padding:7px 9px;min-height:44px}.intro h2{font-size:22px}.intro{gap:12px}.intro p{font-size:13px}.eyebrow{font-size:11px}
 .datepick{padding:6px 10px;gap:5px}.datepick span{font-size:11px}.datepick input{font-size:16px;min-width:0;max-width:155px}.plan-nav .btn{font-size:12px;min-height:44px}
 .schedule-panel{padding:12px}.schedule-top h3{font-size:15px}.schedule-top .btn{font-size:12px;padding:7px 10px}.mode-grid{grid-template-columns:1fr 1fr;gap:7px}.mode-option{padding:10px 8px;gap:6px}.mode-option strong{font-size:13px}.mode-option small{font-size:11px}.mode-option input{flex-shrink:0}.mode-notice{font-size:11px}.schedule-result{font-size:12px;padding:9px 10px}.missed-field{font-size:13px}
 .review-head{gap:8px;margin-top:20px}.review-head h3{font-size:16px}.review-tools{width:100%}.view-toggle{min-height:44px}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.due-card{padding:12px;min-height:154px}.due-date{font-size:23px}.due-card .card-top{font-size:11px;gap:5px}.due-card .number{width:23px;height:23px;font-size:11px}.due-card .when{font-size:11px}.plan-information{font-size:11px;margin-bottom:10px}
 .calendar-section{padding:14px 12px}.month-nav{gap:4px}.month-nav strong{min-width:75px;font-size:13px}.calendar-top h3{font-size:15px}.weekdays,.days{gap:2px}.day{min-height:44px}.notes-header .right{gap:5px}.notes-header .right .btn{font-size:12px;padding:8px}.notes-header h3{font-size:20px}.notes-header .tag{font-size:10px}.notes-section{padding:14px 12px}.editor{padding:12px}.text-field input,.text-field textarea{font-size:16px}.note-actions .btn{padding:7px;font-size:12px}.note-media{padding:7px}.controls-v2>summary{padding:12px 14px;gap:6px}.controls-v2>summary strong{font-size:13px}.controls-v2>.preset-tabs,.controls-v2>.steps-head,.controls-v2>.step-chips,.controls-v2>.control-summary,.controls-v2>.setting-hint{margin-left:12px;margin-right:12px}.preset{font-size:12px;padding:8px 10px}.save-panel{padding:10px 12px}.save-panel>span{flex-basis:100%}.help-details{padding:10px 12px}.help-details summary{line-height:1.8}
}
@media(max-width:360px){.logo{display:none}.brand h1{font-size:19px}.header-actions{max-width:49%}.due-date{font-size:21px}.mode-option small{font-size:10px}.step-chip input[type=number]{width:58px}.notes-header .right #addBtn{flex-basis:100%}.datepick span{max-width:95px}.calendar-top{gap:4px}.month-nav strong{min-width:70px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.backup-downloads{margin-bottom:20px;padding:14px;border:1px solid #cfdfd2;border-radius:12px;background:#edf5ef;overflow-wrap:anywhere}.backup-downloads p{margin-top:0}.backup-downloads a{display:inline-flex;align-items:center;margin:4px;text-decoration:none}
@media(max-width:710px){.intro>div>p{display:none}.schedule-top{margin-bottom:4px}.schedule-top h3{font-size:14px}.schedule-inputs{margin-bottom:8px}.mode-notice,.mode-option small{display:none}.mode-option{align-items:center;min-height:44px}.mode-option input{margin-top:0}.schedule-panel:not(.has-missed) .schedule-result{display:none}.plan-information{display:none}.review-head h3 #dueCount{font-size:12px}.due-date{overflow-wrap:anywhere}}
