:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;color:#183b32;background:#f3f8f6;font-synthesis:none;line-height:1.7}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button,a,input,summary{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #bd6d27}a{color:#17664e}button{border:0}h1,h2,h3,p{margin:0}h2{font-size:clamp(23px,3vw,30px);line-height:1.5;margin-bottom:12px}h3{font-size:20px;line-height:1.6}fieldset{border:0;margin:0;padding:0}legend{margin-bottom:12px;font-weight:700}.shell{max-width:1000px;margin:auto;padding:0 32px}header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;border-bottom:1px solid #dae7e0;font-size:13px}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-size:23px;font-weight:800;letter-spacing:-1px}.intro{padding:52px 0 32px}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:700;color:#5d796e;margin-bottom:14px}h1{font-size:clamp(34px,5vw,52px);letter-spacing:-.04em;line-height:1.4;margin-bottom:20px}h1 span{color:#08795b}.intro>p:not(.eyebrow){color:#4e675e;font-size:16px}.badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.badges span{font-size:12px;background:#e5f0e9;border-radius:20px;padding:5px 12px}.wizard{background:#fff;border:1px solid #dce8e0;border-radius:22px;padding:32px 40px;box-shadow:0 12px 40px #214d3610;scroll-margin-top:20px}.progress-meta{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:#4e7565;letter-spacing:.06em}progress{display:block;width:100%;height:5px;appearance:none;border:0;background:#edf3ef;border-radius:8px;margin:12px 0 32px}progress::-webkit-progress-bar{background:#edf3ef;border-radius:8px}progress::-webkit-progress-value{background:#118364;border-radius:8px}progress::-moz-progress-bar{background:#118364;border-radius:8px}.hint{font-size:14px;color:#5b6f67;line-height:1.8}.step>.hint{margin-bottom:22px}.choices{display:grid;gap:14px;margin:20px 0}.choice{display:flex;align-items:center;gap:16px;padding:22px;border:1px solid #cbded3;border-radius:14px;cursor:pointer;background:#fcfefd}.choice:has(input:checked){background:#eaf6ef;border:2px solid #08795b;padding:21px}.choice strong{display:block;font-size:22px}.choice small{display:block;font-size:13px;color:#526d60;margin-top:4px}input[type=radio],input[type=checkbox]{accent-color:#08795b;width:20px;height:20px;flex-shrink:0}.grades{grid-template-columns:repeat(3,1fr)}.grades .choice{justify-content:center;padding:20px 12px;gap:8px}.grades .choice:has(input:checked){padding:19px 11px}.field-label{display:block;font-weight:700;margin:20px 0 8px}.field-label span{font-size:13px;font-weight:400}input[type=date],input[type=number]{width:100%;min-width:0;min-height:52px;padding:10px 14px;border:1px solid #bdd3c6;border-radius:9px;color:#183b32;background:#fff;font-size:18px}input[type=date]{max-width:360px}.presets{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.presets button{background:#edf5f0;border:1px solid #d0e3d7;color:#1a6149;padding:10px 14px;min-height:44px;border-radius:8px;font-size:14px}.presets button:hover,.secondary:hover{background:#e2eee6}.goal{margin-top:26px;padding:4px 22px 22px;border-radius:14px;background:#f7f8f1}.number-field{display:flex;gap:12px;align-items:center;margin-bottom:10px}.number-field input{max-width:130px}.number-field span{font-size:14px}details{margin:20px 0;font-size:14px}summary{cursor:pointer;min-height:44px;padding:10px 0;color:#23674f;font-weight:700}details p{margin:8px 0}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.chips legend{width:100%}.chip{display:flex;align-items:center;gap:8px;cursor:pointer;padding:10px 14px;min-height:48px;border:1px solid #cfddd4;border-radius:10px;background:#fff}.chip:has(input:checked){background:#e8f4ec;border-color:#08795b}.chip:has(input:disabled){opacity:.55;cursor:default}.subject-settings{background:#f7faf8;border-radius:12px;padding:4px 18px}.actions{display:flex;gap:12px;justify-content:space-between;margin-top:22px}.primary,.secondary{min-height:48px;padding:12px 22px;border-radius:10px;font-weight:700;font-size:16px}.primary{background:#08795b;color:#fff}.primary:hover{background:#05654b}.secondary{background:#edf4ef;color:#285c47}#next{margin-left:auto;min-width:140px}.error{color:#ab3030;font-size:15px;margin-top:16px}.error:empty{display:none}[hidden]{display:none!important}.result-intro{margin:48px 0 22px}.result-intro>p:last-child{color:#5b6f67;font-size:14px}.result-main{display:grid;grid-template-columns:1fr 1.6fr;overflow:hidden;background:#fff;border:1px solid #cce1d5;border-radius:20px}.countdown{background:#0b7156;color:#fff;padding:30px;display:flex;flex-direction:column;justify-content:center}.countdown strong{font-size:48px;line-height:1.4;margin:8px 0}.countdown span{font-size:13px;color:#e2f0e7}.daily{padding:30px}.daily strong{display:block;font-size:38px;line-height:1.4;color:#08684f;margin:8px 0;overflow-wrap:anywhere}.daily>p{font-size:14px}.notice{padding:18px 22px;margin:18px 0;background:#fff7e9;color:#76511f;border-left:3px solid #d9a253;border-radius:8px;font-size:14px}.result-panel{margin-top:24px;background:#fff;border:1px solid #dce8e0;border-radius:18px;padding:28px}.panel-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:18px}.panel-heading>span{font-size:13px;color:#5b6f67}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px}.comparison article{padding:20px;background:#f2f7f4;border-radius:12px}.comparison article:nth-child(2){background:#f8f6f0}.comparison strong{display:block;font-size:26px;margin:8px 0;color:#185a44}.comparison p{font-size:14px}.comparison+p{margin-top:16px}.allocations{list-style:none;margin:18px 0;padding:0}.allocations li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 20px;border-bottom:1px solid #ebf0ec;padding:14px 0}.subject-name{font-weight:700}.subject-kind{font-size:11px;background:#eff4ef;border-radius:10px;padding:3px 8px;margin-left:8px}.allocation-time{font-size:15px;font-variant-numeric:tabular-nums}.bar-track{grid-column:1/-1;height:6px;background:#eff4ef;border-radius:8px;overflow:hidden}.bar-fill{display:block;height:100%;background:#55a386;border-radius:8px}.gentle-note{padding:28px 8px}.gentle-note p{font-size:14px;margin-top:12px;color:#526b5e}.result-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}footer{padding:36px 0;margin-top:36px;border-top:1px solid #dce8e0;font-size:12px;color:#60776b}footer p{margin:10px 0;max-width:640px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;top:-100px;left:16px;background:#fff;padding:12px;z-index:2}.skip:focus{top:12px}h2:focus{outline:none}@media(max-width:600px){.shell{padding:0 18px}header{padding:18px 0}.brand{font-size:21px}.intro{padding:32px 0 24px}h1{font-size:34px}.intro>p:not(.eyebrow){font-size:14px}.wizard{padding:24px 20px;border-radius:16px}.choice{padding:17px 14px}.choice:has(input:checked){padding:16px 13px}.choice strong{font-size:20px}.choice small{font-size:12px}.grades{grid-template-columns:1fr}.grades .choice{justify-content:flex-start}.goal{padding:4px 16px 18px}.primary,.secondary{padding:12px 16px;font-size:14px}.result-main{grid-template-columns:1fr}.countdown{padding:22px}.countdown strong{font-size:42px}.daily{padding:22px}.daily strong{font-size:32px}.result-panel{padding:22px 18px}.comparison{grid-template-columns:1fr}.comparison article{padding:18px}.allocations li{gap:8px}.allocation-time{font-size:13px}.subject-kind{margin-left:5px}.chip{padding:9px 11px;font-size:14px}.result-actions{flex-direction:column}.result-actions button{width:100%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{header,.intro,.wizard,.result-actions,footer{display:none}.shell{max-width:none}.result-panel,.result-main{break-inside:avoid}.countdown{color:#183b32;background:white}.notice{border:1px solid #ccc}}
/* Daily home: one small action first, details on demand. */
.home-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:42px}.home-header h1{font-size:clamp(30px,4vw,42px);margin:0}.home-header .eyebrow{margin-bottom:8px}.cat{width:84px;height:84px;flex-shrink:0}#home-summary{margin:12px 0 24px}.today-card{padding:34px;background:#fff;border:1px solid #d6e5dc;border-radius:22px;box-shadow:0 12px 35px #214d360a}.today-card h2{font-size:34px}.today-card>p:not(.eyebrow){color:#526b5e;font-size:15px}.today-card .primary{display:block;width:100%;margin-top:24px;min-height:56px;font-size:20px}.text-button{display:block;margin:12px auto 0;padding:10px;background:none;color:#336b54;font-size:14px;text-decoration:underline;text-underline-offset:4px}.day-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0 8px}.day-modes legend{font-size:14px}.day-modes label{display:flex;position:relative;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 8px;cursor:pointer;border:1px solid #ceded4;padding:12px 8px;border-radius:12px;background:#fff;font-size:14px}.day-modes label:has(:checked){border-color:#08795b;background:#e5f3eb}.day-modes small{display:block;width:100%;text-align:center;color:#5c7568;font-size:11px}.day-modes input{width:16px;height:16px}.pace-hint{font-size:12px}.home-progress{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0 16px;padding:22px;background:#e7f1eb;border-radius:14px}.home-progress span{display:block;font-size:12px;color:#4f6c5d}.home-progress strong{font-size:23px}.home-progress progress{grid-column:1/-1;margin:0}.record-list{padding:0;list-style:none}.record-list li{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid #e5eee8}.record-list span{flex:1;min-width:150px;font-size:14px}.record-list button{min-height:44px;padding:8px 12px;border-radius:8px;background:#edf4ef;color:#285c47}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}td,th{text-align:left;padding:12px 8px;border-bottom:1px solid #e5eee8}#records-panel h3{margin:22px 0 10px}select{width:100%;min-height:48px;border:1px solid #bdd3c6;border-radius:8px;padding:10px;background:#fff;color:#183b32;font:inherit}#availability-form button{margin-top:14px}#availability-list{padding-left:20px}.danger{margin-top:16px;padding:12px 16px;min-height:48px;color:#833d31;background:#faf0ec;border:1px solid #e4c8be;border-radius:10px}.result-panel>summary,#plan-details>summary{font-size:17px}#plan-details{margin-top:24px}dialog{border:1px solid #d6e5dc;border-radius:18px;width:min(520px,calc(100% - 28px));max-height:90svh;overflow:auto;padding:28px;color:#183b32}dialog::backdrop{background:#163b3266}#celebration:not(:empty){margin-top:16px;padding:12px;background:#eef7ef;border-radius:8px}#home-guidance{margin-bottom:24px}@media(max-width:600px){.home-header{margin-top:28px}.cat{width:62px;height:62px}.home-header h1{font-size:29px}.today-card{padding:25px 22px}.today-card h2{font-size:29px}.day-modes{gap:7px}.day-modes label{font-size:12px;padding:12px 4px;gap:5px}.day-modes input{width:14px;height:14px}.home-progress{padding:18px;gap:12px}.home-progress strong{font-size:21px}.result-panel{margin-top:16px}dialog{padding:22px}}
.text-button{min-height:44px}
header>a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:600px){.home-header h1{font-size:clamp(24px,7.4vw,29px)}}


.step-part{border-top:1px solid #dce8e0;margin-top:28px;padding-top:24px}.timer-panel{background:#edf7f3;padding:20px;border-radius:16px;margin-top:20px}.timer-panel label{font-size:14px}.timer-panel output{display:block;text-align:center;font-size:48px;font-weight:800;font-variant-numeric:tabular-nums;color:#0b7156;margin:15px 0}.timer-actions{display:flex;flex-wrap:wrap;gap:10px}.today-card .timer-actions .primary{margin:0;font-size:16px;min-height:48px;width:auto;flex:1}.timer-actions .text-button{margin:0}.affiliate-slot{margin:32px 0 0;padding:18px;border:1px solid #dce8e0;border-radius:12px;font-size:12px;color:#60776b;background:#f7faf8}.affiliate-slot>span{font-weight:700}.affiliate-slot p{margin:6px 0}.affiliate-slot a{display:inline-block;padding:10px 0;min-height:44px}.affiliate-slot .text-button{display:inline-block;margin:0 0 0 15px;font-size:12px}.home-header{background:#163d36;color:white;padding:26px;border-radius:20px}.home-header .eyebrow{color:#b2d8ca}.home-header h1{color:white}@media(max-width:600px){.home-header{padding:20px}.timer-panel{padding:14px}.timer-actions{flex-direction:column}.timer-actions button{width:100%}.affiliate-slot .text-button{margin:0}}
