.fd-studio{--st-bg:var(--fd-panel,var(--paper,#fffaf3));--st-ink:var(--fd-ink,var(--ink,#273039));--st-line:var(--fd-line,var(--line,#d8d5cf));background:var(--st-bg);color:var(--st-ink);border:1px solid var(--st-line);border-radius:20px;width:min(1040px,96vw);max-height:92dvh;padding:0;box-shadow:0 24px 100px #0005;font:15px/1.5 system-ui,sans-serif}.fd-studio::backdrop{background:#1725369c;backdrop-filter:blur(5px)}.fd-studio>header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 24px;border-bottom:1px solid var(--st-line)}.fd-studio h2,.fd-studio h3{margin:0 0 7px}.fd-studio small{display:block;opacity:.8}.fd-studio>header small{letter-spacing:.14em;font-size:10px}.fd-studio .studio-dialog-body{padding:18px 24px}.studio-world{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.studio-world>div:first-child{flex:1;min-width:180px}.studio-world p{margin:0;max-width:60ch}.studio-palette{display:flex;gap:5px}.studio-palette span{height:25px;width:25px;border-radius:50%;border:1px solid #8888}.studio-modes,.studio-tabs,.studio-tools{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:14px 0}.fd-studio button,.studio-launcher{font:inherit;min-height:40px;border:1px solid var(--st-line,#bcc0c4);border-radius:10px;padding:7px 12px;background:var(--st-bg,#fffaf3);color:var(--st-ink,#273039);cursor:pointer}.fd-studio button:hover{box-shadow:inset 0 0 0 1px currentColor}.fd-studio [aria-pressed=true]{background:#7552a8;color:#fff;border-color:#7552a8}.studio-tabs{border-bottom:1px solid var(--st-line);padding-bottom:10px}.studio-content label,.studio-welcome label{display:block;margin:14px 0}.fd-studio input:not([type=checkbox]),.fd-studio select,.fd-studio textarea{font:inherit;display:block;box-sizing:border-box;width:100%;color:var(--st-ink);background:var(--st-bg);border:1px solid var(--st-line);border-radius:9px;padding:10px;margin:4px 0}.fd-studio textarea{min-height:100px;resize:vertical}.studio-tools>input{flex:1;min-width:210px}.studio-assets{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px;min-height:200px}.studio-card{border:1px solid var(--st-line);border-radius:13px;overflow:hidden;min-width:0}.studio-card>img{display:block;width:100%;height:155px;object-fit:cover;background:#8882}.studio-card>div{padding:12px}.studio-card strong{display:block;overflow-wrap:anywhere}.studio-card small{font-size:11px;margin:5px 0 10px}.studio-card>div>div{display:flex;gap:5px;flex-wrap:wrap}.studio-card button{font-size:12px;padding:6px 9px}.studio-excerpt{white-space:pre-wrap;margin:0;padding:15px;min-height:125px;max-height:160px;overflow:hidden;background:#8881}.studio-empty{grid-column:1/-1;text-align:center;padding:45px 20px;background:linear-gradient(125deg,#d7b8ff19,#f6a96016);border:1px dashed var(--st-line);border-radius:15px}.studio-hint{font-size:13px;opacity:.85;max-width:80ch}.studio-idea{padding:12px 0;border-bottom:1px solid var(--st-line)}.studio-idea p{white-space:pre-wrap}.fd-studio .studio-step{display:flex;align-items:center;gap:12px;min-height:44px}.studio-step input{width:20px;height:20px;accent-color:#7552a8}.fd-studio progress{width:100%;accent-color:#7552a8}.fd-studio [data-studio-status]{margin:0;padding:12px 24px;border-top:1px solid var(--st-line);position:sticky;bottom:0;background:var(--st-bg);font-size:13px;min-height:20px}.fd-studio [data-error=true]{color:var(--error,#b02f42)}.studio-welcome{max-width:660px;margin:20px auto 35px}.studio-launcher{font-size:12px;white-space:nowrap;min-height:36px}.fd-studio [hidden]{display:none!important}.fd-studio :focus-visible{outline:3px solid #bc92f4;outline-offset:2px}@media(max-width:600px){.fd-studio{width:100vw;max-width:100vw;max-height:100dvh;border-radius:0}.fd-studio>header,.fd-studio .studio-dialog-body{padding:14px}.fd-studio h2{font-size:21px}.studio-assets{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.studio-card>img{height:120px}.studio-card>div{padding:8px}.studio-modes button,.studio-tabs button{flex:1;white-space:nowrap;font-size:12px}.studio-launcher{padding:6px 8px}.studio-world>button{font-size:12px}.fd-studio button{min-height:42px}}@media(prefers-reduced-motion:reduce){.fd-studio::backdrop{backdrop-filter:none}}

/* Isolate the popup from each editor's workspace layout. */
dialog.fd-studio{box-sizing:border-box;width:1040px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto}
dialog.fd-studio>.studio-dialog-body{display:block;min-width:0;height:auto;padding:14px 20px}
dialog.fd-studio>header{padding:14px 20px}
dialog.fd-studio .studio-world{gap:10px}
dialog.fd-studio .studio-world>div:first-child{min-width:0;flex:1 1 240px;overflow-wrap:anywhere}
dialog.fd-studio :is(.studio-modes,.studio-tabs,.studio-tools){gap:7px;margin:10px 0;min-width:0}
dialog.fd-studio button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
dialog.fd-studio .studio-tools>input{flex:1 1 220px;min-width:0;width:auto}
dialog.fd-studio .studio-assets{min-height:120px}
dialog.fd-studio .studio-empty{padding:20px 14px}
dialog.fd-studio [data-studio-status]:empty{display:none}
@media(max-width:600px){
 dialog.fd-studio{max-width:calc(100vw - 12px);border-radius:12px}
 dialog.fd-studio>header,dialog.fd-studio>.studio-dialog-body{padding:10px}
 dialog.fd-studio h2{font-size:20px;line-height:1.2}
 dialog.fd-studio :is(.studio-modes,.studio-tabs){display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 dialog.fd-studio .studio-tools>input{flex-basis:100%}
 dialog.fd-studio .studio-tools>button{flex:1 1 100px}
}
