html,body{min-height:100%;margin:0}#root{min-height:100vh}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.generating-preview{padding:0 32px 32px}.generating-preview-status{color:#425466;letter-spacing:-.01em;min-height:24px;text-align:flex-start;justify-content:flex-start;align-items:center;gap:9px;margin-bottom:18px;font-size:14px;font-weight:500;display:flex}.generating-preview-status-dot{background:var(--openplaced-theme-color);width:7px;height:7px;box-shadow:0 0 0 0 color-mix(in srgb, var(--openplaced-theme-color) 28%, transparent);border-radius:50%;flex:none;animation:1.8s ease-out infinite generating-preview-status-pulse}.generating-preview-status-text{animation:.4s both generating-preview-status-enter}.generated-preview{padding:0 32px 24px}.generated-preview-button-row{gap:12px;padding:0 32px 32px;display:flex}.generated-preview-button{box-sizing:border-box;border-radius:var(--openplaced-theme-border-radius);min-height:44px;font:inherit;letter-spacing:-.01em;cursor:pointer;-webkit-tap-highlight-color:transparent;flex:1;justify-content:center;align-items:center;padding:10px 18px;font-size:14px;font-weight:600;transition:background-color .15s,border-color .15s,box-shadow .15s,transform .15s;display:flex;box-shadow:0 2px 5px #32325d1f,0 1px 2px #00000014}.generated-preview-button-secondary{color:var(--openplaced-theme-color);border:1px solid color-mix(in srgb, var(--openplaced-theme-color) 40%, #d4dbe2);background:#fff}.generated-preview-button-secondary:hover{background:color-mix(in srgb, var(--openplaced-theme-color) 5%, white);border-color:var(--openplaced-theme-color)}.generated-preview-button-primary{color:#fff;background:var(--openplaced-theme-color);border:1px solid var(--openplaced-theme-color)}.generated-preview-button-primary:hover{background:color-mix(in srgb, var(--openplaced-theme-color) 88%, black);border-color:color-mix(in srgb, var(--openplaced-theme-color) 88%, black);box-shadow:0 4px 9px #32325d33,0 1px 3px #0000001f}.generated-preview-button:active{transform:translateY(1px)}.generated-preview-button:focus-visible{outline:3px solid color-mix(in srgb, var(--openplaced-theme-color) 24%, transparent);outline-offset:2px}.generated-preview-button:disabled{color:#697386;box-shadow:none;cursor:not-allowed;background:#e8edf2;border-color:#d4dbe2;transform:none}@media (width<=479px){.generated-preview-button-row{flex-direction:column-reverse}}.generating-preview-frame{isolation:isolate;background:#eef2f6;border:1px solid #0a25401a;border-radius:14px;min-height:260px;position:relative;overflow:hidden;box-shadow:0 8px 28px #0a25401f}.generated-preview-frame{isolation:isolate;background:#101820;border:1px solid #0a25401a;border-radius:14px;place-items:center;width:fit-content;max-width:100%;margin:0 auto;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 28px #0a25401f}.generated-preview-image{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:560px;display:block}.generated-preview-actions{z-index:1;gap:8px;display:flex;position:absolute;top:12px;right:12px}.generated-preview-action{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0a141eb8;border:1px solid #ffffff40;border-radius:999px;place-items:center;width:40px;height:40px;padding:0;text-decoration:none;transition:background-color .15s,transform .15s;display:grid;box-shadow:0 2px 8px #0000003d}.generated-preview-action:hover{background:#0a141ee0}.generated-preview-action:active{transform:scale(.94)}.generated-preview-action:focus-visible{outline:3px solid color-mix(in srgb, var(--openplaced-theme-color) 55%, white);outline-offset:2px}.generated-preview-action svg{width:19px;height:19px}.generated-preview-frame-fullscreen{z-index:1000;box-sizing:border-box;border:0;border-radius:0;width:auto;max-width:none;height:auto;max-height:none;margin:0;position:fixed;inset:0}.generated-preview-frame:fullscreen{z-index:1000;box-sizing:border-box;border:0;border-radius:0;width:auto;max-width:none;height:auto;max-height:none;margin:0;position:fixed;inset:0}.generated-preview-frame-fullscreen .generated-preview-image{object-fit:contain;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%}.generated-preview-frame:fullscreen .generated-preview-image{object-fit:contain;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%}.generating-preview-image{object-fit:cover;filter:blur(12px)saturate(.9);width:100%;height:clamp(260px,55vh,560px);animation:2.8s ease-in-out infinite alternate generating-preview-breathe;display:block;transform:scale(1.08)}.generating-preview-glow{z-index:1;background:linear-gradient(115deg, transparent 38%, color-mix(in srgb, var(--openplaced-theme-color) 24%, white) 50%, transparent 62%);opacity:.65;animation:2.4s ease-in-out infinite generating-preview-scan;position:absolute;inset:-35%;transform:translate(-45%)}.generation-error{color:#0a2540;text-align:center;flex-direction:column;align-items:center;padding:12px 32px 40px;display:flex}.generation-error-icon{color:#b42318;background:#fef3f2;border-radius:50%;place-items:center;width:46px;height:46px;margin-bottom:16px;font-size:24px;font-weight:700;display:grid}.generation-error-title{letter-spacing:-.02em;margin:0;font-size:18px;line-height:1.35}.generation-error-message{color:#425466;max-width:420px;margin:8px 0 20px;font-size:14px;line-height:1.5}.generation-error-button{color:#fff;background:var(--openplaced-theme-color);border:1px solid var(--openplaced-theme-color);border-radius:var(--openplaced-theme-border-radius);min-height:42px;font:inherit;cursor:pointer;padding:9px 20px;font-size:14px;font-weight:600;box-shadow:0 2px 5px #32325d29,0 1px 2px #0000001a}.generation-error-button:hover{background:color-mix(in srgb, var(--openplaced-theme-color) 88%, black);border-color:color-mix(in srgb, var(--openplaced-theme-color) 88%, black)}.generation-error-button:focus-visible{outline:3px solid color-mix(in srgb, var(--openplaced-theme-color) 24%, transparent);outline-offset:2px}@keyframes generating-preview-breathe{0%{filter:blur(12px)saturate(.85)brightness(.94);transform:scale(1.08)}to{filter:blur(17px)saturate()brightness(1.04);transform:scale(1.13)}}@keyframes generating-preview-scan{0%{transform:translate(-45%)}65%,to{transform:translate(45%)}}@keyframes generating-preview-status-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes generating-preview-status-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--openplaced-theme-color) 28%, transparent)}70%,to{box-shadow:0 0 0 7px #0000}}.prompt-textarea{box-sizing:border-box;resize:vertical;color:#0a2540;border:1px solid #0a25402e;border-color:color-mix(in srgb, var(--openplaced-theme-color) 24%, #dbe2e8);width:100%;min-height:68px;font:inherit;background:#fff;border-radius:10px;outline:none;padding:10px 12px;font-size:14px;line-height:1.5;transition:border-color .15s,box-shadow .15s;display:block;box-shadow:0 1px 2px #0a25400a}.prompt-textarea::placeholder{color:#8796a5}.prompt-textarea:hover{border-color:color-mix(in srgb, var(--openplaced-theme-color) 42%, #c7d0d9)}.prompt-textarea:focus{border-color:var(--openplaced-theme-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--openplaced-theme-color) 14%, transparent), 0 1px 2px #0a25400d}.upload-dropzone{box-sizing:border-box;color:#425466;border:1.5px dashed color-mix(in srgb, var(--openplaced-theme-color) 34%, #c9d2dc);text-align:center;background:#fbfcfd;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:190px;padding:22px;transition:background-color .15s,border-color .15s,box-shadow .15s;display:flex}.upload-dropzone-dragging{background:color-mix(in srgb, var(--openplaced-theme-color) 5%, white);border-color:var(--openplaced-theme-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--openplaced-theme-color) 12%, transparent)}.upload-file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.upload-instruction,.upload-file-name{color:#0a2540;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;font-size:14px;font-weight:600;line-height:1.4;overflow:hidden}.upload-separator{color:#8796a5;margin:5px 0;font-size:12px;line-height:1.4}@media (hover:none) and (pointer:coarse){.upload-instruction,.upload-separator{display:none}}.upload-button{min-height:36px;color:var(--openplaced-theme-color);border:1px solid color-mix(in srgb, var(--openplaced-theme-color) 40%, #d4dbe2);border-radius:var(--openplaced-theme-border-radius);font:inherit;cursor:pointer;background:#fff;padding:7px 14px;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s,box-shadow .15s;box-shadow:0 1px 2px #0a25400f}.upload-button:hover{background:color-mix(in srgb, var(--openplaced-theme-color) 5%, white);border-color:var(--openplaced-theme-color)}.upload-button:focus-visible{outline:3px solid color-mix(in srgb, var(--openplaced-theme-color) 20%, transparent);outline-offset:2px}.upload-help{color:#6b7c93;margin:9px 0 0;font-size:11px;line-height:1.4}.upload-help-mobile{display:none}@media (hover:none) and (pointer:coarse){.upload-help-desktop{display:none}.upload-help-mobile{display:block}}.upload-preview{box-sizing:border-box;object-fit:cover;background:#eef2f6;border:1px solid #0a25401a;border-radius:10px;width:88px;height:88px;margin-bottom:10px;display:block;box-shadow:0 2px 8px #0a254014}.upload-file-name+.upload-button{margin-top:10px}.upload-error{color:#b42318;margin:7px 0 0;font-size:11px;line-height:1.4}@media (width<=767px){.upload-dropzone{min-height:124px;padding:14px}.upload-preview{width:64px;height:64px;margin-bottom:8px}.upload-file-name+.upload-button{margin-top:8px}}.generate-button{box-sizing:border-box;color:#fff;background:var(--openplaced-theme-color);border:1px solid var(--openplaced-theme-color);border-radius:var(--openplaced-theme-border-radius);width:100%;min-height:44px;font:inherit;letter-spacing:-.01em;cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:9px;padding:10px 18px;font-size:14px;font-weight:600;transition:background-color .15s,border-color .15s,box-shadow .15s,transform .15s;display:flex;box-shadow:0 2px 5px #32325d29,0 1px 2px #0000001a}.generate-button:hover:not(:disabled){background:color-mix(in srgb, var(--openplaced-theme-color) 88%, black);border-color:color-mix(in srgb, var(--openplaced-theme-color) 88%, black);box-shadow:0 4px 9px #32325d33,0 1px 3px #0000001f}.generate-button:active:not(:disabled){transform:translateY(1px)}.generate-button:focus-visible{outline:3px solid color-mix(in srgb, var(--openplaced-theme-color) 24%, transparent);outline-offset:2px}.generate-button:disabled{color:#95a1ae;box-shadow:none;cursor:not-allowed;background:#eef1f4;border-color:#e2e7eb}.generate-button[aria-busy=true]{color:#fff;background:var(--openplaced-theme-color);border-color:var(--openplaced-theme-color);cursor:wait}.generate-button-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite generate-button-spin}@keyframes generate-button-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.generate-button,.generated-preview-button,.generation-error-button,.prompt-textarea,.upload-button,.upload-dropzone{transition:none}.generate-button-spinner{animation-duration:1.4s}.generating-preview-image,.generating-preview-glow,.generating-preview-status-dot,.generating-preview-status-text{animation:none}}
