:root{--bg: #f5f0e8;--bg-elevated: #ebe5d9;--card: #fffdf8;--ink: #191918;--ink-2: #3d3929;--muted: #6b6762;--accent: #2c2c2b;--accent-hover: #191918;--border: #d4cfc5;--border-light: #e0dbd1;--font-sans: "Inter", "Noto Sans JP", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-display: "Fraunces", "Shippori Mincho", "Noto Serif JP", Georgia, serif;--site-max: 72rem;--ease: cubic-bezier(.77, 0, .175, 1)}*{box-sizing:border-box}*,*:before,*:after{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth;text-rendering:optimizeLegibility}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:1rem;line-height:1.6;font-feature-settings:"kern" 1,"ss01" 1,"cv11" 1}::selection{background:color-mix(in srgb,var(--accent) 22%,transparent)}h1,h2,h3{font-family:var(--font-display);line-height:1.1;letter-spacing:-.02em;font-weight:500}:lang(ja) h1,:lang(ja) h2,:lang(ja) h3{font-family:var(--font-sans);font-weight:700;letter-spacing:-.01em}:lang(ja){line-height:1.75;font-feature-settings:"palt" 1,"kern" 1}a{color:inherit;text-decoration:none}.shell{max-width:var(--site-max);margin:0 auto;padding:40px clamp(20px,4vw,56px) 72px}.hero{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;padding:8px 0 28px;border-bottom:1px solid var(--border)}.hero-text{flex:1 1 340px;min-width:0}.hero h1{font-size:clamp(2.4rem,1.8rem + 2.4vw,3.6rem);margin:0 0 10px}.tagline{color:var(--ink-2);max-width:44ch;font-size:clamp(1rem,.97rem + .2vw,1.125rem);margin:0 0 14px}.os-note{color:var(--muted);max-width:60ch;font-size:.875rem;line-height:1.6;margin:0}.os-note a{color:var(--ink);border-bottom:1px solid var(--border);padding-bottom:1px;transition:border-color .2s;white-space:nowrap}.os-note a:hover{border-color:var(--ink)}.langtoggle{margin-left:auto;display:flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;align-self:flex-start;background:var(--card)}.langtoggle button{background:transparent;color:var(--muted);border:none;padding:7px 15px;font:inherit;font-size:.8rem;cursor:pointer;transition:all .2s}.langtoggle button.on{background:var(--ink);color:var(--bg)}.grid{display:grid;grid-template-columns:360px 1fr;gap:28px;margin-top:36px}@media(max-width:860px){.grid{grid-template-columns:1fr;gap:20px}}.panel,.stage{background:var(--card);border:1px solid var(--border-light);border-radius:24px;box-shadow:0 1px 2px #19191808,0 8px 24px -16px #1919181f}.panel{padding:26px}.panel h2{margin:0 0 20px;font-size:1.4rem}.panel label{display:block;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}.panel select,.panel input[type=number]{width:100%;margin-top:8px;padding:11px 12px;border-radius:12px;background:var(--bg);color:var(--ink);border:1px solid var(--border);font:inherit;font-size:.95rem;transition:border-color .2s}.panel select:focus{outline:none;border-color:var(--accent)}.row{display:flex;gap:12px;align-items:flex-end}.grow{flex:1}.checkbox{display:flex;align-items:center;gap:8px;color:var(--ink);white-space:nowrap;text-transform:none;letter-spacing:0;font-size:.85rem}.checkbox input{width:auto;margin-top:0;accent-color:var(--ink)}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.chip{padding:7px 13px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--ink-2);font:inherit;font-size:.8rem;cursor:pointer;transition:all .18s var(--ease)}.chip:hover:not(:disabled){border-color:var(--ink)}.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip:disabled{opacity:.4;cursor:not-allowed}.hint{font-size:.8rem;color:var(--muted);margin:4px 0 14px;text-transform:none;letter-spacing:0}.warn{font-size:.85rem;color:var(--ink-2);background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;padding:12px 14px;line-height:1.5}.error{color:#9a3412;font-size:.85rem}.generate{width:100%;margin-top:8px;padding:13px;border:none;border-radius:999px;background:var(--ink);color:var(--bg);font:inherit;font-size:.98rem;font-weight:500;cursor:pointer;transition:opacity .2s,transform .1s}.generate:hover:not(:disabled){opacity:.9}.generate:active:not(:disabled){transform:translateY(1px)}.generate:disabled{background:var(--bg-elevated);color:var(--muted);cursor:not-allowed}.stage{min-height:440px;display:flex;align-items:center;justify-content:center;padding:20px}.placeholder{text-align:center;color:var(--muted)}.result{width:100%}.result img{width:100%;border-radius:14px;display:block;border:1px solid var(--border-light)}.result-bar{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.download{background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:999px;font-size:.9rem;font-weight:500;transition:opacity .2s}.download:hover{opacity:.9}.meta{color:var(--muted);font-size:.85rem}.warnings{margin-top:12px;padding-left:18px;color:var(--ink-2);font-size:.8rem}.spinner{width:34px;height:34px;margin:0 auto 16px;border-radius:50%;border:2.5px solid var(--border);border-top-color:var(--ink);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.gallery{margin-top:64px}.gallery h2{font-size:1.6rem;padding-bottom:12px;border-bottom:1px solid var(--border)}.showcase{margin:20px 0 8px;background:var(--card);border:1px solid var(--border-light);border-radius:20px;overflow:hidden;max-width:560px;box-shadow:0 8px 24px -16px #1919182e}.showcase video{width:100%;display:block;background:#111}.showcase figcaption{padding:14px 16px;display:flex;flex-direction:column;gap:4px}.showcase figcaption span{color:var(--muted);font-size:.82rem;line-height:1.5}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin-top:22px}.gallery figure{margin:0;background:var(--card);border:1px solid var(--border-light);border-radius:18px;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.gallery figure:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px #1919184d}.gallery img{width:100%;display:block;aspect-ratio:4 / 5;object-fit:cover}.gallery figcaption{padding:12px 14px;font-size:.85rem;display:flex;flex-direction:column;gap:3px}.gallery figcaption span{color:var(--muted);font-size:.78rem}.footer{margin-top:64px;padding-top:28px;border-top:1px solid var(--border)}.footer-cols{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;gap:28px}@media(max-width:760px){.footer-cols{grid-template-columns:1fr;gap:24px}}.footer-col{display:flex;flex-direction:column;gap:7px;font-size:.85rem}.footer-col h3{font-family:var(--font-sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 6px;font-weight:600}.footer-col a{color:var(--ink);border-bottom:1px solid transparent;width:fit-content;transition:border-color .2s}.footer-col a:hover{border-color:var(--ink)}.footer-col span{color:var(--muted);line-height:1.55}.footer-brand img{height:34px;width:auto;margin-bottom:8px}@media(max-width:560px){.shell{padding:20px 16px 56px}.hero{padding:8px 0 20px;gap:14px}.hero h1{font-size:2.2rem}.brand img{height:34px}.langtoggle{order:-1}.panel,.stage{padding:18px;border-radius:18px}.stage{min-height:300px}.panel select,.panel input[type=number]{font-size:16px}.chip{padding:9px 14px;font-size:.82rem}.generate,.download{padding:14px;font-size:16px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.showcase{max-width:100%}.result-bar{flex-direction:column;align-items:flex-start;gap:10px}}@media(max-width:380px){.gallery-grid{grid-template-columns:1fr}}
