/* Google Drive look for PromptVerse. Load AFTER app.css + a11y-patch.css. Light = default; dark follows system or the header toggle. */
:root{color-scheme:light;--font:"Google Sans Text","Google Sans",Roboto,"Helvetica Neue",Arial,sans-serif;
--bg:#f8fafd;--surface:#fff;--c-low:#f0f4f9;--c-high:#e9eef6;--c-highest:#dde3ea;--c-lowest:#fff;
--text:#1f1f1f;--muted:#444746;--outline:#747775;--border:#c4c7c5;--primary:#0b57d0;--on-primary:#fff;--primary-c:#d3e3fd;--on-primary-c:#041e49;
--new-bg:#c2e7ff;--new-fg:#001d35;--like:#b3261e;--error:#b3261e;--err-c:#f9dedc;--on-err-c:#410e0b;--amber:#8f4d00;--green:#137333;--gold-bg:#fef7e0;--focus:#0b57d0}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#131314;--surface:#1b1b1c;--c-low:#282a2c;--c-high:#333537;--c-highest:#3c3f41;--c-lowest:#131314;--text:#e3e3e3;--muted:#c4c7c5;--outline:#8e918f;--border:#444746;--primary:#a8c7fa;--on-primary:#062e6f;--primary-c:#0842a0;--on-primary-c:#d3e3fd;--new-bg:#004a77;--new-fg:#c2e7ff;--like:#f28b82;--error:#f2b8b5;--err-c:#8c1d18;--on-err-c:#f9dedc;--amber:#fdd663;--green:#81c995;--gold-bg:#3c3000;--focus:#a8c7fa}}
:root[data-theme=dark]{color-scheme:dark;--bg:#131314;--surface:#1b1b1c;--c-low:#282a2c;--c-high:#333537;--c-highest:#3c3f41;--c-lowest:#131314;--text:#e3e3e3;--muted:#c4c7c5;--outline:#8e918f;--border:#444746;--primary:#a8c7fa;--on-primary:#062e6f;--primary-c:#0842a0;--on-primary-c:#d3e3fd;--new-bg:#004a77;--new-fg:#c2e7ff;--like:#f28b82;--error:#f2b8b5;--err-c:#8c1d18;--on-err-c:#f9dedc;--amber:#fdd663;--green:#81c995;--gold-bg:#3c3000;--focus:#a8c7fa}
/* font: Roboto (closest free match to Google Sans). Icons and code keep their own fonts. */
body :not(.material-symbols-outlined):not(code):not(pre):not(kbd):not(.kbd):not(.font-mono){font-family:var(--font)!important}
body{background:var(--bg)!important;color:var(--text);font-size:14px;letter-spacing:0}
body.aurora{background-image:none!important}
h1,h2,h3{font-weight:400;letter-spacing:0}h2.font-headline-sm,h3{font-weight:500}
.text-display-lg-mobile,.md\:text-display-lg,.text-headline-lg{font-weight:400;letter-spacing:0}
/* colour tokens mapped onto the existing utility classes */
.bg-surface,.bg-surface\/70,.bg-surface\/80,.bg-surface\/95{background-color:var(--bg)}
.bg-surface-container,.bg-surface-container-low{background-color:var(--c-low)}
.bg-surface-container-high,.hover\:bg-surface-container-high:hover,.hover\:bg-surface-container:hover,.hover\:bg-surface-container-high\/60:hover,.focus\:bg-surface-container:focus{background-color:var(--c-high)}
.bg-surface-container-highest,.hover\:bg-surface-container-highest:hover{background-color:var(--c-highest)}
.bg-surface-container-lowest,.bg-surface-container-lowest\/80,.bg-surface-container-lowest\/40{background-color:var(--c-lowest)}
.bg-primary,.bg-primary\/70,.bg-secondary,.bg-secondary\/70{background-color:var(--primary)}
.bg-primary-container,.hover\:bg-primary-container:hover,.bg-secondary-container{background-color:var(--primary-c)}
.bg-primary\/5,.bg-primary\/10,.bg-primary\/15,.bg-primary-container\/15,.bg-secondary\/10,.bg-secondary\/15,.bg-secondary\/20,.bg-sky-400\/10{background-color:color-mix(in srgb,var(--primary) 12%,transparent)}
.bg-tertiary{background-color:var(--like)}.bg-error-container{background-color:var(--err-c)}.hover\:bg-error:hover{background-color:var(--error)}
.bg-amber-500\/10{background-color:var(--gold-bg)}.bg-emerald-500\/10{background-color:color-mix(in srgb,var(--green) 14%,transparent)}
.text-on-surface,.hover\:text-on-surface:hover,.text-gray-800{color:var(--text)}
.text-on-surface-variant,.text-outline-variant,.placeholder\:text-on-surface-variant::placeholder{color:var(--muted)}
.text-primary,.text-secondary,.hover\:text-primary:hover,.hover\:text-secondary:hover,.text-sky-300{color:var(--primary)}.\!text-secondary{color:var(--primary)!important}
.text-tertiary,.hover\:text-tertiary:hover{color:var(--like)}.text-on-primary{color:var(--on-primary)}
.text-on-primary-container,.hover\:text-on-primary-container:hover,.text-on-secondary-container{color:var(--on-primary-c)}
.text-error,.hover\:text-error:hover{color:var(--error)}.text-on-error-container{color:var(--on-err-c)}
.text-amber-400,.text-yellow-300{color:var(--amber)}.text-emerald-400{color:var(--green)}
.border-outline-variant\/10,.border-outline-variant\/20,.border-outline-variant\/30,.border-outline-variant\/40,.border-b,.border-t,.border-y,.border-r{border-color:var(--border)}
.divide-outline-variant\/20>:not([hidden])~:not([hidden]){border-color:var(--border)}
.border-primary,.hover\:border-primary\/40:hover,.hover\:border-primary\/50:hover,.hover\:border-primary\/60:hover,.focus-within\:border-primary\/50:focus-within,.focus\:border-secondary:focus,.hover\:border-secondary\/50:hover{border-color:var(--primary)}
.border-primary\/30,.border-primary\/40,.border-secondary\/20,.border-secondary\/30,.border-secondary\/40,.border-sky-400\/40,.border-amber-500\/40,.border-emerald-500\/40{border-color:color-mix(in srgb,var(--primary) 35%,transparent)}
.\!border-primary\/60,.\!border-secondary\/50{border-color:var(--primary)!important}
.from-primary.bg-clip-text{background-image:none!important;color:var(--primary)!important;-webkit-text-fill-color:currentColor}
.ring-1,.focus\:ring-secondary:focus,.hover\:ring-secondary:hover{--tw-ring-color:var(--primary)}
[class*="rgba(139,92,246"]{box-shadow:none!important}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:var(--primary-c);color:var(--on-primary-c)}
::-webkit-scrollbar-thumb{background:var(--border)}
/* app frame: header + sidebar + rounded white content panel */
header.fixed{background:var(--bg)!important;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
header.fixed>div{height:64px;padding-inline:16px}
header a[aria-label$=" home"] span{font-size:22px;font-weight:400;color:var(--muted)}
header nav[aria-label=Primary]{display:none!important}
#global-search-form{max-width:720px}
#global-search{height:48px;border-radius:999px;border:0;background:var(--c-high)!important;padding-left:52px;font-size:16px;color:var(--text);box-shadow:none}
#global-search:focus{background:var(--surface)!important;box-shadow:0 1px 3px rgba(60,64,67,.3),0 4px 8px 3px rgba(60,64,67,.15)}
#global-search-form .material-symbols-outlined{left:16px;font-size:24px;color:var(--muted)}
#global-search::placeholder{color:var(--muted)}
.pv-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}
.pv-icon-btn:hover{background:var(--c-high)}
header a[href="/login"]{border:1px solid var(--outline);color:var(--primary);font-weight:500;border-radius:999px;padding:8px 20px}
header a[href="/login"]:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}
.pv-side{position:fixed;top:64px;left:0;bottom:0;width:256px;padding:8px 12px 16px;overflow-y:auto;z-index:40;display:none;flex-direction:column;gap:2px}
.pv-new{display:inline-flex;align-items:center;gap:12px;height:56px;padding:0 24px 0 16px;margin:8px 0 16px;border:0;border-radius:16px;background:var(--new-bg);color:var(--new-fg);font-size:14px;font-weight:500;cursor:pointer;align-self:flex-start;box-shadow:0 1px 3px rgba(60,64,67,.3),0 4px 8px 3px rgba(60,64,67,.15)}
.pv-new:hover{box-shadow:0 1px 3px rgba(60,64,67,.3),0 4px 8px 3px rgba(60,64,67,.28)}
.pv-side a{display:flex;align-items:center;gap:12px;height:40px;padding:0 16px;border-radius:999px;color:var(--text);font-size:14px;font-weight:500;text-decoration:none}
.pv-side a:hover{background:var(--c-high)}.pv-side a[aria-current=page]{background:var(--primary-c);color:var(--on-primary-c)}
.pv-h{padding:12px 16px 4px;font-size:12px;font-weight:500;color:var(--muted)}
.pv-store{margin-top:auto;padding:16px 8px 0;border-top:1px solid var(--border);font-size:13px;color:var(--muted)}
.pv-store progress{display:block;width:100%;height:4px;margin:8px 0;border:0;border-radius:4px;background:var(--c-highest);overflow:hidden;accent-color:var(--primary)}
.pv-store progress::-webkit-progress-bar{background:var(--c-highest)}.pv-store progress::-webkit-progress-value{background:var(--primary)}.pv-store progress::-moz-progress-bar{background:var(--primary)}
.pv-side .pv-more{display:inline-flex;height:36px;margin-top:8px;border:1px solid var(--outline);color:var(--primary)}
@media (min-width:1024px){.pv-side{display:flex}#menu-btn{display:none}
 body[data-page] main{margin:64px 16px 16px 256px;width:auto!important;padding-top:0!important}body[data-page] footer{margin-left:256px}header.fixed>div>div:first-child{min-width:232px}}
body[data-page] main{background:var(--surface)!important;border-radius:16px;margin-top:64px;padding-top:0!important}
@media (max-width:1023.98px){body[data-page] main{border-radius:0}}
body[data-page] footer{background:transparent;color:var(--muted);border-top:1px solid var(--border)}
/* Drive "file card" look */
.panel,.glass,.step-card{background:var(--c-low);border:1px solid transparent;border-radius:12px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.card-hover:hover,article.group:hover{transform:none;background:var(--c-high);box-shadow:0 1px 3px rgba(60,64,67,.3),0 4px 8px 3px rgba(60,64,67,.15)}
article.group{background:var(--c-low);border-color:transparent;border-radius:12px}
.step-n{color:var(--border)}
.btn-primary{background:var(--primary)!important;color:var(--on-primary)!important;border-radius:999px;font-weight:500;box-shadow:none}
.btn-primary:hover:not(:disabled){filter:none;transform:none;background:color-mix(in srgb,var(--primary) 88%,#000)!important;box-shadow:0 1px 3px rgba(60,64,67,.3)}
.btn-secondary,.btn-glass{background:transparent;color:var(--primary);border:1px solid var(--outline);font-weight:500;-webkit-backdrop-filter:none;backdrop-filter:none}
.btn-secondary:hover:not(:disabled),.btn-glass:hover{background:color-mix(in srgb,var(--primary) 8%,transparent);border-color:var(--outline);box-shadow:none}
.btn-ghost{color:var(--muted)}.btn-ghost:hover{background:var(--c-high);color:var(--text)}
.chip,.chip-link,.tok,.ar-btn,.field-select,.stat{background:transparent;border:1px solid var(--outline);border-radius:8px;color:var(--text)}
.chip-link{border-radius:8px;padding:4px 12px}.chip{padding:4px 10px}
.chip:hover,.chip-link:hover,.ar-off:hover{background:var(--c-high);border-color:var(--outline);color:var(--text)}
.tab-on,.ar-on,.st-card[aria-pressed=true],.st-card[aria-current=true]{background:var(--primary-c);color:var(--on-primary-c);border:1px solid transparent;box-shadow:none}
.ar-off{border-color:var(--outline);color:var(--text)}.field-select option{background:var(--surface)}
.eyebrow{text-transform:none;letter-spacing:0;font-size:12px;background:var(--c-low);border:0;color:var(--muted)}
.gradient-text{background:none;-webkit-text-fill-color:currentColor;color:var(--primary);animation:none}
.section-title:before{display:none}.section-title{font-weight:400}
.hero-orb,.hero-orb-2{display:none}.hero-tile{transform:none!important;border:0;border-radius:16px;box-shadow:0 1px 3px rgba(60,64,67,.3)}
.icon-bubble{background:var(--primary-c);color:var(--on-primary-c);border:0}.icon-bubble.gold{background:var(--gold-bg);color:var(--amber)}
.coin-pill{box-shadow:none}.coin-big{filter:none}
.drop{border:2px dashed var(--outline);background:var(--c-low)}.drop:hover,.drop-on{border-color:var(--primary);background:var(--primary-c)}
.legal h1,.legal h2,.legal b{color:var(--text)}.legal p,.legal li,.legal .meta{color:var(--muted)}.legal a{color:var(--primary)}
#cookie-banner{background:var(--surface)!important;color:var(--text)!important;border-top:1px solid var(--border)!important}
@media (prefers-reduced-motion:reduce){.pv-new,.card-hover{transition:none}}

body[data-page] footer{width:auto!important;box-sizing:border-box}
main p a,main li a,main dd a,.legal a{text-decoration:underline;text-underline-offset:2px}
main a.text-secondary,main a.text-primary{text-decoration:underline;text-underline-offset:2px}
@media (min-width:1024px){#open-submit{display:none}}
article.group span.absolute{background:color-mix(in srgb,var(--surface) 90%,transparent)!important;color:var(--text)!important;border-color:transparent!important}
h1{font-size:clamp(30px,3.2vw,46px)!important;line-height:1.15!important}

/* ---- v2: list view, Vault, upload area, tables, dialogs, snackbar ---- */
.pv-list{display:grid!important;grid-template-columns:1fr!important;gap:0!important;column-count:1!important}
.pv-list article.group{display:flex;align-items:center;gap:16px;margin:0!important;border-radius:0;background:transparent;border-bottom:1px solid var(--border);padding:8px 12px}
.pv-list article.group>div:first-child{width:96px;flex:none;border-radius:8px;overflow:hidden}
.pv-list article.group>div:first-child img{width:96px;height:64px;object-fit:cover}
.pv-list article.group span.absolute{display:none}.pv-list article.group>div:last-child{flex:1;min-width:0}
.pv-list article.group:hover{background:var(--c-high);box-shadow:none}
.pv-crumb{display:flex;align-items:center;gap:4px;margin:0 0 12px;font-size:14px;color:var(--muted)}.pv-crumb a{color:var(--muted);text-decoration:none;padding:4px 6px;border-radius:8px}.pv-crumb a:hover{background:var(--c-high)}.pv-crumb [aria-current]{color:var(--text);font-weight:500}
.blur-\[100px\]{display:none}
#v-tabs{background:transparent!important;border:0!important;padding:0!important;gap:8px}
#v-tabs button,#v-vis button{border:1px solid var(--outline);border-radius:8px;padding:6px 14px;color:var(--text);background:transparent;font-weight:500}
#v-tabs button:hover,#v-vis button:hover{background:var(--c-high)}
#v-tabs .tab-on,#v-vis .tab-on{background:var(--primary-c);color:var(--on-primary-c);border-color:transparent}
#v-vis{background:transparent!important;border:0!important;gap:8px}
#v-filterbar{background:transparent!important;border:0!important;padding:0!important}
#v-filterbar input,#v-q{height:40px;border-radius:999px!important;background:var(--c-high)!important;border:0!important}
.drop{min-height:220px;border-radius:16px}.drop .material-symbols-outlined{font-size:40px;color:var(--primary)}
table{font-size:14px}th{font-weight:500;color:var(--muted);text-align:left}tbody tr:hover{background:var(--c-high)}
[role=dialog] [class*="rounded-2xl"],[role=dialog] [class*="rounded-3xl"]{border-radius:28px;box-shadow:0 8px 24px rgba(60,64,67,.35)}
#toast{background:#303030!important;color:#f2f2f2!important;border:0!important;border-radius:4px!important}
#toast .material-symbols-outlined{color:#a8c7fa!important}
h1.font-headline-md{font-size:28px!important;font-weight:400!important}
#v-models button{border:1px solid var(--outline);border-radius:8px;padding:4px 12px;color:var(--text);font-weight:500}
#v-models button:hover{background:var(--c-high)}
#v-models button.tab-on,#v-models button.ar-on{background:var(--primary-c);color:var(--on-primary-c);border-color:transparent}

/* ---- v3: Explore page sections ---- */
.pv-hero h1{font-weight:400}.pv-lead{font-size:18px;line-height:28px;color:var(--muted);max-width:42rem;margin:0 0 20px}.pv-lead b{color:var(--text);font-weight:500}
.pv-herosearch{display:flex;align-items:center;gap:8px;max-width:640px;height:56px;padding:0 8px 0 20px;border-radius:999px;background:var(--c-high)}
.pv-herosearch:focus-within{background:var(--surface);box-shadow:0 1px 3px rgba(60,64,67,.3),0 4px 8px 3px rgba(60,64,67,.15)}
.pv-herosearch input{flex:1;min-width:0;height:100%;border:0;background:transparent;color:var(--text);font-size:16px;outline:none}.pv-herosearch input::placeholder{color:var(--muted)}
.pv-herosearch .btn-primary{height:40px;padding:0 20px}
.pv-h2{font-size:22px;line-height:28px;font-weight:400;margin:0 0 12px;color:var(--text)}
.pv-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.pv-tools .step-card{min-height:132px}
.pv-models{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.pv-models .chip-link{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px 0 8px;border-radius:999px;font-weight:500}
.pv-dot{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--primary-c);color:var(--on-primary-c);font-size:13px;font-weight:500}
.pv-join{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:24px 28px;border-radius:16px;background:var(--primary-c);color:var(--on-primary-c)}
.pv-join p{margin:0;max-width:44rem;font-size:14px}.pv-join .pv-h2{color:var(--on-primary-c)}
.pv-join .btn-secondary{color:var(--on-primary-c);border-color:var(--on-primary-c)}

.pv-hero a.text-secondary{display:inline-block;padding:6px 0}

/* ---- v4: icon + label always sit on ONE line, centred, with a gap ---- */
.material-symbols-outlined{vertical-align:middle;line-height:1;flex:none}
button:has(>.material-symbols-outlined):not(.flex):not(.inline-flex):not(.grid):not(.block):not(.st-card):not(.drop),
a:has(>.material-symbols-outlined):not(.flex):not(.inline-flex):not(.grid):not(.block):not(.step-card):not(.card-hover),
summary:has(>.material-symbols-outlined):not(.flex):not(.inline-flex),
label:has(>.material-symbols-outlined):not(.flex):not(.inline-flex):not(.drop),
.chip-link,.chip,.btn-primary,.btn-secondary,.btn-glass,.btn-ghost,.btn-vote,.tok{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.btn-primary,.btn-secondary,.btn-glass,.btn-ghost{min-height:40px;line-height:20px}
.chip-link,.chip{min-height:32px}
.btn-primary .material-symbols-outlined,.btn-secondary .material-symbols-outlined,.btn-glass .material-symbols-outlined,.btn-ghost .material-symbols-outlined,.chip-link .material-symbols-outlined{font-size:20px}
@media (max-width:420px){.btn-primary,.btn-secondary,.btn-glass,.btn-ghost{white-space:normal;text-align:left}}

/* ---- v5: Image to Prompt page ---- */
.ip-hero{border:0!important;background:transparent}
#ip .panel{border-radius:16px}
.pv-chips{display:flex;flex-wrap:wrap;gap:8px}
.pv-chips .chip{height:36px;padding:0 14px;font-weight:500;cursor:pointer}
.pv-chips .chip[aria-pressed=true]{background:var(--primary-c);color:var(--on-primary-c);border-color:transparent}
#ip-drop{min-height:240px;gap:6px;justify-content:center;align-items:center;text-align:center;transition:background .15s,border-color .15s}
#ip-drop:hover{background:var(--c-high)}
.pv-tips{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-width:48rem}
.pv-tips li{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-radius:12px;background:var(--c-low);font-size:14px;line-height:22px;color:var(--text)}
.pv-tips .material-symbols-outlined{color:var(--primary);margin-top:1px}
.pv-ex .step-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:var(--c-high)}
.pv-ex .step-card{gap:8px}

.pv-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-width:48rem}
.pv-steps li{display:flex;gap:16px;align-items:center;padding:12px 16px;border-radius:12px;background:var(--c-low);font-size:14px;line-height:22px}
.pv-steps b{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--primary-c);color:var(--on-primary-c);font-weight:500}

/* ---- v6: Image to Prompt tool = two cards (Input Image | Generated Prompt) ---- */
.ip-hero>div{padding-top:20px!important;padding-bottom:4px!important}
.ip-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;margin:0 0 16px;border-radius:999px;background:var(--c-high)}
.ip-tabs a{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 16px;border-radius:999px;color:var(--text);font-size:14px;font-weight:500;text-decoration:none}
.ip-tabs a:hover{background:var(--c-highest)}.ip-tabs a[aria-current=page]{background:var(--surface);box-shadow:0 1px 3px rgba(60,64,67,.3)}
.ip-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}
.ip-card-h{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:56px;padding:8px 8px 8px 20px;border-bottom:1px solid var(--border);background:var(--c-low)}
.ip-card-h h3{margin:0;font-size:16px;font-weight:500;color:var(--text)}
.ip-card-b{display:flex;flex-direction:column;gap:16px;padding:20px;flex:1}
.ip-lab{display:block;margin:0 0 8px;font-size:13px;font-weight:500;color:var(--muted)}
.ip-field{min-width:0}
#ip-drop{min-height:220px;border:2px dashed var(--outline);border-radius:16px;background:var(--c-low);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:24px;text-align:center;cursor:pointer}
#ip-drop .material-symbols-outlined{font-size:48px;color:var(--primary)}
#ip-drop.drop-on,#ip-drop:hover{border-color:var(--primary);background:var(--primary-c)}
.ip-drop-t{margin:4px 0 0;font-size:16px;font-weight:500;color:var(--text)}
.ip-go{width:100%;height:48px;font-size:16px;font-weight:500}
.ip-go:disabled{opacity:.5;cursor:not-allowed}
.ip-priv{padding-top:12px;border-top:1px solid var(--border)}
.ip-ph{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:280px;color:var(--muted)}
#ip-panel .panel{background:transparent;border:0;padding:0}
.ip-hist{height:36px}
.ip-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;list-style:none;margin:20px 0 0;padding:0;font-size:14px;font-weight:500;color:var(--text)}
.ip-badges li{display:inline-flex;align-items:center;gap:6px}.ip-badges .material-symbols-outlined{color:var(--primary)}

.chip-link,.chip,.btn-primary,.btn-secondary,.btn-glass,.btn-ghost,.btn-vote,.tok,button:has(>.material-symbols-outlined){justify-content:center}
.pv-side a,#mobile-nav a{justify-content:flex-start}
#ip-panel{align-self:start}
@media (min-width:1024px){#ip-panel{position:sticky;top:80px}}
.ip-ph{min-height:420px}
/* hero: headline + one line, then the tool (the trust badges live under the cards) */
.ip-hero #ip-cta,.ip-hero #ip-cta ~ ul{display:none}
.ip-hero h1{font-size:clamp(28px,3vw,40px)!important}
.ip-hero p.font-body-lg{font-size:16px;margin-bottom:8px}

/* ---- v7: Text to Prompt ---- */
.tp-idea{display:block;width:100%;min-height:140px;padding:12px 14px;border:1px solid var(--outline);border-radius:12px;background:var(--surface);color:var(--text);font-size:16px;line-height:24px;resize:vertical}
.tp-idea::placeholder{color:var(--muted)}
.tp-details{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:14px}
.tp-details dt{font-weight:500;color:var(--muted)}.tp-details dd{margin:0;color:var(--text)}
#tp-panel{align-self:start}
@media (min-width:1024px){#tp-panel{position:sticky;top:80px}}

/* "hidden" must always win over the display rules above (flex/inline-flex). Responsive variants such as "hidden sm:inline-flex" keep working because they contain ":". */
.hidden:not([class*=":"]){display:none!important}
.ip-ph.hidden{display:none}

/* ---- v8: AI Image Generator ---- */
.cr-ref-drop{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:14px;border:2px dashed var(--outline);border-radius:16px;background:var(--c-low)}
.cr-ref-drop.drop-on{border-color:var(--primary);background:var(--primary-c)}
.cr-ref-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.cr-ref-list:empty{display:none}
.cr-ref{position:relative;width:96px}
.cr-ref img{width:96px;height:96px;object-fit:cover;border-radius:12px;display:block;background:var(--c-high)}
.cr-ref-n{display:block;margin-top:4px;font-size:12px;color:var(--muted);text-align:center}
.cr-ref-x{position:absolute;top:4px;right:4px;width:28px;height:28px;min-width:28px;min-height:28px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(60,64,67,.4);cursor:pointer}
#cr-result:not(.hidden)+#cr-placeholder{display:none}
#cr-panel{align-self:start}
@media (min-width:1024px){#cr-panel{position:sticky;top:80px}}
#cr-result img{border-radius:12px}

/* ---- v9: Profile (channel), You pages, sign-in dialog ---- */
.pf-head{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:24px;margin-bottom:12px;border-radius:16px;background:var(--c-low)}
.pf-av{width:112px;height:112px;flex:none;border-radius:50%;overflow:hidden;background:var(--primary-c);color:var(--on-primary-c);display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:500}
.pf-av img{width:100%;height:100%;object-fit:cover}
.pf-info{flex:1;min-width:220px}
.pf-name{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:clamp(26px,3vw,36px)!important;font-weight:400}
.pf-meta{margin:0;font-size:14px;color:var(--text)}.pf-sub{margin:4px 0 0;font-size:13px;color:var(--muted)}
.pf-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pf-quick{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.follow-btn{min-height:36px}
.you-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.you-card{border-radius:12px;background:var(--c-low);overflow:hidden}
.you-card:hover{background:var(--c-high)}
.you-link{display:flex;gap:12px;align-items:center;padding:10px;color:var(--text);text-decoration:none}
.you-thumb{width:96px;height:72px;flex:none;object-fit:cover;border-radius:8px;background:var(--c-high);display:flex;align-items:center;justify-content:center;color:var(--muted)}
.you-txt{display:flex;flex-direction:column;min-width:0;flex:1;font-size:13px;color:var(--muted);text-decoration:none}
.you-txt b{font-size:14px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.you-av{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none;background:var(--primary-c);color:var(--on-primary-c);display:flex;align-items:center;justify-content:center;font-weight:500}
.you-empty{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:48px 16px;max-width:36rem;margin:24px auto;color:var(--muted)}
.you-empty h2{margin:0;color:var(--text)}.you-empty p{margin:0}
.pv-dlg-back{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.45)}
.pv-dlg{width:100%;max-width:400px;padding:24px;border-radius:28px;background:var(--surface);color:var(--text);box-shadow:0 8px 24px rgba(60,64,67,.4)}
.pv-dlg h2{margin:0 0 8px;font-size:22px;font-weight:400}.pv-dlg p{margin:0 0 20px;color:var(--muted);font-size:14px;line-height:22px}
.pv-dlg-a{display:flex;justify-content:flex-end;gap:8px}

/* AI Photoshoot: space between the original sections and the new content */
#photo>section{margin-bottom:40px}
