:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f3f0ec;background-color:#14141c;background-image:radial-gradient(120% 90% at 88% -10%,#ff7a5c2e,#0000 60%),radial-gradient(90% 80% at 0 110%,#5eead41a,#0000 55%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{place-items:center;min-height:100vh;margin:0;padding:24px;display:grid}.app-shell{width:min(100%,720px)}.card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#1e1f2bd1;border:1px solid #ffffff1f;border-radius:24px;padding:32px;box-shadow:0 20px 60px #00000047}.eyebrow{text-transform:uppercase;letter-spacing:.24em;color:#ff7a5c;margin:0 0 8px;font-size:.8rem}h1{margin:0 0 8px;font-size:clamp(1.8rem,3vw,2.6rem)}.subtitle{color:#c4c2ce;margin:0 0 24px;line-height:1.6}.tones{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.tone-chip{color:#e8e4de;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:999px;padding:8px 16px;font-size:.95rem;font-weight:600}.tone-chip.active{color:#14141c;background:#ff7a5c;border-color:#ff7a5c}.context-input{color:#f3f0ec;resize:vertical;background:#ffffff0f;border:1px solid #ffffff24;border-radius:14px;width:100%;min-height:72px;margin-bottom:16px;padding:14px 16px;font-family:inherit;font-size:1rem;line-height:1.5}.context-input::placeholder{color:#9a9fb2}.photo-row{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-bottom:16px;display:flex}.generator-toolbar{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.photo-grid{flex-wrap:wrap;gap:12px;display:flex}.photo-details summary{cursor:pointer;color:#c4c2ce;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:999px;padding:10px 16px;font-size:.95rem;list-style:none;display:inline-block}.photo-details summary::-webkit-details-marker{display:none}.photo-details[open] summary{margin-bottom:12px}.header-row{justify-content:space-between;align-items:baseline;display:flex}.link-button{color:#9a9fb2;cursor:pointer;background:0 0;border:0;padding:0;font-size:.9rem;font-weight:600;text-decoration:underline}.link-button:hover{color:#c4c2ce;transform:none}.profile-row{color:#c4c2ce;margin:0 0 18px;font-size:.95rem}.field-label{color:#c4c2ce;margin:0 0 10px;font-size:.95rem;font-weight:600}.provider-button{color:#f3f0ec;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:999px;width:100%;height:48px;margin-bottom:18px;font-weight:600}.auth-divider{align-items:center;gap:12px;margin-bottom:18px;display:flex}.auth-divider span{background:#ffffff24;flex:1;height:1px}.auth-divider em{color:#9a9fb2;font-size:.85rem;font-style:normal}.auth-input{resize:none;min-height:auto;margin-bottom:12px}.scene-read{color:#5eead4;margin:0 0 10px;font-size:.95rem;font-style:italic}.photo-preview{display:inline-block;position:relative}.photo-preview img{border:1px solid #ffffff2e;border-radius:14px;max-width:100%;max-height:120px;display:block}.photo-remove{color:#f3f0ec;background:#14141cf2;border:1px solid #ffffff40;border-radius:999px;width:28px;height:28px;padding:0;font-size:16px;line-height:1;position:absolute;top:-8px;right:-8px}.line-box{text-align:left;white-space:pre-wrap;background:#ffffff14;border:1px solid #ffffff1a;border-radius:18px;place-items:center;min-height:140px;margin-bottom:20px;padding:24px;font-size:1.1rem;line-height:1.8;display:grid}.line-box.empty{color:#9a9fb2;text-align:center}.actions{flex-wrap:wrap;gap:12px;display:flex}button{cursor:pointer;color:#14141c;background:#ff7a5c;border:0;border-radius:999px;padding:12px 18px;font-size:1rem;font-weight:700}button.secondary{color:#f3f0ec;background:#ffffff24}button:hover{transform:translateY(-1px)}button:disabled{opacity:.5;cursor:default;transform:none}.status{color:#5eead4;min-height:1.2rem;margin-top:12px}.status.error{color:#fca5a5}
