:root{color:#17231f;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f6f4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:not(:disabled),.download-button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #b86b1c}.app-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{color:#fff;background:#173f35;border-bottom:4px solid #b8cf73}.header-inner,.main-content,.footer-inner{width:min(1080px,100% - 40px);margin-inline:auto}.header-inner{padding:24px 0}.section-kicker{color:#557064;letter-spacing:.11em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:700}h1,h2,h3,p{overflow-wrap:anywhere}h1{letter-spacing:.02em;margin:0;font-size:clamp(1.75rem,4vw,2.5rem)}.main-content{flex:1;padding:28px 0 64px}.section-heading h2,.clear-panel h2{margin:0;font-size:1.25rem}.clear-panel p{color:#3d5148;margin:8px 0 0;line-height:1.7}.content-section{margin-top:0}.section-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;display:flex}.count-badge{color:#52625b;white-space:nowrap;background:#e7ebe8;border-radius:999px;padding:6px 11px;font-size:.84rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px;display:grid}.form-card{background:#fff;border:1px solid #d6ddd9;border-radius:10px;padding:24px;box-shadow:0 4px 18px #1f322a0f}.card-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.status{border-radius:4px;padding:5px 9px;font-size:.76rem;font-weight:700}.status-planned{color:#6b561b;background:#f7ebbd}.status-available{color:#28552f;background:#dcefdc}.form-category{color:#68766f;text-align:right;font-size:.78rem}.form-card h3{margin:18px 0 10px;font-size:1.08rem;line-height:1.55}.form-card p{color:#57655e;min-height:3.4em;margin:0;font-size:.92rem;line-height:1.7}.form-card button,.clear-panel button{border:1px solid #bcc6c1;border-radius:6px;min-height:44px;margin-top:22px;padding:10px 18px;font-weight:700}.form-card button:not(:disabled),.primary-button{color:#fff;background:#225b4c;border-color:#225b4c}.form-card button:not(:disabled):hover,.primary-button:hover:not(:disabled){background:#173f35}button:disabled{color:#65706b;cursor:not-allowed;background:#edf0ee}.clear-panel{background:#fff;border:1px solid #d6ddd9;border-left:4px solid #7f9389;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:24px;margin-top:36px;padding:24px;display:grid}.clear-panel button{margin-top:0}.workspace{margin-top:48px;scroll-margin-top:20px}.workspace-loading{background:#fff;border:1px solid #d6ddd9;border-radius:8px;margin:48px 0 0;padding:24px}.workspace-heading{color:#fff;background:#264f43;border-radius:10px 10px 0 0;padding:26px 28px}.workspace-heading .section-kicker{color:#d9e5bc}.workspace-heading h2,.generated-heading h2{margin:0;font-size:1.45rem}.workspace-heading>p:last-child,.generated-heading p{margin:9px 0 0;line-height:1.7}.form-editor{background:#fff;border:1px solid #d6ddd9;border-top:0;border-radius:0 0 10px 10px;padding:26px}.validation-summary{color:#6a261f;background:#fff1ef;border:1px solid #d89a93;border-radius:7px;margin-bottom:20px;padding:16px 18px}.validation-summary h3,.validation-summary p{margin:0}.validation-summary p{margin-top:6px}.form-section-panel{border:1px solid #ccd5d0;border-radius:8px;margin-top:14px}.form-section-panel:first-of-type{margin-top:0}.form-section-panel>summary{color:#203c33;cursor:pointer;background:#edf2ef;border-radius:7px;justify-content:space-between;align-items:center;min-height:50px;padding:13px 17px;font-weight:750;display:flex}.form-section-panel[open]>summary{border-bottom:1px solid #ccd5d0;border-radius:7px 7px 0 0}.form-section-panel>p{color:#596a62;margin:18px 20px 0;line-height:1.65}.section-error-count{color:#852f25;background:#fff;border-radius:999px;padding:3px 8px;font-size:.78rem}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px;padding:22px 20px 24px;display:grid}.form-field{min-width:0}.form-field>label{color:#263a32;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:7px;font-size:.9rem;font-weight:700;display:flex}.form-field input:not([type=checkbox]),.form-field select,.form-field textarea{color:#17231f;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #9eada6;border-radius:5px;padding:9px 11px}.form-field textarea{resize:vertical;min-height:104px}.form-field>p,.checkbox-field>p{color:#607068;margin:7px 0 0;font-size:.8rem;line-height:1.55}.form-field .character-count{color:#4f6359;font-variant-numeric:tabular-nums;text-align:right;margin-left:auto}.checkbox-field{background:#f5f7f6;border-radius:6px;grid-column:span 2;padding:12px 14px}.checkbox-field>label{cursor:pointer;align-items:flex-start;gap:10px;margin:0;display:flex}.checkbox-field input{accent-color:#225b4c;width:20px;height:20px;margin:1px 0 0}.required-mark,.sensitive-mark{border-radius:3px;padding:2px 6px;font-size:.68rem}.required-mark{color:#fff;background:#8b3a31}.sensitive-mark{color:#655217;background:#f4e7b2}.field-invalid input:not([type=checkbox]),.field-invalid select,.field-invalid textarea{border-color:#b44d42;box-shadow:0 0 0 1px #b44d42}.field-errors{color:#862d24;margin:7px 0 0;padding-left:1.35em;font-size:.82rem;line-height:1.5}.generation-actions{background:#eef6e4;border:1px solid #bed28c;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;margin-top:28px;padding:22px;display:flex}.generation-actions h3,.generation-actions p{margin:0}.generation-actions p{color:#465a50;margin-top:7px;line-height:1.6}.primary-button,.secondary-button,.danger-button,.download-button{min-height:44px;font:inherit;white-space:nowrap;border:1px solid #a9b6b0;border-radius:6px;padding:10px 17px;font-weight:700;text-decoration:none}.secondary-button{color:#294139;background:#fff}.danger-button{color:#fff;background:#8a342b;border-color:#8a342b}.workspace-status{color:#3c5449;min-height:1.5em;margin:12px 0 0;font-weight:650}.generated-panel{background:#fff;border:1px solid #cdd6d1;border-radius:10px;margin-top:32px;padding:25px}.generated-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.generated-buttons,.clear-confirmation{align-items:center;gap:10px;display:flex}.download-button{color:#fff;background:#225b4c;border-color:#225b4c;place-items:center;display:inline-grid}.pdf-pages{background:#dde2df;border-radius:7px;gap:24px;margin-top:24px;padding:20px;display:grid}.pdf-page{text-align:center;margin:0}.pdf-page canvas{background:#fff;width:min(100%,900px);height:auto;margin-inline:auto;display:block;box-shadow:0 2px 12px #1629212b}.pdf-page figcaption{color:#52635b;margin-top:8px;font-size:.8rem}.preview-loading,.preview-error{margin:22px 0 0}.clear-confirmation{flex-wrap:wrap;justify-content:flex-end}.clear-confirmation p{color:#6a261f;text-align:right;flex-basis:100%;margin:0;font-weight:700}footer{color:#5c6a64;background:#e8ece9;padding:20px 0;font-size:.82rem}.footer-inner{justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-inner p{margin:0}.footer-inner a{color:#294f43;white-space:nowrap;font-weight:700}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:640px){.header-inner,.main-content,.footer-inner{width:min(100% - 28px,1080px)}.header-inner{padding:20px 0}.main-content{padding-top:24px}.clear-panel{grid-template-columns:1fr}.clear-panel button,.generation-actions .primary-button,.generated-buttons>*{width:100%}.field-grid{grid-template-columns:1fr;padding-inline:15px}.checkbox-field{grid-column:auto}.form-editor,.generated-panel{padding:18px 14px}.workspace-heading{padding:22px 18px}.generation-actions,.generated-heading,.generated-buttons{flex-direction:column;align-items:stretch}.pdf-pages{padding:10px}.clear-confirmation{justify-content:stretch}.clear-confirmation p{text-align:left}.footer-inner{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}
