:root{color-scheme:light;--ink:#112d42;--muted:#536574;--accent:#007d72;--line:#d4dfe5;--paper:#f3f7fa;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Noto Sans JP",sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);line-height:1.8}a{color:#006b64;text-underline-offset:4px}button,textarea{font:inherit}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:48px}a:focus-visible,button:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #d87e00;outline-offset:4px}
.site-header,main,footer{max-width:940px;margin:auto;padding-left:32px;padding-right:32px}.site-header{height:80px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:1.4rem;font-weight:800;text-decoration:none;color:var(--ink);letter-spacing:-.04em}.site-header>span{font-size:.875rem;color:var(--muted)}.intro{padding:44px 0 28px}h1{font-size:clamp(1.8rem,4.8vw,2.6rem);line-height:1.4;letter-spacing:-.03em;margin:0 0 14px}.intro p{color:var(--muted);margin:0}.categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:36px}.categories a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:88px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--ink);font-size:1.1rem;font-weight:700}.categories a:hover,.categories a[aria-current]{border-color:var(--accent);background:#e7f4f1}.categories a>span:last-child{color:var(--accent);font-weight:400}.category-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}.category-heading h2{font-size:1.4rem;line-height:1.5;margin:0;scroll-margin-top:20px}.category-heading>span{white-space:nowrap;font-size:.875rem;color:var(--muted)}
.prompt{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px 28px;margin-bottom:16px;scroll-margin-top:20px}.prompt-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;font-size:.8rem;color:var(--muted)}.prompt-meta>span{border:1px solid var(--line);border-radius:4px;padding:0 8px}.prompt-meta>.image-required{border-color:#dfd4b3;background:#faf5e6;color:#725500}.prompt h3{font-size:1.2rem;line-height:1.6;margin:0 0 18px}.copy{background:var(--accent);color:white;border:1px solid var(--accent);border-radius:5px;padding:8px 22px;font-weight:650}.copy:hover{background:#00655d}.copy.secondary{color:var(--accent);background:#fff}.copy:disabled{opacity:.65}
details{border-top:1px solid var(--line);margin-top:20px}summary{cursor:pointer;padding:14px 0 0;font-size:.925rem;min-height:44px}details[open]>summary{padding-bottom:14px}.detail-content{padding-top:2px}h4{font-size:1rem;margin:20px 0 10px}.detail-content p,.before-start p{font-size:.925rem;color:var(--muted)}.preserve{white-space:pre-line}textarea{display:block;width:100%;resize:vertical;min-height:290px;padding:16px;background:#f7f9fb;border:1px solid #bcccd5;border-radius:4px;font-size:1rem;line-height:1.8;color:var(--ink)}textarea.example{min-height:130px;margin-bottom:14px}.download{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.before-start{margin:28px 0 38px}.before-start summary{font-size:1rem}footer{display:flex;justify-content:space-between;gap:20px;padding-top:22px;padding-bottom:28px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}.copy-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#112d42;color:white;border-radius:6px;padding:12px 20px;max-width:calc(100% - 32px);width:max-content;font-size:.925rem;pointer-events:none;opacity:0;box-shadow:0 6px 28px #0002}.copy-status.visible{opacity:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:650px){.site-header,main,footer{padding-left:20px;padding-right:20px}.site-header{height:68px}.intro{padding-top:30px}.categories{grid-template-columns:1fr;gap:8px;margin-bottom:28px}.categories a{font-size:1rem;line-height:1.6;min-height:60px;padding:14px 16px}.categories a>span:last-child{display:none}.category-heading{display:block}.category-heading h2{font-size:1.25rem;margin-bottom:4px}.prompt{padding:20px 18px}.prompt h3{font-size:1.1rem}.copy-status{bottom:16px}.download{gap:8px 12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
