/* Shared visual pass: neutral graphite surfaces, blue/cyan actions, predictable focus. */
:root {
    --ui-bg: #090b10;
    --ui-surface: #11151c;
    --ui-surface-2: #171d26;
    --ui-surface-3: #202832;
    --ui-line: rgba(148, 163, 184, .18);
    --ui-line-strong: rgba(96, 165, 250, .48);
    --ui-text: #f5f7fb;
    --ui-muted: #9aa6b5;
    --ui-subtle: #6f7b8b;
    --ui-blue: #60a5fa;
    --ui-cyan: #22d3ee;
    --ui-green: #34d399;
    --ui-danger: #fb7185;
    --ui-radius: 10px;
    --ui-shadow: 0 14px 36px rgba(0, 0, 0, .24);
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { overflow-x: hidden; }
body {
    font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
    letter-spacing: 0;
    text-rendering: optimizeLegibility;
}
button, input, select, textarea { letter-spacing: 0; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 2px solid var(--ui-blue) !important;
    outline-offset: 2px;
}

/* Retire the old animated purple banner treatment. */
.top-banner::before,
.top-banner::after,
.studio-announcement::before,
.studio-announcement::after { display: none !important; }
body:not(.pro-create-page):not(.imini-create-page) .top-banner {
    background: rgba(14, 18, 25, .96);
    border-bottom-color: var(--ui-line);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
}
body:not(.pro-create-page):not(.imini-create-page) .site-logo {
    filter: none;
    box-shadow: 0 0 0 1px var(--ui-line);
}
.btn-admin, .btn-recharge, .btn-reward-center, .customer-service-trigger,
.btn-user-logout, .btn-new-chat, .model-btn, .option-btn, .generation-mode-btn,
.api-action-btn, .btn-add-model {
    min-height: 38px;
    border-radius: var(--ui-radius);
}

/* The legacy shared palette now resolves to blue instead of violet. */
body:not(.imini-create-page) {
    --bg-primary: var(--ui-bg);
    --bg-secondary: rgba(17, 21, 28, .92);
    --bg-tertiary: var(--ui-surface-2);
    --bg-card: rgba(20, 26, 34, .94);
    --bg-hover: var(--ui-surface-3);
    --bg-input: #0d1219;
    --border-color: var(--ui-line);
    --border-light: rgba(96, 165, 250, .28);
    --border-glow: rgba(96, 165, 250, .46);
    --accent-purple: var(--ui-blue);
    --accent-purple-light: #93c5fd;
    --accent-purple-dark: #2563eb;
    --accent-blue: var(--ui-cyan);
    --accent-gradient: linear-gradient(135deg, #2563eb, #22d3ee);
    --accent-gradient-hover: linear-gradient(135deg, #3b82f6, #67e8f9);
    --shadow-glow: 0 0 20px rgba(34, 211, 238, .18);
    --shadow-glow-strong: 0 0 28px rgba(34, 211, 238, .24);
    --shadow-neon: 0 0 14px rgba(34, 211, 238, .2);
}

/* Home page: calm blue/cyan accent and no purple atmosphere. */
body.home-page {
    --brand: #3b82f6;
    --brand2: #22d3ee;
    background: #080b11;
}
body.home-page .hero {
    background: radial-gradient(circle at 70% 30%, rgba(34, 211, 238, .1), transparent 38%), linear-gradient(180deg, #0c1118, #080b11);
}
body.home-page .hero h1 em { background-image: linear-gradient(105deg, #fff 15%, #8ed8ff 55%, #67e8f9); }
body.home-page .eyebrow, body.home-page .feature-grid b { color: #7dd3fc; }
body.home-page .trust-row span::before, body.home-page .price-card li::before { color: var(--ui-cyan); }
body.home-page .cta { background: linear-gradient(120deg, #124e78, #0f766e 55%, #164e63); }
body.home-page .home-contact-item a { color: #7dd3fc; }
body.home-page .hero-glow { opacity: .12; }

/* Prompt library: content first, readable controls, blue media labels. */
body.prompt-page {
    --prompt-bg: #090b10;
    --prompt-surface: #121820;
    --prompt-soft: #1a222c;
    --prompt-line: rgba(148, 163, 184, .18);
    --prompt-muted: #9aa6b5;
    --prompt-accent: #60a5fa;
    background: radial-gradient(circle at 72% -10%, rgba(34, 211, 238, .08), transparent 28%), var(--prompt-bg);
}
body.prompt-page .prompt-primary,
body.prompt-page .detail-copy-primary,
body.prompt-page .detail-reuse-primary {
    background: #dbeafe;
    color: #0f3b66;
}
body.prompt-page .prompt-primary:hover { background: #eff6ff; }
body.prompt-page .prompt-eyebrow,
body.prompt-page .prompt-type-badge,
body.prompt-page .prompt-filter.active { color: #93c5fd; }
body.prompt-page .prompt-filter.active { border-color: rgba(96, 165, 250, .34); background: rgba(59, 130, 246, .14); }
body.prompt-page .prompt-card:hover { border-color: rgba(96, 165, 250, .42); }
body.prompt-page .prompt-search input:focus { border-color: var(--ui-blue); }
body.prompt-page .prompt-source-badge { background: rgba(56, 189, 248, .14); color: #7dd3fc; }
body.prompt-page .prompt-card, body.prompt-page .prompt-detail-card, body.prompt-page .prompt-form { border-radius: 12px; }

/* Admin: keep the dense work surface quiet and remove the final violet overrides. */
body.admin-page {
    --admin-black: #080b10;
    --admin-rail: #0d1219;
    --admin-panel: #121820;
    --admin-panel-2: #19222d;
    --admin-line: rgba(148, 163, 184, .18);
    --admin-line-strong: rgba(96, 165, 250, .42);
    --admin-text: #f5f7fb;
    --admin-muted: #a1adbb;
    --admin-subtle: #748195;
    --admin-blue: #60a5fa;
    --admin-cyan: #22d3ee;
    --admin-lime: #67e8f9;
    background: #080b10;
}
body.admin-page .admin-sidebar { background: var(--admin-rail); border-right-color: var(--admin-line); box-shadow: 16px 0 38px rgba(0, 0, 0, .28); }
body.admin-page .admin-nav-item { color: var(--admin-muted); }
body.admin-page .admin-nav-item:hover { color: var(--admin-text); background: rgba(96, 165, 250, .1); }
body.admin-page .admin-nav-item.active { color: var(--admin-text); border-color: rgba(96, 165, 250, .38); background: rgba(96, 165, 250, .12); box-shadow: inset 2px 0 0 var(--admin-cyan); }
body.admin-page .admin-header { background: rgba(8, 11, 16, .94); border-bottom-color: var(--admin-line); }
body.admin-page .admin-section, body.admin-page .stat-card { background: var(--admin-panel); border-color: var(--admin-line); box-shadow: none; }
body.admin-page .api-section-heading { background: var(--admin-panel-2); border-bottom-color: var(--admin-line); }
body.admin-page .api-action-btn.primary, body.admin-page .btn-add-model { color: #071218; background: var(--admin-cyan); border-color: var(--admin-cyan); box-shadow: none; }
body.admin-page .api-action-btn.secondary { color: var(--admin-text); background: var(--admin-panel-2); border-color: var(--admin-line-strong); }
body.admin-page .api-action-btn:not(:disabled):hover, body.admin-page .btn-add-model:hover { color: #071218; background: #7dd3fc; border-color: #7dd3fc; }
body.admin-page .stat-icon { color: var(--admin-cyan); border-color: rgba(34, 211, 238, .28); background: rgba(34, 211, 238, .08); }
body.admin-page input:focus, body.admin-page select:focus, body.admin-page textarea:focus { border-color: var(--admin-blue); box-shadow: 0 0 0 3px rgba(96, 165, 250, .12); }

/* Canvas: match the rest of the product and avoid purple selection affordances. */
body.canvas-page { background: #090b10; }
body.canvas-page .flow-header, body.canvas-page .asset-sidebar, body.canvas-page .inspector { background: #10161e; border-color: var(--ui-line); }
body.canvas-page .flow-header-actions span, body.canvas-page .sidebar-title span, body.canvas-page .inspector-kicker { color: #7dd3fc; }
body.canvas-page .upload-asset, body.canvas-page .run-node { background: linear-gradient(135deg, #2563eb, #0891b2); }
body.canvas-page .vue-flow__node.selected .flow-node { border-color: var(--ui-blue); box-shadow: 0 0 0 2px rgba(96, 165, 250, .26); }
body.canvas-page .vue-flow__handle { background: var(--ui-blue); }

/* Shared media semantics: blue is reserved for image/video/source labels. */
.media-type-label, .prompt-source-badge, .prompt-type-badge, [data-media-type] { color: #7dd3fc; }

/* Image results stay inspectable without taking over the conversation. */
.preview-panel { animation: none; border-color: var(--ui-line); }
.preview-header { background: rgba(14, 18, 25, .82); }
.preview-content { padding: clamp(14px, 2.2vw, 26px); }
.preview-tab.active { background: linear-gradient(135deg, #2563eb, #0891b2); box-shadow: 0 8px 20px rgba(37, 99, 235, .18); }
.message-list { max-width: 920px; gap: 16px; }
.message-text { font-size: 1rem; }
.message.assistant .message-content { background: rgba(20, 27, 36, .94); }
.message-image { display: block; width: auto; max-width: min(100%, 520px); max-height: 420px; object-fit: contain; }
.message-ref-image { width: 56px; height: 56px; object-fit: cover; }

body.imini-create-page .message-list { padding: 14px; gap: 12px; }
body.imini-create-page .message-text { font-size: 14px; }
body.imini-create-page .generated-image-container img,
body.imini-create-page .result-item img { display: block; max-width: 100%; height: auto; object-fit: contain; }

@media (max-width: 900px) {
    body.prompt-page .prompt-shell { width: min(100% - 28px, 1500px); }
    body.prompt-page .prompt-intro h1 { font-size: clamp(2rem, 9vw, 3.2rem); }
    body.admin-page .admin-section { overflow: hidden; }
}

/* iMini workspace: keep the rail and session drawer on the same black
   surface as the main canvas, and make session actions readable on touch. */
body.imini-create-page,
body.imini-create-page .app-container,
body.imini-create-page .main-content,
body.imini-create-page .preview-panel,
body.imini-create-page .control-panel,
body.imini-create-page .sidebar,
body.imini-create-page .imini-rail,
body.imini-create-page .sidebar.imini-sessions-open .sidebar-header,
body.imini-create-page .sidebar.imini-sessions-open .session-list {
    background: #050506 !important;
}
body.imini-create-page .sidebar,
body.imini-create-page .imini-rail,
body.imini-create-page .sidebar.imini-sessions-open .sidebar-header {
    border-color: #242427 !important;
}
body.imini-create-page .session-list {
    background: #050506 !important;
}
body.imini-create-page .session-item {
    background: #101012 !important;
    border-color: #25252a !important;
}
body.imini-create-page .session-item:hover {
    background: #18181c !important;
    border-color: #3b3b43 !important;
}
body.imini-create-page .session-item.active {
    background: #1b1b20 !important;
    border-color: #45454e !important;
}
body.imini-create-page .session-rename,
body.imini-create-page .session-delete {
    position: absolute;
    top: 50%;
    width: 28px;
    height: 28px;
    display: grid;
    padding: 0;
    place-items: center;
    color: #a4a4ad;
    border: 1px solid #3a3a42;
    border-radius: 7px;
    background: #202024;
    opacity: 0;
    transform: translateY(-50%);
    transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, opacity 160ms ease;
}
body.imini-create-page .session-rename { right: 43px; }
body.imini-create-page .session-delete { right: 10px; }
body.imini-create-page .session-item:hover .session-rename,
body.imini-create-page .session-item:hover .session-delete,
body.imini-create-page .session-item.active .session-rename,
body.imini-create-page .session-item.active .session-delete,
body.imini-create-page .session-rename:focus-visible,
body.imini-create-page .session-delete:focus-visible { opacity: 1; }
body.imini-create-page .session-rename:hover,
body.imini-create-page .session-rename:focus-visible {
    color: #d8faff;
    border-color: #2de2e6;
    background: rgba(45, 226, 230, .16);
}
body.imini-create-page .session-delete:hover:not(:disabled),
body.imini-create-page .session-delete:focus-visible {
    color: #ffd0ce;
    border-color: #ff6f6a;
    background: rgba(255, 111, 106, .16);
}
body.imini-create-page .session-rename svg,
body.imini-create-page .session-delete svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
body.imini-create-page .session-rename:disabled,
body.imini-create-page .session-delete:disabled { opacity: .35; cursor: not-allowed; }
@media (max-width: 900px) {
    body.imini-create-page .session-rename,
    body.imini-create-page .session-delete { opacity: 1; }
}

/* The discovery feed uses wrapped categories and explicit pages instead of a
   single horizontal strip that hides the remaining categories. */
body.imini-create-page .imini-inspiration-categories {
    flex-wrap: wrap !important;
    align-content: flex-start;
    overflow: visible !important;
    max-height: none !important;
}
body.imini-create-page .imini-inspiration-grid {
    max-height: none !important;
    overflow: visible !important;
}
body.imini-create-page .imini-inspiration-pagination {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 14px 2px 4px;
    color: var(--imi-subtle);
    font-size: 11px;
}
body.imini-create-page .imini-inspiration-pagination button,
body.imini-create-page .imini-inspiration-pagination select,
body.imini-create-page .imini-inspiration-pagination input {
    min-height: 32px;
    color: var(--imi-text);
    border: 1px solid #36363e;
    border-radius: 7px;
    background: #17171a;
    font: inherit;
}
body.imini-create-page .imini-inspiration-pagination button { padding: 0 10px; cursor: pointer; }
body.imini-create-page .imini-inspiration-pagination button:hover:not(:disabled) { border-color: var(--imi-cyan); background: rgba(45, 226, 230, .12); }
body.imini-create-page .imini-inspiration-pagination button:disabled { opacity: .36; cursor: not-allowed; }
body.imini-create-page .imini-inspiration-pagination input { width: 48px; padding: 0 6px; text-align: center; }
body.imini-create-page .imini-inspiration-pagination select { padding: 0 6px; }
body.imini-create-page .imini-inspiration-page-status { color: var(--imi-text); font-variant-numeric: tabular-nums; }
body.imini-create-page .imini-inspiration-page-jump,
body.imini-create-page .imini-inspiration-page-size { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
body.imini-create-page .imini-inspiration-page-jump-button { color: #050606 !important; border-color: var(--imi-cyan) !important; background: var(--imi-cyan) !important; }

/* Inspiration landing page follows the same black surface as the creator. */
body.imini-inspiration-page { background: #050505 !important; }
body.imini-inspiration-page .ii-ambient { display: none !important; }

.home-page .visual-card.main img { object-position: center 38%; }
.home-page .visual-card.top img { object-position: center 32%; }
.home-page .visual-card.bottom img { object-position: center 28%; }
.home-page .gallery-grid figure:nth-child(1) img { object-position: center 34%; }
.home-page .gallery-grid figure:nth-child(2) img,
.home-page .gallery-grid figure:nth-child(7) img,
.home-page .gallery-grid figure:nth-child(8) img { object-position: center 30%; }
.home-page .gallery-grid figure:nth-child(3) img { object-position: center 28%; }
.home-page .gallery-grid figure:nth-child(4) img { object-position: center 32%; }
.home-page .gallery-grid figure:nth-child(5) img { object-position: center 35%; }
.home-page .gallery-grid figure:nth-child(6) img { object-position: center top; }

/* Legacy creator pages use the same compact icon affordances. */
body.studio-create-page:not(.imini-create-page) .session-rename,
body.studio-create-page:not(.imini-create-page) .session-delete,
body.showcase-create-page:not(.imini-create-page) .session-rename,
body.showcase-create-page:not(.imini-create-page) .session-delete,
body.pro-create-page:not(.imini-create-page) .session-rename,
body.pro-create-page:not(.imini-create-page) .session-delete {
    width: 28px; height: 28px; display: grid; padding: 0; place-items: center;
    border: 1px solid rgba(148, 163, 184, .26); border-radius: 7px; background: rgba(15, 23, 42, .86);
}
body.studio-create-page:not(.imini-create-page) .session-rename svg,
body.studio-create-page:not(.imini-create-page) .session-delete svg,
body.showcase-create-page:not(.imini-create-page) .session-rename svg,
body.showcase-create-page:not(.imini-create-page) .session-delete svg,
body.pro-create-page:not(.imini-create-page) .session-rename svg,
body.pro-create-page:not(.imini-create-page) .session-delete svg {
    width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}

@media (max-width: 680px) {
    body.prompt-page .prompt-topbar { gap: 8px; }
    body.prompt-page .prompt-brand { min-width: 0; }
    body.prompt-page .prompt-brand strong { max-width: 42vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    body.prompt-page .prompt-submit-top { min-height: 40px; }
    body.admin-page .admin-container { padding-inline: 12px; }
    body.admin-page .admin-section { border-radius: 12px; }
    body.admin-page .api-action-btn, body.admin-page .btn-add-model { min-height: 40px; }
    body.canvas-page .flow-header { padding-inline: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
}

/* Creator workspace polish: compact account actions, readable sessions, and
   image-sized previews. This layer intentionally comes last so legacy theme
   rules cannot reintroduce the white preview frame or purple sidebar. */
.top-banner {
    grid-template-columns: minmax(190px, auto) minmax(0, 1fr) auto !important;
    column-gap: 10px;
}
.top-banner .workspace-nav { grid-column: 2; }
.top-banner .user-menu { grid-column: 3; min-width: 0; }
.user-menu-panel { gap: 6px; }
.user-menu-panel .header-clothing-library,
.user-menu-panel .btn-reward-center {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 11px;
    line-height: 1.1;
    white-space: nowrap;
}
.user-menu-panel .header-clothing-library {
    border: 1px solid rgba(96, 165, 250, .44);
    background: rgba(37, 99, 235, .16);
    color: #bfdbfe;
    font-weight: 750;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, transform .16s ease;
}
.user-menu-panel .header-clothing-library:hover,
.user-menu-panel .header-clothing-library:focus-visible {
    border-color: #60a5fa;
    background: rgba(37, 99, 235, .3);
    color: #eff6ff;
    transform: translateY(-1px);
}
.user-menu-panel .header-clothing-library span { font-size: 15px; line-height: 1; }
.imini-header-shortcuts .header-clothing-library.imini-header-clothing {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 40px;
    max-width: 154px;
    padding: 0 13px;
    border: 1px solid rgba(45, 226, 230, .42);
    border-radius: 10px;
    background: rgba(45, 226, 230, .12);
    color: #d9ffff;
    font-size: 11px;
    font-weight: 760;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.imini-header-shortcuts .header-clothing-library.imini-header-clothing span { font-size: 15px; line-height: 1; }
.imini-header-shortcuts .header-clothing-library.imini-header-clothing:hover,
.imini-header-shortcuts .header-clothing-library.imini-header-clothing:focus-visible {
    border-color: var(--imi-cyan, #2de2e6);
    background: rgba(45, 226, 230, .22);
    transform: translateY(-1px);
}
.user-menu-panel .btn-reward-center {
    border-color: rgba(34, 211, 238, .42);
    background: rgba(8, 145, 178, .18);
    color: #cffafe;
}
.user-menu-panel .btn-reward-center:hover,
.user-menu-panel .btn-reward-center:focus-visible {
    border-color: #22d3ee;
    background: rgba(8, 145, 178, .3);
}

body.studio-create-page .sidebar,
body.showcase-create-page .sidebar,
body.pro-create-page .sidebar {
    background: #0d141d !important;
    border-right-color: rgba(148, 163, 184, .16) !important;
    color: #dbeafe;
}
body:not(.admin-page):not(.canvas-page) .sidebar {
    background: #0d141d !important;
    border-right-color: rgba(148, 163, 184, .16) !important;
}
body:not(.admin-page):not(.canvas-page) .sidebar-header {
    background: #111b27 !important;
    border-bottom-color: rgba(148, 163, 184, .16) !important;
}
body:not(.admin-page):not(.canvas-page) .session-list {
    padding: 12px 10px 18px !important;
    background: #0d141d !important;
}
body:not(.admin-page):not(.canvas-page) .session-item {
    min-height: 58px;
    margin: 0 0 7px !important;
    padding: 11px 42px 10px 13px !important;
    border: 1px solid rgba(148, 163, 184, .12) !important;
    border-radius: 10px !important;
    background: #111b27 !important;
    color: #e5edf7 !important;
}
body:not(.admin-page):not(.canvas-page) .session-item:hover {
    border-color: rgba(96, 165, 250, .42) !important;
    background: #17283a !important;
    transform: translateX(1px);
}
body:not(.admin-page):not(.canvas-page) .session-item.active {
    border-color: rgba(34, 211, 238, .5) !important;
    border-left: 3px solid #22d3ee !important;
    background: linear-gradient(105deg, rgba(8, 145, 178, .24), #17283a) !important;
}
body:not(.admin-page):not(.canvas-page) .session-title { color: #e5edf7 !important; }
body:not(.admin-page):not(.canvas-page) .session-meta,
body:not(.admin-page):not(.canvas-page) .session-time,
body:not(.admin-page):not(.canvas-page) .session-preview { color: #8da0b5 !important; }
body.studio-create-page .sidebar-header,
body.showcase-create-page .sidebar-header,
body.pro-create-page .sidebar-header {
    background: #111b27 !important;
    border-bottom-color: rgba(148, 163, 184, .16) !important;
}
body.studio-create-page .sidebar-brand-only,
body.showcase-create-page .sidebar-brand-only,
body.pro-create-page .sidebar-brand-only { color: #e5edf7 !important; }
body.studio-create-page .btn-new-chat,
body.showcase-create-page .btn-new-chat,
body.pro-create-page .btn-new-chat {
    border: 1px solid rgba(96, 165, 250, .34) !important;
    border-radius: 8px !important;
    background: #182536 !important;
    color: #dbeafe !important;
}
body.studio-create-page .btn-new-chat:hover,
body.showcase-create-page .btn-new-chat:hover,
body.pro-create-page .btn-new-chat:hover { background: #21344b !important; border-color: #60a5fa !important; }
body.studio-create-page .session-list,
body.showcase-create-page .session-list,
body.pro-create-page .session-list { padding: 12px 10px 18px !important; background: #0d141d !important; }
body.studio-create-page .session-item,
body.showcase-create-page .session-item,
body.pro-create-page .session-item {
    min-height: 58px;
    margin: 0 0 7px !important;
    padding: 11px 42px 10px 13px !important;
    border: 1px solid rgba(148, 163, 184, .12) !important;
    border-radius: 10px !important;
    background: #111b27 !important;
    color: #e5edf7 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025) !important;
}
body.studio-create-page .session-item:hover,
body.showcase-create-page .session-item:hover,
body.pro-create-page .session-item:hover {
    border-color: rgba(96, 165, 250, .42) !important;
    background: #17283a !important;
    transform: translateX(1px);
}
body.studio-create-page .session-item.active,
body.showcase-create-page .session-item.active,
body.pro-create-page .session-item.active {
    border-color: rgba(34, 211, 238, .5) !important;
    border-left: 3px solid #22d3ee !important;
    background: linear-gradient(105deg, rgba(8, 145, 178, .24), #17283a) !important;
    box-shadow: 0 8px 22px rgba(2, 6, 23, .22) !important;
}
body.studio-create-page .session-title,
body.showcase-create-page .session-title,
body.pro-create-page .session-title { color: #e5edf7 !important; }
body.studio-create-page .session-meta,
body.showcase-create-page .session-meta,
body.pro-create-page .session-meta,
body.studio-create-page .session-time,
body.showcase-create-page .session-time,
body.pro-create-page .session-time,
body.studio-create-page .session-preview,
body.showcase-create-page .session-preview,
body.pro-create-page .session-preview { color: #8da0b5 !important; }

.image-modal {
    padding: 12px !important;
    overflow: hidden !important;
    background: rgba(2, 6, 23, .84) !important;
}
.image-modal .modal-backdrop { background: rgba(2, 6, 23, .88) !important; }
.image-modal .modal-content,
body.studio-create-page .image-modal .modal-content,
body.showcase-create-page .image-modal .modal-content,
body.pro-create-page .image-modal .modal-content {
    display: inline-flex !important;
    width: fit-content !important;
    min-width: 0 !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100svh - 24px) !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 8px !important;
    overflow: visible !important;
    border: 1px solid rgba(148, 163, 184, .26) !important;
    border-radius: 10px !important;
    background: #0b0f16 !important;
    box-shadow: 0 28px 90px rgba(0, 0, 0, .68) !important;
}
.image-modal .modal-content > img,
body.studio-create-page .image-modal .modal-content > img,
body.showcase-create-page .image-modal .modal-content > img,
body.pro-create-page .image-modal .modal-content > img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: calc(100vw - 40px) !important;
    max-height: calc(100svh - 120px) !important;
    object-fit: contain !important;
    border-radius: 6px !important;
    background: transparent !important;
    transform-origin: center center;
    touch-action: none;
    user-select: none;
}
.image-modal .modal-content > img.is-zoomed { cursor: grab; }
.image-modal .modal-content > img.is-zoomed:active { cursor: grabbing; }
.image-modal .modal-actions {
    width: auto !important;
    min-height: 34px;
    margin: 9px 0 0 !important;
    gap: 7px !important;
    flex-wrap: wrap;
    justify-content: center;
}
.image-modal .image-zoom-controls { flex: 0 0 auto; }

@media (max-width: 768px) {
    .top-banner { grid-template-columns: auto minmax(0, 1fr) auto !important; }
    .top-banner .workspace-nav { display: none; }
    .top-banner .user-menu { grid-column: 3; }
    .user-menu-panel .header-clothing-library b { display: none; }
    .user-menu-panel .header-clothing-library { min-width: 34px; width: 34px; padding: 0; }
    .imini-header-shortcuts .header-clothing-library.imini-header-clothing { min-width: 40px; width: 40px; padding: 0; }
    .imini-header-shortcuts .header-clothing-library.imini-header-clothing b { display: none; }
    .image-modal { padding: 8px !important; }
    .image-modal .modal-content,
    body.studio-create-page .image-modal .modal-content,
    body.showcase-create-page .image-modal .modal-content,
    body.pro-create-page .image-modal .modal-content { max-width: calc(100vw - 16px) !important; max-height: calc(100svh - 16px) !important; padding: 6px !important; }
    .image-modal .modal-content > img,
    body.studio-create-page .image-modal .modal-content > img,
    body.showcase-create-page .image-modal .modal-content > img,
    body.pro-create-page .image-modal .modal-content > img { max-width: calc(100vw - 28px) !important; max-height: calc(100svh - 116px) !important; }
}

@media (max-width: 900px) {
    /* iMini keeps the account menu compact on phones, but the clothing
       shortcut must remain reachable even when the other header shortcuts
       collapse. */
    body.imini-create-page .imini-header-shortcuts {
        display: flex !important;
        gap: 6px;
    }
    body.imini-create-page .imini-header-shortcuts > :not(.imini-header-clothing) {
        display: none !important;
    }
    body.imini-create-page .imini-header-clothing {
        display: inline-flex !important;
    }
}

/* Final iMini overrides (kept last to win over legacy creator selectors). */
body.imini-create-page,
body.imini-create-page .app-container,
body.imini-create-page .main-content,
body.imini-create-page .preview-panel,
body.imini-create-page .control-panel,
body.imini-create-page .sidebar,
body.imini-create-page .imini-rail,
body.imini-create-page .sidebar.imini-sessions-open .sidebar-header,
body.imini-create-page .sidebar.imini-sessions-open .session-list { background: #050506 !important; }
body.imini-create-page .sidebar,
body.imini-create-page .imini-rail,
body.imini-create-page .sidebar.imini-sessions-open .sidebar-header { border-color: #242427 !important; }
body.imini-create-page .session-list { background: #050506 !important; }
body.imini-create-page .session-item { background: #101012 !important; border-color: #25252a !important; }
body.imini-create-page .session-item { padding-right: 80px !important; }
body.imini-create-page .session-item:hover { background: #18181c !important; border-color: #3b3b43 !important; }
body.imini-create-page .session-item.active { background: #1b1b20 !important; border-color: #45454e !important; }
body.imini-create-page .session-rename,
body.imini-create-page .session-delete {
    position: absolute; top: 50%; width: 28px; height: 28px; display: grid; padding: 0; place-items: center;
    color: #a4a4ad; border: 1px solid #3a3a42; border-radius: 7px; background: #202024; opacity: 0;
    transform: translateY(-50%); transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, opacity 160ms ease;
}
body.imini-create-page .session-rename { right: 43px; }
body.imini-create-page .session-delete { right: 10px; }
body.imini-create-page .session-item:hover .session-rename,
body.imini-create-page .session-item:hover .session-delete,
body.imini-create-page .session-item.active .session-rename,
body.imini-create-page .session-item.active .session-delete,
body.imini-create-page .session-rename:focus-visible,
body.imini-create-page .session-delete:focus-visible { opacity: 1; }
body.imini-create-page .session-rename:hover,
body.imini-create-page .session-rename:focus-visible { color: #d8faff; border-color: #2de2e6; background: rgba(45, 226, 230, .16); }
body.imini-create-page .session-delete:hover:not(:disabled),
body.imini-create-page .session-delete:focus-visible { color: #ffd0ce; border-color: #ff6f6a; background: rgba(255, 111, 106, .16); }
body.imini-create-page .session-rename svg,
body.imini-create-page .session-delete svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body.imini-create-page .session-rename:disabled,
body.imini-create-page .session-delete:disabled { opacity: .35; cursor: not-allowed; }
@media (max-width: 900px) { body.imini-create-page .session-rename, body.imini-create-page .session-delete { opacity: 1; } }
body.imini-create-page .imini-inspiration-categories { flex-wrap: wrap !important; align-content: flex-start; overflow: visible !important; max-height: none !important; }
body.imini-create-page .imini-inspiration-grid { max-height: none !important; overflow: visible !important; }
body.imini-create-page .imini-inspiration-pagination { min-height: 58px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; padding: 14px 2px 4px; color: var(--imi-subtle); font-size: 11px; }
body.imini-create-page .imini-inspiration-pagination button,
body.imini-create-page .imini-inspiration-pagination select,
body.imini-create-page .imini-inspiration-pagination input { min-height: 32px; color: var(--imi-text); border: 1px solid #36363e; border-radius: 7px; background: #17171a; font: inherit; }
body.imini-create-page .imini-inspiration-pagination button { padding: 0 10px; cursor: pointer; }
body.imini-create-page .imini-inspiration-pagination button:hover:not(:disabled) { border-color: var(--imi-cyan); background: rgba(45, 226, 230, .12); }
body.imini-create-page .imini-inspiration-pagination button:disabled { opacity: .36; cursor: not-allowed; }
body.imini-create-page .imini-inspiration-pagination input { width: 48px; padding: 0 6px; text-align: center; }
body.imini-create-page .imini-inspiration-pagination select { padding: 0 6px; }
body.imini-create-page .imini-inspiration-page-status { color: var(--imi-text); font-variant-numeric: tabular-nums; }
body.imini-create-page .imini-inspiration-page-jump,
body.imini-create-page .imini-inspiration-page-size { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
body.imini-create-page .imini-inspiration-page-jump-button { color: #050606 !important; border-color: var(--imi-cyan) !important; background: var(--imi-cyan) !important; }
body.imini-inspiration-page { background: #050505 !important; }
body.imini-inspiration-page .ii-ambient { display: none !important; }
