:root{font-family:ui-rounded,Avenir Next,Avenir,Segoe UI,sans-serif;color:#29243b;background:#fff8ea;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.topbar{max-width:1240px;margin:auto;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{display:inline-flex;gap:11px;align-items:center;font-size:19px;font-weight:800;letter-spacing:-.04em}.brand em{font-style:normal;font-weight:500}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;color:#fff;background:#6941c6;font-size:29px;line-height:1}.parent-link{font-size:13px;font-weight:700;color:#6c5e82;border:1px solid #eadff0;background:#fffaf2;padding:10px 14px;border-radius:100px}.parent-link:hover,.text-button:hover{text-decoration:underline}.child-main,.admin-main{max-width:1240px;padding:0 32px;margin:auto}.hero{position:relative;text-align:center;padding:72px 16px 74px;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#9d6b12;font-size:12px;font-weight:850}.hero h1,.admin-main h1{font-size:clamp(52px,8vw,100px);line-height:1.02;margin:17px 0 21px;letter-spacing:-.075em}.hero h1 span{color:#6941c6}.hero p{max-width:570px;margin:0 auto;color:#766a7d;font-size:18px;line-height:1.6}.hero-doodles span{position:absolute;font-size:52px;color:#fdab6a}.hero-doodles span:nth-child(1){left:8%;top:21%;transform:rotate(-20deg)}.hero-doodles span:nth-child(2){right:8%;top:18%;color:#baa8e5;font-size:74px}.hero-doodles span:nth-child(3){right:17%;bottom:7%;color:#f5c65e;font-size:36px}.studio-grid{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(330px,.93fr);gap:24px;align-items:start}.panel{background:#fffefb;border:1px solid #eee5d6;border-radius:25px;box-shadow:0 15px 38px #5841500f}.create-panel{padding:32px}.section-heading,.result-heading{display:flex;gap:15px;align-items:flex-start}.section-heading h2,.result-heading h2,.history-heading h2,.admin-history h2,.admin-card h2{margin:0;font-size:23px;letter-spacing:-.035em}.section-heading p,.result-heading p,.admin-card p,.admin-history-heading p{margin:4px 0 0;color:#817689;font-size:14px;line-height:1.5}.step{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:12px;background:#f0e8ff;color:#6941c6;font-size:12px;font-weight:900}.field-label{display:block;margin:25px 0 9px;font-weight:750;font-size:14px}textarea,input{outline:none;border:1.5px solid #e5dcec;background:#fff;border-radius:14px;color:#29243b}textarea{width:100%;min-height:132px;padding:17px;resize:vertical;line-height:1.5}textarea:focus,input:focus{border-color:#8b68da;box-shadow:0 0 0 4px #8b68da22}textarea::placeholder,input::placeholder{color:#a49bab}.example{margin:10px 0 0;color:#918698;font-size:12px}.example button{background:none;border:0;padding:0;color:#6941c6;font-weight:700;text-decoration:underline}.space-top{margin-top:34px}.option-grid{display:grid;gap:10px;margin-top:18px}.asset-grid{grid-template-columns:repeat(3,1fr)}.style-grid{grid-template-columns:repeat(2,1fr)}.choice{text-align:left;background:#fff;border:1.5px solid #e8e0e9;border-radius:15px;min-height:78px;padding:13px;color:#353045;transition:transform .15s,border-color .15s,background .15s}.choice:hover{transform:translateY(-2px)}.choice.selected{border-color:#8254d9;background:#f5efff;box-shadow:0 0 0 2px #8254d91a}.choice-title{display:block;font-size:14px;font-weight:800}.choice small{display:block;color:#8b8191;margin-top:4px;font-size:11px;line-height:1.35}.prompt-preview{margin-top:27px;background:#fff8eb;border:1px dashed #eacb9a;border-radius:15px;padding:17px}.preview-title{color:#a86616;font-size:12px;font-weight:850}.prompt-preview p{font-size:13px;color:#65586b;line-height:1.55;margin:8px 0 0;overflow-wrap:anywhere}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:13px;padding:12px 18px;border:1px solid transparent;font-weight:800;font-size:14px;min-height:44px}.button:disabled{opacity:.55;cursor:wait}.primary{color:#fff;background:#6941c6;box-shadow:0 7px 18px #6941c633}.primary:hover:not(:disabled){background:#5831b9}.secondary{background:#f4edff;color:#5b36af;border-color:#e4d8fb}.secondary:hover{background:#eadfff}.generate-button{width:100%;margin-top:21px;justify-content:space-between;padding:16px 19px;font-size:16px}.message{min-height:20px;color:#7c5a30;font-size:13px;line-height:1.5}.result-panel{padding:23px;position:sticky;top:18px}.result-sparkle{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:14px;background:#fff0d2;color:#d18110;font-size:26px}.image-stage{margin-top:21px;aspect-ratio:1/1;display:grid;place-items:center;border-radius:20px;overflow:hidden;background:#f5f0fc;background-image:radial-gradient(#e2d7f1 1px,transparent 1px);background-size:22px 22px;border:1px solid #eee5f5}.stage-placeholder{text-align:center;color:#a397b2}.placeholder-star{font-size:82px;color:#cebce7;line-height:1}.stage-placeholder p{font-size:15px;line-height:1.55}.generated-image{width:100%;height:100%;object-fit:contain}.image-actions{padding-top:17px;text-align:center}.gentle-note{border-top:1px solid #f0eaf1;margin-top:22px;padding-top:17px;text-align:center;color:#a79cab;font-size:12px}.history-section{padding:62px 0 86px}.history-heading,.admin-history-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.history-heading h2{font-size:29px;margin-top:7px}.text-button{border:0;background:none;color:#6845bd;padding:5px 0;font-size:13px;font-weight:800;white-space:nowrap}.history-list{display:grid;gap:10px}.history-row{background:#fffefb;border:1px solid #eee5d6;border-radius:15px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:20px}.history-info{display:grid;gap:4px}.history-info strong{font-size:14px}.history-info small{color:#9d91a3;font-size:11px;text-transform:capitalize}.empty-history{color:#93879b;padding:20px 0;font-size:14px}.loading-card{max-width:520px;margin:0 auto 90px;background:#fff;border:1px solid #eee5d6;padding:26px;border-radius:20px;text-align:center;color:#82738f}.pair-panel{max-width:520px;margin:0 auto 100px;padding:35px}.panel-icon,.card-icon{font-size:29px}.pair-panel h2{font-size:26px;margin:13px 0 7px}.pair-panel p,.login-panel p{color:#82758c;line-height:1.55}.pair-panel label{display:block;font-size:13px;font-weight:800;margin:24px 0 9px}.pair-row{display:flex;gap:10px}.pair-row input{min-width:0;flex:1;padding:12px 15px;text-transform:uppercase;letter-spacing:.1em}.site-footer{text-align:center;padding:28px;color:#a99dad;font-size:12px;border-top:1px solid #f0e5d8}.site-footer span{color:#dca45c;margin:0 8px}.admin-main{padding-top:50px;padding-bottom:100px;min-height:calc(100vh - 180px)}.admin-main h1{font-size:clamp(44px,6vw,70px);margin:13px 0}.admin-intro{max-width:650px;color:#81748b;line-height:1.6;margin-bottom:35px}.login-panel{padding:30px;max-width:440px}.login-panel h2{margin:0}.admin-toolbar{display:flex;justify-content:space-between;margin:0 0 15px;color:#8c7e97;font-size:13px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-card{padding:26px;min-height:210px}.admin-card h2{margin-top:12px}.admin-card .button{margin-top:18px}.pair-code-display{font-size:26px;font-weight:900;letter-spacing:.22em;color:#6941c6;margin-top:19px;overflow-wrap:anywhere}.device-list{margin-top:15px}.device-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #f1eaf0;font-size:12px;color:#756b80}.admin-history{margin-top:20px;padding:27px}.admin-history-heading{align-items:center;padding-bottom:19px;border-bottom:1px solid #f0e9ef}.admin-history-heading h2{margin-top:5px}.danger-outline{background:#fff;border-color:#e9b9b9;color:#a54747}.danger-outline:hover{background:#fff0f0}.admin-entry{display:flex;justify-content:space-between;gap:22px;padding:20px 0;border-bottom:1px solid #f1eaf0}.entry-body{min-width:0}.entry-body h3{font-size:17px;margin:5px 0 9px;overflow-wrap:anywhere}.entry-meta{font-size:11px;text-transform:capitalize;color:#9d90a4}.prompt-detail summary{font-size:12px;font-weight:750;color:#7657bb;cursor:pointer}.prompt-detail p{font-size:12px;color:#766b7e;line-height:1.5;overflow-wrap:anywhere}.blocked-reason{font-size:12px;color:#a86842}.entry-actions{display:flex;gap:17px;align-items:flex-start}.danger-text{color:#b45454}.image-modal{position:fixed;inset:0;background:#171025b9;z-index:10;display:grid;place-items:center;padding:20px}.image-dialog{background:#fff;padding:18px;border-radius:18px;max-width:min(720px,95vw);max-height:95vh;display:flex;flex-direction:column;gap:10px;align-items:center}.image-dialog img{max-width:100%;max-height:70vh;object-fit:contain;border-radius:10px}.modal-close{align-self:flex-end;border:0;background:none;font-size:14px;font-weight:800;color:#6941c6}.setup{padding:80px 20px;text-align:center}.setup code{background:#f1e8f9;padding:3px 6px;border-radius:5px}@media(max-width:820px){.studio-grid,.admin-grid{grid-template-columns:1fr}.result-panel{position:static}.hero{padding:52px 10px}.hero-doodles span{opacity:.3}.topbar{padding:17px 20px}.child-main,.admin-main{padding-left:20px;padding-right:20px}}@media(max-width:520px){.brand{font-size:16px}.brand em{display:none}.parent-link{font-size:11px;padding:9px}.hero p{font-size:15px}.create-panel,.result-panel,.admin-history{padding:20px}.asset-grid{grid-template-columns:1fr}.asset-grid .choice{min-height:60px}.style-grid{grid-template-columns:1fr 1fr}.choice{padding:11px}.choice small{font-size:10px}.admin-history-heading,.entry-actions{align-items:flex-start;flex-direction:column}.admin-entry{gap:5px}.pair-row{flex-direction:column}.history-section{padding-top:48px}}.download-controls{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.download-label{display:flex;align-items:center;gap:8px;color:#65586b;font-size:13px;font-weight:750}.download-format{max-width:220px;padding:11px 12px;border:1.5px solid #e5dcec;border-radius:13px;background:#fff;color:#29243b;font:inherit;font-size:13px}.download-format:focus{outline:none;border-color:#8b68da;box-shadow:0 0 0 4px #8b68da22}.download-status{flex-basis:100%;margin:0;min-height:18px}.image-dialog .download-controls{padding:4px 0 0}
