.gen-layout{max-width:72rem;padding:var(--space-page);margin:0 auto}.gen-header{max-width:40rem;margin-bottom:clamp(1.75rem,1.2rem + 2.5vw,3.25rem)}.gen-eyebrow{letter-spacing:.22em;color:var(--color-accent);margin-bottom:.5rem;font-size:.6875rem}.gen-title{font-family:var(--font-display), serif;font-size:var(--text-title);letter-spacing:.04em;border-bottom:3px solid var(--color-accent);margin-bottom:.9rem;padding-bottom:.35rem;font-weight:700;line-height:1.3;display:inline-block}.gen-lead{color:var(--color-ink-soft);font-size:var(--text-sm)}.gen-lead strong{color:var(--color-ink)}.gen-columns{grid-template-columns:minmax(18rem,24rem) 1fr;align-items:start;gap:clamp(1.25rem,1rem + 1.5vw,2.5rem);display:grid}@media (max-width:56rem){.gen-columns{grid-template-columns:1fr}}.gen-form{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);gap:1.1rem;padding:1.5rem;display:grid;position:sticky;top:1.25rem;box-shadow:0 1px 2px #0000000a,0 8px 24px #0000000a;box-shadow:0 1px 2px lab(0% 0 0/.04),0 8px 24px lab(0% 0 0/.04)}@media (max-width:56rem){.gen-form{position:static}}.gen-field{gap:.35rem;min-width:0;display:grid}.gen-field-row{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.gen-field label,.gen-label{font-size:var(--text-sm);font-weight:700}.gen-optional{color:var(--color-ink-soft);border:1px solid var(--color-line);vertical-align:.1em;border-radius:999px;margin-left:.3em;padding:0 .5em;font-size:.6875rem;font-weight:400}.gen-field input[type=text],.gen-field select,.gen-field textarea{border:1px solid var(--color-line);background:var(--color-paper);width:100%;min-width:0;font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);border-radius:8px;padding:.55rem .75rem}.gen-field input:focus-visible,.gen-field select:focus-visible,.gen-field textarea:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.gen-field textarea{resize:vertical;line-height:1.7}.gen-segment{border:1px solid var(--color-line);background:var(--color-paper);border-radius:8px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.gen-segment label{text-align:center;font-size:var(--text-sm);color:var(--color-ink-soft);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);padding:.5rem 0;font-weight:500}.gen-segment label.is-active{background:var(--color-accent);color:#f9f8f6;color:lab(97.6924% .0796616 1.13988);font-weight:700}.gen-segment input{opacity:0;pointer-events:none;position:absolute}.gen-submit{background:var(--color-accent);color:#f9f8f6;color:lab(97.6924% .0796616 1.13988);cursor:pointer;letter-spacing:.05em;transition:transform var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);border:none;border-radius:8px;padding:.8rem 1rem;font-weight:700}.gen-submit:hover:not(:disabled){opacity:.88}.gen-submit:active:not(:disabled){transform:translateY(1px)}.gen-submit:disabled{opacity:.55;cursor:progress}.gen-error{color:#a92227;color:lab(37.9535% 53.8391 33.7998);font-size:var(--text-sm)}.gen-results{gap:1.1rem;display:grid}.gen-sample-note{font-size:var(--text-sm);color:var(--color-ink-soft);border:1px dashed var(--color-line);border-radius:8px;width:fit-content;padding:.4rem .8rem}.gen-empty{border:1px dashed var(--color-line);border-radius:var(--radius);text-align:center;color:var(--color-ink-soft);font-size:var(--text-sm);padding:clamp(2rem,1.5rem + 3vw,4rem) 1.5rem}.gen-empty-axes{justify-content:center;gap:.6rem;margin-bottom:1rem;display:flex}.gen-empty-axes span{border:1px solid var(--color-line);background:var(--color-surface);border-radius:999px;padding:.15rem .8rem}.gen-disclaimer{color:var(--color-ink-soft);padding:0 .25rem;font-size:.75rem}.pattern-card{background:var(--color-surface);border:1px solid var(--color-line);border-left:4px solid var(--color-accent);border-radius:var(--radius);animation:pattern-in .4s var(--ease-out) both;padding:1.4rem 1.5rem;box-shadow:0 1px 2px #0000000a;box-shadow:0 1px 2px lab(0% 0 0/.04)}.pattern-card:nth-child(2){animation-delay:60ms}.pattern-card:nth-child(3){animation-delay:.12s}.pattern-card:nth-child(4){animation-delay:.18s}@keyframes pattern-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.pattern-card{animation:none}}.axis-jouken{border-left-color:var(--axis-jouken)}.axis-kankyou{border-left-color:var(--axis-kankyou)}.axis-seichou{border-left-color:var(--axis-seichou)}.pattern-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.8rem;display:flex}.pattern-axis{font-size:var(--text-sm);border-radius:999px;padding:.1rem .8rem;font-weight:700}.axis-jouken .pattern-axis{color:var(--axis-jouken);background:var(--axis-jouken-bg)}.axis-kankyou .pattern-axis{color:var(--axis-kankyou);background:var(--axis-kankyou-bg)}.axis-seichou .pattern-axis{color:var(--axis-seichou);background:var(--axis-seichou-bg)}.pattern-actions{gap:.4rem;display:flex}.pattern-actions button{border:1px solid var(--color-line);background:var(--color-surface);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);border-radius:7px;padding:.3rem .75rem;font-size:.75rem}.pattern-actions button:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-soft)}.pattern-actions button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.pattern-actions button:disabled{opacity:.6;cursor:default}.pattern-title{font-family:var(--font-display), serif;margin-bottom:.6rem;font-size:1.125rem;font-weight:600;line-height:1.5}.pattern-body{font-size:var(--text-sm);white-space:pre-wrap}.pattern-save-error{font-size:var(--text-sm);color:#a92227;color:lab(37.9535% 53.8391 33.7998);margin-top:.6rem}
