.jsfgc-tool{--jsfgc-navy:var(--jsf-navy,#10233f);--jsfgc-orange:var(--jsf-brand-dark,#c93415);--jsfgc-accent:var(--jsf-brand,#f04a23);--jsfgc-text:var(--jsf-text,#172033);--jsfgc-muted:var(--jsf-muted,#657084);--jsfgc-line:var(--jsf-border,#dfe3ea);--jsfgc-soft:var(--jsf-surface-soft,#f6f7f9);color:var(--jsfgc-text);font:inherit}
.jsfgc-tool *{box-sizing:border-box}.jsfgc-tool select,.jsfgc-tool input,.jsfgc-tool textarea,.jsfgc-tool button{font:inherit}.jsfgc-flow{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);grid-template-areas:"controls preview" "fields preview";gap:clamp(1rem,2.5vw,2rem);align-items:start}.jsfgc-controls{grid-area:controls}.jsfgc-preview-panel{grid-area:preview;position:sticky;top:1rem;padding:clamp(.65rem,1.5vw,1rem);border:1px solid var(--jsfgc-line);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(16,35,63,.08)}.jsfgc-preview-panel canvas{display:block;width:100%;height:auto;aspect-ratio:1;background:var(--jsfgc-soft);border-radius:12px}.jsfgc-fields{grid-area:fields}.jsfgc-field{margin:0 0 1rem}.jsfgc-field label,.jsfgc-template-field legend{display:block;margin:0 0 .42rem;font-weight:700;color:var(--jsfgc-navy)}.jsfgc-field input:not([type=color]),.jsfgc-field select,.jsfgc-field textarea{width:100%;min-height:46px;border:1px solid var(--jsfgc-line);border-radius:10px;padding:.7rem .8rem;background:#fff;color:var(--jsfgc-text)}.jsfgc-field textarea{min-height:128px;resize:vertical}.jsfgc-field input:focus-visible,.jsfgc-field select:focus-visible,.jsfgc-field textarea:focus-visible,.jsfgc-template:focus-visible,.jsfgc-button:focus-visible{outline:3px solid #c93415;outline:3px solid color-mix(in srgb,var(--jsfgc-accent) 55%,transparent);outline-offset:3px}.jsfgc-field input[type=color]{width:60px;height:46px;padding:3px;border:1px solid var(--jsfgc-line);border-radius:9px;background:#fff}.jsfgc-template-field{border:0;padding:0;margin:0 0 1rem}.jsfgc-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.jsfgc-template{display:flex;flex-direction:column;gap:.35rem;align-items:stretch;padding:.35rem;border:2px solid transparent;border-radius:12px;background:#fff;color:var(--jsfgc-navy);cursor:pointer;min-height:44px;text-align:left}.jsfgc-template img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:8px}.jsfgc-template span{font-size:.82rem;font-weight:650;line-height:1.25}.jsfgc-template[aria-pressed=true]{border-color:var(--jsfgc-orange);box-shadow:0 0 0 2px color-mix(in srgb,var(--jsfgc-orange) 16%,transparent)}.jsfgc-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.25rem}.jsfgc-button{min-height:46px;border:1px solid var(--jsfgc-line);border-radius:10px;padding:.68rem 1rem;background:#fff;color:var(--jsfgc-navy);font-weight:700;cursor:pointer}.jsfgc-button-primary{border-color:var(--jsfgc-orange);background:var(--jsfgc-orange);color:#fff}.jsfgc-button-quiet{background:var(--jsfgc-soft)}.jsfgc-button:disabled{cursor:not-allowed;opacity:.55}.jsfgc-count{display:block;text-align:right;color:var(--jsfgc-muted);font-size:.82rem}.jsfgc-status{min-height:1.5em;margin:.7rem 0 0;color:var(--jsfgc-muted)}.jsfgc-error{margin:.75rem 0 0;padding:.75rem;border-left:4px solid #b42318;background:#fff1f0;color:#7a271a}.jsfgc-empty,.jsfgc-noscript{padding:1rem;border:1px solid var(--jsfgc-line);border-radius:12px;background:var(--jsfgc-soft)}.jsfgc-noscript-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem}.jsfgc-noscript-gallery figure{margin:0}.jsfgc-noscript-gallery img{display:block;width:100%;height:auto;border-radius:8px}.jsfgc-noscript-gallery figcaption{margin-top:.35rem;font-weight:650}.jsfgc-virtual-main{padding:clamp(2rem,5vw,5rem) 1rem}.jsfgc-virtual-shell{width:min(1160px,100%);margin:0 auto}.jsfgc-virtual-header{max-width:720px;margin:0 0 2rem}.jsfgc-virtual-header h1{font-size:clamp(2rem,4vw,3rem);line-height:1.08;margin:0 0 .75rem;color:var(--jsfgc-navy,#10233f)}
@media(max-width:760px){.jsfgc-flow{grid-template-columns:1fr;grid-template-areas:"controls" "preview" "fields"}.jsfgc-preview-panel{position:static;max-width:520px;margin:0 auto}.jsfgc-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jsfgc-actions{display:grid;grid-template-columns:1fr 1fr}.jsfgc-button{width:100%}}
@media(prefers-reduced-motion:reduce){.jsfgc-tool *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.jsfgc-controls,.jsfgc-fields,.jsfgc-status,.jsfgc-error{display:none!important}.jsfgc-flow{display:block}.jsfgc-preview-panel{position:static;border:0;box-shadow:none;padding:0;max-width:100%}}
