:root{--bg:#09090f;--panel:#11111a;--line:#2a2938;--text:#f7f5fb;--muted:#a7a5b4;--violet:#a78bfa;--pink:#f472b6}*{box-sizing:border-box}body{margin:0;background:radial-gradient(900px 500px at 70% 30%,#21173b33,transparent 70%),var(--bg);color:var(--text);font-family:Manrope,'Noto Sans KR',sans-serif;min-height:100vh}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;max-width:1260px;margin:auto;padding:0 28px;border-bottom:1px solid #ffffff0a}.brand{color:var(--text);text-decoration:none;font-weight:800;letter-spacing:-.7px}.brand-mark{color:#d8b4fe;font-size:22px;margin-right:7px}.brand small{font:10px 'DM Mono';color:#9b8bc4;border:1px solid #8066aa88;padding:2px 5px;border-radius:4px;margin-left:7px}.top-actions{display:flex;gap:20px;align-items:center}.status{font-size:12px;color:var(--muted)}.status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#61df9a;margin-right:7px;box-shadow:0 0 12px #61df9a}.ghost{background:transparent;border:0;color:#d6d2df;font:500 13px inherit;cursor:pointer}.hero{max-width:1260px;margin:76px auto 43px;padding:0 28px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:800;color:#c4b5fd;margin:0 0 15px}.hero h1{font-size:clamp(45px,6vw,76px);line-height:.98;letter-spacing:-4px;margin:0;font-weight:800}.hero h1 em{font-style:normal;background:linear-gradient(100deg,#d8b4fe,#f9a8d4);background-clip:text;color:transparent}.subcopy{max-width:475px;line-height:1.75;color:var(--muted);font-size:15px;margin:22px 0 0}.studio{max-width:1260px;margin:auto;padding:0 28px 70px;display:grid;grid-template-columns:minmax(360px,500px) 1fr;gap:24px}.controls,.canvas{background:linear-gradient(145deg,#171622,#0f0f17);border:1px solid var(--line);border-radius:18px}.controls{padding:28px}.field-label{font-size:13px;font-weight:700;display:block;margin-bottom:10px}.field-label span{color:#c4b5fd;font-weight:500;font-size:11px;margin-left:5px}.prompt-wrap{position:relative}.prompt-wrap textarea{width:100%;height:152px;resize:vertical;border-radius:11px;border:1px solid #39364c;background:#0b0b12;color:var(--text);padding:14px 16px 31px;font:14px/1.65 'Noto Sans KR',sans-serif;outline:none;transition:.2s}.prompt-wrap textarea:focus{border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa18}.counter{position:absolute;right:13px;bottom:9px;color:#777487;font:10px 'DM Mono'}.suggestions{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.suggestions button,.segmented button{border:1px solid #3a374a;background:#181723;color:#bbb6c8;border-radius:20px;padding:6px 10px;font:12px inherit;cursor:pointer}.suggestions button:hover{color:white;border-color:#a78bfa}.rule{height:1px;background:var(--line);margin:22px 0}.segmented{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.segmented button{border-radius:8px;padding:9px 4px}.segmented .selected{color:white;border-color:#a78bfa;background:#8b5cf625}details{margin:24px 0}summary{cursor:pointer;font-size:13px;font-weight:700;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';float:right;color:#c4b5fd;font-size:18px}details[open] summary:after{content:'–'}summary span{font-weight:400;font-size:11px;color:#827e90;margin-left:7px}.advanced{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.advanced label{font-size:11px;color:#aaa5b5}.advanced input{width:100%;margin-top:6px;border:1px solid #39364c;background:#0b0b12;border-radius:8px;padding:10px;color:white;outline:none;font:12px inherit}.generate{width:100%;border:0;border-radius:11px;background:linear-gradient(100deg,#8b5cf6,#d946ef);padding:14px;color:white;font:700 14px inherit;cursor:pointer;box-shadow:0 9px 28px #8b5cf633;display:flex;justify-content:center;gap:10px;align-items:center}.generate:hover{filter:brightness(1.1)}.generate:disabled{opacity:.6;cursor:wait}.spark{font-size:17px}.generate kbd{position:absolute;margin-left:390px;font:10px 'DM Mono';opacity:.65}.notice{font-size:10px;line-height:1.6;color:#777381;text-align:center;margin:13px 5px 0}.canvas{min-height:520px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.empty,.loading,.error{text-align:center;z-index:1}.empty-icon{font-size:53px;color:#d8b4fe;text-shadow:0 0 30px #a855f7}.empty p,.loading p{font-weight:700;margin:15px 0 5px}.empty small,.loading small{color:#898593;font-size:12px}.orb{position:absolute;border-radius:50%;filter:blur(3px);opacity:.35}.orb-a{width:280px;height:280px;background:#6d28d9;top:-75px;right:-60px}.orb-b{width:240px;height:240px;background:#be185d;bottom:-110px;left:-85px}.hidden{display:none!important}.loading .loader{width:43px;height:43px;border:3px solid #40374f;border-top-color:#d8b4fe;border-radius:50%;margin:auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.result{width:100%;height:100%;align-self:stretch}.result img{width:100%;height:calc(100% - 54px);min-height:466px;display:block;object-fit:contain;background:#07070b}.result-bar{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:#938f9f;font-size:11px}.result-bar button,.result-bar a{border:1px solid #3a374a;background:transparent;color:#d8d4df;border-radius:7px;padding:6px 9px;text-decoration:none;font:11px inherit;margin-left:5px;cursor:pointer}.error div{color:#fb7185;border:1px solid #fb718566;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;margin:auto}.error p{font-size:14px;margin:14px}.error button{background:#33264d;border:1px solid #805eb1;color:white;border-radius:7px;padding:8px 12px;cursor:pointer}.shake{animation:shake .4s}@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}dialog{max-width:460px;background:#171622;color:white;border:1px solid #4a3c5f;border-radius:15px;padding:29px;box-shadow:0 30px 100px #000}dialog::backdrop{background:#0009}dialog h2{margin:0 0 10px;font-size:25px;letter-spacing:-1px}dialog p{color:#bbb6c8;font-size:14px;line-height:1.7}dialog code{display:block;color:#e9d5ff;background:#0b0b12;padding:12px;border-radius:8px;font:12px 'DM Mono'}dialog .tip{font-size:12px}.close{position:absolute;right:13px;top:10px;border:0;background:none;color:white;font-size:25px;cursor:pointer}@media(max-width:800px){.topbar{padding:0 18px}.status{display:none}.hero{margin:52px auto 33px;padding:0 18px}.hero h1{letter-spacing:-2.7px}.studio{grid-template-columns:1fr;padding:0 18px 32px}.canvas{min-height:400px}.generate kbd{display:none}.result img{min-height:346px}.advanced{grid-template-columns:1fr}.controls{padding:21px}}
