html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:16px}body{background:#f0f2f5;min-height:100dvh;margin:0;padding:0;overflow-x:hidden}#root{width:100%}@supports (padding:max(0px)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:max(env(safe-area-inset-bottom), 0px)}}@media (width<=360px){html{font-size:14px}}@media (width>=1200px){html{font-size:17px}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}::selection{background:#4f46e526}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f7f7f8;--surface:#fff;--text:#18181b;--text-secondary:#71717a;--text-tertiary:#a1a1aa;--primary:#2563eb;--primary-bg:#2563eb14;--border:#e4e4e7;--border-strong:#d4d4d8;--error:#dc2626;--error-bg:#dc26260f;--success:#16a34a;--radius:8px;--radius-lg:12px;--shadow:0 1px 2px #0000000d, 0 0 0 1px var(--border);--shadow-lg:0 2px 8px #0000000f, 0 0 0 1px var(--border);--shadow-focus:0 0 0 2px var(--surface), 0 0 0 4px var(--primary);--mono:"SF Mono", "Fira Code", "Roboto Mono", "Consolas", monospace;--max-width:560px;--gutter:20px;--section-gap:28px;--field-height:44px}.theme-dark{--bg:#0a0a0b;--surface:#18181b;--text:#f4f4f5;--text-secondary:#a1a1aa;--text-tertiary:#71717a;--primary:#60a5fa;--primary-bg:#60a5fa1a;--border:#27272a;--border-strong:#3f3f46;--error:#f87171;--error-bg:#f8717114;--shadow:0 0 0 1px var(--border);--shadow-lg:0 2px 8px #0000004d, 0 0 0 1px var(--border)}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Inter,Segoe UI,sans-serif;line-height:1.5}.app{min-height:100dvh;padding:40px var(--gutter);flex-direction:column;align-items:center;display:flex}@media (width<=480px){.app{padding:24px 12px}}.theme-toggle{z-index:20;border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:50%;place-items:center;transition:color .15s,border-color .15s,transform .15s;display:grid;position:fixed;top:16px;right:16px}.theme-toggle:hover{color:var(--text);border-color:var(--border-strong);transform:scale(1.05)}.theme-toggle:active{transform:scale(.97)}@media (width<=480px){.theme-toggle{top:env(safe-area-inset-top,12px);right:env(safe-area-inset-right,12px);width:32px;height:32px}}.header{text-align:center;max-width:440px;margin-bottom:32px}.header__logo{background:linear-gradient(135deg, var(--primary) 0%, #7c3aed 100%);width:64px;height:64px;box-shadow:0 4px 16px color-mix(in srgb, var(--primary) 30%, transparent);border-radius:16px;place-items:center;margin:0 auto 14px;display:grid}.header__logo-text{letter-spacing:.04em;color:#fff;-webkit-user-select:none;user-select:none;font-size:1.25rem;font-style:italic;font-weight:700}.header__title{letter-spacing:-.02em;color:var(--text);margin-bottom:4px;font-size:1.375rem;font-weight:700}@media (width<=480px){.header__title{font-size:1.125rem}}.header__subtitle{color:var(--text-secondary);max-width:280px;margin:0 auto;font-size:.8125rem}.form-area{width:100%;max-width:var(--max-width);margin-bottom:32px}.form-section{padding-bottom:var(--section-gap);margin-bottom:var(--section-gap);border-bottom:1px solid var(--border)}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);align-items:center;gap:6px;margin-bottom:16px;font-size:.6875rem;font-weight:500;display:flex}.section-label:before{content:"";background:var(--border-strong);border-radius:1px;width:8px;height:2px}.form{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field__label{color:var(--text);align-items:center;gap:6px;font-size:.8125rem;font-weight:500;display:flex}.badge{font-family:var(--mono);letter-spacing:.02em;border-radius:4px;padding:1px 6px;font-size:.625rem;font-weight:500}.badge--required{color:var(--error);background:#fee2e2}.badge--optional{color:var(--text-secondary);background:0 0;font-style:normal;font-weight:400}.theme-dark .badge--required{background:#f871711f}.theme-dark .badge--optional{background:0 0}.field__input{width:100%;height:var(--field-height);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);outline:none;padding:0 12px;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.field__input::placeholder{color:var(--text-tertiary)}.field__input:focus{border-color:var(--primary);box-shadow:var(--shadow-focus)}.field__input--error{border-color:var(--error);box-shadow:0 0 0 2px var(--error-bg)}.field__error{color:var(--error);min-height:16px;font-size:.75rem}.filename-field{gap:0;display:flex}.filename-field .field__input{border-radius:var(--radius) 0 0 var(--radius);border-right:none}.filename-field .file-ext{font-family:var(--mono);color:var(--text-secondary);background:var(--primary-bg);border:1px solid var(--border);border-radius:0 var(--radius) var(--radius) 0;white-space:nowrap;-webkit-user-select:none;user-select:none;border-left:none;align-items:center;padding:0 12px;font-size:.75rem;transition:background .15s;display:flex}.theme-dark .filename-field .file-ext{color:var(--text-tertiary)}.upload-area{border:1.5px dashed var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:10px;min-height:48px;padding:16px;transition:border-color .15s,background .15s;display:flex}.upload-area:hover{border-color:var(--primary);background:var(--primary-bg)}.upload-area--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.upload-area__icon{color:var(--text-tertiary);flex-shrink:0}.upload-area__text{color:var(--text-secondary);font-size:.8125rem}.upload-area__text strong{color:var(--primary);font-weight:500}.file-input{display:none}.icon-preview{align-items:center;gap:10px;padding:8px 0;display:flex}.icon-preview__img{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:40px;height:40px}.icon-preview__info{font-family:var(--mono);color:var(--text-secondary);font-size:.6875rem}.icon-preview__change{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.75rem}.icon-strip{margin-top:12px}.icon-strip__label{color:var(--text-secondary);margin-bottom:8px;font-size:.75rem}.icon-strip__row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.icon-strip__btn{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:12px;outline:none;place-items:center;width:56px;height:56px;padding:0;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid}.icon-strip__btn img{border-radius:10px;width:100%;height:100%;display:block}.icon-strip__btn:hover{transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.theme-dark .icon-strip__btn:hover{box-shadow:0 2px 8px #0000004d}.icon-strip__btn--active{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 25%, transparent), 0 2px 8px #0000001a;transform:translateY(-2px)}.theme-dark .icon-strip__btn--active{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 30%, transparent), 0 2px 8px #0000004d}.icon-strip__btn:active{transform:translateY(0)}.ssl-toggle{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-family:inherit;font-size:.8125rem;font-weight:500;transition:color .15s;display:flex}.ssl-toggle:hover{color:color-mix(in srgb, var(--primary) 80%, var(--text))}.ssl-toggle svg{transition:transform .15s}.ssl-toggle--open svg{transform:rotate(90deg)}.toggle-group{flex-direction:column;gap:12px;display:flex}.toggle-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.toggle-row__label{color:var(--text);font-size:.875rem;font-weight:500}.toggle-row__desc{color:var(--text-secondary);max-width:260px;font-size:.6875rem}.toggle{flex-shrink:0;width:44px;height:26px;position:relative}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle__track{background:var(--border-strong);cursor:pointer;border-radius:13px;transition:background .15s;position:absolute;inset:0}.toggle__track:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.toggle input:checked+.toggle__track{background:var(--primary)}.toggle input:checked+.toggle__track:after{transform:translate(18px)}.toggle input:focus-visible+.toggle__track{box-shadow:var(--shadow-focus)}.form-footer{width:100%;max-width:var(--max-width);margin-top:8px}.generate-btn{color:#fff;background:linear-gradient(135deg, var(--primary) 0%, #7c3aed 100%);border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;gap:8px;width:100%;height:52px;padding:0 24px;font-family:inherit;font-size:.9375rem;font-weight:600;transition:opacity .15s,transform .15s;display:flex}.generate-btn:hover{opacity:.92;transform:translateY(-1px)}.generate-btn:active{transform:translateY(0)}.generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.toast{color:#f4f4f5;border-radius:var(--radius);opacity:0;pointer-events:none;z-index:100;background:#18181b;align-items:center;gap:8px;max-width:calc(100vw - 48px);padding:12px 20px;font-size:.8125rem;font-weight:500;transition:opacity .2s,transform .2s;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 4px 12px #0003}.toast--visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.toast__icon{flex-shrink:0;font-size:1rem}.footer{color:var(--text-tertiary);text-align:center;max-width:var(--max-width);margin-top:16px;font-size:.6875rem}@media (width<=480px){.footer{font-size:.625rem}}
