@charset "UTF-8";
:root{color-scheme:light;--paper:#f7f8f2;--white:#fff;--ink:#253c37;--muted:#687770;--line:#dee5dc;--green:#184d47;--lime:#e7f3b0;--mint:#dceee4;--amber:#f8edc9;--coral:#fae4da;--blue:#dfeaf6;--violet:#ede5f5;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.75;-webkit-text-size-adjust:100%}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,a,input,textarea,select,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #2d7969;outline-offset:4px}button{color:inherit}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:38px;line-height:1.4;font-weight:650;letter-spacing:.02em}h2{font-size:19px;line-height:1.5;font-weight:650}h3{font-size:14px;font-weight:650}svg{flex:none}button{border:0}.wrap{width:min(1060px,calc(100% - 72px));margin-inline:auto}.site-header{display:flex;justify-content:space-between;align-items:center;padding-block:34px 32px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:23px;letter-spacing:.06em;font-weight:700;line-height:1.3}.brand small{display:block;font-size:10px;color:var(--muted);font-weight:500;letter-spacing:.08em;margin-top:5px}.header-link{font-size:12px;text-decoration:none;display:flex;gap:15px;align-items:center;min-height:44px}.header-link span{font-size:21px}.page-intro{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:18px 0 15px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.17em;color:var(--muted);line-height:1.5}.current-date{font-size:12px;color:var(--muted)}.hero{position:relative;overflow:hidden;background:var(--green);border-radius:24px;padding:34px 38px 22px;color:#fff;min-height:325px}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative;z-index:1}.eyebrow.light{color:var(--lime);margin-bottom:9px}.day-switch{display:flex;padding:4px;border:1px solid #ffffff38;border-radius:100px;background:#133d39;align-self:flex-start}.day-switch button{background:none;color:#d1e1d8;border-radius:100px;min-width:63px;min-height:39px;font-size:13px}.day-switch button[aria-pressed=true]{background:var(--lime);color:#21483e;font-weight:650}.hero-date{margin-top:10px;color:#cbdcd4;font-size:13px}.collection-content{position:relative;z-index:1;min-height:110px;margin-top:23px;max-width:80%}.hero-bottom{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.03em;color:#c6dbd0;margin-top:25px}.tiny-dot{display:inline-block;width:5px;height:5px;background:var(--lime);border-radius:50%}.hero-art{position:absolute;right:42px;bottom:-20px;width:160px;height:180px;color:#84b394;opacity:.24;transform:rotate(10deg)}.hero-empty h2{font-size:21px;margin-bottom:5px}.hero-empty p{font-size:13px;color:#d2e1d9}.hero-empty .text-button{color:var(--lime);padding:9px 0;margin-top:8px;text-decoration:underline;text-underline-offset:5px}.hero-collections{display:flex;gap:10px;flex-wrap:wrap}.collection-pill{border-radius:12px;padding:13px 19px;display:flex;align-items:center;gap:10px;font-size:21px;color:#263e35;font-weight:650;overflow-wrap:anywhere}.collection-pill .bag-icon{font-size:20px}.collection-note{font-size:12px;color:#dfebe4;margin-top:10px;overflow-wrap:anywhere}.today-strip{display:flex;align-items:flex-start;gap:18px;padding:18px 7px;border-bottom:1px solid var(--line);font-size:12px}.today-strip>span{color:var(--muted);flex-shrink:0}.today-strip>div{display:flex;gap:6px;flex-wrap:wrap}.small-tag{padding:1px 9px;border-radius:5px;font-size:11px;font-weight:500;overflow-wrap:anywhere}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;margin-top:38px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:20px}.section-heading .eyebrow{margin-bottom:7px}.small-muted{font-size:11px;color:var(--muted)}.week-list{border-top:1px solid var(--line)}.week-row{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;min-height:63px;border-bottom:1px solid var(--line);padding:10px 4px}.week-date{font-size:12px;line-height:1.5}.week-date strong{font-size:16px;font-variant-numeric:tabular-nums;letter-spacing:.01em}.week-date .relative{display:block;color:var(--muted);font-size:9px;letter-spacing:.07em}.week-date .sunday{color:#a15d49}.week-date .saturday{color:#52799e}.week-items{display:flex;gap:5px;flex-wrap:wrap}.week-empty{font-size:12px;color:#78847a}.count{border:1px solid var(--line);border-radius:100%;width:29px;height:29px;display:grid;place-items:center;font-size:12px}.rules-list{display:grid;gap:10px}.rule-card{border:1px solid var(--line);background:var(--white);border-radius:13px;padding:17px 18px}.rule-top{display:flex;align-items:center;gap:9px}.rule-name{font-size:15px;font-weight:650;overflow-wrap:anywhere;min-width:0}.color-dot{height:10px;width:10px;border-radius:100%;flex-shrink:0;border:1px solid #273c361f}.rule-top .color-dot{height:12px;width:12px}.rule-actions{display:flex;gap:0;margin-left:auto;flex-shrink:0}.rule-actions button{font-size:11px;background:none;min-width:42px;min-height:40px;color:var(--muted);padding:5px}.rule-actions button:hover{color:var(--green);background:var(--paper);border-radius:7px}.rule-schedule{font-size:12px;color:#52685d;margin-top:4px;overflow-wrap:anywhere}.rule-memo{font-size:11px;color:var(--muted);margin-top:7px;overflow-wrap:anywhere;white-space:pre-line}.next-date{margin-top:12px;padding-top:10px;border-top:1px solid #edf0e9;font-size:10px;color:var(--muted)}.next-date strong{font-weight:600;color:#3d5d4c}.rules-empty{border:1px dashed #bcccbf;border-radius:13px;padding:28px 22px;text-align:center}.empty-mark{color:#6f8c6a;display:inline-grid;place-items:center;background:#eaf0e1;width:43px;height:43px;border-radius:50%;font-size:24px;margin-bottom:12px}.rules-empty h3{font-size:14px}.rules-empty p{font-size:12px;color:var(--muted);margin-top:5px}.button{min-height:46px;padding:10px 20px;border-radius:10px;font-size:13px;font-weight:600;transition:background-color .15s}.button-primary{background:var(--green);color:white}.button-primary:hover{background:#24625a}.button-secondary{background:#edf0e8;color:#465b50}.button-add{width:100%;background:transparent;border:1px solid #9fbaa5;color:var(--green);margin-top:13px}.button-add:hover{background:#edf2e5}.button-add span{font-size:19px;font-weight:400;margin-right:4px;vertical-align:-1px}.storage-note{display:flex;justify-content:center;align-items:flex-start;gap:7px;font-size:10px;color:var(--muted);margin-top:13px}.storage-note svg{margin-top:2px}.notice{display:flex;gap:13px;padding:19px 23px;border-radius:12px;background:#edf0e5;margin-top:38px}.notice h2{font-size:12px;margin-bottom:4px}.notice p{font-size:11px;color:#637061;line-height:1.8}.info-icon{width:17px;height:17px;display:inline-grid;place-items:center;flex-shrink:0;border:1px solid #8c9a79;border-radius:50%;font-family:Georgia,serif;font-size:12px;color:#6f7d62;margin-top:2px}.warning{display:block;margin:0 0 15px;background:#fff0d6;color:#704a11;font-size:13px}.help{margin-top:14px;color:var(--muted);font-size:11px;padding:8px 4px}.help summary{cursor:pointer;min-height:36px;padding:7px 0}.help>div{padding:8px 12px}.help p+p{margin-top:9px}.site-footer{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#7e8b80;padding-block:38px 28px}.site-footer>span:first-child{font-size:13px;font-weight:600;letter-spacing:.06em}.mint{background:var(--mint)}.amber{background:var(--amber)}.coral{background:var(--coral)}.blue{background:var(--blue)}.violet{background:var(--violet)}
dialog{width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:20px;color:var(--ink);box-shadow:0 28px 90px #0a2d2933;overflow:auto;background:var(--white)}dialog::backdrop{background:#132e2877;backdrop-filter:blur(3px)}body.modal-open{overflow:hidden}.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:24px 26px 14px;gap:12px}.dialog-heading h2{margin-top:5px;font-size:23px}.icon-button{background:#f1f4ec;border-radius:50%;font-size:25px;width:40px;height:40px;line-height:1;flex-shrink:0}.dialog-body{padding:0 26px 20px}.form-intro{font-size:12px;color:var(--muted);margin-bottom:20px}.field-label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}.required,.optional{font-size:10px;font-weight:400;margin-left:5px;color:#6a7e6c}.required{color:#527159}.field-help{font-size:10px;color:var(--muted);margin:2px 0 0;line-height:1.8}input[type=text],textarea,select{width:100%;border:1px solid #cbd7cc;background:#fff;color:var(--ink);border-radius:8px;padding:11px 12px;font-size:16px}input::placeholder,textarea::placeholder{color:#89948b;font-size:13px}textarea{resize:vertical;min-height:82px}.color-field{border:0;margin:18px 0;padding:0}.color-options{display:flex;gap:10px}.color-option{display:flex;position:relative;min-height:44px;min-width:44px;cursor:pointer}.color-option input{position:absolute;opacity:0;width:1px;height:1px}.color-swatch{width:38px;height:38px;border-radius:50%;margin:auto;display:grid;place-items:center;border:1px solid #314a3626}.color-option input:checked+.color-swatch{outline:2px solid var(--green);outline-offset:3px}.color-option input:checked+.color-swatch:after{content:'✓';font-size:17px;color:#274c3b}.color-option input:focus-visible+.color-swatch{outline:3px solid #2d7969;outline-offset:3px}.field-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:21px 0 10px}.field-heading>span{font-size:10px;color:var(--muted)}.schedule-row{background:#f7f9f4;border:1px solid #e0e7db;border-radius:11px;padding:14px;margin-top:10px}.schedule-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px}.schedule-header label{font-size:12px;display:flex;align-items:center;gap:9px;min-width:0}.schedule-header select{font-size:13px;padding:8px;width:auto;min-height:42px}.schedule-remove{background:none;font-size:11px;color:#687b69;min-height:42px;min-width:36px;padding:4px}.choice-set{margin:0;padding:0;border:0}.choice-set legend{font-size:11px;color:#617360;margin-bottom:8px}.choice-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.week-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.choice{position:relative;cursor:pointer;display:block;min-width:0}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice span{display:grid;place-items:center;min-height:43px;border:1px solid #cfdbcc;background:white;border-radius:7px;font-size:12px;color:#61725f}.choice input:checked+span{background:var(--green);border-color:var(--green);color:#fff;font-weight:650}.choice input:focus-visible+span{outline:3px solid #2d7969;outline-offset:2px}.weeks-field{margin-top:13px}.monthly-hint{margin-top:9px;font-size:10px;color:#687760}.text-button{background:none;color:var(--green);font-size:12px;padding:10px 0;min-height:44px}.memo-label{margin-top:20px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding:17px 26px;background:#fff;position:sticky;bottom:0;z-index:3}.form-error{font-size:12px;background:#fff1e9;color:#a3472e;border-radius:7px;padding:12px;margin-top:12px}.confirm-dialog{max-width:440px}.confirm-dialog .dialog-body{padding-top:27px}.confirm-dialog h2{font-size:20px;margin:10px 0 13px}.confirm-dialog p{overflow-wrap:anywhere}.confirm-dialog .small-muted{margin-top:10px}.button-danger{background:#a64b37;color:white}.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);padding:12px 22px;background:#163d35;color:white;font-size:13px;border-radius:100px;box-shadow:0 3px 20px #173c2b24;z-index:10;width:max-content;max-width:calc(100% - 32px);text-align:center}.skip-link{position:absolute;left:15px;top:-60px;z-index:20;background:white;padding:12px}.skip-link:focus{top:12px}.noscript{position:fixed;inset:auto 0 0;background:#fff0d6;padding:18px;text-align:center}[hidden]{display:none!important}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.site-header{padding:24px 0 22px}.brand{font-size:22px;gap:10px}.header-link{font-size:11px;gap:8px}.page-intro{margin-top:12px}.page-intro .eyebrow{font-size:8px;letter-spacing:.12em}.current-date{font-size:10px}.hero{padding:25px 23px 21px;border-radius:20px;min-height:315px}h1{font-size:28px}.hero-top{gap:10px;align-items:flex-start}.hero-top .light{font-size:9px;letter-spacing:.16em}.day-switch{padding:3px;gap:0;margin-top:0}.day-switch button{min-width:42px;min-height:34px;font-size:11px}.hero-date{font-size:12px;margin-top:12px}.collection-content{max-width:100%;margin-top:27px;min-height:112px}.hero-art{right:5px;width:120px;bottom:-24px;opacity:.17}.collection-pill{font-size:18px;padding:12px 14px;gap:8px}.hero-empty h2{font-size:19px}.hero-empty p{font-size:12px}.hero-bottom{font-size:9px;margin-top:23px}.today-strip{font-size:11px;gap:13px;padding:16px 3px}.content-grid{display:flex;flex-direction:column;gap:30px;margin-top:31px}.section-heading{margin-bottom:16px}.section-heading h2{font-size:18px}.section-heading .eyebrow{font-size:9px;margin-bottom:6px}.week-row{min-height:58px;grid-template-columns:70px minmax(0,1fr)}.rule-card{padding:13px 16px}.notice{margin-top:27px;padding:17px 17px;gap:10px}.notice h2{font-size:11px}.notice p{font-size:10px}.site-footer{padding-block:26px 28px;align-items:center;font-size:9px}.dialog-heading{padding:20px 19px 13px}.dialog-heading h2{font-size:21px}.dialog-body{padding:0 19px 18px}.dialog-actions{padding:14px 19px max(14px,env(safe-area-inset-bottom));gap:8px}.dialog-actions .button{flex:1;font-size:12px;padding-inline:10px}.schedule-row{padding:12px 10px}.choice-grid{gap:4px}.choice span{font-size:12px;min-height:42px}.form-intro{font-size:11px}.field-help{font-size:10px}.schedule-header label{gap:7px}.schedule-header select{font-size:12px;max-width:180px}.toast{bottom:max(22px,env(safe-area-inset-bottom))}}
@media(max-width:360px){.wrap{width:calc(100% - 28px)}.hero{padding:23px 18px 20px}h1{font-size:25px}.day-switch button{min-width:37px}.hero-empty h2{font-size:17px}.collection-pill{font-size:16px}.current-date{font-size:9px}.dialog-body{padding-inline:14px}.schedule-row{padding-inline:8px}.schedule-header select{max-width:160px}.choice span{font-size:11px}.field-heading>span{font-size:9px}.site-footer>span:last-child{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:760px){.hero-top{display:block}.hero-top h1{margin-top:23px}.hero-top .day-switch{position:absolute;right:0;top:-5px}.day-switch button{min-height:38px;min-width:44px}.notice p{font-size:11px}.rule-actions button{min-height:44px}.choice span{min-height:44px}}
.color-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));max-width:260px;gap:6px}.color-option{min-width:0}
