:root{color-scheme:dark;--bg:#0b0d12;--panel:#14171e;--panel2:#1a1e27;--line:#292e39;--text:#f4f1e9;--muted:#969ba8;--accent:#d7ff59;--danger:#ff7c7c;--radius:20px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{margin:0;background:radial-gradient(circle at 80% -20%,#263023 0,transparent 33%),var(--bg);color:var(--text);min-height:100vh;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}button,input,select,textarea{font:inherit}button,a,.upload-button{touch-action:manipulation}.hidden{display:none!important}
.offline-banner{position:fixed;z-index:100;top:env(safe-area-inset-top);left:0;right:0;padding:9px;text-align:center;background:#6f3030;color:#fff;font-size:13px;font-weight:700}.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.login-card{width:min(100%,420px);padding:34px;background:linear-gradient(150deg,#181c23,#101217);border:1px solid var(--line);border-radius:28px;box-shadow:0 30px 90px #0008}.brand-mark{width:54px;height:54px;display:grid;place-items:center;background:var(--accent);color:#0b0d12;border-radius:16px;font-weight:900;margin-bottom:42px;transform:rotate(-3deg)}.eyebrow{margin:0 0 7px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.18em}.login-card h1{font-family:Georgia,serif;font-weight:500;font-size:44px;line-height:.98;margin:0 0 16px}.muted{color:var(--muted)}label{display:block;font-size:12px;font-weight:700;color:#c9cbd2;letter-spacing:.03em}.login-card form{margin-top:30px}.login-card input{margin:8px 0 14px}.error{color:var(--danger);min-height:20px;font-size:13px}
input,select,textarea{width:100%;color:var(--text);background:#0e1116;border:1px solid #343a47;border-radius:12px;min-height:48px;padding:12px;outline:none}textarea{resize:vertical;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d7ff5918}.primary,.secondary,.generate-button,.upload-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:13px;border:0;padding:0 18px;font-weight:800;cursor:pointer}.primary,.generate-button{background:var(--accent);color:#0a0c0f}.secondary,.upload-button{background:#232832;color:var(--text);border:1px solid #343a47;text-decoration:none}.full{width:100%}.primary:disabled,.generate-button:disabled{opacity:.5;cursor:not-allowed}
.app-shell{max-width:980px;margin:auto;padding-bottom:230px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:20px 18px 12px;background:#0b0d12e8;backdrop-filter:blur(18px);border-bottom:1px solid #1d212a}.topbar h1{margin:0;font-family:Georgia,serif;font-size:27px;font-weight:500}.header-actions{display:flex;gap:8px;align-items:center}.status-pill{display:flex;align-items:center;gap:7px;padding:8px 10px;background:#161a21;border:1px solid var(--line);border-radius:999px;font-size:11px;color:var(--muted)}.status-pill i{display:block;width:7px;height:7px;border-radius:50%;background:#e6b84a}.status-pill.online i{background:var(--accent);box-shadow:0 0 10px var(--accent)}.status-pill.offline i{background:var(--danger)}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text);font-size:18px}.view-tabs{display:flex;align-items:center;padding:12px 18px 0;gap:20px;border-bottom:1px solid var(--line)}.view-tabs button{padding:12px 2px;border:0;border-bottom:2px solid transparent;color:var(--muted);background:none;font-weight:700}.view-tabs button.active{color:var(--text);border-color:var(--accent)}.view-tabs .reset-control{margin-left:auto;color:#d5d7dd;font-size:12px;border:1px solid var(--line);border-radius:999px;padding:7px 11px;transform:translateY(-4px)}.view-tabs .reset-control:active{color:var(--accent);border-color:var(--accent)}.content{padding:18px}.mode-card,.card,.fields-card{background:linear-gradient(145deg,var(--panel),#101319);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:16px}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:13px;background:#0b0d12}.segmented button{min-height:40px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:12px;font-weight:700}.segmented button.active{background:var(--panel2);color:var(--accent)}.prompt-wrap{margin-top:16px}.prompt-wrap textarea{margin-top:8px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:24px 2px 13px}.section-heading h2{margin:0;font-family:Georgia,serif;font-size:30px;font-weight:500}.section-heading select{width:auto;min-width:145px;max-width:48%;min-height:42px}.category-tabs{display:flex;overflow-x:auto;gap:7px;padding-bottom:10px;scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}.category-tabs button{flex:none;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:#11141a;color:var(--muted);font-size:12px;font-weight:700}.category-tabs button.active{color:#0b0d12;background:var(--text);border-color:var(--text)}.fields-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.adult-note{grid-column:1/-1;margin:0;padding:11px 12px;border:1px solid #d7ff5938;border-radius:12px;background:#d7ff590a;color:#cdd7ae;font-size:12px;line-height:1.5}.field select{margin-top:7px}.custom-field{margin-top:7px}.card h3{margin:5px 0 7px}.card>label+textarea{margin-top:8px}.tag{display:inline-block;padding:5px 7px;border-radius:6px;background:#d7ff5918;color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.12em}.reference-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.reference-card input{display:none}.reference-card .small{grid-column:1/-1;margin:0}.small{font-size:12px;color:var(--muted)}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.text-button{border:0;background:transparent;color:var(--accent);font-weight:700;cursor:pointer}.prompt-preview{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;font-size:13px}
.action-bar{position:fixed;z-index:30;bottom:0;left:max(0px,env(safe-area-inset-left));right:max(0px,env(safe-area-inset-right));padding:12px max(14px,calc((100vw - 980px)/2 + 18px)) max(12px,env(safe-area-inset-bottom));background:#0e1116ee;border-top:1px solid var(--line);backdrop-filter:blur(22px)}.quick-settings{display:grid;grid-template-columns:1.4fr 1fr .7fr;gap:8px}.quick-settings label{font-size:9px;color:var(--muted)}.quick-settings select{min-height:38px;padding:7px;margin-top:4px;border-radius:9px;font-size:11px}.generate-button{width:100%;margin-top:10px;height:52px;font-size:15px;justify-content:space-between;padding:0 22px}.generate-button b{font-size:22px}.seed-row{display:flex;align-items:center;gap:10px;margin-top:8px}.seed-row label{display:flex;align-items:center;gap:6px}.seed-row input[type=checkbox]{width:18px;min-height:18px;margin:0;accent-color:var(--accent)}.seed-row input[type=number]{height:36px;min-height:36px}.custom-resolution{display:flex;align-items:center;gap:6px;margin-top:8px}.custom-resolution input{min-height:36px;height:36px}.history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.history-item{padding:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:15px;text-align:left;color:var(--text)}.history-item img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.history-item div{padding:10px}.history-item strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.history-item span{color:var(--muted);font-size:10px}
dialog{color:var(--text)}dialog::backdrop{background:#050607d9;backdrop-filter:blur(8px)}.modal{width:min(calc(100% - 36px),380px);padding:34px;border:1px solid var(--line);border-radius:24px;background:#11141a;text-align:center}.spinner{width:52px;height:52px;margin:0 auto 24px;border:3px solid #303641;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal h2{font-family:Georgia,serif;font-weight:500}.result-modal{width:min(calc(100% - 20px),900px);max-height:calc(100vh - 20px);padding:0;border:1px solid var(--line);border-radius:24px;background:#101319;overflow:auto}.result-modal>img{width:100%;max-height:60vh;display:block;object-fit:contain;background:#08090c}.result-info{padding:22px}.result-info h2{font-family:Georgia,serif;font-size:30px;font-weight:500;margin:0 0 18px}.modal-close{position:fixed;z-index:2;margin:12px;width:40px;height:40px;border-radius:50%;border:1px solid #ffffff33;background:#000a;color:white;font-size:25px}.metadata-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:14px 0 22px}.metadata-grid div{padding:10px;background:#0b0d12;border-radius:10px}.metadata-grid span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.metadata-grid b{font-size:12px}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.result-actions .primary{grid-column:1/-1}
@media(max-width:560px){.fields-card{grid-template-columns:1fr}.reference-card{grid-template-columns:1fr}.history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading h2{font-size:27px}.login-card{padding:27px}.login-card h1{font-size:40px}}@media(min-width:760px){.app-shell{padding-bottom:190px}.action-bar{display:grid;grid-template-columns:1fr 190px;gap:14px;align-items:end}.generate-button{margin:0}.result-modal{grid-template-columns:1fr 1fr}.result-modal[open]{display:grid}.result-modal>img{height:100%;max-height:90vh}.history-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.spinner{animation-duration:2s}}

.reference-card>input{display:none}
.reference-controls{grid-column:1/-1;display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:start;padding-top:12px;border-top:1px solid var(--line)}
.reference-controls img{width:112px;height:112px;display:block;object-fit:cover;border-radius:13px;background:#090b0e;border:1px solid var(--line)}
.reference-controls select{margin-top:7px}
.reference-controls .small{margin:7px 0}
.danger-text{color:var(--danger);padding:7px 0}
.error-text{color:var(--danger)!important}

@media(max-width:560px){
  .reference-controls{grid-template-columns:88px 1fr}
  .reference-controls img{width:88px;height:88px}
}

@media(max-width:759px){
  .result-modal{inset:0;width:100%;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;overflow:hidden}
  .result-modal[open]{display:flex;flex-direction:column}
  .result-modal>img{flex:0 0 auto;width:100%;height:min(34dvh,290px);max-height:none;object-fit:contain}
  .result-info{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px 0}
  .result-info h2{font-size:27px;margin-bottom:14px}
  .result-actions{position:sticky;z-index:3;bottom:0;margin:18px -16px 0;padding:12px 16px max(14px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#10131900,#101319 16%,#101319);border-top:1px solid var(--line)}
  .result-actions #backSettings{grid-column:1/-1}
  .modal-close{position:fixed;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));margin:0}
}
