*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{color:#333;background:#e8f5e9;min-height:100dvh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Hiragino Sans,sans-serif;font-size:16px;line-height:1.6}header{color:#fff;z-index:100;background:#2e7d32;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0003}header h1{letter-spacing:.03em;margin:0;font-size:18px;font-weight:700}.header-buttons{gap:8px;display:flex}.btn-regenerate,.btn-adopt{cursor:pointer;white-space:nowrap;-webkit-appearance:none;border:none;border-radius:20px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:700;transition:opacity .15s;display:flex}.btn-regenerate{color:#2e7d32;background:#fff}.btn-adopt{color:#fff;background:#e67e22}.btn-regenerate:active,.btn-adopt:active{opacity:.7}.btn-regenerate:disabled,.btn-adopt:disabled{opacity:.5;pointer-events:none}.request-area{background:#fff;border-bottom:1px solid #a5d6a7;padding:12px 16px}.request-area label{color:#2e7d32;margin-bottom:6px;font-size:14px;font-weight:700;display:block}.request-input{color:#333;resize:vertical;-webkit-appearance:none;background:#fafff9;border:1.5px solid #a5d6a7;border-radius:10px;outline:none;width:100%;min-height:80px;padding:10px 12px;font-family:inherit;font-size:16px;line-height:1.6}.request-input:focus{border-color:#2e7d32}.start-date-area{background:#fff;border-bottom:1px solid #a5d6a7;align-items:center;gap:8px;padding:10px 16px;display:flex}.start-date-area label{color:#2e7d32;white-space:nowrap;font-size:14px;font-weight:700}.start-date-selector{align-items:center;gap:6px;display:flex}.start-date-selector button{color:#fff;cursor:pointer;-webkit-appearance:none;background:#2e7d32;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;transition:opacity .15s;display:flex}.start-date-selector button:active{opacity:.7}.start-date-display{color:#333;text-align:center;min-width:100px;font-size:16px;font-weight:700}.container{padding:16px 16px 32px}.loading-wrapper{color:#1b5e20;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;display:flex}.spinner{border:4px solid #a5d6a7;border-top-color:#2e7d32;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.day-card{background:#fff;border-radius:16px;margin-bottom:12px;padding:16px;overflow:hidden;box-shadow:0 2px 8px #00000012}.day-card .md-body{font-size:16px;line-height:1.8}.day-card .md-body p{margin:4px 0}.day-card .md-body strong{color:#1b5e20}.day-card .md-body ul,.day-card .md-body ol{margin:4px 0;padding-left:20px}.day-card .md-body li{margin-bottom:4px}.day-card .md-body table{border-collapse:collapse;-webkit-overflow-scrolling:touch;width:100%;font-size:14px;display:block;overflow-x:auto}.day-card .md-body th,.day-card .md-body td{vertical-align:top;white-space:nowrap;border:1px solid #e0e0e0;padding:8px 10px}.day-card .md-body th{color:#1b5e20;background:#e8f5e9;font-weight:700}.day-card .md-body tr:nth-child(2n) td{background:#fafafa}.day-card .md-body tr.today-row td{font-weight:700;background:#ffecb3!important}.day-details summary{cursor:pointer;color:#1b5e20;padding:4px 0;font-size:17px;font-weight:700}.day-details[open] summary{margin-bottom:8px}.summary-card{background:#fff8e1;border-left:4px solid #f9a825;border-radius:16px;margin-bottom:12px;padding:16px;box-shadow:0 2px 8px #00000012}.summary-card .summary-title{color:#f9a825;margin-bottom:8px;font-size:17px;font-weight:700}.summary-card .md-body{color:#555;font-size:16px;line-height:1.8}.summary-card .md-body p{margin:4px 0}.error-msg{text-align:center;color:#999;padding:40px 20px;font-size:15px}.shopping-card{background:#e0f2f1;border-left:4px solid #00897b;border-radius:16px;margin-bottom:12px;padding:16px;box-shadow:0 2px 8px #00000012}.shopping-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.shopping-title{color:#00695c;font-size:16px;font-weight:700}.btn-copy{color:#fff;cursor:pointer;-webkit-appearance:none;background:#00897b;border:none;border-radius:16px;padding:8px 14px;font-size:13px;font-weight:700;transition:opacity .15s}.btn-copy:active{opacity:.7}.shopping-card .md-body{font-size:16px;line-height:1.9}.shopping-card .md-body ul{margin:0;padding-left:20px}.shopping-card .md-body li{margin-bottom:2px}.btn-recipes{color:#2e7d32;cursor:pointer;white-space:nowrap;-webkit-appearance:none;background:#fff;border:none;border-radius:20px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:700;transition:opacity .15s;display:flex}.btn-recipes:active{opacity:.7}.btn-recipes:disabled{opacity:.5;pointer-events:none}.recipe-card{background:#fff;border-radius:16px;padding:16px;overflow:hidden;box-shadow:0 2px 8px #00000012}.recipe-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.recipe-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.recipe-table th,.recipe-table td{vertical-align:top;border:1px solid #e0e0e0;padding:6px 8px}.recipe-table th{color:#1b5e20;background:#e8f5e9;font-weight:700}.recipe-table tr:nth-child(2n) td{background:#fafafa}.recipe-actions{gap:4px;display:flex}.btn-edit,.btn-delete{cursor:pointer;-webkit-appearance:none;border:none;border-radius:12px;padding:4px 10px;font-size:12px;font-weight:700;transition:opacity .15s}.btn-edit{color:#1565c0;background:#e3f2fd}.btn-delete{color:#c62828;background:#ffebee}.btn-edit:active,.btn-delete:active{opacity:.7}.recipe-form-card{background:#fff;border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex;box-shadow:0 2px 8px #00000012}.recipe-form-row{flex-direction:column;gap:4px;display:flex}.recipe-form-row label{color:#2e7d32;font-size:13px;font-weight:700}.required-mark{color:#d32f2f;font-weight:700}.recipe-form-input{color:#333;-webkit-appearance:none;background:#fafff9;border:1.5px solid #a5d6a7;border-radius:8px;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:15px}.recipe-form-input:focus{border-color:#2e7d32}select.recipe-form-input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23E65100' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.recipe-form-buttons{justify-content:flex-end;gap:8px;display:flex}.btn-save-recipe{color:#fff;cursor:pointer;-webkit-appearance:none;background:#e67e22;border:none;border-radius:20px;padding:12px 20px;font-size:15px;font-weight:700;transition:opacity .15s}.btn-save-recipe:active{opacity:.7}.btn-save-recipe:disabled{opacity:.5;pointer-events:none}.prompt-box{background:#fff;border-radius:16px;margin-bottom:12px;padding:16px;box-shadow:0 2px 8px #00000012}.btn-copy-prompt{color:#fff;cursor:pointer;-webkit-appearance:none;background:#2e7d32;border:none;border-radius:20px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 24px;font-size:16px;font-weight:700;transition:opacity .15s;display:flex}.btn-copy-prompt:active{opacity:.7}.prompt-preview{margin-top:12px}.prompt-preview summary{cursor:pointer;color:#888;-webkit-user-select:none;user-select:none;font-size:14px}.prompt-text{white-space:pre-wrap;word-break:break-all;background:#f5f5f5;border-radius:8px;max-height:400px;margin-top:8px;padding:12px;font-size:12px;line-height:1.5;overflow:auto}.section-label{color:#1b5e20;margin-bottom:10px;font-size:15px;font-weight:700}.section-divider{background:#a5d6a7;height:1px;margin:20px 0}.paste-input{color:#333;resize:vertical;-webkit-appearance:none;background:#fafff9;border:2px dashed #a5d6a7;border-radius:12px;outline:none;width:100%;min-height:160px;padding:12px;font-family:inherit;font-size:14px;line-height:1.6}.paste-input:focus{border-style:solid;border-color:#2e7d32}.hint-card{color:#2e7d32;text-align:center;background:#fff8e1;border:1px solid #a5d6a7;border-radius:12px;padding:16px;font-size:14px}.btn-show-latest{color:#2e7d32;cursor:pointer;-webkit-appearance:none;text-align:center;background:#fff;border:1.5px solid #a5d6a7;border-radius:20px;width:100%;padding:12px 20px;font-size:15px;font-weight:700;transition:opacity .15s}.btn-show-latest:active{opacity:.7}.error-card{color:#b71c1c;white-space:pre-wrap;word-break:break-all;background:#fff3f3;border-left:4px solid #e53935;border-radius:16px;margin-bottom:12px;padding:16px;font-size:13px;line-height:1.7}.about-page .container{max-width:640px;margin:0 auto}.about-header{text-align:center;padding:12px 0 16px}.about-app-name{color:#1b5e20;margin:0;font-size:20px;font-weight:700}.about-app-desc{color:#666;margin:4px 0 0;font-size:14px}.accordion-card{background:#fff;border-radius:16px;margin-bottom:8px;overflow:hidden;box-shadow:0 2px 8px #00000012}.accordion-trigger{color:#333;cursor:pointer;text-align:left;-webkit-appearance:none;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:14px 16px;font-size:15px;font-weight:700;display:flex}.accordion-arrow{color:#999;flex-shrink:0;transition:transform .2s}.accordion-arrow.open{transform:rotate(180deg)}.accordion-body{border-top:1px solid #eee;padding:0 16px 16px}.section-content{color:#555;padding-top:12px;font-size:14px;line-height:1.8}.section-content p{margin:0 0 10px}.section-content h3{color:#333;margin:16px 0 6px;font-size:14px;font-weight:700}.section-content ul{margin:0 0 10px;padding-left:20px}.section-content li{margin-bottom:6px}.section-content strong{color:#1b5e20}.last-updated{color:#aaa;margin-top:16px;font-size:12px}.info-box{color:#1b5e20;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:12px;margin-bottom:16px;padding:12px 14px;font-size:14px;line-height:1.7}.step-card{background:#fff;border:1px solid #e0e0e0;border-radius:16px;margin-bottom:12px;overflow:hidden}.step-header{color:#fff;align-items:center;gap:10px;padding:10px 14px;font-size:15px;font-weight:700;display:flex}.step-number{background:#ffffffe6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:900;display:flex}.step-green{background:#2e7d32}.step-green .step-number{color:#2e7d32}.step-blue{background:#1565c0}.step-blue .step-number{color:#1565c0}.step-purple{background:#6a1b9a}.step-purple .step-number{color:#6a1b9a}.step-orange{background:#e67e22}.step-orange .step-number{color:#e67e22}.step-body{padding:12px 14px}.step-body p{color:#555;margin:0;font-size:14px;line-height:1.7}.notice-box{color:#6d4c00;background:#fff8e1;border:1px solid #ffe082;border-radius:12px;margin-top:8px;padding:12px 14px;font-size:14px}.notice-box strong{color:#e67e22;margin-bottom:8px;display:block}.notice-box ul{margin:0;padding-left:18px}.notice-box li{margin-bottom:4px;line-height:1.6}.faq-item{margin-bottom:14px}.faq-q{color:#333;margin:0 0 4px;font-size:14px;font-weight:700}.faq-a{color:#666;margin:0;font-size:14px;line-height:1.7}.about-footer{text-align:center;color:#aaa;padding:20px 0 8px;font-size:12px}.app-footer{text-align:center;padding:24px 16px 16px;font-size:13px;line-height:2}.footer-link{color:#2e7d32;text-decoration:none}.footer-link:hover{text-decoration:underline}.footer-sep{color:#ccc;margin:0 6px}.footer-copy{color:#aaa;margin-top:4px;font-size:12px}
