.inspiroblob { --ib_orange:#ff8a25; --ib_ink:#171616; max-width:1000px; margin:28px auto 60px; display:grid; grid-template-columns:minmax(250px,1fr) minmax(300px,440px); gap:clamp(32px,7vw,100px); align-items:center; color:#eee9e3; }
.inspiroblob.inspiroblob_empty { max-width:440px; grid-template-columns:minmax(0,1fr); }
.inspiroblob * { box-sizing:border-box;  }
.inspiroblob h1 { font-size:clamp(40px,5vw,61px); line-height:1.08; letter-spacing:-.065em; margin:0 0 28px; font-weight:750; color:#fffaf3; }
.inspiroblob h1 span { color:var(--ib_orange); }
.inspiroblob .inspiroblob_lede { font-size:clamp(24px,3vw,33px); line-height:1.3!important; letter-spacing:-.03em; color:#eee9e3; margin:0 0 32px; }
.inspiroblob .inspiroblob_label { display:block; font-size:12px; color:#cdc1b6; margin-bottom:9px; }
.inspiroblob select { width:100%; max-width:290px; display:block; background:#242120; color:#f7eee5; border:1px solid #665245; border-radius:7px; font:inherit; font-size:14px; padding:12px; min-height:46px; margin:0 0 12px; }
.inspiroblob button, .inspiroblob .inspiroblob_save { font:inherit; font-size:13px; cursor:pointer; text-shadow:none; text-decoration:none; box-shadow:none; }
.inspiroblob .inspiroblob_generate { position:relative; isolation:isolate; overflow:hidden; display:grid; place-items:center; width:100%; max-width:290px; min-height:64px; padding:15px 40px; border:1px solid #ecb96d; border-radius:12px; background:radial-gradient(ellipse at 50% 120%,#ffb15a70,transparent 62%),linear-gradient(180deg,#fff6e012,transparent 36%),linear-gradient(115deg,#382643,#482c35 48%,#3d281b)!important; color:#fff0cd; font-family:Georgia,serif; font-weight:700; font-size:22px; line-height:1.3; letter-spacing:.02em; text-align:center; text-shadow:0 1px 3px #25100c,0 0 18px #ffd39560; box-shadow:inset 0 1px 0 #ffebc940,inset 0 -1px 14px #ffae3828,0 4px 18px #0004,0 0 28px #f5a24730,0 0 56px #a367ce1c; -webkit-tap-highlight-color:transparent; transition:box-shadow .4s ease,border-color .4s ease,transform .5s cubic-bezier(.22,1.25,.36,1); }
.inspiroblob .inspiroblob_generate::after { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background:radial-gradient(circle at 23% 22%,#ffe8bb 0 1px,transparent 2px),radial-gradient(circle at 76% 75%,#ffe8bb 0 1px,transparent 2px),radial-gradient(circle at 85% 24%,#d7b4ff 0 1px,transparent 2px),radial-gradient(circle at 12% 72%,#e8b678 0 1px,transparent 2px); opacity:.65; animation:inspiroblob_dust 8s ease-in-out infinite alternate; }
.inspiroblob .inspiroblob_generate:hover:not(:disabled),.inspiroblob .inspiroblob_generate:focus-visible { border-color:#ffe7b8; box-shadow:inset 0 1px 0 #fff0d54a,inset 0 -1px 15px #ffae3830,0 5px 18px #0004,0 0 30px #f5a24740,0 0 52px #c9a4ff22; }
.inspiroblob .inspiroblob_generate:active:not(:disabled) { border-color:#fff6dc; box-shadow:inset 0 1px 0 #fff0d555,inset 0 -1px 16px #ffae3838,0 5px 18px #0005,0 0 34px #f5a2474c,0 0 60px #c9a4ff2c; }
.inspiroblob .inspiroblob_veil { position:absolute; z-index:-1; inset:0; pointer-events:none; background:radial-gradient(ellipse at 28% 120%,#ffb15a50,transparent 50%),radial-gradient(ellipse at 84% -8%,#d7b4ff33,transparent 46%); animation:inspiroblob_veil 8s ease-in-out infinite alternate; }
.inspiroblob .inspiroblob_motes { position:absolute; z-index:-1; inset:0; pointer-events:none; }
.inspiroblob .inspiroblob_motes span { position:absolute; bottom:8px; width:3px; height:3px; border-radius:50%; background:#fff6d8; box-shadow:0 0 7px #ffd7a0; opacity:0; animation:inspiroblob_rise 7.2s linear infinite; }
.inspiroblob .inspiroblob_motes span:nth-child(1) { left:9%; animation-duration:6.5s; }
.inspiroblob .inspiroblob_motes span:nth-child(2) { left:20%; width:2px; height:2px; background:#f3d9ff; box-shadow:0 0 7px #d7b4ff; animation-duration:8.4s; animation-delay:-3.1s; }
.inspiroblob .inspiroblob_motes span:nth-child(3) { left:34%; animation-duration:7.6s; animation-delay:-5.2s; }
.inspiroblob .inspiroblob_motes span:nth-child(4) { left:66%; width:2px; height:2px; animation-duration:6.9s; animation-delay:-1.8s; }
.inspiroblob .inspiroblob_motes span:nth-child(5) { left:78%; background:#f3d9ff; box-shadow:0 0 7px #d7b4ff; animation-duration:8.8s; animation-delay:-4.4s; }
.inspiroblob .inspiroblob_motes span:nth-child(6) { left:90%; animation-duration:7.1s; animation-delay:-2.5s; }
.inspiroblob .inspiroblob_bloom { position:absolute; z-index:0; left:50%; top:50%; width:190%; height:150%; border-radius:50%; pointer-events:none; background:radial-gradient(ellipse at center,#fff6d42e 0% 46%,#ffd59a16 68%,transparent 84%); filter:blur(18px); opacity:0; transform:translate(-50%,-50%); }
.inspiroblob .inspiroblob_generate.inspiroblob_blooming .inspiroblob_bloom { animation:inspiroblob_bloom .74s ease-out; }
.inspiroblob .inspiroblob_generate.inspiroblob_blooming .inspiroblob_spark { animation:inspiroblob_flare .74s ease-out; }
.inspiroblob .inspiroblob_generate.inspiroblob_blooming .inspiroblob_spark_right { animation-name:inspiroblob_flare_right; }
.inspiroblob .inspiroblob_generate.inspiroblob_blooming #inspiroblob_generate_label { animation:inspiroblob_label .74s ease-out; }
.inspiroblob #inspiroblob_generate_label { position:relative; z-index:1; }
.inspiroblob .inspiroblob_spark { position:absolute; z-index:1; top:50%; margin-top:-.5em; color:#ffdb97; font-size:25px; line-height:1; font-weight:400; text-shadow:0 0 12px #ffc86c,0 0 22px #ffb15a55; animation:inspiroblob_twinkle 4s ease-in-out infinite alternate; }
.inspiroblob .inspiroblob_spark_left { left:20px; }
.inspiroblob .inspiroblob_spark_right { right:20px; animation-delay:-2s; }
.inspiroblob .inspiroblob_generate:disabled { opacity:.88; }
.inspiroblob .inspiroblob_generate:disabled .inspiroblob_spark { animation-duration:1s; }
.inspiroblob .inspiroblob_generate:disabled .inspiroblob_motes span { animation-duration:3.6s; }
@keyframes inspiroblob_twinkle { from { opacity:.4; scale:.8; rotate:-10deg; } to { opacity:1; scale:1.18; rotate:10deg; } }
@keyframes inspiroblob_dust { from { opacity:.35; } to { opacity:.85; } }
@keyframes inspiroblob_veil { from { transform:translate3d(-4%,3%,0); } to { transform:translate3d(5%,-4%,0); } }
@keyframes inspiroblob_rise { 0% { opacity:0; transform:translateY(10px) scale(.4); } 16% { opacity:.7; } 100% { opacity:0; transform:translateY(-68px) scale(1); } }
@keyframes inspiroblob_bloom { 0% { opacity:0; transform:translate(-50%,-50%) scale(.8); filter:blur(14px); } 40% { opacity:.9; } 100% { opacity:0; transform:translate(-50%,-50%) scale(1.12); filter:blur(26px); } }
@keyframes inspiroblob_flare { 0% { transform:scale(1); filter:brightness(1); } 32% { transform:scale(1.6) rotate(16deg); filter:brightness(1.85); } 100% { transform:scale(1) rotate(0deg); filter:brightness(1); } }
@keyframes inspiroblob_flare_right { 0% { transform:scale(1); filter:brightness(1); } 32% { transform:scale(1.6) rotate(-16deg); filter:brightness(1.85); } 100% { transform:scale(1) rotate(0deg); filter:brightness(1); } }
@keyframes inspiroblob_label { 0%,100% { text-shadow:0 1px 3px #25100c,0 0 18px #ffd39560; } 40% { text-shadow:0 0 12px #fff6d8,0 0 28px #ffc56ad0; } }
.inspiroblob .inspiroblob_aside { max-width:270px; font-size:11px; color:#a89b91; line-height:1.7; margin:14px 0 0; }
.inspiroblob .inspiroblob_status { font-size:13px; line-height:1.5; color:#ffd0a1; min-height:40px; max-width:290px; margin:14px 0 0; }
.inspiroblob_result { min-width:0; }
.inspiroblob_result[hidden] { display:none; }
.inspiroblob_frame { position:relative; margin:0; aspect-ratio:2/3; background:#171719; border-radius:6px; overflow:hidden; box-shadow:0 18px 55px #0005,0 0 0 1px #c0a89230; }
.inspiroblob_frame img { display:block; width:100%; height:100%; object-fit:contain; transition:opacity .2s; }
.inspiroblob_frame img[hidden] { display:none; }
.inspiroblob_frame[aria-busy="true"] img { opacity:.6; }
.inspiroblob_waiting { position:absolute; inset:0 0 auto; height:38%; padding:15% 8% 0; background:linear-gradient(#171a2390,transparent); color:#fff7e9; text-align:center; font-family:Georgia,serif; font-size:clamp(25px,3vw,35px); line-height:1.35; }
.inspiroblob_actions { display:flex; gap:9px; margin-top:14px; align-items:center; }
.inspiroblob_actions button,.inspiroblob_actions a { min-height:44px; display:inline-flex; align-items:center; justify-content:center; border-radius:6px; border:1px solid #756457; background:#272322!important; color:#eee2d7!important; padding:10px 16px; }
.inspiroblob_actions #inspiroblob_previous { width:44px; padding:8px; font-size:18px; }
.inspiroblob_actions .inspiroblob_save { flex:1; gap:15px; }
.inspiroblob_actions button:hover:not(:disabled),.inspiroblob_actions a:hover:not([aria-disabled="true"]) { border-color:#d2935a; background:#38302b!important; }
.inspiroblob :disabled,.inspiroblob [aria-disabled="true"] { opacity:.45; cursor:default; }
.inspiroblob [aria-disabled="true"] { pointer-events:none; }
.inspiroblob :focus-visible { outline:2px solid var(--ib_orange); outline-offset:4px; }
.inspiroblob_copy { margin-top:12px; width:100%; color:#eee; background:#242120; border:1px solid #947056; padding:10px; border-radius:5px; }
.inspiroblob_sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:700px) {
 .inspiroblob { display:flex; flex-direction:column; gap:12px; margin: 0 auto 35px; max-width:440px; }
 .inspiroblob_intro { width:100%; text-align:center; }
 .inspiroblob h1 { margin:0 0 10px; font-size:44px; }
 .inspiroblob .inspiroblob_lede { font-size:22px; margin-bottom:24px; }
 .inspiroblob .inspiroblob_lede span { display:block; }
 .inspiroblob .inspiroblob_label { text-align:left; }
 .inspiroblob select,.inspiroblob .inspiroblob_generate { max-width:none; }
 .inspiroblob .inspiroblob_aside { max-width:none; margin-top:10px; }
 .inspiroblob .inspiroblob_status { max-width:none; min-height:0; margin:8px 0 0; }
 .inspiroblob_result { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .inspiroblob *, .inspiroblob *::before, .inspiroblob *::after { animation:none!important; transition:none!important; transform:none!important; } }

.inspiroblob .inspiroblob_lede span { display:block; }
