/* site styles */


  /* ─── tokens · apple dark ─── */

  :root {

    --bg: #000000;

    --bg-alt: #0a0a0c;

    --surface: #1d1d1f;

    --surface-2: #272729;

    --ink: #f5f5f7;

    --ink-2: #a1a1a6;

    --ink-3: #86868b;

    --border: #2c2c2e;

    --border-strong: #424245;

    --accent: #FFB443;

    --accent-2: #E8932B;

    --violet: #FF6B5E;

    --success: #34c759;

    --danger: #ff453a;

    --particle-color: var(--accent);

    --particle-spark: #FFD4B0;

    --particle-opacity: 0.78;



    --font: 'Manrope', -apple-system, 'Helvetica Neue', 'Segoe UI', sans-serif;

    --mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;



    --r-sm: 8px;

    --r-md: 18px;

    --r-lg: 28px;

    --r-pill: 980px;

  }



  * { box-sizing: border-box; margin: 0; padding: 0; }

  [hidden] { display: none !important; }

  html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

  body {

    font-family: var(--font);

    font-weight: 400;

    background: var(--bg);

    color: var(--ink);

    font-size: 17px;

    line-height: 1.5;

    letter-spacing: -0.01em;

    -webkit-font-smoothing: antialiased;

    overflow-x: hidden;

  }

  #ambient-particles {

    position: fixed;

    inset: 0;

    width: 100%;

    height: 100%;

    z-index: 0;

    pointer-events: none;

    color: var(--particle-color);

    opacity: var(--particle-opacity);

    transition: opacity 500ms ease;

    contain: strict;

  }

  body[data-page="home"] #ambient-particles { --particle-opacity: 0.96; }

  body[data-page="studio"] #ambient-particles { --particle-opacity: 0.52; }

  body[data-page="styles"] #ambient-particles,

  body[data-page="pricing"] #ambient-particles,

  body[data-page="profile"] #ambient-particles { --particle-opacity: 0.36; }

  body.auth-open #ambient-particles { --particle-opacity: 0.58; }

  a { color: inherit; text-decoration: none; }

  img, svg { display: block; max-width: 100%; }

  .wrap { max-width: 1120px; margin: 0 auto; padding: 0 24px; }



  h1, h2, h3 { font-family: var(--font); font-weight: 700; line-height: 1.05; letter-spacing: -0.02em; }

  .lede { color: var(--ink-2); }

  .eyebrow {

    font-family: var(--mono);

    font-size: 12px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase;

    color: var(--ink-3);

  }



  /* ─── кнопки ─── */

  .btn {

    display: inline-flex; align-items: center; justify-content: center; gap: 8px;

    font-family: var(--font); font-size: 15px; font-weight: 500; letter-spacing: -0.01em;

    cursor: pointer; padding: 12px 24px; min-height: 44px; border-radius: var(--r-pill);

    border: none; text-decoration: none;

    transition: opacity 140ms ease, background 140ms ease, transform 80ms ease, box-shadow 180ms ease;

  }

  .btn:active { transform: scale(0.97); }

  .btn-primary { background: var(--accent); color: #1a1205; }

  .btn-primary:hover { background: var(--accent-2); }

  .btn-primary:disabled { opacity: 0.45; cursor: not-allowed; transform: none; }

  .btn-light { background: #fff; color: #000; }

  .btn-light:hover { opacity: 0.85; }

  .btn-ghost { background: transparent; color: var(--accent); padding: 12px 8px; }

  .btn-ghost:hover { text-decoration: underline; }

  .btn-ghost::after { content: ' ›'; }

  .btn svg { flex-shrink: 0; }

  .btn-lg { font-size: 17px; padding: 15px 30px; min-height: 52px; }

  :focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; border-radius: 6px; }



  /* ─── header ─── */

  header {

    position: sticky; top: 0; z-index: 100;

    background: rgba(0,0,0,0.72);

    backdrop-filter: saturate(180%) blur(20px);

    -webkit-backdrop-filter: saturate(180%) blur(20px);

    border-bottom: 1px solid rgba(255,255,255,0.08);

  }

  .nav { display: flex; align-items: center; justify-content: space-between; height: 52px; }

  .logo { font-weight: 800; font-size: 20px; letter-spacing: -0.04em; display: inline-flex; align-items: center; color: var(--ink); }

  .logo .word { color: var(--accent); }

  .logo .mark {

    width: 28px; height: 28px; flex: 0 0 28px;

    border-radius: 0; background: none;

    display: block; position: relative;

    color: var(--accent);

  }

  .logo .mark::after { content: none; display: none; }

  .logo .mark svg, .logo-mark { width: 100%; height: 100%; display: block; overflow: visible; }

  .logo-mark .lm-blade { fill: var(--accent); }

  .logo-mark .lm-blade-hi { fill: color-mix(in srgb, var(--accent) 78%, #fff); }

  .logo-mark .lm-blade-lo { fill: var(--accent-2); }

  .logo-mark .lm-lens { fill: color-mix(in srgb, var(--bg) 48%, #050505); }

  .logo-mark .lm-lens-ring { fill: none; stroke: color-mix(in srgb, var(--accent) 40%, transparent); stroke-width: 1.1; }

  .logo-mark .lm-glint { fill: #fff; opacity: 0.9; }

  .logo { animation: logoIn 640ms cubic-bezier(0.2,0,0,1) both; }

  .logo .mark { animation: markBloom 900ms cubic-bezier(0.2,0.7,0.3,1) both; }

  @keyframes logoIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }

  @keyframes markBloom { from { transform: scale(0.4) rotate(-90deg); opacity: 0; } to { transform: scale(1) rotate(0deg); opacity: 1; } }

  @media (prefers-reduced-motion: no-preference) {

    .logo .mark .lm-blade-hi { animation: markSheen 4.8s ease-in-out 1s infinite; }

    @keyframes markSheen { 0%, 100% { opacity: 1; } 50% { opacity: 0.78; } }

  }

  nav { display: flex; gap: 24px; align-items: center; }

  nav a { font-size: 13px; font-weight: 500; color: var(--ink-2); padding: 6px 0; border-bottom: 2px solid transparent; transition: color 120ms ease; }

  nav a:hover { color: var(--ink); }

  nav a.is-active { color: var(--ink); border-bottom-color: var(--accent); }

  .nav-actions { display: flex; gap: 16px; align-items: center; }

  .nav-actions .btn { min-height: 36px; padding: 8px 18px; font-size: 13px; }

  .nav-signin { font-size: 13px; font-weight: 500; color: var(--ink-2); }

  .nav-signin:hover { color: var(--accent); }

  .burger { display: none; background: none; border: none; cursor: pointer; padding: 8px; color: var(--ink); }

  @media (min-width: 941px) and (max-width: 1100px) { nav { gap: 14px; } .nav-actions { gap: 9px; } .nav-actions .clock { display: none; } .nav-actions .btn { padding-inline: 14px; } }

  @media (min-width: 1101px) and (max-width: 1280px) { nav { gap: 16px; } nav a { font-size: 12.5px; } .nav-actions { gap: 12px; } }

  .mobile-menu { display: none; border-top: 1px solid var(--border); background: var(--bg); }

  .mobile-menu.open { display: block; }

  .mobile-menu a { display: block; padding: 14px 24px; font-size: 17px; font-weight: 600; color: var(--ink); border-bottom: 1px solid var(--surface); }

  .mobile-menu a.is-active { color: var(--accent); }



  /* ─── скролл-прогресс ─── */

  .scroll-progress { position: fixed; top: 0; left: 0; height: 2px; width: 0; background: linear-gradient(90deg, var(--accent), var(--violet)); z-index: 200; }



  /* ─── страницы ─── */

  .page { display: block; transition: opacity 180ms ease, transform 180ms ease; }

  .page[hidden] { display: none; }

  .page.leaving { opacity: 0; transform: translateY(8px); }

  .page.entering { opacity: 0; transform: translateY(8px); }

  main { position: relative; z-index: 1; min-height: 60vh; }



  /* scroll reveal */

  .js .reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.7s cubic-bezier(0.2,0,0,1), transform 0.7s cubic-bezier(0.2,0,0,1); }

  .js .reveal.in { opacity: 1; transform: none; }



  /* ─── HOME hero ─── */

  .home-hero { position: relative; padding: 100px 0 60px; text-align: center; }

  .home-hero h1 { font-size: clamp(48px, 7.5vw, 84px); font-weight: 800; letter-spacing: -0.03em; line-height: 1.02; margin: 18px auto 20px; max-width: 15ch; }

  .grad {

    background: linear-gradient(100deg, var(--accent), var(--violet) 50%, var(--accent));

    background-size: 200% auto;

    -webkit-background-clip: text; background-clip: text; color: transparent;

    animation: shine 6s linear infinite;

  }

  @keyframes shine { to { background-position: 200% center; } }

  .home-hero .lede { font-size: 19px; max-width: 52ch; margin: 0 auto 30px; }

  .cta-row { display: flex; gap: 20px; justify-content: center; align-items: center; flex-wrap: wrap; }

  /* showcase */

  .showcase { margin: 60px auto 0; max-width: 1000px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: start; }

  .show-card {

    border-radius: var(--r-md); overflow: hidden; position: relative;

    background: transparent;

    box-shadow: 0 8px 24px rgba(0,0,0,0.4);

    transition: transform 300ms cubic-bezier(0.2,0,0,1), box-shadow 300ms ease;

  }

  .show-card:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(0,0,0,0.55); }

  .show-card .kb { position: relative; overflow: hidden; }

  .show-card .kb-main { display: block; width: 100%; height: auto; object-fit: initial; }

  @keyframes kb { from { transform: scale(.98); filter: saturate(.92) brightness(.94); } to { transform: scale(1); filter: saturate(1) brightness(1); } }

  .show-cap {

    position: absolute; left: 0; right: 0; bottom: 0;

    display: flex; align-items: center; justify-content: space-between;

    padding: 14px 16px;

    background: linear-gradient(transparent, rgba(0,0,0,0.8));

  }

  .show-cap span { font-size: 14px; font-weight: 700; color: #fff; }

  .show-cap small { font-family: var(--mono); font-size: 11px; color: #c7c7cc; letter-spacing: 0.03em; }



  /* marquee */

  .marquee { overflow: hidden; padding: 16px 0 22px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }

  .marquee-hint { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0 0 14px; color: var(--ink-3); font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }

  .marquee-hint::before { content: ''; width: 18px; height: 1px; background: var(--accent); box-shadow: 0 0 10px var(--accent); }

  .marquee-track { display: flex; gap: 18px; width: max-content; animation: scroll 36s linear infinite; }

  .marquee:hover .marquee-track, .marquee:focus-within .marquee-track, .marquee.is-paused .marquee-track { animation-play-state: paused; }

  @keyframes scroll { to { transform: translateX(-50%); } }

  .m-item {

    flex-shrink: 0; display: flex; align-items: center; gap: 12px;

    padding: 8px 20px 8px 8px; border-radius: var(--r-pill);

    border: 1px solid var(--border); background: var(--surface); color: var(--ink); cursor: pointer;

    box-shadow: 0 6px 20px rgba(0,0,0,.16); transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;

  }

  .m-item:hover, .m-item:focus-visible { transform: translateY(-3px) scale(1.02); border-color: var(--accent); box-shadow: 0 10px 28px color-mix(in srgb, var(--accent) 16%, transparent); outline: none; }

  .m-item img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }

  .m-item span { font-size: 14px; font-weight: 600; white-space: nowrap; }

  .m-item small { color: var(--accent); font-family: var(--mono); font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }



  /* ─── секции ─── */

  .section { padding: 96px 0; }

  .section-alt { background: var(--bg-alt); }

  .section-head { max-width: 720px; margin: 0 auto 56px; text-align: center; }

  .section-head h2 { font-size: clamp(32px, 4.5vw, 52px); font-weight: 700; margin: 14px 0 14px; }

  .section-head .lede { font-size: 18px; }



  /* ─── скелетоны (shimmer) ─── */

  .skeleton { position: relative; overflow: hidden; background: var(--surface-2); }

  .skeleton::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.07), transparent); transform: translateX(-100%); animation: shimmer 1.3s ease-in-out infinite; }

  @keyframes shimmer { to { transform: translateX(100%); } }

  .h-empty { grid-column: 1 / -1; text-align: center; padding: 60px 20px; border: 1px dashed var(--border); border-radius: var(--r-md); color: var(--ink-3); font-size: 15px; }



  /* ─── V9: крафт + функциональность ─── */

  /* зерно + виньетка убраны в V21 (оверлей давал белое кольцо) */

  /* кастомный скроллбар */

  html { scrollbar-width: thin; scrollbar-color: #2c2c2e #0a0a0c; }

  ::-webkit-scrollbar { width: 10px; }

  ::-webkit-scrollbar-track { background: #0a0a0c; }

  ::-webkit-scrollbar-thumb { background: #2c2c2e; border-radius: 999px; border: 2px solid #0a0a0c; }

  ::-webkit-scrollbar-thumb:hover { background: var(--accent); }



  /* превью загрузки */

  .dz-preview { width: 56px; height: 56px; border-radius: var(--r-sm); object-fit: cover; margin-bottom: 6px; box-shadow: 0 4px 14px rgba(0,0,0,0.4); }



  /* копировать промпт */

  .g-copy { pointer-events: auto; cursor: pointer; display: inline-block; margin-top: 9px; font-family: var(--font); font-size: 12px; font-weight: 600; color: var(--accent); background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.16); border-radius: var(--r-pill); padding: 5px 12px; transition: background 140ms ease; }

  .g-copy:hover { background: rgba(255,255,255,0.14); }



  /* FAQ */

  .faq { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }

  .faq-item { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); overflow: hidden; }

  .faq-item summary { list-style: none; cursor: pointer; padding: 18px 20px; font-size: 16px; font-weight: 600; display: flex; align-items: center; justify-content: space-between; gap: 16px; }

  .faq-item summary::-webkit-details-marker { display: none; }

  .faq-item summary::after { content: '+'; font-family: var(--mono); color: var(--accent); font-size: 22px; line-height: 1; transition: transform 180ms ease; }

  .faq-item[open] summary::after { transform: rotate(45deg); }

  .faq-item p { padding: 0 20px 18px; color: var(--ink-2); font-size: 15px; }



  /* баланс в шапке */

  .balance-chip { display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 12px; color: var(--ink-2); background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-pill); padding: 6px 13px; }

  .balance-chip b { color: var(--accent); font-weight: 600; }

  .balance-chip .b-unit { font-size: 10px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--ink-3); }

  .pc-coin { --pc-size: 24px; position: relative; display: inline-grid; width: var(--pc-size); height: var(--pc-size); flex: 0 0 var(--pc-size); place-items: center; border: 1px solid color-mix(in srgb, var(--accent) 72%, #fff); border-radius: 50%; color: var(--accent); background: radial-gradient(circle at 31% 24%, rgba(255,255,255,.9) 0 5%, transparent 6%), conic-gradient(from 210deg, color-mix(in srgb, var(--accent) 55%, #111), color-mix(in srgb, var(--accent) 88%, #fff), var(--accent), color-mix(in srgb, var(--accent) 48%, #050505), color-mix(in srgb, var(--accent) 82%, #fff)); box-shadow: inset 0 1px 1px rgba(255,255,255,.5), inset 0 -2px 4px rgba(0,0,0,.38), 0 0 16px color-mix(in srgb, var(--accent) 22%, transparent); transition: color .35s ease, border-color .35s ease, background .35s ease, box-shadow .35s ease, transform .35s ease; }

  .pc-coin::before { content: ''; position: absolute; inset: 3px; border: 1px solid color-mix(in srgb, currentColor 58%, transparent); border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(0,0,0,.2); }

  .pc-coin::after { content: 'P'; position: relative; z-index: 1; color: color-mix(in srgb, var(--accent) 28%, #080808); font-family: var(--font); font-size: calc(var(--pc-size) * .47); font-style: normal; font-weight: 900; line-height: 1; text-shadow: 0 1px 0 color-mix(in srgb, var(--accent) 74%, #fff); }

  .pc-coin.pc-sm { --pc-size: 18px; }

  .pc-coin.pc-lg { --pc-size: 48px; }

  .balance-chip:hover .pc-coin { transform: rotate(-10deg) scale(1.08); }

  .pc-amount { display: inline-flex; align-items: center; gap: 8px; }

  .balance-chip .b-sep { color: var(--ink-3); }



  /* тост */

  .toast { position: fixed; left: 50%; bottom: calc(28px + env(safe-area-inset-bottom)); transform: translateX(-50%) translateY(20px); z-index: 7600; display: flex; align-items: center; gap: 10px; width: max-content; max-width: calc(100vw - 32px); background: var(--surface-2); color: var(--ink); border: 1px solid var(--border-strong); border-radius: var(--r-pill); padding: 8px 8px 8px 18px; font-size: 14px; font-weight: 500; box-shadow: 0 12px 40px rgba(0,0,0,0.5); opacity: 0; pointer-events: none; transition: opacity 200ms ease, transform 200ms ease; }

  .toast.show { opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0); }

  .toast span { min-width: 0; overflow-wrap: anywhere; }

  .toast-close { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border: 0; border-radius: 50%; color: var(--ink-2); background: rgba(255,255,255,.07); cursor: pointer; }

  .toast-close:active { transform: scale(.94); }



  /* модалка чекаута */

  .modal { position: fixed; inset: 0; z-index: 7000; display: grid; place-items: center; padding: calc(20px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom)); overflow: auto; overscroll-behavior: contain; }

  .modal[hidden] { display: none; }

  .modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.7); backdrop-filter: blur(4px); }

  .modal-card { position: relative; width: 100%; max-width: 440px; max-height: calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--r-lg); padding: 28px; box-shadow: 0 30px 90px rgba(0,0,0,0.6); }

  .modal-close { position: absolute; top: 10px; right: 10px; z-index: 12; display: grid; width: 44px; height: 44px; place-items: center; background: color-mix(in srgb, var(--surface-2) 82%, transparent); border: 1px solid var(--border); color: var(--ink-2); cursor: pointer; padding: 0; border-radius: 50%; touch-action: manipulation; }

  .modal-close:hover { color: var(--ink); background: var(--surface-2); }

  .modal-card h3 { font-size: 22px; margin-bottom: 6px; }

  body.modal-open, body.sheet-open { overflow: hidden; overscroll-behavior: none; }

  body.sheet-open header { visibility: hidden; pointer-events: none; }

  .co-summary { color: var(--ink-2); font-size: 15px; margin-bottom: 20px; }

  .co-methods { display: flex; gap: 10px; margin-bottom: 20px; }

  .co-method { flex: 1; font-family: var(--font); font-size: 14px; font-weight: 600; color: var(--ink-2); background: var(--bg-alt); border: 1px solid var(--border-strong); border-radius: var(--r-md); padding: 12px; cursor: pointer; transition: border-color 120ms ease, color 120ms ease; }

  .co-method.is-active { color: var(--ink); border-color: var(--accent); }

  .co-note { margin-top: 14px; font-family: var(--mono); font-size: 11px; color: var(--ink-3); text-align: center; }



  @media (max-width: 940px) { .balance-chip .b-unit { display: none; } }

  @media (max-width: 600px) { .nav-actions .btn { display: none; } .balance-chip { display: inline-flex; padding: 5px 8px; } .balance-chip .pc-coin { --pc-size: 17px; } }



  .steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; }

  .step .num { font-family: var(--mono); font-size: 13px; font-weight: 500; color: var(--accent); letter-spacing: 0.04em; }

  .step h3 { font-size: 22px; font-weight: 700; margin: 12px 0 8px; }

  .step p { color: var(--ink-2); font-size: 15px; }



  .gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: start; }

  .g-card {

    border-radius: var(--r-md); overflow: hidden; position: relative; align-self: start;

    background: transparent;

    transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--ty, 0px));

    transition: transform 180ms ease, box-shadow 300ms ease;

  }

  .g-card:hover { --ty: -4px; box-shadow: 0 16px 40px rgba(0,0,0,0.5); }

  .g-card.skeleton { aspect-ratio: 3 / 4; }

  .g-media { position: relative; overflow: hidden; background: linear-gradient(115deg, var(--surface) 20%, var(--surface-2) 46%, var(--surface) 72%); background-size: 240% 100%; animation: imagePlaceholder 1.8s ease infinite; }

  .g-media-main { display: block; width: 100%; height: auto; object-fit: initial; opacity: .08; filter: blur(12px); transform: scale(1.025); transition: opacity .32s ease, filter .42s ease, transform .42s ease; }

  .g-media-main.is-loaded { opacity: 1; filter: none; transform: none; }

  @keyframes imagePlaceholder { 0%,100% { background-position: 100% 0; } 50% { background-position: 0 0; } }

  .g-media.is-short { aspect-ratio: 3 / 4; }

  .g-media.is-short .g-media-main { height: 100%; object-fit: cover; object-position: center; }

  .g-media-bg { width: 100%; aspect-ratio: 3 / 4; background-position: center; background-repeat: no-repeat; background-size: cover; }

  #styles-grid, #for-you-grid { align-items: stretch; }

  :is(#styles-grid,.catalog-category-window) .g-card, #for-you-grid .g-card { align-self: stretch; display: flex; flex-direction: column; height: 100%; }

  :is(#styles-grid,.catalog-category-window) .g-media, #for-you-grid .g-media { flex: 1 1 auto; min-height: 0; }

  :is(#styles-grid,.catalog-category-window) .g-media-main, #for-you-grid .g-media-main { height: 100%; object-fit: cover; object-position: center; }

  .g-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 16px 14px; background: linear-gradient(transparent, rgba(0,0,0,0.85)); display: flex; align-items: center; justify-content: space-between; }

  .g-cap h3 { font-size: 16px; font-weight: 700; color: #fff; }

  .g-use { font-size: 14px; font-weight: 600; color: var(--accent); background: none; border: none; cursor: pointer; }

  .g-use:hover { text-decoration: underline; }

  .g-prompt {

    position: absolute; inset: auto 0 0 0; padding: 14px 16px;

    background: rgba(0,0,0,0.82); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);

    font-family: var(--mono); font-size: 11px; line-height: 1.5; color: #c7c7cc;

    opacity: 0; transform: translateY(8px); transition: opacity 150ms ease, transform 150ms ease; pointer-events: none;

  }

  .g-card:hover .g-prompt, .g-card:focus-within .g-prompt { opacity: 1; transform: translateY(0); }



  /* V22: поиск каталога + подробный просмотр образа */

  .catalog-tools { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(180px, auto) minmax(124px, auto); gap: 10px; align-items: center; max-width: 880px; margin: 0 auto 14px; }

  .catalog-search { min-height: 44px; width: 100%; padding: 10px 15px; color: var(--ink); background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-pill); font: 13px var(--font); }

  .catalog-search:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent); }

  .catalog-count { margin: -12px 0 24px; text-align: center; color: var(--ink-3); font-family: var(--mono); font-size: 11px; }

  .catalog-more { display: block; min-width: 220px; margin: 32px auto 0; }

  .style-preview-card { max-width: 820px; padding: 0; overflow: auto; border: 1px solid color-mix(in srgb, var(--accent) 36%, var(--border)); box-shadow: 0 30px 90px rgba(0,0,0,.62), 0 0 0 1px color-mix(in srgb, var(--accent) 10%, transparent), 0 18px 50px color-mix(in srgb, var(--accent) 12%, transparent); background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 7%, var(--surface)), var(--surface) 42%); }

  .style-preview-grid { display: grid; grid-template-columns: minmax(280px, .95fr) minmax(280px, 1.05fr); min-height: 0; }

  .style-preview-media { position: relative; min-height: 0; padding: 16px; background: radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--accent) 16%, var(--surface-2)), var(--bg) 78%); }

  .style-preview-media img { display: block; width: 100%; height: auto; max-height: min(52vh, 520px); object-fit: contain; object-position: center; border-radius: 22px; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--border)); box-shadow: 0 16px 40px rgba(0,0,0,.42), 0 0 28px color-mix(in srgb, var(--accent) 16%, transparent); background: var(--bg); }

  .style-preview-info { display: flex; flex-direction: column; justify-content: center; padding: 32px 36px 32px 24px; min-width: 0; }

  .style-preview-info .eyebrow { color: var(--accent); }

  .style-preview-info h3 { margin: 10px 0 12px; font-size: clamp(26px, 4vw, 40px); letter-spacing: -.03em; }

  .style-preview-info p { color: var(--ink-2); font-size: 15px; line-height: 1.6; }

  .style-preview-meta { margin: 12px 0 16px; color: var(--ink-3); font-family: var(--mono); font-size: 10px; overflow-wrap: anywhere; }

  .style-preview-thumbs { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 12px; margin: 0 0 8px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }

  .style-preview-thumbs::-webkit-scrollbar { display: none; }

  .style-preview-thumbs[hidden] { display: none; }

  .style-preview-thumb { flex: 0 0 64px; width: 64px; height: 64px; padding: 0; border: 1px solid var(--border); border-radius: 14px; overflow: hidden; background: var(--bg); cursor: pointer; }

  .style-preview-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }

  .style-preview-thumb.is-active { border-color: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent); }

  .style-preview-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 4px; }

  .style-preview-actions .btn-primary, .secure-prompt-actions .btn-primary { box-shadow: 0 12px 28px color-mix(in srgb, var(--accent) 28%, transparent); }

  .style-preview-actions .prompt-reveal { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; border-radius: var(--r-pill); border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--border)); color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, transparent); }

  .style-preview-actions .prompt-reveal:hover { text-decoration: none; background: color-mix(in srgb, var(--accent) 14%, transparent); }

  .style-preview-card .modal-close, .secure-prompt-card .modal-close { background: color-mix(in srgb, var(--bg) 62%, transparent); border-color: color-mix(in srgb, var(--accent) 28%, var(--border)); color: var(--ink); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }

  .secure-prompt-card { max-width: 780px; padding: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--border)); box-shadow: 0 30px 90px rgba(0,0,0,.62), 0 18px 50px color-mix(in srgb, var(--accent) 12%, transparent); background: var(--surface); }

  .secure-prompt-head { padding: 30px 34px 20px; border-bottom: 1px solid color-mix(in srgb, var(--accent) 18%, var(--border)); background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 14%, var(--surface)), var(--surface)); }

  .secure-prompt-badge { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--border)); border-radius: 999px; color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, transparent); font: 600 10px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }

  .secure-prompt-head h3 { margin: 14px 42px 6px 0; font-size: clamp(26px, 4vw, 38px); letter-spacing: -.03em; }

  .secure-prompt-head p { margin: 0; color: var(--ink-2); line-height: 1.55; }

  .secure-prompt-body { padding: 24px 34px 30px; }

  .secure-prompt-box { position: relative; min-height: 0; padding: 16px 16px 14px; border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--border)); border-radius: 22px; background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 8%, var(--bg-alt)), var(--bg-alt)); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--accent) 12%, transparent); }

  .secure-prompt-kicker { display: block; margin: 0 2px 10px; color: var(--accent); font: 600 10px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }

  .secure-prompt-text { width: 100%; min-height: 168px; max-height: min(42dvh, 340px); resize: vertical; overflow: auto; border: 0; outline: 0; padding: 0; background: transparent; color: var(--ink); font: 500 14.5px/1.7 var(--font); }

  .secure-prompt-loading { display: grid; gap: 12px; padding: 8px 0; }

  .secure-prompt-loading i { display:block; height:12px; border-radius:999px; background:linear-gradient(90deg,var(--surface-2),color-mix(in srgb,var(--accent) 16%,var(--surface-2)),var(--surface-2)); background-size:220% 100%; animation:secureShimmer 1.2s linear infinite; }

  .secure-prompt-loading i:nth-child(2){width:88%}.secure-prompt-loading i:nth-child(3){width:96%}.secure-prompt-loading i:nth-child(4){width:68%}

  @keyframes secureShimmer { to { background-position:-220% 0; } }

  .secure-prompt-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:16px; }

  .secure-prompt-actions #secure-prompt-save { grid-column:1 / -1; }

  .secure-prompt-note { margin:14px 2px 0; color:var(--ink-3); font:500 10px/1.5 var(--mono); }

  @media (max-width: 900px) {

    .catalog-tools { grid-template-columns: 1fr 1fr; max-width: 680px; }

    .catalog-search { grid-column: 1 / -1; }

    .fav-filter { margin-top: 0 !important; }

  }

  @media (max-width: 700px) {

    .catalog-tools { grid-template-columns: 1fr 1fr; }

    .catalog-search { grid-column: 1 / -1; }

    .style-preview-card { max-height: min(92dvh, calc(100dvh - 12px - env(safe-area-inset-top, 0px))); overflow: auto; padding: 0; }

    .style-preview-grid { grid-template-columns: 1fr; min-height: 0; }

    .style-preview-media { min-height: 0; max-height: none; padding: 12px 12px 0; }

    .style-preview-media img { position: relative; inset: auto; width: 100%; height: auto; max-height: min(32dvh, 260px); object-fit: contain; border-radius: 18px; }

    .style-preview-info { padding: 14px 18px 16px; }

    .style-preview-info h3 { font-size: clamp(22px, 6vw, 28px); margin: 6px 0 8px; }

    .style-preview-info p { font-size: 13px; }

  }



  /* video teaser */

  .video-teaser {

    display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center;

    background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg);

    padding: 40px; margin-top: 40px;

  }

  .video-teaser h3 { font-size: 30px; margin: 10px 0 12px; }

  .video-teaser p { color: var(--ink-2); font-size: 16px; }

  .video-frame {

    position: relative; aspect-ratio: 16 / 9; border-radius: var(--r-md); overflow: hidden;

    background: radial-gradient(120% 120% at 20% 0%, #14243a, #06060a);

    display: grid; place-items: center;

  }

  .video-frame video, .v-frame video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #070708; }

  .video-frame .play, .v-frame .play { z-index: 3; }

  .video-frame.has-video::before, .v-frame.has-video::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.36)); pointer-events: none; }

  .video-demo-label { position: absolute; z-index: 2; left: 14px; bottom: 12px; padding: 5px 8px; border-radius: var(--r-pill); color: rgba(255,255,255,.82); background: rgba(0,0,0,.42); backdrop-filter: blur(8px); font: 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; pointer-events: none; }

  .video-frame .shine { position: absolute; inset: 0; background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.06) 50%, transparent 70%); animation: sweep 5s ease-in-out infinite; }

  @keyframes sweep { 0%,100% { transform: translateX(-100%); } 50% { transform: translateX(100%); } }

  .play {

    position: relative; width: 76px; height: 76px; border-radius: 50%;

    background: rgba(255,255,255,0.12); backdrop-filter: blur(6px);

    display: grid; place-items: center; cursor: pointer; border: 1px solid rgba(255,255,255,0.2);

    animation: pulse 2.4s ease-out infinite;

    transition: opacity 160ms ease, transform 160ms ease;

  }

  .play svg { margin-left: 4px; }

  @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(255,180,67,0.45); } 70% { box-shadow: 0 0 0 26px rgba(255,180,67,0); } 100% { box-shadow: 0 0 0 0 rgba(255,180,67,0); } }



  /* тёмная глава */

  .chapter { text-align: center; padding: 140px 0; }

  .chapter h2 { font-size: clamp(36px, 6vw, 68px); font-weight: 700; letter-spacing: -0.03em; line-height: 1.04; max-width: 16ch; margin: 0 auto 18px; }

  .chapter .lede { color: var(--ink-2); font-size: 18px; max-width: 48ch; margin: 0 auto 34px; }



  /* ─── студия ─── */

  .studio-head { text-align: center; padding: 72px 0 48px; }

  .studio-head h1 { font-size: clamp(40px, 5vw, 60px); font-weight: 800; letter-spacing: -0.03em; margin: 12px 0 12px; }

  .studio-head .lede { font-size: 18px; max-width: 48ch; margin: 0 auto; }

  .studio {

    display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--border);

    border-radius: var(--r-lg); overflow: hidden; background: var(--surface);

    box-shadow: 0 24px 60px rgba(0,0,0,0.4); margin-bottom: 32px;

  }

  .studio-input, .studio-result { padding: 32px; display: flex; flex-direction: column; gap: 18px; }

  .studio-input { border-right: 1px solid var(--border); background: var(--bg-alt); }

  .reference-page { position: relative; min-height: calc(100vh - 64px); padding: 74px 0 96px; overflow: hidden; }

  .reference-page::before { content: ''; position: absolute; inset: -30% 45% 28% -25%; pointer-events: none; background: radial-gradient(circle, color-mix(in srgb, var(--accent) 16%, transparent), transparent 66%); filter: blur(30px); opacity: .72; }

  .reference-page-head { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 210px; align-items: end; gap: 48px; margin-bottom: 36px; }

  .reference-page-head h1 { max-width: 880px; margin: 14px 0 16px; font-size: clamp(42px, 6.3vw, 78px); line-height: .98; letter-spacing: -.055em; }

  .reference-page-head .lede { max-width: 760px; color: var(--ink-2); font-size: clamp(15px, 1.6vw, 18px); line-height: 1.65; }

  .reference-price { position: relative; min-height: 178px; display: flex; flex-direction: column; justify-content: center; padding: 24px; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--border)); border-radius: 30px; background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 12%, var(--surface)), var(--surface)); box-shadow: 0 24px 64px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.05); }

  .reference-price::after { content: ''; position: absolute; top: 18px; right: 18px; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 18px var(--accent); }

  .reference-price.reference-quota { min-height: 0; justify-content: flex-start; padding: 18px 18px 16px; }

  .reference-price.reference-quota::after { display: none; }

  .reference-price.reference-quota .quota-bar-value { margin: 0; color: var(--ink); font-size: 22px; line-height: 1.2; letter-spacing: -.03em; }

  .reference-price.reference-quota .quota-bar-note { text-transform: none; letter-spacing: 0; font: 11px/1.4 var(--font); }

  .reference-price span, .reference-price small { color: var(--ink-3); font: 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }

  .reference-price b { margin: 8px 0 2px; color: var(--accent); font-size: 58px; line-height: 1; letter-spacing: -.06em; }

  .reference-workspace { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 520px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--accent) 27%, var(--border)); border-radius: 30px; background: color-mix(in srgb, var(--surface) 94%, transparent); box-shadow: 0 30px 90px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.04); backdrop-filter: blur(18px); }

  .reference-upload-pane, .reference-output-pane { min-width: 0; padding: 30px; }

  .reference-upload-pane { border-right: 1px solid var(--border); background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 6%, transparent), transparent 55%); }

  .reference-output-pane { display: flex; flex-direction: column; }

  .reference-pane-label { display: flex; align-items: center; gap: 11px; margin-bottom: 20px; color: var(--ink-2); }

  .reference-pane-label span { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--border)); border-radius: 50%; color: var(--accent); font: 10px var(--mono); }

  .reference-pane-label b { font-size: 13px; letter-spacing: .02em; }

  .reference-drop { position: relative; min-height: 378px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; overflow: hidden; padding: 28px; border: 1px dashed color-mix(in srgb, var(--accent) 35%, var(--border-strong)); border-radius: 22px; cursor: pointer; background: color-mix(in srgb, var(--bg-alt) 88%, transparent); text-align: center; transition: border-color .25s, transform .25s, background .25s; }

  .reference-drop:hover, .reference-drop:focus-visible { outline: none; border-color: var(--accent); background: color-mix(in srgb, var(--accent) 7%, var(--bg-alt)); transform: translateY(-2px); }

  .reference-drop.has-image { justify-content: flex-end; border-style: solid; }

  .reference-drop.has-image::after { content: ''; position: absolute; inset: 38% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.88)); pointer-events: none; }

  .reference-preview { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; padding: 10px; box-sizing: border-box; background: radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--accent) 9%, var(--surface-2)), var(--bg) 78%); }

  .reference-drop-icon { position: relative; z-index: 2; display: grid; width: 62px; height: 62px; place-items: center; border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--border)); border-radius: 19px; color: var(--accent); background: color-mix(in srgb, var(--surface) 82%, transparent); box-shadow: 0 14px 30px rgba(0,0,0,.25); backdrop-filter: blur(12px); }

  .reference-drop-icon svg { width: 25px; height: 25px; }

  .reference-copy { position: relative; z-index: 2; }

  .reference-copy b { display: block; margin-bottom: 6px; font-size: 15px; }

  .reference-copy span { color: var(--ink-3); font-size: 12px; line-height: 1.5; }

  .reference-privacy { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 14px; color: var(--ink-3); font: 10px var(--mono); }

  .reference-privacy span::before { content: '✓'; margin-right: 6px; color: var(--accent); }

  .reference-empty-copy { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; max-width: 390px; margin: auto; text-align: center; }

  .reference-empty-copy h2 { margin: 24px 0 10px; font-size: clamp(24px, 3vw, 34px); letter-spacing: -.035em; transition: color .25s; }

  .reference-empty-copy p { color: var(--ink-3); font-size: 13px; line-height: 1.7; min-height: 2.4em; transition: color .25s; }

  .reference-orbit { position: relative; width: 116px; height: 116px; border: 1px solid color-mix(in srgb, var(--accent) 25%, transparent); border-radius: 50%; opacity: .45; transition: opacity .35s, box-shadow .35s; }

  .reference-orbit::before, .reference-orbit::after { content: ''; position: absolute; border: 1px solid color-mix(in srgb, var(--accent) 20%, transparent); border-radius: 50%; }

  .reference-orbit::before { inset: 18px; }

  .reference-orbit::after { inset: 38px; background: var(--accent); border: 0; box-shadow: 0 0 32px color-mix(in srgb, var(--accent) 68%, transparent); opacity: .7; }

  .reference-orbit i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 14px var(--accent); }

  .reference-orbit i:nth-child(1) { top: 7px; left: 30px; }.reference-orbit i:nth-child(2) { right: 1px; top: 54px; }.reference-orbit i:nth-child(3) { bottom: 11px; left: 21px; }

  .reference-workspace.is-analyzing { border-color: color-mix(in srgb, var(--accent) 42%, var(--border)); box-shadow: 0 30px 90px rgba(0,0,0,.38), 0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent), inset 0 1px 0 rgba(255,255,255,.04); }

  .reference-workspace.is-analyzing .reference-orbit { opacity: 1; animation: reference-spin 5s linear infinite; box-shadow: 0 0 40px color-mix(in srgb, var(--accent) 22%, transparent); }

  .reference-workspace.is-analyzing .reference-empty-copy h2 { color: var(--ink); }

  .reference-workspace.is-analyzing .reference-empty-copy p { color: var(--ink-2); }

  .reference-workspace.is-analyzing .reference-payline span { color: var(--ink-2); }

  .reference-progress { width: 100%; margin: 4px 0 2px; }

  .reference-progress[hidden] { display: none !important; }

  .reference-analyze { width: 100%; min-height: 56px; transition: opacity .2s; }

  .reference-analyze.is-loading { pointer-events: none; opacity: .92; }

  .reference-analyze.is-loading::after { content: ''; display: inline-block; width: 14px; height: 14px; margin-left: 10px; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; vertical-align: -2px; animation: reference-spin .8s linear infinite; }

  .reference-analyze span { opacity: .7; }

  .reference-result { flex: 1; min-height: 290px; resize: none; padding: 22px; border: 1px solid var(--border); border-radius: 18px; background: var(--bg-alt); color: var(--ink); font: 13px/1.7 var(--font); }

  .reference-actions { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 9px; margin-top: 10px; }

  .reference-payline { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 48px; color: var(--ink-3); font-size: 11px; }

  .reference-payline b { flex: 0 0 auto; color: var(--accent); font: 11px var(--mono); }

  @keyframes reference-spin { to { transform: rotate(360deg); } }

  .reference-named-title { margin: 0 0 10px; font-size: 18px; line-height: 1.25; }

  .reference-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 24px; }

  .reference-step { position: relative; min-height: 156px; overflow: hidden; padding: 24px 24px 22px 82px; border: 1px solid var(--border); border-radius: 20px; background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 5%, var(--surface)), var(--surface)); box-shadow: inset 0 1px 0 rgba(255,255,255,.035); transition: transform .25s ease, border-color .25s ease; }

  .reference-step:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--accent) 35%, var(--border)); }

  .reference-step span { position: absolute; top: 22px; left: 22px; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid color-mix(in srgb, var(--accent) 36%, var(--border)); border-radius: 14px; color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, transparent); font: 11px var(--mono); box-shadow: 0 10px 25px rgba(0,0,0,.18); }

  .reference-step b { display: block; margin: 2px 0 9px; font-size: 15px; line-height: 1.25; letter-spacing: -.015em; }

  .reference-step p { max-width: 270px; color: var(--ink-3); font-size: 12px; line-height: 1.65; }

  .reference-step::after { content: ''; position: absolute; right: -24px; bottom: -36px; width: 108px; height: 108px; border: 1px solid color-mix(in srgb, var(--accent) 12%, transparent); border-radius: 50%; box-shadow: 0 0 50px color-mix(in srgb, var(--accent) 5%, transparent); }

  @media (max-width: 820px) { .reference-page { padding-top: 48px; } .reference-page-head { grid-template-columns: 1fr; gap: 22px; } .reference-price:not(.reference-quota) { min-height: 0; flex-direction: row; align-items: baseline; gap: 10px; border-radius: 20px; } .reference-price:not(.reference-quota) b { font-size: 38px; } .reference-price.reference-quota { border-radius: 20px; } .reference-workspace { grid-template-columns: 1fr; } .reference-upload-pane { border-right: 0; border-bottom: 1px solid var(--border); } .reference-drop { min-height: 330px; } }

  @media (max-width: 600px) { .reference-page { padding: 34px 0 78px; } .reference-page-head h1 { font-size: 42px; } .reference-upload-pane, .reference-output-pane { padding: 18px; } .reference-workspace { border-radius: 22px; } .reference-drop { min-height: 300px; } .reference-actions { grid-template-columns: 1fr; } .reference-steps { grid-template-columns: 1fr; gap: 10px; } .reference-step { min-height: 132px; padding: 20px 20px 20px 76px; } .reference-step span { top: 19px; left: 19px; } }

  @media (prefers-reduced-motion: reduce) { .reference-orbit, .reference-analyze.is-loading::after { animation: none; } }

  .mode-tabs { display: inline-flex; gap: 4px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-pill); padding: 4px; width: fit-content; }

  .mode-tab {

    font-family: var(--font); font-size: 14px; font-weight: 600; color: var(--ink-2);

    background: transparent; border: none; cursor: pointer; padding: 8px 20px; border-radius: var(--r-pill); min-height: 36px;

    transition: color 120ms ease, background 120ms ease;

  }

  .mode-tab.is-active { background: var(--accent); color: #1a1205; }

  .mode-tab:hover:not(.is-active) { color: var(--ink); }

  .field-label { display: block; font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 8px; }

  .dropzone {

    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center;

    padding: 28px 20px; min-height: 130px; border: 1px dashed var(--border-strong); border-radius: var(--r-md);

    background: var(--surface); cursor: pointer; transition: border-color 120ms ease;

  }

  .dropzone:hover { border-color: var(--accent); }

  .dropzone .dz-title { font-size: 14px; font-weight: 500; }

  .dropzone .dz-hint { font-family: var(--mono); font-size: 11px; color: var(--ink-3); }

  .dropzone .dz-icon { color: var(--accent); margin-bottom: 4px; }

  .dropzone.has-file { border-style: solid; border-color: var(--accent); }

  .dropzone.has-file .dz-title { color: var(--accent); }

  textarea {

    width: 100%; min-height: 100px; resize: vertical;

    background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--r-md);

    color: var(--ink); font-family: var(--font); font-size: 15px; line-height: 1.5; padding: 14px 16px;

    transition: border-color 120ms ease, box-shadow 120ms ease;

  }

  textarea::placeholder { color: var(--ink-3); }

  textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px rgba(255,180,67,0.16); }

  .prompt-chips { display: flex; flex-wrap: wrap; gap: 8px; }

  .chip { font-family: var(--mono); font-size: 11px; color: var(--ink-2); background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-pill); padding: 7px 14px; cursor: pointer; transition: border-color 120ms ease, color 120ms ease; }

  .chip:hover { border-color: var(--ink-3); color: var(--ink); }

  .surprise-btn { position: relative; isolation: isolate; width: 100%; min-height: 58px; display: flex; align-items: center; justify-content: center; gap: 12px; overflow: hidden; padding: 11px 18px; color: var(--ink); background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 22%, var(--surface)), color-mix(in srgb, var(--accent-2) 10%, var(--surface))); border: 1px solid color-mix(in srgb, var(--accent) 52%, var(--border)); border-radius: var(--r-md); box-shadow: 0 10px 34px color-mix(in srgb, var(--accent) 13%, transparent), inset 0 1px 0 rgba(255,255,255,.08); cursor: pointer; transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }

  .surprise-btn::before { content: ''; position: absolute; z-index: -1; inset: -80% -35%; background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,.14) 50%, transparent 60%); transform: translateX(-55%) rotate(8deg); transition: transform 650ms ease; }

  .surprise-btn:hover { transform: translateY(-2px); border-color: var(--accent); box-shadow: 0 14px 42px color-mix(in srgb, var(--accent) 22%, transparent), inset 0 1px 0 rgba(255,255,255,.12); }

  .surprise-btn:hover::before { transform: translateX(55%) rotate(8deg); }

  .surprise-btn:active { transform: translateY(0) scale(.99); }

  .surprise-btn svg { position: absolute; left: 18px; width: 22px; height: 22px; color: var(--accent); filter: drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 45%, transparent)); }

  .surprise-btn-copy { display: flex; flex-direction: column; align-items: center; gap: 1px; text-align: center; }

  .surprise-btn-copy b { font-family: var(--font); font-size: 14px; letter-spacing: .01em; }

  .surprise-btn-copy small { color: var(--ink-3); font-family: var(--mono); font-size: 9px; letter-spacing: .05em; text-transform: uppercase; }

  .btn-generate { width: 100%; min-height: 54px; font-size: 16px; }



  /* настройки генерации (размер/качество/формат/варианты) */

  .gen-options { display: flex; flex-direction: column; gap: 14px; margin-top: 4px; }

  .opt-group { display: flex; flex-direction: column; gap: 8px; }

  .opt-label { font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3); }

  .tuning-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 14px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); }

  .tuning-control { display: grid; gap: 8px; }

  .tuning-head { display: flex; justify-content: space-between; gap: 12px; color: var(--ink-2); font-size: 12px; }

  .tuning-head output { color: var(--accent); font-family: var(--mono); }

  .tuning-control input[type="range"] { width: 100%; accent-color: var(--accent); cursor: pointer; }

  @media (max-width: 520px) { .tuning-grid { grid-template-columns: 1fr; } }

  .seg { display: inline-flex; gap: 4px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-pill); padding: 4px; width: fit-content; flex-wrap: wrap; }

  .seg button { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font); font-size: 13px; font-weight: 600; color: var(--ink-2); background: transparent; border: none; cursor: pointer; padding: 7px 13px; border-radius: var(--r-pill); min-height: 32px; transition: color 120ms ease, background 120ms ease; }

  .seg button.is-active { background: var(--accent); color: #1a1205; }

  .seg button:hover:not(.is-active) { color: var(--ink); }

  .ar { display: inline-block; border: 1.5px solid currentColor; border-radius: 3px; }

  .ar-11 { width: 13px; height: 13px; }

  .ar-45 { width: 11px; height: 14px; }

  .ar-169 { width: 16px; height: 9px; }

  .ar-916 { width: 9px; height: 16px; }

  .result-settings { font-family: var(--mono); font-size: 11px; color: var(--ink-3); letter-spacing: 0.04em; }

  .ref-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }

  .ref-item { position: relative; aspect-ratio: 3 / 4; border-radius: var(--r-md); border: 2px solid transparent; overflow: hidden; cursor: pointer; transition: border-color 120ms ease; background: var(--surface); }

  .ref-item:hover, .ref-item.is-active { border-color: var(--accent); }

  .ref-item img { width: 100%; height: 100%; object-fit: cover; }

  .ref-item span { position: absolute; left: 0; right: 0; bottom: 0; font-size: 11px; font-weight: 600; text-align: center; padding: 6px 4px; background: linear-gradient(transparent, rgba(0,0,0,0.6)); color: #fff; }



  /* результат */

  .studio-result { background: var(--bg); justify-content: center; align-items: stretch; }

  .result-state { display: flex; flex-direction: column; gap: 14px; flex: 1; }

  .result-state[hidden] { display: none; }

  .result-empty { align-items: center; justify-content: center; text-align: center; border: 1px dashed var(--border); border-radius: var(--r-md); padding: 40px 24px; }

  .result-empty svg { color: var(--accent); opacity: 0.7; margin-bottom: 4px; }

  .result-empty p { font-size: 16px; font-weight: 600; }

  .result-empty span { font-family: var(--mono); font-size: 11px; color: var(--ink-3); }

  .result-frame { position: relative; aspect-ratio: 3 / 4; border-radius: var(--r-md); overflow: hidden; background: var(--surface); }

  .result-frame img, .result-frame video { width: 100%; height: 100%; object-fit: cover; }

  .compare-before { position: absolute; inset: 0 auto 0 0; width: 50%; overflow: hidden; border-right: 1px solid rgba(255,255,255,.8); box-shadow: 8px 0 24px rgba(0,0,0,.18); }

  .compare-before img { position: absolute; inset: 0; width: var(--compare-width, 100%); max-width: none; object-fit: cover; }

  .compare-range { position: absolute; z-index: 5; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; touch-action: none; }

  .compare-handle {

    position: absolute;

    top: 50%;

    left: 50%;

    z-index: 4;

    width: 44px;

    height: 44px;

    transform: translate(-50%, -50%);

    border-radius: 50%;

    background: color-mix(in srgb, var(--accent) 22%, transparent);

    pointer-events: none;

  }

  .compare-handle::after {

    content: '';

    position: absolute;

    top: 50%;

    left: 50%;

    width: 22px;

    height: 22px;

    transform: translate(-50%, -50%);

    border-radius: 50%;

    background: var(--accent);

    border: 2px solid #fff;

    box-shadow: 0 4px 14px rgba(0,0,0,.45);

  }

  .compare-label { position: absolute; z-index: 2; top: 12px; padding: 5px 9px; color: #fff; background: rgba(0,0,0,.46); border: 1px solid rgba(255,255,255,.16); border-radius: var(--r-pill); backdrop-filter: blur(8px); font-family: var(--mono); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; pointer-events: none; }

  .compare-label.before { left: 12px; }

  .compare-label.after { right: 12px; }

  .result-frame .scanline { position: absolute; left: 0; right: 0; height: 3px; top: 0; background: linear-gradient(90deg, transparent, var(--accent), transparent); box-shadow: 0 0 18px rgba(255,180,67,0.7); animation: scan 2.4s cubic-bezier(0.2,0,0,1) infinite; }

  @keyframes scan { 0% { top: 4%; } 50% { top: 94%; } 100% { top: 4%; } }

  .progress { display: flex; flex-direction: column; gap: 10px; }

  .progress-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }

  .progress .p-label { font-size: 13px; font-weight: 600; color: var(--ink-2); }

  .progress .pct { font-family: var(--mono); font-size: 11px; color: var(--ink-3); font-variant-numeric: tabular-nums; }

  .progress .bar { height: 3px; background: var(--surface-2); overflow: hidden; border-radius: 999px; }

  .progress .bar i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--accent), var(--violet)); transition: width 300ms ease; }

  .stage-list { display: flex; flex-wrap: wrap; gap: 6px; }

  .stage { font-family: var(--mono); font-size: 10px; letter-spacing: 0.04em; color: var(--ink-3); padding: 4px 9px; border: 1px solid var(--border); border-radius: var(--r-pill); transition: color 120ms ease, border-color 120ms ease; }

  .stage.done { color: var(--accent); border-color: var(--accent); }

  .stage.cur { color: var(--ink); border-color: var(--ink-3); }

  .result-meta { display: flex; flex-direction: column; gap: 8px; }

  .result-meta .chip { align-self: flex-start; cursor: default; }

  .result-meta p { color: var(--ink-2); font-size: 14px; }

  .result-actions { display: flex; gap: 10px; flex-wrap: wrap; }

  .result-actions .btn { flex: 1; min-width: 110px; padding: 11px 14px; font-size: 13px; min-height: 44px; }

  .result-life { display: grid; gap: 12px; padding: 14px 16px 16px; border: 1px solid color-mix(in srgb, var(--accent) 38%, var(--border)); border-radius: 16px; background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 10%, var(--surface)), var(--surface)); }

  .result-life[hidden] { display: none; }

  .result-life-copy { display: flex; flex-direction: column; gap: 2px; }

  .result-life-copy b { font-size: 15px; letter-spacing: -0.02em; }

  .result-life-copy span { color: var(--ink-2); font-size: 13px; line-height: 1.45; }

  .result-life-pills, .result-life-go { display: flex; flex-wrap: wrap; gap: 8px; }

  .result-life-pills button, .result-life-go button { min-height: 40px; padding: 0 14px; border: 1px solid var(--border); border-radius: 999px; background: var(--bg); color: var(--ink-2); font: 600 13px var(--font); cursor: pointer; }

  .result-life-pills button.is-active, .result-life-go button.is-active { border-color: var(--accent); color: #1a1205; background: var(--accent); }

  .result-life-go button { flex: 1; min-width: 132px; }

  .result-life.is-busy { opacity: 0.72; pointer-events: none; }

  .result-frame video { width: 100%; height: 100%; object-fit: cover; display: block; }



  /* ─── история ─── */

  .history-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

  .h-item { border-radius: var(--r-md); overflow: hidden; position: relative; aspect-ratio: 3 / 4; background: var(--surface); transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--ty, 0px)); transition: transform 180ms ease, box-shadow 300ms ease; }

  .h-item:hover { --ty: -4px; box-shadow: 0 16px 40px rgba(0,0,0,0.5); }

  .h-item img { width: 100%; height: 100%; object-fit: cover; }

  .h-meta { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; padding: 40px 14px 12px; background: linear-gradient(transparent, rgba(0,0,0,0.85)); }

  .h-meta span { font-family: var(--mono); font-size: 11px; color: #c7c7cc; }

  .h-meta button { font-size: 13px; font-weight: 600; color: var(--accent); background: none; border: none; cursor: pointer; }

  .h-meta button:hover { text-decoration: underline; }



  /* ─── видео страница ─── */

  .video-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

  .v-card { border-radius: var(--r-md); overflow: hidden; background: var(--surface); border: 1px solid var(--border); transition: transform 300ms cubic-bezier(0.2,0,0,1); }

  .v-card:hover { transform: translateY(-4px); }

  .v-frame { position: relative; aspect-ratio: 16 / 9; background: radial-gradient(120% 120% at 30% 0%, #14243a, #06060a); display: grid; place-items: center; overflow: hidden; }

  .v-frame .play { width: 56px; height: 56px; }

  .video-grid .v-frame { aspect-ratio: 3 / 4; }

  .video-grid .v-frame video { width: 100%; height: 100%; object-fit: cover; display: block; background: #06060a; }

  .v-badge { position: absolute; z-index: 2; top: 12px; left: 12px; font-family: var(--mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: #1a1206; background: var(--accent); border-radius: var(--r-pill); padding: 4px 8px; }

  .v-cap h3 { font-size: 16px; font-weight: 650; letter-spacing: -0.02em; }

  .v-cap p { color: var(--ink-3); font-size: 13px; margin: 4px 0 12px; }

  .trend-sheet { position: fixed; z-index: 940; left: 16px; right: 16px; bottom: 16px; display: flex; gap: 16px; align-items: center; justify-content: space-between; margin: 0 auto; max-width: 720px; padding: 16px 18px; border: 1px solid var(--border); border-radius: var(--r-md); background: rgba(29,29,31,.96); box-shadow: 0 16px 40px rgba(0,0,0,.45); }

  .trend-sheet[hidden] { display: none !important; }

  .trend-sheet b { display: block; font-size: 16px; }

  .trend-sheet p { color: var(--ink-3); font-size: 13px; margin-top: 4px; }

  .g-cost { display: inline-block; margin-top: 6px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.04em; color: var(--accent); }

  @media (max-width: 600px) { .trend-sheet { flex-direction: column; align-items: stretch; } }

  /* видео «оживает» по ховеру (заглушка до реальных роликов) */

  .video-frame::after, .v-frame::after {

    content: ''; position: absolute; left: 0; bottom: 0; height: 3px; width: 0;

    background: linear-gradient(90deg, var(--accent), var(--violet));

    box-shadow: 0 0 12px rgba(255,180,67,0.6);

  }

  .video-frame:hover::after, .v-frame:hover::after { animation: vidProgress 5s linear forwards; }

  .video-frame:hover .play, .v-frame:hover .play { opacity: 0; transform: scale(0.8); }

  .video-frame:hover, .v-frame:hover { animation: vidZoom 5s ease-out forwards; }

  @keyframes vidProgress { to { width: 100%; } }

  @keyframes vidZoom { to { transform: scale(1.07); } }

  .v-cap { padding: 14px 16px; }

  .v-cap h3 { font-size: 15px; font-weight: 700; margin-bottom: 4px; }

  .v-cap p { font-family: var(--mono); font-size: 11px; color: var(--ink-3); }



  /* ─── пакеты ─── */

  .pkg-group { margin-bottom: 48px; }

  .pkg-title { text-align: center; margin-bottom: 28px; }

  .pkg-title h3 { font-size: 26px; font-weight: 700; }

  .pkg-title p { color: var(--ink-2); font-size: 15px; margin-top: 6px; }

  .tiers { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }

  .tiers.t3 { grid-template-columns: repeat(3, 1fr); }

  .tier { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); padding: 28px 22px; transition: transform 200ms ease, border-color 200ms ease; }

  .tier:hover { transform: translateY(-3px); }

  .tier.best { border-color: var(--accent); box-shadow: 0 10px 32px rgba(255,180,67,0.18); }

  .tier .count { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 30px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; }

  .tier .count small { font-size: 15px; font-weight: 600; color: var(--ink-2); letter-spacing: 0; }

  .tier .price { font-size: 28px; font-weight: 800; color: var(--accent); margin: 8px 0 4px; font-variant-numeric: tabular-nums; }

  .tier .per { font-family: var(--mono); font-size: 11px; color: var(--ink-3); margin-bottom: 16px; }

  .tier .btn { width: 100%; }

  .badge-best { align-self: flex-start; font-family: var(--mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--accent); border: 1px solid var(--accent); border-radius: var(--r-pill); padding: 3px 10px; margin-bottom: 12px; }

  .pkg-note { text-align: center; color: var(--ink-3); font-size: 14px; margin-top: 8px; }



  /* ─── footer ─── */

  footer { background: var(--bg-alt); border-top: 1px solid var(--border); padding: 28px 0 56px; font-size: 12px; color: var(--ink-3); }

  footer .foot-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; flex-wrap: wrap; padding: 24px 0; }

  footer .foot-top .logo { font-size: 16px; }

  footer .foot-top .logo .mark { width: 24px; height: 24px; flex-basis: 24px; }

  footer .foot-links { display: flex; gap: 20px; flex-wrap: wrap; }

  footer .foot-links a { color: var(--ink-2); font-size: 12px; }

  footer .foot-links a:hover { color: var(--ink); text-decoration: underline; }

  footer .foot-legal { border-top: 1px solid var(--border); padding-top: 18px; font-size: 11px; line-height: 1.6; }



  /* ─── responsive ─── */

  @media (max-width: 940px) {

    nav, .nav-actions .nav-signin { display: none; }

    .burger { display: block; }

    .showcase, .gallery, .steps, .history-grid, .tiers, .video-grid, .testimonials { grid-template-columns: 1fr 1fr; }

    .tiers.t3 { grid-template-columns: 1fr; }

    .studio { grid-template-columns: 1fr; }

    .studio-input { border-right: none; border-bottom: 1px solid var(--border); }

    .video-teaser { grid-template-columns: 1fr; }

    .section { padding: 72px 0; }

  }

  @media (max-width: 600px) {

    .wrap { padding: 0 18px; }

    .showcase { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 24px; }

    .gallery, .steps, .history-grid, .tiers, .video-grid, .testimonials { grid-template-columns: 1fr; }

    .home-hero { padding: 28px 0 16px; }

    .home-hero h1 { font-size: 44px; }

    .ref-strip { grid-template-columns: repeat(3, 1fr); }

    .studio-input, .studio-result { padding: 22px; }

    .result-actions .btn { min-width: 100%; }

    .chapter { padding: 96px 0; }

    .clock { display: none; }

  }



  /* ─── V11: приколюхи ─── */



  /* конфетти */

  .confetti-layer { position: fixed; inset: 0; z-index: 6500; pointer-events: none; overflow: hidden; }

  .confetti-layer i {

    position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-radius: 2px;

    background: var(--c, var(--accent));

    animation: confettiFly 1.1s cubic-bezier(0.2, 0.6, 0.3, 1) forwards;

  }

  @keyframes confettiFly {

    0% { transform: translate(-50%, -50%) rotate(0deg); opacity: 1; }

    100% { transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(var(--rot)); opacity: 0; }

  }



  /* glitch-переход */

  .glitch-flash { position: fixed; inset: 0; z-index: 6800; pointer-events: none; opacity: 0; background: linear-gradient(transparent 49%, rgba(255,180,67,0.12) 50%, transparent 51%); }

  .glitch-flash.is-on { animation: glitchAnim 240ms steps(2, end) both; }

  @keyframes glitchAnim {

    0% { opacity: 0; transform: translateX(0); }

    20% { opacity: 1; transform: translateX(-8px); }

    40% { opacity: 1; transform: translateX(6px); }

    60% { opacity: 1; transform: translateX(-4px); }

    80% { opacity: 1; transform: translateX(2px); }

    100% { opacity: 0; transform: translateX(0); }

  }



  /* колесо стилей */

  .wheel-modal .modal-card { max-width: 460px; text-align: center; background: radial-gradient(120% 80% at 50% 0%, color-mix(in srgb, var(--accent) 9%, var(--surface)), var(--surface) 58%); }

  .wheel-wrap { position: relative; width: 320px; height: 320px; margin: 28px auto 24px; filter: drop-shadow(0 22px 34px rgba(0,0,0,.48)); }

  .wheel-wrap::before { content: ''; position: absolute; inset: -9px; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--accent) 72%, transparent); box-shadow: 0 0 0 5px var(--bg), 0 0 0 6px var(--border-strong), 0 0 36px color-mix(in srgb, var(--accent) 28%, transparent); }

  .wheel-pointer { position: absolute; top: -15px; left: 50%; transform: translateX(-50%); width: 34px; height: 38px; z-index: 5; background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--accent) 66%, #fff)); clip-path: polygon(50% 100%, 0 0, 100% 0); filter: drop-shadow(0 4px 7px rgba(0,0,0,.62)) drop-shadow(0 0 9px color-mix(in srgb, var(--accent) 35%, transparent)); }

  .wheel { width: 100%; height: 100%; border-radius: 50%; position: relative; overflow: hidden; border: 8px solid var(--surface-2); outline: 1px solid color-mix(in srgb, var(--accent) 46%, var(--border)); transition: transform 4.4s cubic-bezier(0.08, 0.68, 0.12, 1); box-shadow: inset 0 0 0 2px rgba(255,255,255,.16), inset 0 0 48px rgba(0,0,0,.26); }

  .wheel.is-spinning { filter: saturate(1.18) brightness(1.08); }

  .wheel::before { content: ''; position: absolute; inset: 0; z-index: 1; border-radius: 50%; background: radial-gradient(circle at 36% 26%, rgba(255,255,255,.22), transparent 30%), radial-gradient(circle, transparent 54%, rgba(0,0,0,.28) 100%); pointer-events: none; }

  .wheel::after { content: ''; position: absolute; inset: 0; z-index: 1; border-radius: 50%; background: repeating-conic-gradient(from 0deg, rgba(0,0,0,.34) 0 1.2deg, transparent 1.2deg 72deg); pointer-events: none; }

  .wheel-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 74px; height: 74px; border-radius: 50%; background: radial-gradient(circle at 38% 32%, var(--surface-2), var(--bg) 68%); border: 2px solid var(--accent); display: grid; place-items: center; z-index: 4; font-family: var(--mono); font-size: 10px; font-weight: 800; color: var(--accent); letter-spacing: 0.09em; box-shadow: 0 0 0 5px rgba(0,0,0,.32), 0 0 24px color-mix(in srgb, var(--accent) 38%, transparent), inset 0 1px 4px rgba(255,255,255,.12); }

  .wheel-center::before { content: ''; position: absolute; inset: 11px; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent); box-shadow: inset 0 0 12px rgba(0,0,0,.55); }

  .wheel-seg { position: absolute; inset: 0; border-radius: 50%; overflow: hidden; }

  .wheel-seg img { position: absolute; z-index: 2; left: 50%; top: 19px; width: 54px; height: 54px; transform: translateX(-50%); object-fit: cover; border-radius: 50%; border: 2px solid rgba(255,255,255,.78); box-shadow: 0 5px 14px rgba(0,0,0,.35); background: var(--surface-2); }

  .wheel-result { font-size: 14px; color: var(--ink-2); min-height: 20px; margin-bottom: 16px; }

  .wheel-reveal { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; padding: 10px; text-align: left; background: var(--bg-alt); border: 1px solid var(--border); border-radius: var(--r-md); animation: wheelReveal .32s ease both; }

  .wheel-reveal img { width: 72px; height: 72px; flex: 0 0 72px; border-radius: 12px; object-fit: cover; background: var(--surface-2); }

  .wheel-reveal b { display: block; color: var(--ink); font-size: 14px; margin-bottom: 3px; }

  .wheel-reveal span { display: block; color: var(--ink-3); font-family: var(--mono); font-size: 10px; overflow-wrap: anywhere; }

  .wheel-history { display: flex; gap: 6px; justify-content: center; min-height: 30px; margin: -4px 0 12px; }

  .wheel-history button { width: 30px; height: 30px; padding: 0; overflow: hidden; border-radius: 50%; border: 1px solid var(--border); background: var(--surface-2); cursor: pointer; transition: transform 140ms ease, border-color 140ms ease; }

  .wheel-history button:hover { transform: scale(1.1); border-color: var(--accent); }

  .wheel-history img { width: 100%; height: 100%; object-fit: cover; }

  @keyframes wheelReveal { from { opacity: 0; transform: translateY(6px) scale(.98); } to { opacity: 1; transform: none; } }

  @media (max-width: 420px) {

    .wheel-wrap { width: 274px; height: 274px; }

    .wheel-center { width: 66px; height: 66px; font-size: 9px; }

    .wheel-seg img { top: 14px; width: 44px; height: 44px; }

  }



  /* счётчик «создано сегодня» */

  .live-stat { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; color: var(--ink-3); margin-top: 20px; }

  .live-stat b { font-family: var(--mono); font-size: 15px; color: var(--accent); font-variant-numeric: tabular-nums; font-weight: 600; }

  .live-stat .pulse-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); animation: dotPulse 1.8s ease-out infinite; }

  @keyframes dotPulse { 0% { box-shadow: 0 0 0 0 rgba(255,180,67,0.6); } 70% { box-shadow: 0 0 0 8px rgba(255,180,67,0); } 100% { box-shadow: 0 0 0 0 rgba(255,180,67,0); } }



  /* плёночный режим (пасхалка) */

  body.film-mode { filter: sepia(0.32) contrast(1.05) saturate(0.86); }

  .film-frame { display: none; position: fixed; inset: 0; z-index: 8900; pointer-events: none; border: 3px solid #0a0a0a; box-shadow: inset 0 0 0 2px rgba(255,255,255,0.06), inset 0 0 70px rgba(0,0,0,0.55); }

  body.film-mode .film-frame { display: block; }

  body.film-mode::after { content: 'ПикРум · FILM 35MM'; position: fixed; left: 14px; bottom: 14px; z-index: 9000; font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; color: #e8c37a; background: rgba(0,0,0,0.55); padding: 6px 12px; border-radius: 4px; }



  /* ─── V12: темы + приколюхи ─── */

  /* темы оформления */

  :root[data-theme="moon"] { --accent: #7AA2FF; --accent-2: #5B86E6; --violet: #9B8CFF; }

  :root[data-theme="neon"] { --accent: #2FE6FF; --accent-2: #16C6E8; --violet: #FF4DE2; }

  :root[data-theme="retro"] {

    --bg: #12100d; --bg-alt: #191610; --surface: #221e17; --surface-2: #2c2720;

    --ink: #f2ead9; --ink-2: #b7ad98; --ink-3: #7d7567;

    --border: #38312a; --border-strong: #4c4238;

    --accent: #E7B95C; --accent-2: #C99A3D; --violet: #C96B5A;

  }

  :root[data-theme="emerald"] { --accent: #34D399; --accent-2: #0EA57E; --violet: #2DD4BF; }

  :root[data-theme="rose"] { --accent: #FB7185; --accent-2: #E11D48; --violet: #F472B6; }

  :root[data-theme="amethyst"] { --accent: #A78BFA; --accent-2: #7C3AED; --violet: #EC4899; }

  :root[data-theme="ocean"] { --accent: #38BDF8; --accent-2: #0284C7; --violet: #2DD4BF; }

  :root[data-theme="gold"] {

    --accent: #D4AF37;

    --accent-2: #B8860B;

    --violet: #F3D27A;

    --particle-color: #E8C547;

    --particle-spark: #FFF4C2;

  }

  :root[data-theme="silver"] {

    --accent: #C0C0C0;

    --accent-2: #8A949E;

    --violet: #A8C0D4;

    --particle-color: #D8DEE6;

    --particle-spark: #F5F8FB;

  }

  :root[data-theme="bronze"] {

    --accent: #CD7F32;

    --accent-2: #8C4A1E;

    --violet: #B85C38;

    --particle-color: #E09145;

    --particle-spark: #FFCFA6;

  }

  :root[data-theme="moon"] .glow.g1 { background: #1a2a55; }

  :root[data-theme="moon"] .glow.g2 { background: #33264f; }

  :root[data-theme="moon"] .glow.g3 { background: #0a3a4a; }

  :root[data-theme="neon"] .glow.g1 { background: #0a4a55; }

  :root[data-theme="neon"] .glow.g2 { background: #4a0a3a; }

  :root[data-theme="neon"] .glow.g3 { background: #0a4a2a; }

  :root[data-theme="retro"] .glow.g1 { background: #6b4a10; }

  :root[data-theme="retro"] .glow.g2 { background: #6b2a2a; }

  :root[data-theme="retro"] .glow.g3 { background: #2a4a3a; }

  :root[data-theme="emerald"] .glow.g1 { background: #0a4a3a; }

  :root[data-theme="emerald"] .glow.g2 { background: #0a3a4a; }

  :root[data-theme="emerald"] .glow.g3 { background: #1a4a2a; }

  :root[data-theme="rose"] .glow.g1 { background: #4a0a2a; }

  :root[data-theme="rose"] .glow.g2 { background: #4a1a2a; }

  :root[data-theme="rose"] .glow.g3 { background: #3a0a3a; }

  :root[data-theme="amethyst"] .glow.g1 { background: #2a1a4a; }

  :root[data-theme="amethyst"] .glow.g2 { background: #3a1a4a; }

  :root[data-theme="amethyst"] .glow.g3 { background: #1a2a4a; }

  :root[data-theme="ocean"] .glow.g1 { background: #0a3a5a; }

  :root[data-theme="ocean"] .glow.g2 { background: #0a4a4a; }

  :root[data-theme="ocean"] .glow.g3 { background: #1a3a4a; }

  :root[data-theme="gold"] .glow.g1 { background: #5a4308; }

  :root[data-theme="gold"] .glow.g2 { background: #6b3a0c; }

  :root[data-theme="gold"] .glow.g3 { background: #3d2e08; }

  :root[data-theme="silver"] .glow.g1 { background: #1c242c; }

  :root[data-theme="silver"] .glow.g2 { background: #243038; }

  :root[data-theme="silver"] .glow.g3 { background: #1a2228; }

  :root[data-theme="bronze"] .glow.g1 { background: #4a220c; }

  :root[data-theme="bronze"] .glow.g2 { background: #3a1808; }

  :root[data-theme="bronze"] .glow.g3 { background: #5a2a12; }



  /* свитчер темы */

  .theme-bar { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 14px 0 4px; }

  .theme-label { font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3); }

  .theme-opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(56px, 1fr)); gap: 10px; width: 100%; }

  .theme-opt { display: flex; flex-direction: column; align-items: center; gap: 6px; background: none; border: none; cursor: pointer; padding: 0; }

  .theme-swatch { position: relative; width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(135deg, var(--t1, #FFB443), var(--t2, #FF6B5E)); border: 2px solid transparent; transition: border-color 120ms ease, transform 120ms ease; box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08); }

  .theme-opt:hover .theme-swatch { transform: scale(1.1); }

  .theme-opt.is-active .theme-swatch { border-color: var(--ink); }

  .theme-name { font-size: 11px; color: var(--ink-3); letter-spacing: 0.02em; transition: color 120ms ease; }

  .theme-opt.is-active .theme-name { color: var(--accent); }

  .theme-opt[data-theme="amber"] .theme-swatch { --t1: #FFB443; --t2: #FF6B5E; }

  .theme-opt[data-theme="moon"] .theme-swatch { --t1: #7AA2FF; --t2: #9B8CFF; }

  .theme-opt[data-theme="neon"] .theme-swatch { --t1: #2FE6FF; --t2: #FF4DE2; }

  .theme-opt[data-theme="retro"] .theme-swatch { --t1: #E7B95C; --t2: #C96B5A; }

  .theme-opt[data-theme="emerald"] .theme-swatch { --t1: #34D399; --t2: #2DD4BF; }

  .theme-opt[data-theme="rose"] .theme-swatch { --t1: #FB7185; --t2: #F472B6; }

  .theme-opt[data-theme="amethyst"] .theme-swatch { --t1: #A78BFA; --t2: #EC4899; }

  .theme-opt[data-theme="ocean"] .theme-swatch { --t1: #38BDF8; --t2: #2DD4BF; }

  .theme-opt[data-theme="gold"] .theme-swatch { --t1: #D4AF37; --t2: #F3D27A; }

  .theme-opt[data-theme="silver"] .theme-swatch { --t1: #C0C0C0; --t2: #A8C0D4; }

  .theme-opt[data-theme="bronze"] .theme-swatch { --t1: #CD7F32; --t2: #B85C38; }



  /* проявление результата (полароид) */

  .result-frame.develop { animation: develop 1.3s cubic-bezier(0.2, 0, 0, 1) both; }

  @keyframes develop {

    0% { filter: brightness(0.08) contrast(1.5) saturate(0.3); opacity: 0.6; transform: scale(1.03); }

    60% { filter: brightness(0.7) contrast(1.2) saturate(0.7); opacity: 1; }

    100% { filter: none; opacity: 1; transform: none; }

  }



  /* приветствие по времени */

  .hero-greet { display: flex; flex-direction: column; align-items: center; gap: 7px; font-family: var(--mono); font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); margin-bottom: 6px; }

  .hero-greet-note { max-width: 48ch; color: var(--ink-3); font-family: var(--font); font-size: 14px; font-weight: 500; line-height: 1.45; letter-spacing: 0; text-transform: none; }



  /* избранное + тренды */

  .g-fav { position: absolute; top: 12px; right: 12px; z-index: 4; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; background: rgba(0,0,0,0.45); backdrop-filter: blur(4px); border: 1px solid rgba(255,255,255,0.18); color: #fff; transition: color 120ms ease, background 120ms ease, transform 120ms ease; }

  .g-fav:hover { transform: scale(1.08); }

  .g-fav.is-fav { color: var(--accent); background: rgba(0,0,0,0.6); }

  .g-fav.is-fav svg { fill: var(--accent); stroke: var(--accent); }

  .g-trend { position: absolute; top: 12px; left: 12px; z-index: 4; font-family: var(--mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: #1a1205; background: var(--accent); border-radius: var(--r-pill); padding: 4px 10px; font-weight: 600; }

  .fav-filter { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin: 0 0 16px; }

  .fav-filter .chip.is-active { border-color: var(--accent); color: var(--accent); }

  .catalog-select { font-family: var(--mono); font-size: 11px; color: var(--ink-2); background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-pill); padding: 7px 34px 7px 14px; min-height: 34px; cursor: pointer; }

  .catalog-status { min-height: 24px; margin: 0 0 28px; text-align: center; font-family: var(--mono); font-size: 11px; color: var(--ink-3); }

  .catalog-status.is-live { color: var(--success); }

  .catalog-status.is-error { color: var(--danger); }



  /* часы в шапке */

  .clock { font-family: var(--mono); font-size: 12px; color: var(--ink-2); letter-spacing: 0.04em; display: inline-flex; align-items: center; gap: 6px; }

  .clock .c-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ink-3); transition: background 200ms ease; }

  .clock.golden .c-dot { background: var(--accent); box-shadow: 0 0 8px var(--accent); }



  /* ─── V13: drag&drop, параллакс, отзывы, хелп, микрофон ─── */

  .dropzone.drag { border-color: var(--accent); background: var(--surface-2); }



  .testimonials { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

  .t-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); padding: 24px; display: flex; flex-direction: column; gap: 14px; }

  .t-stars { display: flex; gap: 3px; color: var(--accent); }

  .t-stars svg { width: 14px; height: 14px; fill: currentColor; }

  .t-card blockquote { font-size: 15px; line-height: 1.55; color: var(--ink-2); }

  .t-card figcaption { display: flex; align-items: center; gap: 12px; margin-top: auto; }

  .t-ava { position: relative; width: 40px; height: 40px; flex: 0 0 40px; overflow: hidden; border-radius: 50%; background: var(--surface-2); border: 1px solid var(--border-strong); display: grid; place-items: center; font-weight: 700; font-size: 13px; color: var(--accent); }

  .t-ava img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }

  .t-card b { display: block; font-size: 14px; }

  .t-card small { font-family: var(--mono); font-size: 11px; color: var(--ink-3); }

  .t-card.is-community { border-color: color-mix(in srgb, var(--accent) 22%, var(--border)); }

  @media (max-width: 940px) { .testimonials { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

  @media (max-width: 600px) { .testimonials { grid-template-columns: minmax(0, 1fr); } }



  .keys { display: flex; flex-direction: column; gap: 10px; margin-top: 8px; }

  .key-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 14px; color: var(--ink-2); }

  kbd { font-family: var(--mono); font-size: 12px; background: var(--surface-2); border: 1px solid var(--border-strong); border-bottom-width: 2px; border-radius: 6px; padding: 3px 9px; color: var(--ink); }



  .field-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }

  .field-head .field-label { margin-bottom: 0; }

  .mic { width: 30px; height: 30px; border-radius: 50%; background: var(--surface); border: 1px solid var(--border-strong); color: var(--ink-2); cursor: pointer; display: grid; place-items: center; transition: color 120ms ease, border-color 120ms ease, background 120ms ease; }

  .mic:hover { color: var(--accent); border-color: var(--accent); }

  .mic.listening { color: #fff; background: var(--accent); border-color: var(--accent); animation: micPulse 1.2s ease-out infinite; }

  @keyframes micPulse { 0% { box-shadow: 0 0 0 0 rgba(255,180,67,0.5); } 70% { box-shadow: 0 0 0 12px rgba(255,180,67,0); } 100% { box-shadow: 0 0 0 0 rgba(255,180,67,0); } }



  /* ─── V14: профиль ─── */

  .auth-card { max-width: 440px; margin: 0 auto; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 28px; min-width: 0; overflow-x: hidden; }

  .auth-tabs, .am-tabs { display: flex; width: 100%; max-width: 100%; box-sizing: border-box; gap: 4px; background: var(--bg-alt); border: 1px solid var(--border); border-radius: var(--r-pill); padding: 4px; margin-bottom: 20px; }

  .auth-tab, .am-tab { flex: 1 1 0; min-width: 0; font-family: var(--font); font-size: 14px; font-weight: 600; color: var(--ink-2); background: transparent; border: none; cursor: pointer; padding: 8px 10px; border-radius: var(--r-pill); min-height: 36px; transition: color 120ms ease, background 120ms ease; }

  .auth-tab.is-active, .am-tab.is-active { background: var(--accent); color: #1a1205; }

  .auth-tab:hover:not(.is-active), .am-tab:hover:not(.is-active) { color: var(--ink); }

  .auth-form { display: flex; flex-direction: column; gap: 10px; }

  .auth-form input:not([type="checkbox"]) { width: 100%; min-height: 46px; background: var(--bg); border: 1px solid var(--border-strong); border-radius: var(--r-md); color: var(--ink); font-family: var(--font); font-size: 15px; padding: 0 14px; transition: border-color 120ms ease, box-shadow 120ms ease; }

  .auth-form input::placeholder { color: var(--ink-3); }

  .auth-form input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px rgba(255,180,67,0.16); }

  .auth-form .field-label { margin-bottom: 0; margin-top: 8px; }

  .auth-form .btn { margin-top: 10px; }

  .auth-note { font-family: var(--mono); font-size: 11px; color: var(--ink-3); text-align: center; margin-top: 14px; }



  .profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 880px; margin: 0 auto; }

  .pf-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-md); padding: 24px; display: flex; flex-direction: column; gap: 14px; }

  .pf-card h3 { font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-3); font-family: var(--mono); font-weight: 500; }

  .pf-hero { flex-direction: row; align-items: center; gap: 16px; }

  .pf-ava { width: 56px; height: 56px; border-radius: 50%; background: var(--accent); color: #1a1205; display: grid; place-items: center; font-weight: 800; font-size: 20px; flex-shrink: 0; }

  .pf-id { flex: 1; min-width: 0; }

  .pf-id h2 { font-size: 20px; margin-bottom: 2px; }

  .pf-id p { font-family: var(--mono); font-size: 12px; color: var(--ink-3); }

  .pf-balance { display: flex; gap: 12px; }

  .pf-balance > div { flex: 1; background: var(--bg-alt); border: 1px solid var(--border); border-radius: var(--r-md); padding: 14px; }

  .pf-balance b { display: block; font-size: 26px; font-weight: 800; color: var(--accent); font-variant-numeric: tabular-nums; }

  .pf-balance span { font-size: 12px; color: var(--ink-3); }

  .pf-balance .pc-amount { margin-bottom: 10px; }

  .pf-balance .pc-amount b { font-size: 38px; color: var(--ink); }

  .pf-wide { grid-column: 1 / -1; }

  .pf-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }

  .pf-stat { background: var(--bg-alt); border: 1px solid var(--border); border-radius: var(--r-md); padding: 14px; }

  .pf-stat b { display: block; font-size: 24px; font-weight: 800; }

  .pf-stat span { font-size: 12px; color: var(--ink-3); }

  .ach-list { display: flex; flex-direction: column; gap: 10px; }

  .ach-item { display: flex; align-items: center; gap: 12px; font-size: 14px; }

  .ach-item .ach-ic { width: 34px; height: 34px; border-radius: 50%; background: var(--bg-alt); border: 1px solid var(--border); display: grid; place-items: center; color: var(--ink-3); flex-shrink: 0; }

  .ach-item.on .ach-ic { color: var(--accent); border-color: var(--accent); }

  .ach-item .ach-tx b { display: block; font-size: 14px; font-weight: 600; }

  .ach-item .ach-tx span { font-size: 12px; color: var(--ink-3); }

  .ach-item.off { opacity: 0.55; }

  .theme-bar-pf { padding: 0; }

  .support-panel { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--border); }

  .support-form { display: grid; gap: 10px; margin-top: 14px; }

  .support-form input, .support-form textarea, .support-reply-input { width: 100%; padding: 12px 14px; border: 1px solid var(--border-strong); border-radius: var(--r-sm); background: var(--bg); color: var(--ink); font: 14px/1.5 var(--font); }

  .support-form textarea { min-height: 96px; resize: vertical; }

  .support-form input:focus, .support-form textarea:focus, .support-reply-input:focus { outline: none; border-color: var(--accent); }

  .support-list { display: grid; gap: 10px; margin-top: 16px; max-height: 280px; overflow: auto; }

  .support-ticket { padding: 13px; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--bg-alt); }

  .support-ticket-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }

  .support-ticket-head small { color: var(--accent); font: 10px var(--mono); text-transform: uppercase; }

  .support-message { margin-top: 8px; padding: 9px 11px; border-radius: 10px; background: var(--bg); color: var(--ink-2); font-size: 12px; line-height: 1.5; }

  .support-message.is-admin { border-left: 2px solid var(--accent); }

  .support-reply { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 10px; }



  .avatar-card { max-width: 620px; padding: 30px; }

  .avatar-editor { display: grid; grid-template-columns: minmax(260px, 320px) 1fr; gap: 28px; align-items: center; margin-top: 22px; }

  .avatar-stage { position: relative; width: min(320px, 76vw); aspect-ratio: 1; overflow: hidden; border-radius: 50%; border: 2px solid color-mix(in srgb, var(--accent) 60%, var(--border)); background: var(--bg); box-shadow: 0 20px 60px rgba(0,0,0,.42), 0 0 0 10px color-mix(in srgb, var(--accent) 5%, transparent); touch-action: none; cursor: grab; }

  .avatar-stage:active { cursor: grabbing; }.avatar-stage canvas { width: 100%; height: 100%; display: block; }

  .avatar-guide { position: absolute; inset: 0; pointer-events: none; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(255,255,255,.15), inset 0 0 55px rgba(0,0,0,.18); }

  .avatar-guide::before, .avatar-guide::after { content: ''; position: absolute; background: rgba(255,255,255,.2); }.avatar-guide::before { top: 50%; left: 12%; right: 12%; height: 1px; }.avatar-guide::after { left: 50%; top: 12%; bottom: 12%; width: 1px; }

  .avatar-controls { display: flex; flex-direction: column; gap: 14px; }.avatar-controls .btn { width: 100%; }

  .avatar-zoom { display: grid; gap: 7px; }.avatar-zoom span { color: var(--ink-3); font: 10px var(--mono); text-transform: uppercase; letter-spacing: .08em; }.avatar-zoom input { width: 100%; accent-color: var(--accent); }

  .avatar-hint { color: var(--ink-3); font-size: 12px; line-height: 1.55; }

  @media (max-width: 620px) { .avatar-card { padding: 22px 18px; } .avatar-editor { grid-template-columns: 1fr; justify-items: center; } .avatar-controls { width: 100%; } .support-reply { grid-template-columns: 1fr; } }



  @media (max-width: 940px) { .profile-grid { grid-template-columns: 1fr; } }

  @media (max-width: 600px) { .pf-stats { grid-template-columns: 1fr; } }

  @media (max-width: 600px) {

    .pf-card { padding: 18px; }

    .pf-hero { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 12px; }

    .pf-actions { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }

    .pf-id h2, .pf-id p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

    .pf-balance > div { min-width: 0; }

    .pf-balance .pc-amount b { font-size: clamp(30px, 10vw, 38px); }

  }



  /* ─── V16: личный кабинет 2.0 ─── */

  .pf-ava { overflow: hidden; cursor: pointer; border: none; }

  .pf-ava img { width: 100%; height: 100%; object-fit: cover; }

  .pf-actions { display: flex; flex-direction: column; gap: 8px; align-items: stretch; }

  @media (max-width: 600px) { .pf-actions { display: grid; grid-template-columns: 1fr 1fr; grid-column: 1 / -1; } }

  .pf-edit { display: flex; flex-direction: column; gap: 8px; }

  .pf-edit input { width: 100%; min-height: 40px; background: var(--bg); border: 1px solid var(--border-strong); border-radius: var(--r-md); color: var(--ink); font-family: var(--font); font-size: 14px; padding: 0 12px; }

  .pf-edit input:focus { outline: none; border-color: var(--accent); }

  .pf-edit-actions { display: flex; gap: 8px; }

  .pf-desc { font-size: 13px; color: var(--ink-3); line-height: 1.5; }

  .ref-code { display: flex; align-items: center; gap: 10px; background: var(--bg-alt); border: 1px solid var(--border); border-radius: var(--r-md); padding: 12px 14px; }

  .ref-code span { font-family: var(--mono); font-size: 14px; letter-spacing: 0.05em; color: var(--accent); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

  .ref-copy-btn { font-family: var(--font); font-size: 13px; font-weight: 600; color: var(--accent); background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.16); border-radius: var(--r-pill); padding: 6px 14px; cursor: pointer; white-space: nowrap; transition: background 140ms ease; }

  .ref-copy-btn:hover { background: rgba(255,255,255,0.14); }

  .pf-ref-stats { display: flex; gap: 12px; }

  .pf-ref-stats > div { flex: 1; background: var(--bg-alt); border: 1px solid var(--border); border-radius: var(--r-md); padding: 12px; }

  .pf-ref-stats b { display: block; font-size: 20px; font-weight: 800; color: var(--accent); }

  .pf-ref-stats span { font-size: 12px; color: var(--ink-3); }

  .twofa-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }

  .twofa-row b { font-size: 14px; display: block; }

  .twofa-row span { font-size: 12px; }

  .twofa-row .status-on { color: var(--success); }

  .twofa-row .status-off { color: var(--ink-3); }

  .twofa-setup { display: flex; flex-direction: column; gap: 12px; border-top: 1px solid var(--border); padding-top: 14px; }

  .twofa-qr { display: block; width: 164px; height: 164px; object-fit: contain; background: #fff; padding: 8px; border-radius: 10px; margin: 0 auto; }

  .twofa-key { text-align: center; font-family: var(--mono); font-size: 13px; letter-spacing: 0.06em; color: var(--accent); background: var(--bg-alt); border: 1px dashed var(--border-strong); border-radius: var(--r-md); padding: 10px; }

  .twofa-setup input { width: 100%; min-height: 46px; background: var(--bg); border: 1px solid var(--border-strong); border-radius: var(--r-md); color: var(--ink); font-family: var(--mono); font-size: 20px; letter-spacing: 0.4em; text-align: center; padding: 0 12px; }

  .twofa-setup input:focus { outline: none; border-color: var(--accent); }



  /* ─── V17: соцвход ─── */

  .auth-divider { display: flex; align-items: center; gap: 12px; margin: 18px 0 14px; color: var(--ink-3); font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; }

  .auth-divider::before, .auth-divider::after { content: ''; flex: 1; height: 1px; background: var(--border); }

  .auth-social { display: flex; flex-direction: column; gap: 10px; }

  .soc-btn { display: flex; align-items: center; gap: 10px; min-height: 46px; border-radius: var(--r-md); border: 1px solid var(--border-strong); background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 14px; font-weight: 600; cursor: pointer; padding: 0 14px; transition: border-color 120ms ease, background 120ms ease; }

  .soc-btn svg { width: 22px; height: 22px; flex-shrink: 0; }

  .soc-btn span { flex: 1; text-align: left; }

  .soc-btn:hover { border-color: var(--ink-3); background: var(--bg-alt); }

  .soc-btn.is-loading { pointer-events: none; opacity: 0.6; }

  .soc-btn:disabled { cursor: not-allowed; opacity: .48; }

  .soc-btn.yandex-primary { justify-content: center; width: min(100%, 390px); margin: 0 auto; min-height: 54px; padding: 10px 20px; border: 0; border-radius: var(--r-pill); background: #fff; color: #111; box-shadow: 0 12px 32px rgba(0,0,0,.24), 0 0 0 1px rgba(255,255,255,.16); font-weight: 750; }

  .soc-btn.yandex-primary:hover { background: #f5f5f7; border-color: transparent; transform: translateY(-1px); }

  .soc-btn.yandex-primary svg { width: 28px; height: 28px; }

  .soc-btn.yandex-primary span { flex: 0 1 auto; text-align: center; }

  .soc-btn.vk-btn { justify-content: center; width: min(100%, 390px); margin: 0 auto; min-height: 54px; padding: 10px 20px; border: 0; border-radius: var(--r-pill); background: #0077FF; color: #fff; box-shadow: 0 12px 32px rgba(0,119,255,.28); font-weight: 750; }

  .soc-btn.vk-btn:hover { background: #0d65d8; transform: translateY(-1px); }

  .soc-btn.vk-btn svg { width: 28px; height: 28px; }

  .soc-btn.vk-btn span { flex: 0 1 auto; text-align: center; }

  .soc-btn.ok-btn { justify-content: center; width: min(100%, 390px); margin: 0 auto; min-height: 54px; padding: 10px 20px; border: 0; border-radius: var(--r-pill); background: #F7931E; color: #fff; box-shadow: 0 12px 32px rgba(247,147,30,.28); font-weight: 750; }

  .soc-btn.ok-btn:hover { background: #e28612; transform: translateY(-1px); }

  .soc-btn.ok-btn svg { width: 28px; height: 28px; }

  .soc-btn.ok-btn span { flex: 0 1 auto; text-align: center; }

  .soc-btn.mail-btn { justify-content: center; width: min(100%, 390px); margin: 0 auto; min-height: 54px; padding: 10px 20px; border: 0; border-radius: var(--r-pill); background: #005FF9; color: #fff; box-shadow: 0 12px 32px rgba(0,95,249,.28); font-weight: 750; }

  .soc-btn.mail-btn:hover { background: #0050d6; transform: translateY(-1px); }

  .soc-btn.mail-btn svg { width: 28px; height: 28px; }

  .soc-btn.mail-btn span { flex: 0 1 auto; text-align: center; }

  .auth-social { display: flex; flex-direction: column; gap: 10px; align-items: stretch; width: 100%; max-width: 390px; margin: 0 auto; min-width: 0; }

  .auth-social .soc-btn { max-width: 100%; box-sizing: border-box; }

  .auth-alt-note { margin: 2px 0 0; text-align: center; color: var(--ink-3); font: 10px/1.4 var(--mono); }

  #auth-modal .modal-card { min-width: 0; overflow-x: hidden; }

  body.auth-open { overflow: hidden; overscroll-behavior: none; }

  .soon-hidden { display: none !important; }

  .soon-block { text-align: center; padding: 48px 20px 28px; }

  .soon-block h1 { margin: 10px 0 12px; }

  .soon-block p { max-width: 42ch; margin: 0 auto; color: var(--ink-2); }

  .password-rules { margin-top: -4px; color: var(--ink-3); font: 10px/1.5 var(--mono); }

  .password-panel { display: grid; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); }

  .password-panel input { width: 100%; min-height: 44px; padding: 0 13px; border: 1px solid var(--border-strong); border-radius: var(--r-md); background: var(--bg); color: var(--ink); }

  .password-panel input:focus { outline: none; border-color: var(--accent); }

  .password-strength { height: 4px; overflow: hidden; border-radius: 4px; background: var(--border); }

  .password-strength i { display: block; width: 0; height: 100%; background: var(--danger); transition: width .2s, background .2s; }

  .password-actions { display: flex; gap: 8px; }

  .twofa-backup { padding: 12px; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--bg-alt); text-align: left; }

  .twofa-backup b { display: block; margin-bottom: 7px; }

  .twofa-backup code { display: block; white-space: pre-wrap; color: var(--accent); font: 12px/1.65 var(--mono); user-select: all; }

  .pf-provider { display: inline-block; margin-top: 4px; font-size: 11px; font-weight: 600; letter-spacing: 0.04em; color: var(--accent); background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.14); border-radius: var(--r-pill); padding: 2px 10px; }



  /* ─── V19: стоимость генерации ─── */

  .gen-cost { font-family: var(--mono); font-size: 12px; color: var(--ink-2); letter-spacing: 0.02em; margin: 16px 0 10px; }

  .gen-cost b { color: var(--accent); font-weight: 700; font-size: 13px; }

  .gen-cost .hint { color: var(--ink-3); margin-left: 6px; }



  /* ─── V21: polish ─── */

  body { transition: background-color .35s ease, color .35s ease; }

  body.theme-fade { animation: themeFade .5s ease; }

  @keyframes themeFade { 0% { opacity: .45; } 100% { opacity: 1; } }

  .theme-opt { transition: transform 160ms ease; }

  .hero-trust { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 18px; font-family: var(--mono); font-size: 12px; letter-spacing: 0.03em; color: var(--ink-3); }

  .hero-trust svg { width: 14px; height: 14px; color: var(--accent); }

  .theme-opt:hover { transform: translateY(-3px); }

  .theme-opt.is-active .theme-swatch { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 32%, transparent), 0 6px 18px rgba(0,0,0,0.35); }

  .theme-swatch::after { content: ''; position: absolute; inset: 5px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.26); }

  .btn-generate .gb-cost { font-family: var(--mono); font-size: 12px; opacity: 0.85; }

  .lens { width: 46px; height: 46px; border-radius: 50%; border: 2px solid var(--border-strong); border-top-color: var(--accent); animation: lensSpin 1.1s cubic-bezier(0.4,0,0.2,1) infinite; margin: 0 auto 14px; position: relative; }

  .lens::after { content: ''; position: absolute; inset: 8px; border-radius: 50%; border: 1.5px solid var(--border); }

  @keyframes lensSpin { to { transform: rotate(360deg); } }

  .r-error h3 { font-size: 18px; margin-bottom: 6px; }

  .r-error p { font-size: 14px; color: var(--ink-2); margin-bottom: 16px; }

  .r-error .btn { margin: 4px 6px 0 0; }

  .initial { display: inline-flex; align-items: center; gap: 6px; }

  .dz-trust { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-family: var(--mono); font-size: 11px; color: var(--ink-3); letter-spacing: 0.02em; }

  .dz-trust svg { width: 13px; height: 13px; flex-shrink: 0; color: var(--accent); }

  .dz-progress { position: absolute; left: 16px; right: 16px; bottom: 13px; height: 4px; overflow: hidden; border-radius: 6px; background: rgba(255,255,255,.12); }

  .dz-progress i { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--accent); transition: width .2s ease; }

  .dropzone.is-processing { pointer-events: none; }

  .dropzone.is-processing .dz-icon { animation: lensSpin 1.1s linear infinite; }

  .gen-cost b { color: var(--accent); font-weight: 700; font-size: 13px; }

  .gen-cost .gc-bal { color: var(--ink-3); }

  .gen-cost .gc-bal b { color: var(--ink); }

  .g-card .g-use { font-size: 14px; font-weight: 600; color: var(--accent); background: none; border: none; cursor: pointer; white-space: nowrap; }

  .g-card .g-use:hover { text-decoration: underline; }

  .h-card { position: absolute; left: 10px; top: 10px; font-family: var(--mono); font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink); background: rgba(0,0,0,0.55); border: 1px solid rgba(255,255,255,0.16); border-radius: var(--r-pill); padding: 3px 9px; z-index: 2; backdrop-filter: blur(6px); }

  .h-item { position: relative; }

  /* нижняя навигация (mobile-first) */

  .bottombar { display: none; }

  @media (max-width: 600px) {

    .bottombar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; align-items: center; background: rgba(10,10,12,0.88); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border-top: 1px solid var(--border); padding: 8px 6px calc(8px + env(safe-area-inset-bottom)); justify-content: space-around; }

    .bottombar a { display: flex; flex-direction: column; align-items: center; gap: 3px; flex: 1; min-width: 0; font-size: 10px; line-height: 1.1; color: var(--ink-3); padding: 6px 4px; min-height: 48px; justify-content: center; border-radius: 14px; white-space: nowrap; }

    .bottombar a svg { width: 20px; height: 20px; }

    .bottombar a.is-active { color: var(--accent); }

    .bottombar a.is-active svg { fill: var(--accent); fill-opacity: 0.15; }

    .bottombar a.bottombar-picrum { flex: 1; min-width: 0; color: var(--accent); font-weight: 700; padding: 4px 1px; }

    .bottombar-picrum-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 12px; color: var(--accent); background: color-mix(in srgb, var(--accent) 16%, rgba(18,18,20,.94)); border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--border)); box-shadow: 0 6px 16px color-mix(in srgb, var(--accent) 22%, transparent); }

    .bottombar a.bottombar-picrum svg { width: 17px; height: 17px; }

    .bottombar-picrum-label { font-size: 9px; letter-spacing: -0.02em; line-height: 1.05; white-space: normal; max-width: 4.7em; text-align: center; }

    .bottombar a.bottombar-picrum.is-active { color: var(--accent); background: transparent; }

    .bottombar a.bottombar-picrum.is-active .bottombar-picrum-icon { color: #080808; background: var(--accent); box-shadow: 0 8px 18px color-mix(in srgb, var(--accent) 38%, transparent); }

    body { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }

    #ambient-particles {

      --particle-opacity: 0.42;

      -webkit-mask-image: linear-gradient(to bottom, transparent 0, transparent calc(10px + env(safe-area-inset-top, 0px)), #000 calc(72px + env(safe-area-inset-top, 0px)), #000 100%);

      mask-image: linear-gradient(to bottom, transparent 0, transparent calc(10px + env(safe-area-inset-top, 0px)), #000 calc(72px + env(safe-area-inset-top, 0px)), #000 100%);

    }

    body[data-page="home"] #ambient-particles { --particle-opacity: 0.5; }

  }

  footer { padding-bottom: calc(56px + env(safe-area-inset-bottom)); }

  .pf-card { transition: background-color .3s ease, border-color .3s ease; }

  .tier { transition: border-color .3s ease, box-shadow .3s ease; }

  .modal-card { transition: background-color .3s ease, border-color .3s ease; }

  .am-err { color: var(--danger); font-size: 13px; margin-top: 2px; }

  .nav-icon { position: relative; display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; color: var(--ink-2); background: var(--surface); border: 1px solid var(--border); border-radius: 50%; cursor: pointer; }

  .nav-icon:hover { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); }

  .nav-icon svg { width: 17px; height: 17px; }

  .more-open { display: none; }

  .more-sheet-backdrop { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: calc(58px + env(safe-area-inset-bottom)); z-index: 940; background: rgba(4,4,6,.58); touch-action: none; }

  .more-sheet-backdrop.is-open { display: block; }

  .more-sheet { display: none; position: fixed; left: 10px; right: 10px; bottom: calc(98px + env(safe-area-inset-bottom)); z-index: 950; max-height: min(78dvh, calc(100dvh - 118px - env(safe-area-inset-bottom))); overflow: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 4px 16px 18px; border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--border)); border-radius: 28px; background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 8%, rgba(16,16,18,.96)), rgba(12,12,14,.96)); box-shadow: 0 24px 70px rgba(0,0,0,.5); backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); touch-action: pan-y; transition: transform .28s cubic-bezier(.2,.8,.2,1); }

  .more-sheet.is-open { display: block; }

  .more-sheet.is-dragging { transition: none; }

  .more-sheet-handle { display: flex; align-items: center; justify-content: center; height: 28px; margin: 0 auto 4px; cursor: grab; touch-action: none; }

  .more-sheet-handle::after { content: ''; width: 46px; height: 4px; border-radius: 99px; background: color-mix(in srgb, var(--accent) 45%, var(--border)); }

  .more-sheet-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }

  .more-sheet h2 { margin: 0 0 4px; font-size: 22px; }

  .more-sheet p { margin: 0; color: var(--ink-3); font-size: 13px; }

  .more-sheet-close { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 50%; color: var(--ink); background: color-mix(in srgb, var(--surface) 80%, transparent); font-size: 24px; line-height: 1; cursor: pointer; }

  .more-sheet-close:hover { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); }

  .more-sheet-list { display: grid; gap: 8px; }

  .more-sheet-list a { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 12px; align-items: center; min-height: 64px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 18px; color: var(--ink); background: color-mix(in srgb, var(--surface) 88%, transparent); }

  .more-sheet-list a svg { width: 22px; height: 22px; color: var(--accent); }

  .more-sheet-list a span { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; background: color-mix(in srgb, var(--accent) 14%, transparent); }

  .more-sheet-list a b { display: block; font-size: 16px; }

  .more-sheet-list a small { display: block; margin-top: 2px; color: var(--ink-3); font-size: 12px; }

  .more-sheet-list a.is-active { border-color: color-mix(in srgb, var(--accent) 50%, var(--border)); }

  .notif-dot { position: absolute; top: -3px; right: -3px; min-width: 17px; height: 17px; padding: 0 4px; display: grid; place-items: center; border: 2px solid var(--bg); border-radius: 10px; background: var(--accent); color: #080808; font: 700 9px var(--mono); }

  .personal-block { margin: 0 0 42px; padding: 24px; border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--border)); border-radius: var(--r-lg); background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 7%, var(--surface)), var(--surface)); }

  .personal-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 18px; }

  .personal-head h2 { margin-top: 5px; font-size: 24px; }

  .personal-head p { color: var(--ink-3); font-size: 13px; }

  .personal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }

  .personal-grid .g-card { border: 1px solid color-mix(in srgb, var(--accent) 15%, var(--border)); }

  .picrum-hub { max-width:1180px; margin:0 auto; }

  .hub-tabs { display:flex; gap:8px; margin:0 0 26px; padding:6px; width:max-content; max-width:100%; overflow:auto; border:1px solid var(--border); border-radius:999px; background:var(--surface); }

  .hub-tab { min-height:42px; padding:0 18px; border:0; border-radius:999px; color:var(--ink-2); background:transparent; font:600 13px var(--font); white-space:nowrap; cursor:pointer; }

  .hub-tab.is-active { color:#080808; background:var(--accent); box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 22%,transparent); }

  .hub-panel[hidden] { display:none; }

  .hub-panel-head { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:20px; }

  .hub-panel-head h2 { margin-top:6px; font-size:clamp(26px,4vw,38px); }

  .hub-panel-head p { max-width:520px; color:var(--ink-3); font-size:13px; line-height:1.55; }

  .saved-prompts-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }

  .saved-prompt { min-height:210px; display:flex; flex-direction:column; padding:20px; border:1px solid var(--border); border-radius:24px; background:radial-gradient(circle at 90% 0,color-mix(in srgb,var(--accent) 13%,transparent),transparent 46%),var(--surface); }

  .saved-prompt .saved-lock { color:var(--accent); font:600 10px var(--mono); letter-spacing:.08em; text-transform:uppercase; }

  .saved-prompt h3 { margin:18px 0 8px; font-size:20px; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

  .saved-prompt p { color:var(--ink-3); font:11px/1.5 var(--mono); overflow-wrap:anywhere; }

  .saved-prompt-remove { width:42px; border:1px solid var(--border); border-radius:14px; color:var(--ink-3); background:transparent; cursor:pointer; }

  .saved-prompt.has-preview { display:grid; grid-template-columns:86px minmax(0,1fr); gap:12px; align-items:start; }

  .saved-prompt-thumb { width:86px; height:86px; border-radius:16px; object-fit:cover; background:var(--bg-alt); border:1px solid var(--border); }

  .saved-prompt.has-preview .saved-prompt-body { min-width:0; display:flex; flex-direction:column; height:100%; }

  .saved-prompt.has-preview h3 { margin-top:6px; }

  .saved-prompt-actions { display:grid; grid-template-columns:1fr auto; gap:8px; margin-top:auto; padding-top:20px; }

  .saved-prompt-actions .btn { min-height:42px; }

  .result-status-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }

  .result-status-card { min-height:168px; overflow:hidden; border:1px solid var(--border); border-radius:22px; background:var(--surface); }

  .result-status-card img { width:100%; height:140px; object-fit:cover; display:block; background:var(--bg-alt); }

  .result-status-card .rs-body { padding:12px 14px 14px; }

  .result-status-card .rs-flag { display:inline-flex; align-items:center; gap:6px; font:600 10px var(--mono); letter-spacing:.06em; text-transform:uppercase; }

  .result-status-card.is-ok .rs-flag { color:var(--accent); }

  .result-status-card.is-pending .rs-flag { color:#8ec8ff; }

  .result-status-card.is-failed .rs-flag { color:#ff8d8d; }

  .result-status-card h3 { margin:6px 0 8px; font-size:15px; }

  .result-status-card p { margin:0; color:var(--ink-3); font-size:12px; }

  .result-status-empty { padding:28px 16px; text-align:center; color:var(--ink-3); }

  .result-status-card { display:flex; flex-direction:column; }

  .result-status-card img { cursor:pointer; }

  .rs-meta { display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin:0; }

  .rs-when { color:var(--ink-3); font-size:12px; line-height:1.35; }

  .result-expiry { display:block; margin:0; color:var(--accent); font-size:11px; font-family:var(--mono); letter-spacing:.02em; line-height:1.35; }

  .result-expiry.is-soon { color:#ff8a65; }

  .rs-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:12px; }

  .rs-actions button { min-height:44px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; padding:6px 4px; border:1px solid var(--border); border-radius:14px; background:var(--bg-alt); color:var(--ink-2); font:600 10px/1.1 var(--font); letter-spacing:.01em; cursor:pointer; }

  .rs-actions button svg { width:18px; height:18px; }

  .rs-actions button[data-rs-open] { color:var(--accent); border-color:color-mix(in srgb,var(--accent) 32%,var(--border)); }

  .rs-actions button[data-rs-delete] { color:var(--danger); }

  .rs-actions button:disabled { opacity:.38; cursor:not-allowed; }

  .result-lightbox { z-index:7150; padding:24px; overflow:hidden; background:rgba(0,0,0,.72); }

  .result-lightbox-card { position:relative; display:flex; flex-direction:column; width:min(780px,100%); height:min(920px, calc(100dvh - 48px)); max-height:calc(100dvh - 48px); overflow:hidden; border:1px solid var(--border); border-radius:24px; background:#050506; }

  .result-lightbox-media { flex:1 1 0; min-height:160px; display:grid; place-items:center; background:#000; }

  .result-lightbox-card img, .result-lightbox-media img { display:block; width:100%; height:100%; max-height:none; object-fit:contain; background:#000; }

  .result-lightbox .modal-close { position:absolute; top:max(10px, env(safe-area-inset-top)); right:max(10px, env(safe-area-inset-right)); z-index:20; background:rgba(18,18,20,.9); }

  .result-lightbox-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px 12px; background:var(--bg-alt); flex-shrink:0; }

  .result-lightbox-bar b { display:block; font-size:16px; }

  .result-lightbox-bar p { margin:4px 0 0; color:var(--ink-3); font-size:12px; }

  .result-lightbox-actions { display:flex; gap:8px; flex-shrink:0; }

  .result-lightbox-actions .btn { min-height:44px; padding:0 16px; }

  .result-edit { padding:0 16px 16px; border-top:1px solid var(--border); background:var(--bg-alt); flex-shrink:0; }

  .result-edit label { display:block; margin:12px 0 6px; color:var(--ink-3); font:600 10px var(--mono); text-transform:uppercase; letter-spacing:.08em; }

  .result-edit textarea { width:100%; min-height:72px; resize:vertical; background:var(--bg); border:1px solid var(--border-strong); border-radius:14px; color:var(--ink); font-family:var(--font); font-size:14px; padding:12px 14px; }

  .result-edit .btn { width:100%; margin-top:10px; }

  .quota-bars { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 0 22px; }

  .quota-bar { position:relative; overflow:hidden; padding:16px 18px 14px; border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border)); border-radius:20px; background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 10%, var(--surface)), var(--surface)); box-shadow:inset 0 1px 0 rgba(255,255,255,.04); }

  .quota-bar::after { content:''; position:absolute; top:14px; right:14px; width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 14px color-mix(in srgb, var(--accent) 70%, transparent); opacity:.85; }

  .quota-bar-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:10px; }

  .quota-bar-label { color:var(--ink-3); font:600 10px var(--mono); letter-spacing:.08em; text-transform:uppercase; }

  .quota-bar-value { color:var(--ink); font-size:15px; letter-spacing:-.02em; }

  .quota-bar-value em { color:var(--accent); font-style:normal; font-weight:700; }

  .quota-bar-track { height:8px; border-radius:999px; background:color-mix(in srgb, var(--ink) 8%, var(--bg-alt)); overflow:hidden; }

  .quota-bar-track > i { display:block; height:100%; width:0%; border-radius:inherit; background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 72%, #fff), var(--accent)); box-shadow:0 0 18px color-mix(in srgb, var(--accent) 45%, transparent); transition:width .45s ease; }

  .quota-bar.is-full .quota-bar-track > i { background:linear-gradient(90deg, #ff8a65, #ff5c5c); }

  .quota-bar-note { display:block; margin-top:8px; color:var(--ink-3); font-size:11px; line-height:1.4; }

  .quota-bar-solo { margin:0; }

  .reference-quota { min-height:0; }

  .reference-quota .quota-bar-value { font-size:22px; letter-spacing:-.03em; }

  @media (max-width:700px) { .quota-bars { grid-template-columns:1fr; } }

  .auth-terms { display:grid; gap:8px; margin:4px 0 2px; }

  .auth-terms label { display:flex; align-items:flex-start; gap:10px; color:var(--ink-2); font-size:12px; line-height:1.45; cursor:pointer; }

  .auth-terms input[type="checkbox"], .selfie-consent input[type="checkbox"] {

    appearance:none; -webkit-appearance:none; flex:0 0 18px; width:18px; height:18px; min-height:18px; margin-top:2px;

    border:1.5px solid var(--border-strong); border-radius:5px; background:var(--bg); cursor:pointer; position:relative;

  }

  .auth-terms input[type="checkbox"]:checked, .selfie-consent input[type="checkbox"]:checked {

    border-color:var(--accent); background:var(--accent);

  }

  .auth-terms input[type="checkbox"]:checked::after, .selfie-consent input[type="checkbox"]:checked::after {

    content:''; position:absolute; left:5px; top:1px; width:5px; height:9px;

    border:solid #1a1205; border-width:0 2px 2px 0; transform:rotate(45deg);

  }

  .auth-terms a { color:var(--accent); text-decoration:underline; }

  .selfie-preview { width:100%; max-width:220px; aspect-ratio:4/5; object-fit:cover; border-radius:18px; border:1px solid var(--border); background:var(--bg); margin:12px 0; }

  .selfie-hint { color:var(--ink-3); font-size:12px; line-height:1.55; margin:0 0 12px; }

  .selfie-consent { display:flex; align-items:flex-start; gap:10px; margin:0 0 12px; color:var(--ink-2); font-size:12px; line-height:1.45; cursor:pointer; }

  .selfie-slots { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 12px; }

  .selfie-slot { display:flex; flex-direction:column; gap:8px; padding:12px; border:1px solid var(--border); border-radius:16px; background:var(--bg-alt); }

  .selfie-slot-label { font:600 11px var(--mono); letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3); }

  .selfie-slot .selfie-preview { max-width:none; margin:0; }

  .selfie-slot .btn { width:100%; min-height:42px; }

  .named-faces-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(132px,1fr)); gap:12px; margin:0 0 12px; }

  .named-face-card { display:flex; flex-direction:column; gap:8px; padding:10px; border:1px solid var(--border); border-radius:16px; background:var(--bg-alt); }

  .named-face-card img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:12px; background:var(--bg); border:1px solid var(--border); }

  .named-face-card .named-face-name { font:600 13px var(--font); color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

  .named-face-card .named-face-actions { display:grid; grid-template-columns:1fr 1fr; gap:6px; }

  .named-face-card .named-face-actions .btn { min-height:36px; padding:0 8px; font-size:12px; }

  .named-face-add { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:180px; border:1px dashed var(--border-strong); border-radius:16px; background:transparent; color:var(--ink-2); cursor:pointer; font:600 13px var(--font); }

  .named-face-add:hover { border-color:var(--accent); color:var(--accent); }

  .pair-dropzones, .people-slots { display:grid; grid-template-columns:1fr 1fr; gap:12px; }

  .people-slots[data-count="1"] { grid-template-columns:1fr; }

  .people-slots[data-count="3"],

  .people-slots[data-count="4"],

  .people-slots[data-count="5"] { grid-template-columns:repeat(2, 1fr); }

  .people-slots.is-with-add[data-count="1"] { grid-template-columns:1fr 1fr; }

  @media (min-width: 560px) {

    .people-slots[data-count="3"],

    .people-slots[data-count="5"] { grid-template-columns:repeat(3, 1fr); }

    .people-slots[data-count="4"] { grid-template-columns:repeat(2, 1fr); }

  }

  .studio-audience-bar { margin:0 0 16px; gap:10px; }

  .studio-audience-bar .opt-label { letter-spacing:.1em; }

  .studio-audience-bar .seg {

    width:100%; padding:5px; gap:3px;

    background:color-mix(in srgb, var(--surface-2) 88%, #000);

    border-color:var(--border-strong);

  }

  .studio-audience-bar .seg button {

    flex:1 1 0; min-width:0; min-height:40px; justify-content:center;

    padding:8px 4px; font-size:13px; font-weight:650; letter-spacing:-.01em;

  }

  .studio-audience-bar .seg button.is-active {

    box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 30%, transparent);

  }

  .studio-audience-hint {

    margin:2px 0 0; font:500 11px/1.4 var(--mono);

    letter-spacing:.07em; text-transform:uppercase; color:var(--ink-3);

  }

  .studio-audience-hint em {

    font-style:normal; font-weight:600; color:var(--accent);

  }

  .person-slot {

    display:flex; flex-direction:column; gap:8px; min-width:0;

  }

  .person-slot-label {

    font:600 11px/1.2 var(--mono); letter-spacing:.08em; text-transform:uppercase;

    color:var(--ink-3); padding:0 2px;

  }

  .person-slot-label.is-named { color:var(--ink-2); letter-spacing:.04em; text-transform:none; font-family:var(--font); font-size:13px; }

  .person-slot .dropzone.person-slot-media {

    position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;

    gap:8px; padding:18px 12px; min-height:0; aspect-ratio:4 / 5; width:100%;

    border:1.5px dashed color-mix(in srgb, var(--accent) 42%, var(--border-strong));

    border-radius:20px; background:

      radial-gradient(120% 80% at 50% 0%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 55%),

      var(--surface);

    overflow:hidden; transition:border-color 140ms ease, background 140ms ease, transform 140ms ease;

  }

  .person-slot .dropzone.person-slot-media:hover {

    border-color:var(--accent);

    background:

      radial-gradient(120% 80% at 50% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 55%),

      var(--surface-2);

  }

  .person-slot .dropzone.person-slot-media.drag {

    border-color:var(--accent); border-style:solid;

    background:color-mix(in srgb, var(--accent) 10%, var(--surface-2));

  }

  .person-slot .ps-empty-icon {

    width:36px; height:36px; color:color-mix(in srgb, var(--accent) 75%, var(--ink-3));

    opacity:.9;

  }

  .person-slot .ps-empty-title {

    font:600 14px/1.25 var(--font); color:var(--ink); margin:0;

  }

  .person-slot .ps-empty-hint {

    font:500 11px/1.35 var(--mono); color:var(--ink-3); letter-spacing:.02em; margin:0;

  }

  .person-slot.is-filled .dropzone.person-slot-media {

    border-style:solid; border-color:color-mix(in srgb, var(--accent) 55%, var(--border));

    padding:0; background:#0a0a0c;

  }

  .person-slot .person-slot-photo {

    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;

  }

  .person-slot .person-slot-badge {

    position:absolute; left:10px; right:10px; bottom:10px; z-index:2;

    display:inline-flex; align-items:center; justify-content:center; gap:6px;

    min-height:32px; padding:6px 12px; border-radius:999px;

    background:color-mix(in srgb, #0a0a0c 72%, transparent);

    backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);

    border:1px solid rgba(255,255,255,.12);

    color:#fff; font:600 12px/1.2 var(--font);

    overflow:hidden; text-overflow:ellipsis; white-space:nowrap; pointer-events:none;

  }

  .person-slot .person-slot-clear {

    position:absolute; top:8px; right:8px; z-index:3;

    width:36px; height:36px; min-height:36px; padding:0; border-radius:50%;

    border:1px solid rgba(255,255,255,.16);

    background:color-mix(in srgb, #0a0a0c 70%, transparent);

    backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);

    color:#fff; cursor:pointer; display:grid; place-items:center;

    touch-action:manipulation;

  }

  .person-slot .person-slot-clear:hover { border-color:var(--accent); color:var(--accent); }

  .person-slot-actions {

    display:grid; grid-template-columns:1fr 1fr; gap:6px;

  }

  .person-slot-actions.is-triple { grid-template-columns:1fr 1fr; }

  .person-slot-actions.is-triple .ps-btn-wide { grid-column:1 / -1; }

  .person-slot-actions .ps-btn {

    min-height:44px; padding:0 10px; border-radius:14px;

    border:1px solid var(--border-strong); background:var(--bg-alt);

    color:var(--ink-2); font:600 12px/1.2 var(--font); cursor:pointer;

    touch-action:manipulation; transition:border-color 120ms ease, color 120ms ease, background 120ms ease;

  }

  .person-slot-actions .ps-btn:hover { border-color:var(--accent); color:var(--accent); }

  .person-slot-actions .ps-btn.is-primary {

    border-color:color-mix(in srgb, var(--accent) 55%, var(--border));

    color:#1a1205; background:var(--accent);

  }

  .person-slot-actions .ps-btn.is-primary:hover {

    background:var(--accent-2); border-color:var(--accent-2); color:#1a1205;

  }

  .person-slot-actions .ps-btn.is-ghost { background:transparent; }

  .person-slot-add {

    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;

    min-height:0; aspect-ratio:4 / 5; width:100%; padding:16px 12px;

    border:1.5px dashed var(--border-strong); border-radius:20px;

    background:transparent; color:var(--ink-2); cursor:pointer;

    font:600 13px var(--font); touch-action:manipulation;

    transition:border-color 140ms ease, color 140ms ease, background 140ms ease;

  }

  .person-slot-add:hover {

    border-color:var(--accent); color:var(--accent);

    background:color-mix(in srgb, var(--accent) 6%, transparent);

  }

  .person-slot-add .ps-add-plus {

    width:44px; height:44px; border-radius:50%;

    display:grid; place-items:center;

    border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));

    background:color-mix(in srgb, var(--accent) 10%, var(--surface));

    color:var(--accent); font:700 22px/1 var(--font);

  }

  .people-add-btn { display:none !important; }

  .studio-selfie-pick, .studio-face-pick { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 12px; }

  .studio-selfie-pick > span, .studio-face-pick > span { color:var(--ink-3); font-size:12px; }

  .studio-selfie-pick button, .studio-face-pick button { min-height:36px; padding:0 12px; border-radius:999px; border:1px solid var(--border-strong); background:var(--bg-alt); color:var(--ink-2); font:600 12px var(--font); cursor:pointer; }

  .studio-selfie-pick button.is-active, .studio-face-pick button.is-active { border-color:var(--accent); color:var(--accent); background:color-mix(in srgb, var(--accent) 10%, var(--surface)); }

  #face-picker-modal .modal-card { max-width:460px; padding:24px 20px 22px; }

  #face-picker-modal .face-picker-sub { margin:0 0 4px; color:var(--ink-2); font-size:14px; line-height:1.45; }

  .face-picker-list {

    display:grid; grid-template-columns:repeat(auto-fill,minmax(88px,1fr)); gap:12px;

    margin:16px 0 0; max-height:min(52vh, 420px); overflow:auto; padding:2px 2px 8px;

    -webkit-overflow-scrolling:touch;

  }

  .face-picker-item {

    display:flex; flex-direction:column; align-items:center; gap:8px;

    padding:10px 8px; border:1px solid transparent; border-radius:18px;

    background:transparent; cursor:pointer; text-align:center;

    transition:background 120ms ease, border-color 120ms ease;

  }

  .face-picker-item:hover { background:color-mix(in srgb, var(--accent) 8%, var(--bg-alt)); }

  .face-picker-item.is-active { background:color-mix(in srgb, var(--accent) 12%, var(--bg-alt)); border-color:color-mix(in srgb, var(--accent) 35%, transparent); }

  .face-picker-item .fp-thumb {

    width:72px; height:72px; border-radius:50%; object-fit:cover; display:block;

    border:2px solid var(--border-strong); background:var(--bg);

    box-shadow:0 0 0 0 transparent; transition:border-color 120ms ease, box-shadow 120ms ease;

  }

  .face-picker-item.is-active .fp-thumb {

    border-color:var(--accent);

    box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);

  }

  .face-picker-item span {

    max-width:100%; font:600 12px var(--font); color:var(--ink);

    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;

  }

  .face-picker-empty {

    display:flex; flex-direction:column; align-items:center; gap:14px;

    grid-column:1 / -1;

    text-align:center; padding:28px 12px 12px; margin-top:8px;

    border:1px dashed var(--border-strong); border-radius:20px;

  }

  .face-picker-empty p { margin:0; color:var(--ink-2); font-size:14px; line-height:1.5; max-width:28ch; }

  .face-picker-empty .btn { min-height:48px; width:100%; max-width:260px; }

  @media (max-width: 700px) {

    .selfie-slots, .pair-dropzones { grid-template-columns:1fr; }

    .people-slots[data-count="1"]:not(.is-with-add) { grid-template-columns:1fr; }

    .person-slot .dropzone.person-slot-media { border-radius:18px; }

    .studio-audience-bar .seg button { font-size:12.5px; min-height:42px; }

  }

  @media (max-width: 380px) {

    .people-slots:not([data-count="1"]),

    .people-slots.is-with-add[data-count="1"] { grid-template-columns:1fr 1fr; gap:8px; }

    .person-slot-actions .ps-btn { font-size:11px; padding:0 6px; }

    .person-slot .ps-empty-title { font-size:13px; }

  }

  .pro-mode-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-radius:14px; border:1px solid var(--border-strong); background:var(--surface); color:var(--ink); font:600 13px var(--font); cursor:pointer; }

  .pro-mode-toggle[aria-expanded="true"] { border-color:color-mix(in srgb, var(--accent) 45%, var(--border)); }

  .pro-mode-meta { display:flex; align-items:center; gap:8px; color:var(--ink-3); font-weight:600; }

  .pro-mode-meta b { color:var(--ink-2); font-weight:700; }

  .pro-mode-panel { display:grid; gap:14px; }

  #seg-model { width:100%; }

  .style-variables { padding:12px 14px; border-radius:14px; border:1px dashed var(--border-strong); background:color-mix(in srgb, var(--accent) 4%, transparent); }

  .style-variables label { display:block; font:600 12px var(--font); color:var(--ink-2); }

  .style-variables input { width:100%; margin-top:6px; padding:10px 12px; border-radius:12px; border:1px solid var(--border-strong); background:var(--bg); color:var(--ink); font:inherit; }

  .queue-hint { margin:0; font-size:12px; line-height:1.5; color:var(--ink-3); }

  .account-delete-panel { margin-top:18px; padding-top:18px; border-top:1px solid var(--border); }

  .account-delete-panel input { width:100%; min-height:46px; margin:10px 0; background:var(--bg); border:1px solid var(--border-strong); border-radius:var(--r-md); color:var(--ink); padding:0 14px; }

  .welcome-guest-copy p { max-width:620px; color:var(--ink-2); line-height:1.6; margin:0; }

  .result-delete-modal { z-index:7250; }

  .result-delete-card p { margin:8px 0 0; color:var(--ink-2); font-size:14px; line-height:1.5; }

  .result-delete-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:20px; }

  .result-delete-actions .btn { min-height:48px; }

  .result-delete-confirm { background:var(--danger); color:#fff; border:0; }

  .spend-list { display:grid; gap:12px; }

  .spend-toolbar { display:grid; grid-template-columns:40px minmax(0,1fr) 40px; gap:8px; align-items:end; }

  .spend-nav { width:40px; height:44px; display:grid; place-items:center; border:1px solid var(--border-strong); border-radius:12px; background:var(--bg); color:var(--ink-2); cursor:pointer; }

  .spend-nav:active { transform:scale(.94); }

  .spend-month-field { display:flex; flex-direction:column; gap:5px; min-width:0; }

  .spend-month-field span { font:600 10px/1 var(--mono); letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3); }

  .spend-month-field input { width:100%; min-height:44px; padding:0 12px; border:1px solid var(--border-strong); border-radius:12px; background:var(--bg); color:var(--ink); font:600 14px var(--font); color-scheme:dark; }

  .spend-summary { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:2px; }

  .spend-sum-card { padding:12px 14px; border:1px solid var(--border); border-radius:14px; background:var(--bg-alt); display:flex; flex-direction:column; gap:4px; }

  .spend-sum-label { font:600 10px var(--mono); text-transform:uppercase; letter-spacing:.06em; color:var(--ink-3); }

  .spend-sum-amt { font:700 18px var(--mono); }

  .spend-sum-amt.is-debit { color:#ff8d8d; }

  .spend-sum-amt.is-credit { color:var(--accent); }

  .spend-day { border:1px solid var(--border); border-radius:16px; background:var(--bg-alt); overflow:hidden; }

  .spend-day-head { width:100%; display:flex; align-items:center; gap:10px; padding:12px 14px; background:transparent; border:0; cursor:pointer; color:var(--ink); text-align:left; font:inherit; }

  .spend-day-date { font-weight:600; font-size:13px; flex:1; }

  .spend-day-net { font:600 13px var(--mono); color:var(--ink-2); }

  .spend-day-chevron { transition:transform .2s ease; color:var(--ink-3); flex-shrink:0; }

  .spend-day.is-open .spend-day-chevron { transform:rotate(180deg); }

  .spend-day-body { display:grid; gap:8px; padding:0 12px 12px; max-height:0; overflow:hidden; transition:max-height .2s ease; }

  .spend-day.is-open .spend-day-body { max-height:2000px; padding-top:2px; }

  .spend-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:start; padding:10px 12px; border:1px solid var(--border); border-radius:14px; background:var(--bg); }

  .spend-row b { display:block; font-size:13px; overflow-wrap:anywhere; }

  .spend-row small { color:var(--ink-3); font-size:11px; overflow-wrap:anywhere; }

  .spend-row .spend-amt { font:600 13px var(--mono); }

  .spend-row.is-debit .spend-amt { color:#ff8d8d; }

  .spend-row.is-credit .spend-amt { color:var(--accent); }

  @media (max-width: 480px) { .spend-summary { grid-template-columns:1fr; } }

  .more-sheet-kicker { margin:0 0 10px; color:var(--ink-3); font:600 10px var(--mono); letter-spacing:.08em; text-transform:uppercase; }

  .more-sheet-list a { box-shadow: inset 0 1px 0 rgba(255,255,255,.04); }

  .more-sheet-foot { margin-top:12px; color:var(--ink-3); font-size:12px; line-height:1.45; }

  @media (max-width: 700px) { .result-status-grid { grid-template-columns:1fr; } .result-status-card { min-height:0; } .result-status-card img { height:220px; } .saved-prompt.has-preview { grid-template-columns:64px minmax(0,1fr); } .saved-prompt-thumb { width:64px; height:64px; } .saved-prompt-actions { grid-template-columns:minmax(0,1fr) 42px; } .result-lightbox { padding:0; place-items:stretch; background:#000; } .result-lightbox-card { width:100%; max-height:100dvh; height:100dvh; border:0; border-radius:0; } .result-lightbox-media { flex:1 1 0; min-height:0; } .result-lightbox-card img, .result-lightbox-media img { width:100%; height:100%; max-height:none; object-fit:contain; } .result-lightbox-bar { flex-direction:column; align-items:stretch; padding:12px max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left)); } .result-lightbox-actions { display:grid; grid-template-columns:1fr 1fr; } .result-edit { padding:0 max(16px, env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); } .result-lightbox .modal-close { position:absolute; top:max(10px, env(safe-area-inset-top)); right:max(10px, env(safe-area-inset-right)); float:none; margin:0; } }

  .hub-empty { grid-column:1/-1; padding:42px 24px; text-align:center; border:1px dashed var(--border); border-radius:24px; color:var(--ink-3); }

  .result-rating { margin-top:16px; padding:16px 18px; border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border)); border-radius:18px; background:color-mix(in srgb,var(--accent) 5%,var(--surface)); }

  .result-rating b { display:block; margin-bottom:3px; font-size:14px; }

  .result-rating p { color:var(--ink-3); font-size:12px; }

  .result-rating-stars { display:flex; gap:6px; margin-top:12px; }

  .result-rating-stars button { width:40px; height:40px; border:1px solid var(--border); border-radius:13px; color:var(--ink-3); background:var(--bg-alt); font-size:19px; cursor:pointer; }

  .result-rating-stars button:hover,.result-rating-stars button.is-active { color:var(--accent); border-color:var(--accent); background:color-mix(in srgb,var(--accent) 10%,var(--surface)); }

  .onboarding-card { max-width: 780px; overflow: hidden; padding: 0; }

  .onboarding-top { padding: 34px; background: radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 42%), var(--surface); }

  .onboarding-top h2 { margin: 10px 0 9px; font-size: clamp(30px, 5vw, 48px); }

  .onboarding-top p { max-width: 620px; color: var(--ink-2); line-height: 1.6; }

  .onboarding-viewport { overflow: hidden; background: var(--border); }

  .onboarding-steps { display: flex; width: 100%; transition: transform 280ms cubic-bezier(.2,.8,.2,1); }

  .onboarding-step { min-width: 100%; min-height: 190px; padding: 28px 34px; background: var(--bg-alt); }

  .onboarding-step span { color: var(--accent); font: 600 11px var(--mono); }

  .onboarding-step b { display: block; margin: 10px 0 7px; }

  .onboarding-step p { color: var(--ink-3); font-size: 13px; line-height: 1.55; }

  .onboarding-dots { display: flex; justify-content: center; gap: 7px; padding: 14px 0 0; background: var(--surface); }

  .onboarding-dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: var(--border-strong); cursor: pointer; transition: width .2s, background .2s; }

  .onboarding-dot.is-active { width: 24px; border-radius: 6px; background: var(--accent); }

  .onboarding-actions { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 34px 30px; background: var(--surface); }

  .onboarding-gift { display: flex; align-items: center; gap: 9px; color: var(--ink-2); font-size: 13px; }

  .notification-list, .collection-list, .collection-picker-list { display: flex; flex-direction: column; gap: 9px; max-height: 420px; overflow: auto; margin-top: 18px; }

  .notification-item { display: grid; grid-template-columns: 10px minmax(0,1fr) auto auto; gap: 12px; align-items: start; padding: 15px; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--bg-alt); transition: transform .18s, opacity .18s; touch-action: pan-y; }

  .notification-item > i { width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: var(--ink-3); }

  .notification-item.is-new > i { background: var(--accent); box-shadow: 0 0 12px var(--accent); }

  .notification-item b { display: block; margin-bottom: 4px; font-size: 14px; }

  .notification-item p { color: var(--ink-3); font-size: 12px; line-height: 1.5; }

  .notification-item time { color: var(--ink-3); font: 10px var(--mono); white-space: nowrap; }

  .notification-copy { min-width: 0; }

  .notification-actions { display: flex; align-items: center; gap: 7px; margin-top: 10px; }

  .notification-open { min-height: 34px; padding: 6px 11px; border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--border)); border-radius: var(--r-pill); color: var(--accent); background: transparent; font: 600 11px var(--font); cursor: pointer; }

  .notification-delete { width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 50%; color: var(--ink-3); background: rgba(255,255,255,.05); cursor: pointer; }

  .notification-delete:hover { color: var(--danger); }

  .notification-footer { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 14px; }

  .collection-create { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 14px; }

  .collection-create input { min-width: 0; padding: 11px 13px; color: var(--ink); background: var(--bg-alt); border: 1px solid var(--border); border-radius: var(--r-md); }

  .collection-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 13px 14px; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--bg-alt); }

  .collection-row b { display: block; font-size: 14px; }

  .collection-row span { color: var(--ink-3); font-size: 11px; }

  .collection-row button { color: var(--accent); background: none; border: 0; cursor: pointer; }

  .style-preview-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }

  .ref-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }

  @media (max-width: 700px) { .personal-block { padding: 16px; } .personal-grid,.saved-prompts-grid { grid-template-columns: 1fr; } .personal-grid .g-card:nth-child(n+4) { display: none; } .picrum-hub{padding-bottom:8px}.hub-tabs{width:100%;border-radius:18px;padding:4px;margin-bottom:18px;gap:4px}.hub-tab{flex:1;min-width:0;min-height:44px;padding:0 6px;font-size:11px}.hub-panel-head{display:block}.hub-panel-head p{margin-top:8px}.saved-prompt{min-height:0;padding:16px 16px 14px;border-radius:20px}.saved-prompt h3{margin:10px 0 6px;font-size:18px}.saved-prompt p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.45}.saved-prompt-actions{grid-template-columns:minmax(0,1fr) 42px;padding-top:14px}.onboarding-step { min-height: 210px; padding: 24px 20px; } .onboarding-actions { align-items: stretch; flex-direction: column; } .onboarding-actions .btn { width: 100%; } .style-preview-actions, .ref-actions, .secure-prompt-actions, .reference-actions { grid-template-columns: 1fr; gap: 10px; } .secure-prompt-card{align-self:end;width:calc(100% - 16px);max-height:calc(100dvh - 20px);margin:0 8px 8px;border-radius:28px;overflow:auto}.secure-prompt-head{padding:26px 20px 16px}.secure-prompt-body{padding:16px 20px calc(18px + env(safe-area-inset-bottom))}.secure-prompt-box{padding:14px}.secure-prompt-text{min-height:148px;max-height:min(38dvh,280px);resize:none} }



  /* ─── PWA + усиленная мобильная адаптация ─── */

  .pwa-install { position: fixed; right: max(18px, env(safe-area-inset-right)); bottom: calc(22px + env(safe-area-inset-bottom)); z-index: 6900; width: min(390px, calc(100vw - 36px)); padding: 16px; border: 1px solid color-mix(in srgb, var(--accent) 36%, var(--border)); border-radius: 22px; background: color-mix(in srgb, var(--surface) 94%, transparent); box-shadow: 0 22px 70px rgba(0,0,0,.62); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }

  .pwa-install-main { display: grid; grid-template-columns: 46px 1fr; gap: 12px; align-items: center; padding-right: 34px; }

  .pwa-install-icon { width: 46px; height: 46px; border-radius: 13px; box-shadow: 0 8px 22px rgba(0,0,0,.34); }

  .pwa-install b { display: block; font-size: 15px; }

  .pwa-install p { margin-top: 2px; color: var(--ink-2); font-size: 12px; line-height: 1.45; }

  .pwa-install-actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 13px; }

  .pwa-install-dismiss { position: absolute; top: 8px; right: 8px; width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 50%; color: var(--ink-2); background: transparent; cursor: pointer; }

  .pwa-install-dismiss:hover { color: var(--ink); background: rgba(255,255,255,.07); }

  .pwa-install-later { min-height: 44px; padding: 0 14px; border: 0; color: var(--ink-2); background: transparent; cursor: pointer; }

  .pwa-installed .pwa-install { display: none !important; }

  .pwa-profile-card { background: radial-gradient(circle at 88% 10%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 44%), var(--surface); }

  .pwa-profile-row { display: flex; align-items: center; gap: 14px; margin: 14px 0 16px; }

  .pwa-profile-row img { width: 58px; height: 58px; flex: 0 0 58px; border-radius: 16px; box-shadow: 0 10px 28px rgba(0,0,0,.35); }

  .pwa-profile-row b { display: block; }

  .pwa-profile-row span { color: var(--ink-3); font-size: 12px; }

  .app-error { position: fixed; left: 50%; bottom: calc(24px + env(safe-area-inset-bottom)); z-index: 7800; width: min(460px, calc(100vw - 28px)); transform: translateX(-50%); padding: 20px; border: 1px solid color-mix(in srgb, var(--danger) 40%, var(--border)); border-radius: 24px; background: color-mix(in srgb, var(--surface) 96%, transparent); box-shadow: 0 24px 80px rgba(0,0,0,.66); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }

  .app-error h3 { padding-right: 38px; font-size: 20px; }

  .app-error p { margin: 7px 0; color: var(--ink-2); font-size: 13px; line-height: 1.5; }

  .app-error small { display: block; margin-bottom: 14px; color: var(--success); font: 10px var(--mono); }

  .app-error-actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; }

  .app-error-close { position: absolute; top: 10px; right: 10px; width: 40px; height: 40px; border: 0; border-radius: 50%; color: var(--ink-2); background: rgba(255,255,255,.06); cursor: pointer; }



  @media (max-width: 700px) {

    html { scroll-padding-bottom: calc(88px + env(safe-area-inset-bottom)); }

    body { font-size: 16px; padding-bottom: calc(88px + env(safe-area-inset-bottom)); }

    button, a, input, select, textarea { touch-action: manipulation; }

    input, select, textarea { font-size: 16px; }

    .wrap { padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); }

    .section { padding: 54px 0; }

    .home-hero { min-height: auto; padding-top: calc(12px + env(safe-area-inset-top, 0px)); }

    .home-hero h1 { font-size: clamp(38px, 12vw, 50px); }

    .studio-head { padding: 44px 0 30px; }

    .studio-head h1 { font-size: clamp(36px, 11vw, 48px); }

    .gallery { gap: 14px; }

    .g-card { content-visibility: auto; contain-intrinsic-size: 340px 454px; }

    .video-teaser { padding: 22px; gap: 24px; }

    .modal { place-items: end center; padding: max(10px, env(safe-area-inset-top)) 0 0; }

    .modal-card { max-height: calc(100dvh - max(10px, env(safe-area-inset-top))); max-width: none; width: 100%; min-width: 0; overflow-x: hidden; border-radius: 26px 26px 0 0; border-bottom: 0; padding: 22px max(16px, env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); }

    #auth-modal .modal-card { max-height: calc(100dvh - max(8px, env(safe-area-inset-top))); }

    .auth-tab, .am-tab { font-size: 13px; padding: 8px 6px; }

    .result-lightbox { place-items: stretch; padding: 0; }

    .result-lightbox-card { max-height: 100dvh; border-radius: 0; }

    .modal-close { position: sticky; top: 0; float: right; margin: -8px -4px 4px 8px; }

    .style-preview-card, .secure-prompt-card { padding: 0; width: calc(100% - 16px); max-width: none; margin: 0 8px calc(8px + env(safe-area-inset-bottom, 0px)); border-radius: 28px; max-height: min(88dvh, calc(100dvh - 16px - env(safe-area-inset-top, 0px))); overflow: auto; }

    .style-preview-card .modal-close, .secure-prompt-card .modal-close { position: absolute; top: 12px; right: 12px; float: none; margin: 0; z-index: 20; }

    .notification-list, .collection-list, .collection-picker-list { max-height: min(54dvh, 440px); }

    .notification-item { grid-template-columns: 8px minmax(0,1fr) auto; }

    .notification-item time { grid-column: 2; white-space: normal; }

    .notification-delete { grid-column: 3; grid-row: 1 / span 2; }

    .notification-footer { grid-template-columns: 1fr 1fr; }

    .collection-create, .password-actions, .co-methods { grid-template-columns: 1fr; flex-direction: column; }

    .collection-create .btn, .password-actions .btn { width: 100%; }

    .onboarding-card { max-height: calc(100dvh - max(10px, env(safe-area-inset-top))); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }

    .onboarding-top { padding: 28px 20px 22px; }

    .onboarding-actions { position: sticky; bottom: 0; z-index: 6; padding: 18px 20px calc(22px + env(safe-area-inset-bottom)); border-top: 1px solid var(--border); }

    .style-preview-media { min-height: 0; }

    .toast { bottom: calc(92px + env(safe-area-inset-bottom)); width: calc(100vw - 24px); max-width: 480px; justify-content: space-between; border-radius: 18px; }

    .pwa-install { left: 12px; right: 12px; bottom: calc(92px + env(safe-area-inset-bottom)); width: auto; }

    section, footer { content-visibility: auto; contain-intrinsic-size: 1px 760px; }

    main > section.page.is-active { content-visibility: visible; }

  }



  @media (max-width: 600px) {

    html { scroll-padding-top: calc(114px + max(28px, env(safe-area-inset-top, 0px))); }

    header { position: fixed; top: calc(28px + max(28px, env(safe-area-inset-top, 0px))); left: auto; right: max(10px, env(safe-area-inset-right, 0px)); bottom: auto; z-index: 820; width: max-content; max-width: calc(100vw - 20px); border: 0; background: transparent; filter: none; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; pointer-events: none; }

    header .wrap { width: max-content; max-width: 100%; margin: 0; padding: 0; }

    header .nav { width: auto; height: auto; }

    header .logo, header nav, header .clock, header .burger, header .nav-signin, header .nav-actions .btn { display: none !important; }

    header .nav-actions { display: flex; gap: 7px; padding: 6px; border: 1px solid var(--border); border-radius: var(--r-pill); background: #141416; box-shadow: none; filter: none; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; isolation: isolate; pointer-events: auto; }

    header .nav-icon { width: 44px; height: 44px; flex-basis: 44px; background: #1c1c1f; box-shadow: none; filter: none; backdrop-filter: none; -webkit-backdrop-filter: none; }

    header .more-open { display: grid !important; }

    header .balance-chip { min-height: 44px; padding: 7px 13px; color: var(--ink); border-color: transparent; background: #1c1c1f; box-shadow: none; }

    header .balance-chip .pc-coin { --pc-size: 22px; box-shadow: inset 0 1px 1px rgba(255,255,255,.5), inset 0 -2px 4px rgba(0,0,0,.38); }

    header .balance-chip b { font-size: 13px; }

    header .mobile-menu { display: none !important; }

    .home-hero { padding-top: calc(114px + max(28px, env(safe-area-inset-top, 0px))) !important; padding-bottom: 16px; }

    .home-hero h1 { font-size: clamp(32px, 9vw, 40px); margin: 10px auto 12px; }

    .studio-head { padding-top: calc(114px + max(28px, env(safe-area-inset-top, 0px))); }

    .reference-page { padding-top: calc(114px + max(28px, env(safe-area-inset-top, 0px))); }

    #page-picrum .section, #page-styles .section, #page-video .section, #page-pricing .section, #page-profile .section { padding-top: calc(114px + max(28px, env(safe-area-inset-top, 0px))); }

    .mode-tabs { max-width: 100%; overflow-x: auto; }

    .result-actions { display: grid; grid-template-columns: 1fr 1fr; }

    .result-actions .btn { min-width: 0; width: 100%; }

    .result-actions .btn-primary { grid-column: 1 / -1; }

    .style-preview-card, .secure-prompt-card { margin-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); max-height: min(78dvh, calc(100dvh - 88px - env(safe-area-inset-bottom, 0px) - env(safe-area-inset-top, 0px))); }

    footer { padding-bottom: 24px; }

    #styles-grid, #for-you-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }

    #for-you-grid .g-card:nth-child(n) { display: flex; }

    :is(#styles-grid,.catalog-category-window) .g-cap, #for-you-grid .g-cap { gap: 6px; padding: 34px 9px 10px; }

    :is(#styles-grid,.catalog-category-window) .g-cap h3, #for-you-grid .g-cap h3 { min-width: 0; font-size: 12px; line-height: 1.2; overflow-wrap: anywhere; }

    :is(#styles-grid,.catalog-category-window) .g-use, #for-you-grid .g-use { font-size: 0; }

    :is(#styles-grid,.catalog-category-window) .g-use::after, #for-you-grid .g-use::after { content: 'Открыть'; font-size: 10px; }

    :is(#styles-grid,.catalog-category-window) .g-fav, #for-you-grid .g-fav { width: 38px; height: 38px; }

    .catalog-count { margin-bottom: 18px; }

    .app-error { bottom: calc(96px + env(safe-area-inset-bottom)); border-radius: 20px; }

  }



  @media (max-width: 380px) {

    .wrap { padding-left: 12px; padding-right: 12px; }

    .home-hero h1 { font-size: 36px; }

    .studio-input, .studio-result, .reference-upload-pane, .reference-output-pane { padding: 16px; }

    .wheel-wrap { width: 244px; height: 244px; }

    .bottombar a { min-width: 0; padding-inline: 2px; font-size: 9px; }

    .bottombar a.bottombar-picrum { min-width: 0; }

    .bottombar-picrum-label { font-size: 8.5px; max-width: 4.4em; }

    .catalog-tools { grid-template-columns: 1fr; }

    .catalog-search { grid-column: auto; }

    .seg { width: 100%; }

    .seg button { flex: 1 1 42%; justify-content: center; padding-inline: 8px; }

    .pf-hero { grid-template-columns: 48px minmax(0,1fr); }

    .pf-ava { width: 48px; height: 48px; }

    .pf-id h2 { font-size: 18px; }

  }

  .pf-linkcard { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; color: var(--ink); }

  .pf-linkcard .pf-link-arrow { color: var(--ink-3); font-size: 15px; }

  .pf-linkcard:hover .pf-link-arrow { color: var(--accent); }



  /* ─── reduced motion ─── */

  @media (prefers-reduced-motion: reduce) {

    html { scroll-behavior: auto; }

    .js .reveal { opacity: 1; transform: none; transition: none; }

    .glow, .kb img, .marquee-track, .scanline, .progress .bar i, .grad, .video-frame .shine, .play, .skeleton::after, .video-frame::after, .v-frame::after, .live-stat .pulse-dot, .result-frame.develop, .mic.listening { animation: none; }

    .video-frame:hover, .v-frame:hover { animation: none; }

    .show-card:hover, .g-card, .h-item, .g-card:hover, .h-item:hover, .tier:hover, .v-card:hover { transform: none; }

    #ambient-particles { transition: opacity 300ms ease; }

  }



/* Original home: restrained refinement */

#page-home .home-hero { padding-bottom:64px; }

#page-home .home-hero h1 { letter-spacing:-.045em; text-wrap:balance; }

#page-home .home-hero .lede { max-width:49ch; line-height:1.65; color:var(--ink-2); text-wrap:pretty; }

#page-home .showcase { gap:20px; }

#page-home .show-card { border:1px solid color-mix(in srgb,var(--ink) 10%,transparent); box-shadow:0 16px 48px #0003; }

#page-home .show-cap { padding:32px 18px 18px; background:linear-gradient(transparent,#000b); }

#page-home .section-head h2 { letter-spacing:-.035em; text-wrap:balance; line-height:1.15; }

#page-home .step p { line-height:1.75; }

#page-home .faq-item { transition:border-color .2s; }

#page-home .faq-item[open] { border-color:color-mix(in srgb,var(--accent) 40%,var(--border)); }

#page-home a:focus-visible,#page-home button:focus-visible,#page-home summary:focus-visible { outline:2px solid var(--accent);outline-offset:4px; }

@media(min-width:601px) {

 #page-home .home-hero { padding-top:76px; }

 #page-home .showcase { margin-top:44px; }

}

@media(max-width:600px) {

 #page-home .home-hero h1 { font-size:clamp(38px,10.5vw,52px); line-height:1.06; margin:16px auto; }

 #page-home .home-hero .lede { font-size:15px;line-height:1.65;max-width:34ch;margin-bottom:24px; }

 #page-home .cta-row { gap:10px; }

 #page-home .cta-row .btn { min-height:48px; }

 #page-home .hero-trust { line-height:1.6; }

 #page-home .showcase { gap:9px;margin-top:30px; }

 #page-home .show-card { border-radius:14px; }

 #page-home .show-cap { padding:24px 8px 10px; }

 #page-home .show-cap span { font-size:10px;line-height:1.25; }

 #page-home .home-hero { padding-bottom:28px; }

 #page-home .section { padding-block:52px; }

 #page-home .section-head { margin-bottom:30px; }

 #page-home .section-head h2 { font-size:32px; }

 #page-home .section-head .lede { font-size:15px; }

 #page-home .faq-item summary { min-height:58px; }

}



/* Floating mobile command dock */

@media(max-width:940px) {

 body { padding-bottom:calc(112px + env(safe-area-inset-bottom)); }

 .bottombar { display:flex; position:fixed; z-index:900; align-items:center; justify-content:space-around; isolation:isolate; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); max-width:480px; margin-inline:auto; height:78px; padding:7px 6px; gap:3px; border:1px solid color-mix(in srgb,var(--accent) 22%,#ffffff18); border-radius:24px; background:linear-gradient(155deg,#252930ed,#0c1016f5 65%); box-shadow:0 18px 50px #0009,0 2px 6px #0008,inset 0 1px 0 #ffffff14; backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); overflow:visible; }

 .bottombar::before { content:''; position:absolute; height:1px; top:-1px; left:22%; right:22%; background:linear-gradient(90deg,transparent,var(--accent),transparent); opacity:.7; }

 .bottombar a { display:flex; flex:1 1 0; min-width:0; flex-direction:column; align-items:center; justify-content:center; line-height:1.1; white-space:nowrap; position:relative; border:1px solid transparent; border-bottom:1px solid transparent; height:62px; min-height:62px; padding:7px 1px; gap:6px; border-radius:17px; color:#a5adb8; font-size:10px; font-weight:600; letter-spacing:.01em; transition:background .22s,color .22s,box-shadow .22s,transform .22s; }

 .bottombar a > svg { width:22px; height:22px; stroke-width:1.6; transition:transform .22s,filter .22s; }

 .bottombar a.is-active { color:var(--accent); border-color:color-mix(in srgb,var(--accent) 28%,transparent); background:linear-gradient(155deg,color-mix(in srgb,var(--accent) 17%,transparent),color-mix(in srgb,var(--accent) 3%,transparent)); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--accent) 16%,transparent),0 4px 14px #0003; }

 .bottombar a.is-active > svg { filter:drop-shadow(0 0 7px color-mix(in srgb,var(--accent) 45%,transparent)); transform:translateY(-1px); fill:none; }

 .bottombar a.is-active::after { content:''; position:absolute; bottom:3px; width:12px; height:2px; border-radius:2px; background:var(--accent); box-shadow:0 0 7px var(--accent); }

 .bottombar a:active { transform:scale(.94); }

 .bottombar a.bottombar-picrum { min-width:0; padding:0 1px 4px; gap:4px; color:#c3c9d1; font-weight:600; background:transparent; border-color:transparent; box-shadow:none; }

 .bottombar-picrum-icon { display:grid; place-items:center; position:relative; flex-shrink:0; width:48px; height:48px; margin-top:-18px; border-radius:17px; color:var(--accent); border:1px solid color-mix(in srgb,var(--accent) 55%,#ffffff15); background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 22%,#1a2028),#151a22 80%); box-shadow:0 0 0 5px #11161d,0 8px 22px #0008,inset 0 1px 0 #ffffff25; transform:rotate(-6deg); transition:transform .25s,box-shadow .25s; }

 .bottombar a.bottombar-picrum svg { width:25px; height:25px; transform:rotate(6deg); }

 .bottombar-picrum-label { font-size:9px; max-width:none; white-space:nowrap; line-height:1.3; letter-spacing:-.02em; }

 .bottombar a.bottombar-picrum.is-active .bottombar-picrum-icon { background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 75%,white),var(--accent)); color:#11151a; box-shadow:0 0 0 5px #11161d,0 0 28px color-mix(in srgb,var(--accent) 30%,transparent),inset 0 1px 0 #ffffff70; transform:rotate(0deg) translateY(-2px); }

 .bottombar a.bottombar-picrum.is-active svg { transform:rotate(0deg); }

 .bottombar a.bottombar-picrum.is-active { color:var(--accent); }

 .bottombar a:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

}

@media(max-width:360px) { .bottombar { left:8px;right:8px;gap:1px;padding-inline:4px; } .bottombar a {font-size:9px;} .bottombar-picrum-label {font-size:8px;} }

@media(prefers-reduced-motion:reduce) { .bottombar a,.bottombar svg,.bottombar-picrum-icon {transition:none !important;} }









.home-cost-note { margin:18px auto 0;max-width:46ch;font-size:12px;line-height:1.7;color:var(--ink-2); }

.home-cost-note a { color:var(--accent);white-space:nowrap; }

.photo-guide { display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;margin:16px 0 48px;padding:28px 32px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-alt); }

.photo-guide h2 { font-size:23px;line-height:1.3;margin-top:10px;letter-spacing:-.025em; }

.photo-guide ul { padding-left:18px;color:var(--ink-2);font-size:14px;line-height:1.8; }

.photo-guide li::marker { color:var(--accent); }

#home-testimonials { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); }

@media(max-width:600px) { .photo-guide { grid-template-columns:1fr;gap:18px;padding:22px;margin-bottom:24px; } .photo-guide h2 {font-size:21px;} .home-cost-note {font-size:11px;padding-inline:8px;} }



.ai-demo {display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}

.ai-demo-copy h2 {font-size:clamp(32px,4.5vw,52px);line-height:1.1;letter-spacing:-.04em;margin:18px 0 22px;}

.ai-demo-copy p {color:var(--ink-2);line-height:1.75;font-size:17px;}

.ai-demo-copy .ai-demo-credit {font-size:12px;line-height:1.6;margin:18px 0 26px;}

.ai-demo-frame {--split:50%;position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:var(--r-lg);border:1px solid var(--border);}

.ai-demo-frame img {display:block;width:100%;height:100%;object-fit:cover;}

.ai-demo-frame .ai-demo-before {position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--split)) 0 0);}

.ai-demo-divider {position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:#fff;pointer-events:none;}

.ai-demo-divider::after {content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:36px;height:36px;background:#fff;color:#111;border-radius:50%;box-shadow:0 2px 15px #0005;}

.ai-demo-tag {position:absolute;top:14px;padding:6px 10px;background:#0009;color:white;border-radius:8px;font-size:11px;}

.ai-demo-tag.before {left:12px;}.ai-demo-tag.after {right:12px;}

.ai-demo-control {display:flex;flex-direction:column;gap:10px;margin-top:16px;font-size:12px;color:var(--ink-2);}

.ai-demo-control input {width:100%;min-height:32px;accent-color:var(--accent);cursor:ew-resize;}

@media(max-width:600px){.ai-demo {grid-template-columns:1fr;gap:26px;}.ai-demo-copy p {font-size:15px;}.ai-demo-copy h2 {font-size:36px;}}



.ai-demo-frame { cursor:ew-resize;touch-action:pan-y;user-select:none;-webkit-user-select:none; }

.ai-demo-frame img { pointer-events:none;-webkit-user-drag:none; }

.ai-demo-divider::after { transition:box-shadow .15s; }

.ai-demo-frame:hover .ai-demo-divider::after,.ai-demo-frame.is-dragging .ai-demo-divider::after { box-shadow:0 0 0 5px #ffffff30,0 2px 15px #0005; }



/* Styles catalog refinement */

#page-styles > .section {background:radial-gradient(ellipse at 85% 0%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 38%),var(--bg);}

#page-styles .section-head {text-align:left;max-width:none;margin-bottom:32px;}

#page-styles .section-head h1 {letter-spacing:-.045em;margin:12px 0 16px;line-height:1.1;}

#page-styles .section-head .lede {font-size:17px;max-width:52ch;margin:0;line-height:1.65;}

.styles-filter-panel {border:1px solid var(--border);border-radius:22px;padding:22px;background:color-mix(in srgb,var(--surface) 65%,var(--bg));margin-bottom:22px;}

.styles-filter-title {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;font-size:13px;font-weight:600;}

#styles-reset {font:12px var(--font);color:var(--ink-2);background:none;border:0;cursor:pointer;padding:8px;min-height:36px;}

#styles-reset:hover {color:var(--accent);}

#page-styles .catalog-tools {max-width:none;margin:0 0 16px;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,.8fr);gap:12px;}

#page-styles .catalog-search,#page-styles .catalog-select {min-height:50px;background:var(--bg);border:1px solid var(--border-strong);border-radius:12px;font-size:14px;width:100%;min-width:0;padding-inline:16px;}

#page-styles .fav-filter {justify-content:flex-start;margin:0;gap:8px;}

#page-styles .fav-filter .chip {min-height:40px;padding-inline:20px;}

#page-styles .catalog-count {text-align:left;margin:0 0 20px;color:var(--ink-2);font-size:11px;}

#page-styles .catalog-status {text-align:left;}

#styles-grid {gap:24px;}

:is(#styles-grid,.catalog-category-window) .g-card {border:1px solid var(--border);border-radius:20px;background:var(--surface);overflow:hidden;box-shadow:0 8px 28px #0002;transition:border-color .2s,box-shadow .2s;}

:is(#styles-grid,.catalog-category-window) .g-card:hover {border-color:color-mix(in srgb,var(--accent) 50%,var(--border));box-shadow:0 12px 36px #0004;}

:is(#styles-grid,.catalog-category-window) .g-cap {padding:40px 16px 16px;gap:12px;}

:is(#styles-grid,.catalog-category-window) .g-cap h3 {font-size:16px;line-height:1.3;letter-spacing:-.015em;}

:is(#styles-grid,.catalog-category-window) .g-use {min-height:40px;border-radius:10px;}

:is(#styles-grid,.catalog-category-window) .g-fav {width:44px;height:44px;backdrop-filter:blur(12px);}

#page-styles .catalog-more {min-height:48px;margin:32px auto 0;}

#page-styles :focus-visible {outline:2px solid var(--accent);outline-offset:3px;}

@media(max-width:600px){

 #page-styles .section-head h1 {font-size:40px !important;max-width:9ch;}

 #page-styles .section-head .lede {font-size:15px;}

 .styles-filter-panel {padding:16px;border-radius:18px;}

 .styles-filter-title {font-size:12px;gap:4px;}

 #styles-reset {font-size:10px;padding-inline:0;}

 #page-styles .catalog-tools {grid-template-columns:1fr 1fr;gap:10px;}

 #page-styles .catalog-search {grid-column:1 / -1;font-size:16px;}

 #page-styles .catalog-select {font-size:13px;padding-inline:10px;}

 #styles-grid {gap:12px;}

 :is(#styles-grid,.catalog-category-window) .g-card {border-radius:15px;}

 :is(#styles-grid,.catalog-category-window) .g-cap {padding:30px 10px 12px;flex-wrap:wrap;gap:8px;}

 :is(#styles-grid,.catalog-category-window) .g-cap h3 {font-size:13px;width:100%;}

 :is(#styles-grid,.catalog-category-window) .g-use {font-size:11px;width:100%;min-height:38px;}

 :is(#styles-grid,.catalog-category-window) .g-use::after {content:none;}

 :is(#styles-grid,.catalog-category-window) .g-fav {width:40px;height:40px;}

}



/* Refined image and prompt dialogs */

.style-preview-card,.secure-prompt-card {border:1px solid color-mix(in srgb,var(--ink) 14%,var(--border));border-radius:26px;background:var(--bg-alt);box-shadow:0 32px 100px #0009;}

.style-preview-card {max-width:940px;}

.style-preview-grid {grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);}

.style-preview-media {padding:20px;background:var(--bg);display:flex;align-items:center;justify-content:center;}

.style-preview-media img {max-height:min(70dvh,680px);border:0;border-radius:16px;box-shadow:none;}

.style-preview-info {padding:60px 32px 30px;justify-content:flex-start;background:radial-gradient(ellipse at top right,color-mix(in srgb,var(--accent) 7%,transparent),transparent 70%);}

.style-preview-info .eyebrow {font-size:10px;letter-spacing:.12em;}

.style-preview-info h3 {line-height:1.1;font-size:clamp(28px,3.2vw,42px);letter-spacing:-.045em;margin:16px 0;overflow-wrap:anywhere;}

.style-preview-info p {font-size:14px;line-height:1.7;}

.style-preview-meta {font:12px/1.6 var(--font);color:var(--ink-2);padding-bottom:20px;margin:14px 0 20px;border-bottom:1px solid var(--border);}

.style-preview-thumbs {gap:10px;padding:3px 3px 16px;scroll-snap-type:x proximity;scrollbar-width:thin;}

.style-preview-thumb {width:60px;height:76px;flex-basis:60px;border-radius:10px;opacity:.65;scroll-snap-align:start;transition:opacity .2s;}

.style-preview-thumb:hover,.style-preview-thumb.is-active {opacity:1;}

.style-preview-actions {grid-template-columns:1fr;gap:10px;margin-top:auto;padding-top:20px;}

.style-preview-actions .btn,.secure-prompt-actions .btn {min-height:48px;border-radius:12px;font-size:14px;box-shadow:none;line-height:1.4;}

.style-preview-actions .btn-light,.secure-prompt-actions .btn-light {background:var(--surface);border:1px solid var(--border-strong);color:var(--ink);}

.style-preview-actions .prompt-reveal {border:0;background:transparent;min-height:42px;font-size:13px;border-radius:10px;}

.style-preview-card .modal-close,.secure-prompt-card .modal-close {top:14px;right:14px;width:42px;height:42px;background:color-mix(in srgb,var(--bg) 85%,transparent);border:1px solid var(--border-strong);}

.secure-prompt-card {max-width:820px;overflow:auto;}

.secure-prompt-head {padding:30px 34px 24px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 5%,var(--bg-alt)),var(--bg-alt));border-bottom:1px solid var(--border);}

.secure-prompt-badge {font-size:9px;letter-spacing:.06em;background:transparent;border-color:var(--border-strong);padding:8px 10px;}

.secure-prompt-head h3 {margin-top:18px;line-height:1.15;letter-spacing:-.04em;overflow-wrap:anywhere;}

.secure-prompt-head p {font-size:14px;max-width:54ch;}

.secure-prompt-body {padding:24px 34px 28px;}

.secure-prompt-box {border:1px solid var(--border-strong);border-radius:14px;background:var(--bg);padding:20px;box-shadow:none;}

.secure-prompt-kicker {padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--border);font-size:9px;letter-spacing:.12em;color:var(--ink-2);}

.secure-prompt-text {min-height:230px;max-height:38dvh;font:400 15px/1.85 var(--font);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;resize:vertical;}

.secure-prompt-actions {gap:12px;margin-top:20px;}

.secure-prompt-actions #secure-prompt-save {font-size:12px;min-height:40px;}

.secure-prompt-note {font:11px/1.65 var(--font);color:var(--ink-2);border-top:1px solid var(--border);padding-top:16px;margin-top:12px;}

.style-preview-card :focus-visible,.secure-prompt-card :focus-visible {outline:2px solid var(--accent);outline-offset:3px;}

@media(max-width:700px){

 .style-preview-card,.secure-prompt-card {width:100%;max-width:520px;margin:0 auto calc(82px + env(safe-area-inset-bottom));max-height:calc(100dvh - 110px - env(safe-area-inset-top));border-radius:22px;overflow:auto;}

 .style-preview-grid {grid-template-columns:1fr;}

 .style-preview-media {padding:12px;}

 .style-preview-media img {max-height:34dvh;border-radius:12px;}

 .style-preview-info {padding:22px;}

 .style-preview-info h3 {font-size:28px;margin:10px 0;}

 .style-preview-meta {padding-bottom:12px;margin:10px 0 14px;}

 .style-preview-actions {padding-top:8px;}

 .style-preview-thumb {height:62px;width:50px;flex-basis:50px;}

 .secure-prompt-head {padding:24px 22px 18px;}

 .secure-prompt-head h3 {font-size:28px;}

 .secure-prompt-body {padding:18px 22px 22px;}

 .secure-prompt-box {padding:16px;}

 .secure-prompt-text {font-size:16px;line-height:1.75;min-height:180px;max-height:30dvh;resize:none;}

 .secure-prompt-actions {grid-template-columns:1fr;gap:10px;}

}



/* Studio: focused visual polish, original layout preserved */

#page-studio .studio-head h1 {letter-spacing:-.045em;}

#page-studio .studio-head .lede {line-height:1.65;color:var(--ink-2);}

#page-studio .studio {border-color:color-mix(in srgb,var(--ink) 12%,var(--border));box-shadow:0 20px 64px #0003;}

#page-studio .studio-input,#page-studio .studio-result {padding:32px;gap:22px;min-width:0;}

#page-studio .studio-result {background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 70%),var(--bg);}

#page-studio .field-label,#page-studio .opt-label {color:var(--ink-2);font-size:11px;letter-spacing:.06em;}

#seg-model {width:100%;}

#seg-model button {flex:1 1 calc(33.33% - 6px);justify-content:center;}

#page-studio .seg {gap:5px;border-radius:14px;padding:5px;max-width:100%;}

#page-studio .seg button {min-height:40px;border-radius:10px;line-height:1.3;}

#page-studio .seg button.is-active {box-shadow:0 3px 10px #0002;}

#page-studio textarea {font-size:16px;line-height:1.65;padding:16px;border-radius:14px;border-color:var(--border-strong);}

#page-studio textarea:focus {border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent);outline:none;}

#page-studio .dropzone {border-radius:18px;transition:border-color .2s,background .2s;}

#page-studio .dropzone:hover {border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--bg));}

#page-studio .gen-cost {padding:14px 16px;margin:8px 0 0;background:var(--surface);border:1px solid var(--border);border-radius:12px;font:12px/1.7 var(--font);}

#page-studio #generate {min-height:54px;font-size:16px;border-radius:14px;margin-top:0;}

#page-studio .result-empty {border-style:solid;border-color:var(--border);padding:36px 24px;background:color-mix(in srgb,var(--surface) 25%,transparent);}

#page-studio .result-empty p {font-size:18px;letter-spacing:-.02em;}

#page-studio .result-empty span {font:13px/1.7 var(--font);color:var(--ink-2);max-width:32ch;}

#page-studio .result-settings {color:var(--ink-2);line-height:1.6;}

#page-studio .result-actions {gap:10px;}

#page-studio .result-actions .btn {min-height:46px;border-radius:12px;}

#page-studio button:focus-visible,#page-studio [role="button"]:focus-visible,#page-studio a:focus-visible {outline:2px solid var(--accent);outline-offset:3px;}

@media(max-width:700px){

 #page-studio .studio-input,#page-studio .studio-result {padding:20px;gap:18px;}

 #page-studio .studio-head {padding-bottom:30px;}

 #page-studio .studio-head .lede {font-size:15px;}

 #page-studio .studio {border-radius:22px;}

 #page-studio .seg {width:100%;}

 #page-studio .seg button {flex:1 1 auto;min-height:44px;padding-inline:10px;}

 #page-studio .studio-input {border-right:0;}

 #page-studio .studio-result {border-top:1px solid var(--border);}

 #page-studio .gen-cost {padding:12px;font-size:12px;}

 #page-studio .result-empty {min-height:230px;}

}

@media(prefers-reduced-motion:reduce){#page-studio .dropzone {transition:none;}}



#page-studio #studio-photo-label {display:none;}



/* Style wheel: photo-led, theme-aware finish */

.wheel-modal .modal-card {max-width:490px;padding:30px;background:radial-gradient(ellipse at 50% 22%,color-mix(in srgb,var(--accent) 7%,var(--bg-alt)),var(--bg-alt) 65%);border:1px solid var(--border-strong);box-shadow:0 30px 100px #0009;}

#wheel-title {font-size:27px;letter-spacing:-.04em;margin:4px 38px 0;}

#wheel-title::before {content:'НАЙДИ СВОЁ ВДОХНОВЕНИЕ';display:block;font:9px var(--mono);letter-spacing:.14em;color:var(--accent);margin-bottom:12px;}

.wheel-wrap {width:320px;height:320px;margin:38px auto 28px;filter:drop-shadow(0 16px 24px #0005);}

.wheel {border:7px solid #171a20;outline:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));box-shadow:inset 0 0 0 1px #ffffff12;}

.wheel::before {background:radial-gradient(circle at 35% 20%,#ffffff0c,transparent 60%);}

.wheel::after {background:repeating-conic-gradient(from 0deg,#ffffff15 0deg .5deg,transparent .5deg var(--sector-angle,72deg));}

.wheel-wrap::before {inset:-10px;border:1px solid var(--border-strong);box-shadow:0 0 0 4px var(--bg),0 0 0 5px color-mix(in srgb,var(--accent) 18%,var(--border)),0 0 32px color-mix(in srgb,var(--accent) 9%,transparent);}

.wheel-pointer {width:24px;height:29px;top:-15px;background:var(--accent);clip-path:polygon(12% 0,88% 0,100% 18%,50% 100%,0 18%);}

.wheel-center {width:68px;height:68px;border:1px solid color-mix(in srgb,var(--accent) 65%,var(--border));background:linear-gradient(145deg,#292c34,#101216);box-shadow:0 0 0 6px #0d1016b0,0 6px 18px #0007,inset 0 1px 0 #ffffff20;font-size:9px;}

.wheel-center::before {inset:7px;border-color:#ffffff12;box-shadow:none;}

.wheel-seg img {width:66px;height:66px;top:17px;border:2px solid #ffffffb0;box-shadow:0 6px 20px #0007;}

.wheel-result {font:14px/1.6 var(--font);color:var(--ink-2);max-width:30ch;margin:0 auto 18px;}

#wheel-spin,#wheel-use {min-height:50px;border-radius:13px;font-size:15px;}

#wheel-spin {box-shadow:0 6px 22px color-mix(in srgb,var(--accent) 13%,transparent);}

#wheel-use {background:var(--surface);border:1px solid var(--border-strong);color:var(--ink);}

.wheel-history:empty {display:none;}

.wheel-history button {width:36px;height:36px;border-radius:10px;}

.wheel-reveal {padding:12px;border-radius:14px;border-color:color-mix(in srgb,var(--accent) 30%,var(--border));}

.wheel-modal button:focus-visible {outline:2px solid var(--accent);outline-offset:3px;}

@media(max-width:600px){.wheel-modal .modal-card {padding:24px 20px;}.wheel-wrap {width:min(270px,calc(100vw - 104px));height:auto;aspect-ratio:1;margin:32px auto 24px;}.wheel-seg img {width:44px;height:44px;top:13px;}.wheel-center {width:58px;height:58px;font-size:8px;}#wheel-title {font-size:24px;margin-inline:20px;}#wheel-title::before {font-size:8px;letter-spacing:.08em;}}



/* Studio panel alignment: independent heights */

#page-studio .studio {align-items:start;gap:20px;border:0;background:transparent;box-shadow:none;overflow:visible;}

#page-studio .studio-input,#page-studio .studio-result {border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:0 12px 36px #0002;}

#page-studio .studio-result {justify-content:flex-start;align-self:start;}

#page-studio .result-state {flex:0 0 auto;}

#page-studio .result-empty {min-height:360px;}

#page-studio .result-frame img {object-fit:contain;}

@media(max-width:700px){#page-studio .studio {gap:16px;}#page-studio .studio-input,#page-studio .studio-result {border-radius:20px;}#page-studio .result-empty {min-height:230px;}}



/* My PicRum: personal workspace refinement */

#page-picrum > .section {background:radial-gradient(ellipse at 90% 0%,color-mix(in srgb,var(--accent) 6%,transparent),transparent 40%),var(--bg);padding-top:56px;}

#page-picrum .section-head {text-align:left;max-width:none;margin-bottom:30px;}

#page-picrum .section-head h1 {letter-spacing:-.045em;margin:12px 0 16px;line-height:1.1;}

#page-picrum .section-head .lede {max-width:48ch;font-size:17px;line-height:1.6;margin:0;}

#page-picrum .hub-tabs {display:flex;width:100%;border-radius:16px;padding:6px;gap:6px;margin-bottom:28px;background:var(--bg-alt);border:1px solid var(--border);}

#page-picrum .hub-tab {flex:1;min-height:50px;border-radius:11px;font-size:14px;}

#page-picrum .personal-block {padding:0;background:none;border:0;box-shadow:none;}

#page-picrum .personal-head {align-items:center;gap:24px;margin-bottom:22px;}

#page-picrum .personal-head p,#page-picrum .hub-panel-head p {font-size:13px;line-height:1.65;max-width:44ch;color:var(--ink-2);}

#page-picrum .personal-head h2,#page-picrum .hub-panel-head h2 {font-size:26px;letter-spacing:-.03em;}

#for-you-grid {gap:20px;}

#for-you-grid .g-card {border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:0 8px 24px #0002;}

#page-picrum .hub-empty,#page-picrum .result-status-empty {padding:48px 24px;border:1px dashed var(--border-strong);border-radius:18px;background:var(--bg-alt);font:14px/1.75 var(--font);text-align:center;color:var(--ink-2);}

#page-picrum .saved-prompt,#page-picrum .result-status-card {border-radius:18px;border-color:var(--border);background:var(--bg-alt);box-shadow:none;}

#page-picrum .saved-prompt-actions .btn {min-height:44px;border-radius:12px;}

#page-picrum button:focus-visible,#page-picrum a:focus-visible {outline:2px solid var(--accent);outline-offset:3px;}

@media(max-width:600px){

 #page-picrum > .section {padding-top:calc(114px + max(28px,env(safe-area-inset-top,0px)));}

 #page-picrum .section-head h1 {font-size:40px!important;}

 #page-picrum .section-head .lede {font-size:15px;}

 #page-picrum .hub-tabs {gap:3px;padding:4px;border-radius:14px;}

 #page-picrum .hub-tab {min-height:46px;font-size:11px;padding-inline:5px;}

 #page-picrum .personal-head {display:block;}

 #page-picrum .personal-head p {margin-top:10px;}

 #for-you-grid {gap:12px;}

 #for-you-grid .g-card {border-radius:15px;}

 #for-you-grid .g-cap {flex-wrap:wrap;padding:30px 10px 12px;gap:8px;}

 #for-you-grid .g-cap h3 {width:100%;font-size:13px;}

 #for-you-grid .g-use {font-size:11px;width:100%;min-height:40px;}

 #for-you-grid .g-use::after {content:none;}

}



/* Reference workspace refinement */

#page-reference .reference-page-head {gap:32px;grid-template-columns:minmax(0,1fr) 220px;}

#page-reference .reference-page-head h1 {font-size:clamp(38px,5.2vw,66px);line-height:1.06;letter-spacing:-.045em;}

#page-reference .reference-page-head .lede {font-size:16px;line-height:1.75;max-width:65ch;}

#page-reference .reference-price {border-radius:18px;background:var(--bg-alt);border-color:var(--border-strong);box-shadow:none;}

#page-reference .quota-bar-head {align-items:center;}

#page-reference .quota-bar-value {white-space:nowrap;flex-shrink:0;}

#page-reference .quota-bar-note {color:var(--ink-2);line-height:1.6;}

#page-reference .reference-workspace {border-color:var(--border);background:var(--bg-alt);border-radius:24px;box-shadow:0 16px 48px #0003;backdrop-filter:none;}

#page-reference .reference-upload-pane,#page-reference .reference-output-pane {padding:28px;}

#page-reference .reference-pane-label {margin-bottom:20px;}

#page-reference .reference-drop {border-radius:16px;min-height:390px;}

#page-reference .reference-drop.has-image .reference-drop-icon {width:42px;height:42px;border-radius:12px;}

#page-reference .reference-drop.has-image .reference-drop-icon svg {width:20px;height:20px;}

#page-reference .reference-preview {padding:0;background:var(--bg);}

#page-reference .reference-copy {max-width:100%;}

#page-reference .reference-copy b {overflow-wrap:anywhere;font-size:13px;}

#page-reference .reference-privacy {font:11px/1.6 var(--font);color:var(--ink-2);}

#page-reference .reference-named-title {font-size:20px;letter-spacing:-.025em;margin-bottom:14px;}

#page-reference .reference-result {flex:0 0 auto;width:100%;height:330px;min-height:230px;max-height:50dvh;font:400 15px/1.85 var(--font);padding:18px;border-radius:14px;border-color:var(--border-strong);background:var(--bg);scrollbar-width:thin;}

#page-reference .reference-actions {grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;}

#page-reference .reference-actions .btn {border-radius:12px;min-height:46px;padding:12px;font-size:13px;line-height:1.4;gap:8px;box-shadow:none;}

#page-reference #reference-use {grid-column:1 / -1;}

#page-reference #reference-save {background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);}

#page-reference #reference-copy {border:1px solid var(--border);background:var(--bg-alt);}

#page-reference .reference-actions svg {flex-shrink:0;}

#page-reference .reference-payline {line-height:1.6;padding-block:12px;}

#page-reference .reference-analyze {min-height:50px;border-radius:12px;font-size:14px;line-height:1.4;padding:12px;}

#page-reference .reference-step {border-radius:16px;background:var(--bg-alt);box-shadow:none;min-height:140px;}

#page-reference .reference-step p {color:var(--ink-2);}

#page-reference textarea:focus-visible,#page-reference button:focus-visible,#page-reference [role="button"]:focus-visible {outline:2px solid var(--accent);outline-offset:3px;}

@media(max-width:700px){

 #page-reference .reference-page-head {grid-template-columns:1fr;gap:20px;}

 #page-reference .reference-page-head h1 {font-size:clamp(34px,9vw,48px);}

 #page-reference .reference-page-head .lede {font-size:15px;}

 #page-reference .reference-workspace {grid-template-columns:1fr;}

 #page-reference .reference-upload-pane,#page-reference .reference-output-pane {padding:20px;}

 #page-reference .reference-upload-pane {border-right:0;border-bottom:1px solid var(--border);}

 #page-reference .reference-drop {min-height:300px;}

 #page-reference .reference-result {font-size:16px;height:300px;max-height:45dvh;}

 #page-reference .reference-actions .btn {font-size:12px;}

 #page-reference .reference-price.reference-quota {padding:16px;}

 #page-reference .reference-steps {grid-template-columns:1fr;}

}



/* Account and theme selection refinement */

#page-profile .section-head {margin-bottom:32px;} 

.auth-card {max-width:490px;padding:32px;background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 65%),var(--bg-alt);border:1px solid var(--border-strong);box-shadow:0 24px 70px #0004;}

.auth-tabs,.am-tabs {border-radius:14px;padding:5px;margin-bottom:24px;}

.auth-tab,.am-tab {min-height:42px;border-radius:10px;}

.auth-form {gap:12px;}

.auth-form input:not([type="checkbox"]) {min-height:50px;border-radius:12px;font-size:16px;background:var(--bg);}

.auth-form input:autofill {box-shadow:0 0 0 1000px var(--surface) inset;-webkit-text-fill-color:var(--ink);caret-color:var(--ink);}

.auth-form input:focus {box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent);}

.auth-form .field-label {color:var(--ink-2);font-size:11px;}

.auth-form .btn {min-height:50px;border-radius:12px;}

.auth-social {display:grid;grid-template-columns:1fr 1fr;gap:10px;}

.auth-social .soc-btn {background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--border-strong);box-shadow:none!important;border-radius:12px;min-height:52px;padding:10px;font-size:12px;gap:9px;}

.auth-social .soc-btn svg {width:28px;height:28px;flex-shrink:0;}

.auth-social .soc-btn:hover:not(:disabled) {border-color:var(--accent);}

.auth-social .soc-btn:disabled {opacity:.45;}

.auth-note {font:12px/1.6 var(--font);color:var(--ink-2);margin-top:18px;}

.auth-terms label {font:12px/1.6 var(--font);gap:9px;align-items:flex-start;}

.auth-terms input {width:18px;height:18px;flex-shrink:0;accent-color:var(--accent);}

.password-meter {padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg);}

.password-meter-track {height:5px;border-radius:4px;background:var(--surface-2);overflow:hidden;margin-bottom:9px;}

.password-meter-fill {height:100%;width:0;background:var(--danger);transition:width .2s,background .2s;}

.password-meter-label {font:12px/1.5 var(--font);color:var(--ink-2);}

#profile-view .pf-card {border-radius:20px;background:var(--bg-alt);border-color:var(--border);box-shadow:0 8px 26px #0002;}

#profile-view .pf-hero {background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 7%,var(--bg-alt)),var(--bg-alt));}

#profile-view .theme-opts {grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;}

#profile-view .theme-opt {position:relative;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--bg);gap:10px;min-width:0;}

#profile-view .theme-opt .theme-swatch {width:100%;height:62px;border-radius:9px;background:linear-gradient(120deg,var(--t1),var(--t2));box-shadow:none;border:0;position:relative;overflow:hidden;}

#profile-view .theme-swatch::after {content:'';position:absolute;inset:12px 15px;border-radius:5px;background:linear-gradient(#ffffffb0,#ffffffb0) 8px 9px/30% 3px no-repeat,linear-gradient(var(--t1),var(--t1)) 8px 21px/60% 7px no-repeat,#121319dc;box-shadow:0 6px 14px #0003;}

#profile-view .theme-opt.is-active {border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent);}

#profile-view .theme-opt.is-active::after {content:'✓';position:absolute;right:7px;top:6px;background:var(--accent);color:#111;border-radius:50%;width:20px;height:20px;font-size:12px;}

#profile-view .theme-name {font-size:12px;color:var(--ink-2);}

#profile-view .theme-opt:hover .theme-swatch {transform:none;}

#page-profile :focus-visible,#auth-modal :focus-visible {outline:2px solid var(--accent);outline-offset:3px;}

@media(max-width:600px){.auth-card {padding:22px;}.auth-social .soc-btn {font-size:11px;gap:6px;}.auth-social .soc-btn svg {width:24px;height:24px;}#profile-view .theme-opts {grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}#profile-view .theme-opt {padding:7px;}#profile-view .theme-opt .theme-swatch {height:52px;}}

:root[data-theme="peach"]{--accent:#ffba91;--accent-2:#fb7185;--violet:#fb7185;--particle-color:#ffba91;--particle-spark:#fb7185;}

.theme-opt[data-theme="peach"] .theme-swatch{--t1:#ffba91;--t2:#fb7185;}

:root[data-theme="mint"]{--accent:#a5ebd0;--accent-2:#5ecac2;--violet:#5ecac2;--particle-color:#a5ebd0;--particle-spark:#5ecac2;}

.theme-opt[data-theme="mint"] .theme-swatch{--t1:#a5ebd0;--t2:#5ecac2;}

:root[data-theme="lavender"]{--accent:#c7b5ff;--accent-2:#97b7ff;--violet:#97b7ff;--particle-color:#c7b5ff;--particle-spark:#97b7ff;}

.theme-opt[data-theme="lavender"] .theme-swatch{--t1:#c7b5ff;--t2:#97b7ff;}



/* Profile, packages and navigation polish */

header {background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(22px);}

header .nav {height:72px;gap:24px;}

header .logo {font-size:21px;letter-spacing:-.045em;gap:0;flex-shrink:0;}

.logo .mark {width:34px;height:34px;flex-basis:34px;padding:4px;border-radius:11px;background:color-mix(in srgb,var(--accent) 9%,var(--bg));border:1px solid color-mix(in srgb,var(--accent) 23%,transparent);}

header nav {gap:4px;padding:5px;border:1px solid var(--border);border-radius:16px;background:var(--surface);}

header nav a {padding:10px 12px;border:0;border-radius:10px;font-size:12px;white-space:nowrap;}

header nav a:hover {background:color-mix(in srgb,var(--accent) 8%,transparent);}

header nav a.is-active {color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);}

header .nav-actions {gap:10px;}

header .nav-actions .btn {min-height:40px;padding-inline:20px;font-size:12px;}

#page-profile .section-head,#page-pricing .section-head {text-align:left;max-width:none;margin-bottom:36px;}

#page-profile .section-head h1,#page-pricing .section-head h1 {letter-spacing:-.045em;line-height:1.1;}

#page-profile .section-head .lede,#page-pricing .section-head .lede {margin:14px 0 0;max-width:55ch;font-size:16px;line-height:1.65;}

#profile-view {gap:18px;align-items:start;}

#profile-view .pf-card {padding:26px;border-radius:22px;gap:18px;min-width:0;box-shadow:0 8px 24px #0000000a;}

#profile-view .pf-card h3 {font-family:var(--font);text-transform:none;letter-spacing:-.015em;font-size:16px;font-weight:650;color:var(--ink);display:flex;align-items:center;gap:7px;}

#profile-view .pf-card h3 svg {color:var(--accent);flex-shrink:0;}

#profile-view .pf-hero {align-items:center;padding:30px;background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%),var(--surface);}

#profile-view .pf-ava {border-radius:20px;}

#profile-view .pf-desc,#profile-view .selfie-hint {font-size:13px;line-height:1.7;}

#profile-view .btn {border-radius:12px;min-height:42px;font-size:13px;}

#profile-view .pf-linkcard {padding:18px;border-radius:14px;background:var(--bg);}

#profile-view .pf-balance b {font-size:42px;letter-spacing:-.04em;}

#profile-view .pf-card:has(.theme-bar-pf) {grid-column:1/-1;}

#profile-view .theme-opts {grid-template-columns:repeat(7,minmax(0,1fr));}

#profile-view .account-delete-panel {margin-top:18px;padding-top:22px;border-top:1px solid var(--border);}

#page-pricing .pkg-group {padding:0;border:0;background:none;}

#page-pricing .pkg-title {margin-bottom:22px;}

#page-pricing .tiers {gap:16px;align-items:stretch;}

#page-pricing .tier {position:relative;border-radius:22px;padding:28px 24px;background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 4%,var(--surface)),var(--bg));min-height:290px;}

#page-pricing .tier .count {font-size:34px;letter-spacing:-.04em;margin-bottom:18px;}

#page-pricing .tier .count small {font-size:13px;}

#page-pricing .tier .price {font-size:30px;color:var(--ink);}

#page-pricing .tier .per {font-family:var(--font);font-size:12px;line-height:1.5;margin-bottom:28px;}

#page-pricing .tier .btn {margin-top:auto;border-radius:12px;min-height:46px;}

#page-pricing .tier.best {box-shadow:0 12px 40px color-mix(in srgb,var(--accent) 9%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 12%,var(--surface)),var(--bg));}

#page-pricing .badge-best {align-self:flex-start;font-size:10px;margin-bottom:14px;}

@media(min-width:941px) and (max-width:1200px){header .nav{gap:12px;}header nav a{padding:9px 7px;font-size:11px;}header .logo{font-size:18px;}header .nav-actions{gap:6px;}}

@media(max-width:940px){header .nav{height:60px;}#profile-view .theme-opts{grid-template-columns:repeat(4,minmax(0,1fr));}}

@media(max-width:600px){#page-profile .section-head,#page-pricing .section-head{margin-bottom:26px;}#profile-view .pf-card{padding:20px;border-radius:18px;}#profile-view .pf-hero{flex-wrap:wrap;}#profile-view .pf-actions{width:100%;}#profile-view .theme-opts{grid-template-columns:repeat(3,minmax(0,1fr));}#page-pricing .tier{min-height:250px;padding:24px;}#page-pricing .tiers{gap:14px;}}



#profile-view .pf-card:has(#ach-list) {display:none;}

#page-pricing .badge-best {position:absolute;top:-13px;right:20px;margin:0;background:var(--bg);padding:6px 12px;}



/* Lightweight navigation */

header nav {background:transparent;border:0;padding:0;gap:20px;border-radius:0;}

header nav a {position:relative;padding:13px 0;border-radius:0;font-size:13px;color:var(--ink-2);background:transparent!important;}

header nav a::after {content:'';position:absolute;left:0;right:0;bottom:3px;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .2s;transform-origin:center;}

header nav a.is-active {color:var(--ink);}

header nav a.is-active::after {transform:scaleX(1);}

header nav a:hover {color:var(--ink);}

.logo .mark {padding:0;border:0;background:none;border-radius:0;}

@media(min-width:941px) and (max-width:1200px){header nav{gap:12px;}header nav a{font-size:12px;padding:12px 0;}}



#profile-view {max-width:1040px;grid-template-columns:1fr;}

#profile-view .pf-hero {grid-column:1/-1;}

.pf-section-nav {display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;}

.pf-section-nav button {flex:1;white-space:nowrap;border:1px solid var(--border);border-radius:12px;padding:14px 18px;color:var(--ink-2);background:var(--surface);font:600 13px var(--font);cursor:pointer;}

.pf-section-nav button[aria-selected="true"] {color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 9%,var(--bg));}

.pf-section-nav button:focus-visible {outline:2px solid var(--accent);outline-offset:2px;}

.pf-section-panel {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;}

.pf-section-panel[hidden] {display:none;}

@media(max-width:700px){.pf-section-panel{grid-template-columns:1fr;}.pf-section-nav button{padding:12px 14px;font-size:12px;}.pf-section-nav{gap:6px;}}

#style-marquee {display:none!important;}



.pf-overview-column {display:flex;flex-direction:column;gap:18px;min-width:0;}

.pf-history-toggle {width:100%;min-height:42px;padding:10px 14px;border:1px solid var(--border);border-radius:11px;background:transparent;color:var(--accent);font:600 13px var(--font);cursor:pointer;}

.pf-history-toggle:hover {background:color-mix(in srgb,var(--accent) 7%,transparent);}

.pf-history-toggle:focus-visible {outline:2px solid var(--accent);outline-offset:2px;}



/* Mobile app shell v2: top bar + dock with sliding pill */

@media(max-width:760px){

 .bottombar { padding:7px 7px; }

 .bb-pill { position:absolute; z-index:0; top:8px; left:0; height:62px; width:0; border-radius:18px; pointer-events:none; opacity:0; border:1px solid color-mix(in srgb,var(--accent) 34%,transparent); background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 24%,transparent),color-mix(in srgb,var(--accent) 5%,transparent)); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--accent) 22%,transparent),0 6px 18px color-mix(in srgb,var(--accent) 16%,transparent); transition:transform .42s cubic-bezier(.34,1.45,.5,1),width .42s cubic-bezier(.34,1.45,.5,1),opacity .2s; }

 .bb-pill.is-on { opacity:1; }

 .bottombar a { z-index:1; }

 .bottombar a.is-active { background:transparent; border-color:transparent; box-shadow:none; }

 .bottombar a.is-active::after { display:none; }

 .bottombar a.is-active > svg { animation:bb-pop .5s cubic-bezier(.3,1.7,.5,1); }

 .bottombar a.bottombar-picrum.is-active .bottombar-picrum-icon { animation:bb-lift .55s cubic-bezier(.3,1.6,.5,1); }

 .bottombar-picrum-icon { transform:rotate(0); background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 70%,white),var(--accent)); color:#101114; border-color:color-mix(in srgb,var(--accent) 70%,white); box-shadow:0 0 0 5px #0f1217,0 10px 26px color-mix(in srgb,var(--accent) 34%,transparent),inset 0 1px 0 #ffffff70; }

 .bottombar a.bottombar-picrum svg { transform:none; }

 .bottombar a.bottombar-picrum { color:#d6dbe2; }

 .bottombar a.bottombar-picrum.is-active .bottombar-picrum-icon { transform:translateY(-3px) scale(1.04); }

 @keyframes bb-pop { 0%{transform:translateY(0) scale(1)} 40%{transform:translateY(-4px) scale(1.18)} 100%{transform:translateY(-1px) scale(1)} }

 @keyframes bb-lift { 0%{transform:translateY(0) scale(1)} 45%{transform:translateY(-7px) scale(1.1)} 100%{transform:translateY(-3px) scale(1.04)} }

}

@media(max-width:600px){

 html { scroll-padding-top:calc(76px + env(safe-area-inset-top,0px)); }

 header { top:0 !important; left:0 !important; right:0 !important; width:auto !important; max-width:none !important; padding-top:env(safe-area-inset-top,0px); pointer-events:auto !important; border-bottom:1px solid transparent !important; background:linear-gradient(180deg,rgba(7,8,10,.94),rgba(7,8,10,.55)) !important; backdrop-filter:blur(18px) saturate(140%) !important; -webkit-backdrop-filter:blur(18px) saturate(140%) !important; transition:background .28s,border-color .28s,box-shadow .28s; }

 header.is-scrolled { background:rgba(9,10,12,.9) !important; border-bottom-color:var(--border) !important; box-shadow:0 10px 30px rgba(0,0,0,.35); }

 header .wrap { width:auto !important; max-width:none !important; padding:0 14px !important; }

 header .nav { width:100% !important; height:58px !important; display:flex; align-items:center; justify-content:space-between; }

 header .logo { display:inline-flex !important; align-items:center; font-size:21px; letter-spacing:-.03em; }

 header .nav-actions { gap:8px !important; padding:0 !important; border:0 !important; background:transparent !important; }

 header .nav-icon { width:40px !important; height:40px !important; flex-basis:40px !important; border-radius:13px !important; background:rgba(255,255,255,.055) !important; border:1px solid rgba(255,255,255,.08) !important; transition:transform .18s,background .2s; }

 header .nav-icon:active, header .balance-chip:active { transform:scale(.92); }

 header .balance-chip { order:1; min-height:40px !important; padding:6px 12px 6px 7px !important; border-radius:13px !important; border:1px solid color-mix(in srgb,var(--accent) 38%,transparent) !important; background:color-mix(in srgb,var(--accent) 13%,#121316) !important; }

 header #notification-open { order:2; }

 header .more-open { order:3; }

 header .balance-chip .b-unit { display:none; }

 .home-hero { padding-top:calc(84px + env(safe-area-inset-top,0px)) !important; }

 .studio-head, .reference-page, #page-picrum .section, #page-picrum > .section, #page-styles .section, #page-video .section, #page-pricing .section, #page-profile .section { padding-top:calc(84px + env(safe-area-inset-top,0px)) !important; }

}

/* Notifications v2 */

.nf-modal { place-items:start end; padding:calc(74px + env(safe-area-inset-top)) 22px 22px; }

.nf-modal .modal-backdrop { background:rgba(0,0,0,.42); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); opacity:0; transition:opacity .22s ease; }

.nf-modal.is-open .modal-backdrop { opacity:1; }

.nf-modal .nf-card { --tone:var(--accent); display:flex; flex-direction:column; width:100%; max-width:420px; max-height:min(640px, calc(100dvh - 100px)); padding:0; overflow:hidden; border-radius:24px; border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border)); background:radial-gradient(120% 60% at 100% 0%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 60%),linear-gradient(180deg,#151519,#0e0e11); box-shadow:0 30px 80px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.06); transform-origin:top right; opacity:0; transform:translateY(-10px) scale(.96); transition:opacity .22s ease,transform .32s cubic-bezier(.2,.9,.25,1.15); }

.nf-modal.is-open .nf-card { opacity:1; transform:none; }

.nf-grab { display:none; }

.nf-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:20px 20px 12px; }

.nf-head h3 { margin:0; font-size:22px; letter-spacing:-.02em; }

.nf-head p { margin-top:3px; color:var(--ink-3); font:500 12px var(--mono); }

.nf-x { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:rgba(255,255,255,.05); color:var(--ink-2); cursor:pointer; transition:background .2s,color .2s,transform .15s; }

.nf-x:hover { color:var(--ink); background:rgba(255,255,255,.09); }

.nf-x:active { transform:scale(.9); }

.nf-tabs { position:relative; display:grid; grid-template-columns:1fr 1fr; margin:0 20px 8px; padding:4px; border-radius:14px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.06); }

.nf-tab { position:relative; z-index:1; min-height:36px; display:inline-flex; align-items:center; justify-content:center; gap:7px; border:0; background:transparent; color:var(--ink-3); font:600 13px var(--font); cursor:pointer; transition:color .2s; }

.nf-tab.is-on { color:var(--ink); }

.nf-tab span { min-width:20px; height:20px; padding:0 6px; display:inline-grid; place-items:center; border-radius:10px; background:var(--accent); color:#0a0a0a; font:700 10px var(--mono); }

.nf-tab span[hidden] { display:none; }

.nf-tab-pill { position:absolute; top:4px; bottom:4px; left:4px; width:calc(50% - 4px); border-radius:10px; background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 20%,#24242a),#1c1c21); border:1px solid color-mix(in srgb,var(--accent) 30%,transparent); box-shadow:0 4px 14px rgba(0,0,0,.3); transition:transform .38s cubic-bezier(.34,1.4,.5,1); }

.nf-tabs.is-new .nf-tab-pill { transform:translateX(100%); }

.nf-modal .nf-list { flex:1 1 auto; min-height:0; max-height:none; margin:0; padding:4px 14px 14px; gap:8px; overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }

.nf-group { margin:10px 6px 2px; color:var(--ink-3); font:600 10px var(--mono); letter-spacing:.12em; text-transform:uppercase; }

.nf-item { position:relative; flex-shrink:0; border-radius:18px; overflow:hidden; animation:nf-in .46s cubic-bezier(.2,.9,.3,1.1) backwards; animation-delay:calc(var(--i,0) * 45ms); transition:opacity .26s ease,height .28s ease,transform .28s ease,margin .28s ease; }

.nf-item.tone-accent { --tone:var(--accent); } .nf-item.tone-gold { --tone:#f5b544; } .nf-item.tone-sky { --tone:#6cb8ff; } .nf-item.tone-mint { --tone:#4fd69c; }

.nf-del-bg { position:absolute; inset:0; display:flex; align-items:center; justify-content:flex-end; gap:8px; padding-right:22px; border-radius:18px; background:linear-gradient(90deg,transparent,#e5484d 70%); color:#fff; font:700 12px var(--font); opacity:var(--sw,0); }

.nf-del-bg svg { width:18px; height:18px; transform:scale(calc(.7 + var(--sw,0) * .3)); }

.nf-row { position:relative; display:grid; grid-template-columns:42px minmax(0,1fr) 30px; gap:12px; align-items:start; padding:14px 12px 14px 14px; border-radius:18px; border:1px solid rgba(255,255,255,.06); background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015)); cursor:pointer; transition:transform .32s cubic-bezier(.2,.9,.3,1),background .2s,border-color .2s; }

.nf-item.is-swiping .nf-row { transition:none; }

.nf-row:hover { border-color:color-mix(in srgb,var(--tone) 28%,rgba(255,255,255,.06)); background:linear-gradient(180deg,color-mix(in srgb,var(--tone) 7%,rgba(255,255,255,.03)),rgba(255,255,255,.015)); }

.nf-item.is-new .nf-row { border-color:color-mix(in srgb,var(--tone) 30%,transparent); background:linear-gradient(120deg,color-mix(in srgb,var(--tone) 13%,#16161a),#131317 70%); }

.nf-item.is-new .nf-row::before { content:''; position:absolute; left:-1px; top:16px; bottom:16px; width:3px; border-radius:0 3px 3px 0; background:var(--tone); box-shadow:0 0 12px var(--tone); }

.nf-ico { position:relative; width:42px; height:42px; display:grid; place-items:center; border-radius:14px; color:var(--tone); background:color-mix(in srgb,var(--tone) 15%,transparent); border:1px solid color-mix(in srgb,var(--tone) 28%,transparent); }

.nf-ico svg { width:21px; height:21px; }

.nf-item.is-new .nf-ico::after { content:''; position:absolute; top:-3px; right:-3px; width:10px; height:10px; border-radius:50%; background:var(--tone); border:2px solid #141418; animation:nf-pulse 2s ease-in-out infinite; }

.nf-copy { min-width:0; }

.nf-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:4px; }

.nf-meta span { color:var(--tone); font:700 10px var(--mono); letter-spacing:.08em; text-transform:uppercase; }

.nf-meta time { color:var(--ink-3); font:500 10px var(--mono); white-space:nowrap; }

.nf-copy b { display:block; margin-bottom:3px; font-size:14.5px; line-height:1.3; letter-spacing:-.01em; }

.nf-copy p { color:var(--ink-2); font-size:12.5px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

.nf-go { display:inline-flex; align-items:center; gap:6px; margin-top:9px; padding:0; border:0; background:none; color:var(--tone); font:600 12px var(--font); cursor:pointer; }

.nf-go svg { width:14px; height:14px; transition:transform .2s; }

.nf-row:hover .nf-go svg { transform:translateX(3px); }

.nf-del { width:30px; height:30px; display:grid; place-items:center; border:0; border-radius:10px; background:transparent; color:var(--ink-3); opacity:.6; cursor:pointer; transition:opacity .2s,background .2s,color .2s; }

.nf-del svg { width:14px; height:14px; }

.nf-del:hover { opacity:1; color:#ff6b6f; background:rgba(229,72,77,.12); }

.nf-item.is-leaving { opacity:0; transform:translateX(-30px) scale(.97); height:0 !important; margin-top:-8px; }

.nf-empty { display:flex; flex-direction:column; align-items:center; text-align:center; padding:34px 18px 26px; animation:nf-in .5s ease both; }

.nf-empty-ring { position:relative; width:76px; height:76px; display:grid; place-items:center; margin-bottom:16px; border-radius:50%; color:var(--accent); background:radial-gradient(circle,color-mix(in srgb,var(--accent) 18%,transparent),transparent 70%); border:1px solid color-mix(in srgb,var(--accent) 26%,transparent); }

.nf-empty-ring::after { content:''; position:absolute; inset:-8px; border-radius:50%; border:1px solid color-mix(in srgb,var(--accent) 22%,transparent); animation:nf-halo 2.6s ease-out infinite; }

.nf-empty-ring svg { width:30px; height:30px; animation:nf-ring 3.2s ease-in-out infinite; transform-origin:50% 10%; }

.nf-empty b { font-size:16px; margin-bottom:6px; }

.nf-empty p { max-width:30ch; color:var(--ink-3); font-size:13px; line-height:1.55; }

.nf-modal .nf-foot { display:flex; gap:8px; margin:0; padding:12px 14px calc(14px + env(safe-area-inset-bottom)); border-top:1px solid rgba(255,255,255,.06); background:rgba(10,10,12,.6); }

.nf-btn { flex:1 1 auto; min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:14px; border:1px solid color-mix(in srgb,var(--accent) 34%,transparent); background:color-mix(in srgb,var(--accent) 13%,transparent); color:var(--accent); font:600 13px var(--font); cursor:pointer; transition:background .2s,transform .15s,opacity .2s; }

.nf-btn svg { width:17px; height:17px; }

.nf-btn:hover { background:color-mix(in srgb,var(--accent) 20%,transparent); }

.nf-btn:active { transform:scale(.97); }

.nf-btn-quiet { flex:0 0 auto; padding:0 18px; border-color:rgba(255,255,255,.08); background:transparent; color:var(--ink-3); }

.nf-btn-quiet:hover { color:var(--ink); background:rgba(255,255,255,.05); }

.nf-btn:disabled { opacity:.4; pointer-events:none; }

#notification-open.is-ring svg { animation:nf-ring .9s ease-in-out; transform-origin:50% 8%; }

.notif-dot.is-pop { animation:nf-badge .5s cubic-bezier(.3,1.8,.5,1); }

@keyframes nf-in { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:none; } }

@keyframes nf-pulse { 0%,100% { box-shadow:0 0 0 0 color-mix(in srgb,var(--tone) 55%,transparent); } 50% { box-shadow:0 0 0 6px transparent; } }

@keyframes nf-halo { 0% { transform:scale(.9); opacity:.9; } 100% { transform:scale(1.35); opacity:0; } }

@keyframes nf-ring { 0%,100% { transform:rotate(0); } 15% { transform:rotate(16deg); } 30% { transform:rotate(-14deg); } 45% { transform:rotate(9deg); } 60% { transform:rotate(-6deg); } 75% { transform:rotate(2deg); } }

@keyframes nf-badge { 0% { transform:scale(.4); } 60% { transform:scale(1.25); } 100% { transform:scale(1); } }

@media(max-width:600px){

 .nf-modal { place-items:end center; padding:0 !important; grid-template-columns:minmax(0,1fr); }

 .nf-modal .nf-card { max-width:none; max-height:min(86dvh, calc(100dvh - 40px - env(safe-area-inset-top))); border-radius:28px 28px 0 0; border-bottom:0; padding:0; opacity:1; transform:translateY(105%); transition:transform .42s cubic-bezier(.2,.9,.25,1); }

 .nf-modal.is-open .nf-card { transform:none; }

 .nf-grab { display:block; width:44px; height:5px; margin:10px auto 0; border-radius:99px; background:rgba(255,255,255,.18); }

 .nf-head { padding:12px 18px 12px; }

 .nf-tabs { margin:0 16px 8px; }

 .nf-modal .nf-list { padding:4px 12px 12px; }

 .nf-row { grid-template-columns:40px minmax(0,1fr) 28px; gap:11px; }

 .nf-ico { width:40px; height:40px; }

}

@media(prefers-reduced-motion:reduce){ .nf-item, .nf-empty, .nf-empty-ring::after, .nf-empty-ring svg, .nf-item.is-new .nf-ico::after { animation:none !important; } .nf-modal .nf-card { transition:opacity .15s; } }

@media(prefers-reduced-motion:reduce){ .bb-pill { transition:none; } .bottombar a.is-active > svg, .bottombar a.bottombar-picrum.is-active .bottombar-picrum-icon { animation:none; } }



/* Motion v3 */

:root { --ease-out:cubic-bezier(.22,1,.36,1); --ease-spring:cubic-bezier(.3,1.45,.5,1); }

main { overflow-x:clip; }



/* страницы */

@keyframes mv-page-fwd { from { opacity:0; transform:translate3d(32px,0,0); } to { opacity:1; transform:none; } }

@keyframes mv-page-back { from { opacity:0; transform:translate3d(-32px,0,0); } to { opacity:1; transform:none; } }

.page.page-in { animation:mv-page-fwd .55s var(--ease-out) both; }

body[data-dir="back"] .page.page-in { animation-name:mv-page-back; }

.page.leaving { opacity:0; transform:translate3d(-20px,0,0) scale(.992); transition:opacity .17s ease, transform .17s ease; }

body[data-dir="back"] .page.leaving { transform:translate3d(20px,0,0) scale(.992); }



/* карточки каскадом */

@keyframes mv-pop { from { opacity:0; transform:translate3d(0,26px,0) scale(.955); } to { opacity:1; transform:none; } }

.mv-pop { animation:mv-pop .66s var(--ease-out) backwards; animation-delay:calc(var(--mv-i,0) * 55ms); }



/* волна от нажатия */

i.mv-rip-wrap { all:unset; position:absolute; inset:0; border-radius:inherit; overflow:hidden; pointer-events:none; z-index:0; }

i.mv-rip { all:unset; position:absolute; left:var(--x); top:var(--y); width:var(--d); height:var(--d); margin:calc(var(--d) / -2) 0 0 calc(var(--d) / -2); border-radius:50%; background:currentColor; opacity:.24; transform:scale(0); animation:mv-rip .62s var(--ease-out) forwards; }

@keyframes mv-rip { to { transform:scale(1); opacity:0; } }



/* блик на главных кнопках */

#page-home .btn-primary, #generate { position:relative; overflow:hidden; isolation:isolate; }

#page-home .btn-primary::before, #generate::before { content:''; position:absolute; z-index:-1; top:-20%; bottom:-20%; left:-70%; width:46%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.58),transparent); transform:skewX(-22deg); animation:mv-sheen 3.8s ease-in-out infinite; pointer-events:none; }

#generate:disabled::before { animation:none; opacity:0; }

@keyframes mv-sheen { 0%, 60% { left:-70%; } 100% { left:135%; } }



/* окна */

@keyframes m-fade { from { opacity:0; } to { opacity:1; } }

@keyframes m-pop { from { opacity:0; transform:translate3d(0,22px,0) scale(.93); } to { opacity:1; transform:none; } }

@keyframes m-sheet { from { transform:translate3d(0,100%,0); } to { transform:none; } }

@keyframes m-child { from { opacity:0; transform:translate3d(0,12px,0); } to { opacity:1; transform:none; } }

@keyframes m-zoom { from { opacity:0; transform:scale(.86); } to { opacity:1; transform:none; } }

.modal.m-enter { animation:m-fade .3s ease both; }

.modal.m-enter .modal-backdrop { animation:m-fade .32s ease both; }

.modal.m-enter > :not(.modal-backdrop) { animation:m-pop .52s cubic-bezier(.2,1.3,.35,1) both; }

.modal.m-enter.result-lightbox > :not(.modal-backdrop) { animation:m-zoom .5s var(--ease-out) both; }

.modal.m-enter .modal-card > :nth-child(-n+7) { animation:m-child .5s var(--ease-out) backwards; }

.modal.m-enter .modal-card > :nth-child(2) { animation-delay:.06s; }

.modal.m-enter .modal-card > :nth-child(3) { animation-delay:.11s; }

.modal.m-enter .modal-card > :nth-child(4) { animation-delay:.16s; }

.modal.m-enter .modal-card > :nth-child(5) { animation-delay:.21s; }

.modal.m-enter .modal-card > :nth-child(6) { animation-delay:.26s; }

.modal.m-enter .modal-card > :nth-child(7) { animation-delay:.31s; }

@media(max-width:600px){

 .modal.m-enter > :not(.modal-backdrop) { animation:m-sheet .5s var(--ease-out) both; }

 .modal.m-enter.result-lightbox > :not(.modal-backdrop) { animation:m-zoom .45s var(--ease-out) both; }

}

@keyframes ms-up { from { opacity:0; transform:translate3d(0,40px,0) scale(.97); } to { opacity:1; transform:none; } }

.more-sheet.is-open { animation:ms-up .48s cubic-bezier(.2,1.25,.35,1); }

.more-sheet.is-open .more-sheet-list > * { animation:m-child .45s var(--ease-out) backwards; }

.more-sheet.is-open .more-sheet-list > :nth-child(2) { animation-delay:.06s; }

.more-sheet.is-open .more-sheet-list > :nth-child(3) { animation-delay:.12s; }

.more-sheet.is-open .more-sheet-list > :nth-child(4) { animation-delay:.18s; }

.more-sheet-backdrop:not([hidden]) { animation:m-fade .3s ease both; }

.trend-sheet:not([hidden]) { animation:ms-up .5s cubic-bezier(.2,1.25,.35,1) backwards; }



/* тост */

.toast { transition:opacity .25s ease, transform .6s cubic-bezier(.3,1.6,.45,1); }

.toast:not(.show) { transform:translateX(-50%) translateY(30px) scale(.9); }

.toast.bump { animation:toast-bump .42s var(--ease-spring); }

@keyframes toast-bump { 0% { transform:translateX(-50%) scale(1); } 40% { transform:translateX(-50%) scale(1.05); } 100% { transform:translateX(-50%) scale(1); } }



/* баланс */

.balance-chip { perspective:420px; }

.balance-chip.is-bump .pc-coin, .pc-amount.is-bump .pc-coin { animation:coin-toss 1.05s cubic-bezier(.2,1.2,.3,1); }

.balance-chip.is-bump .pc-coin::before, .pc-amount.is-bump .pc-coin::before { animation:coin-shine .9s ease; }

.balance-chip.is-bump b, .pc-amount.is-bump b { display:inline-block; animation:num-pop .65s var(--ease-spring); }

.balance-chip.is-up b { text-shadow:0 0 14px var(--accent); }

@keyframes coin-toss {

  0% { transform:translateY(0) rotateY(0) rotateZ(0) scale(1); }

  16% { transform:translateY(-11px) rotateY(210deg) rotateZ(-16deg) scale(1.22); }

  38% { transform:translateY(-3px) rotateY(430deg) rotateZ(10deg) scale(1.06); }

  62% { transform:translateY(-13px) rotateY(610deg) rotateZ(-8deg) scale(1.26); }

  82% { transform:translateY(3px) rotateY(700deg) rotateZ(4deg) scale(.94); }

  100% { transform:translateY(0) rotateY(720deg) rotateZ(0) scale(1); }

}

@keyframes coin-shine {

  0% { box-shadow:inset 0 0 0 1px rgba(0,0,0,.2); }

  40% { box-shadow:inset 8px -4px 0 rgba(255,255,255,.55), inset 0 0 0 1px rgba(0,0,0,.2); }

  100% { box-shadow:inset 0 0 0 1px rgba(0,0,0,.2); }

}

@keyframes num-pop { 0% { transform:translateY(0) scale(1); } 35% { transform:translateY(-4px) scale(1.3); } 100% { transform:none; } }



/* избранное */

.g-fav.fav-pop svg { animation:fav-pop .55s cubic-bezier(.3,1.8,.5,1); }

.g-fav.fav-pop::after { content:''; position:absolute; inset:-3px; border-radius:50%; border:2px solid var(--accent); animation:fav-ring .55s var(--ease-out) forwards; pointer-events:none; }

@keyframes fav-pop { 0% { transform:scale(1); } 30% { transform:scale(.7); } 65% { transform:scale(1.35); } 100% { transform:scale(1); } }

@keyframes fav-ring { from { transform:scale(.6); opacity:1; } to { transform:scale(1.7); opacity:0; } }



/* док и шапка */

@media(max-width:760px){

 .bb-pill.is-moving { animation:pill-squash .46s var(--ease-out); }

 @keyframes pill-squash { 0% { scale:1 1; } 35% { scale:1.14 .84; } 70% { scale:.97 1.04; } 100% { scale:1 1; } }

 .bottombar-picrum-icon { animation:studio-glow 3.2s ease-in-out infinite; }

 .bottombar a.bottombar-picrum.is-active .bottombar-picrum-icon { animation:bb-lift .55s cubic-bezier(.3,1.6,.5,1), studio-glow 3.2s ease-in-out .6s infinite; }

 @keyframes studio-glow {

  0%, 100% { box-shadow:0 0 0 5px #0f1217, 0 10px 26px color-mix(in srgb,var(--accent) 34%,transparent), inset 0 1px 0 #ffffff70; }

  50% { box-shadow:0 0 0 5px #0f1217, 0 0 0 9px color-mix(in srgb,var(--accent) 16%,transparent), 0 12px 36px color-mix(in srgb,var(--accent) 58%,transparent), inset 0 1px 0 #ffffff70; }

 }

}

@media(max-width:600px){

 header { transition:transform .38s var(--ease-out), background .28s, border-color .28s, box-shadow .28s !important; }

 header.is-hidden { transform:translate3d(0,-110%,0) !important; }

}



/* генерация */

.result-state[data-state="loading"] > .lens { display:none; }

.gen-stage { --p:0; isolation:isolate; background:#060709; box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 24%,transparent), 0 30px 80px -24px color-mix(in srgb,var(--accent) 38%,transparent); margin-bottom:16px; }

.gen-photo { position:absolute; inset:-14%; background:center / cover no-repeat; filter:blur(calc(6px + (100 - var(--p)) * .2px)) saturate(.7) brightness(.68); transition:filter 1.4s var(--ease-out); animation:gen-breathe 6s ease-in-out infinite; }

.gen-aurora { position:absolute; inset:-45%; background:conic-gradient(from 0deg, transparent 0 18%, color-mix(in srgb,var(--accent) 60%,transparent) 28%, transparent 40% 56%, rgba(124,92,255,.5) 68%, transparent 80%); mix-blend-mode:screen; filter:blur(34px); opacity:.8; animation:gen-spin 7s linear infinite; }

.gen-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px); background-size:24px 24px; -webkit-mask-image:radial-gradient(circle at 50% 46%, #000 0 26%, transparent 72%); mask-image:radial-gradient(circle at 50% 46%, #000 0 26%, transparent 72%); animation:gen-grid 2.4s linear infinite; }

.gen-stage .scanline { z-index:3; height:2px; }

.gen-sparks { position:absolute; inset:0; z-index:3; }

.gen-sparks i { --r:78px; --s:1; --n:0; position:absolute; left:50%; top:46%; width:5px; height:5px; margin:-2.5px 0 0 -2.5px; border-radius:50%; background:#fff; box-shadow:0 0 10px 2px var(--accent); animation:gen-orbit 3.4s linear infinite; animation-delay:calc(var(--n) * -.43s); }

.gen-sparks i:nth-child(2n) { --r:104px; --s:.7; animation-duration:4.6s; animation-direction:reverse; }

.gen-sparks i:nth-child(3n) { --s:1.4; background:var(--accent); }

.gen-sparks i:nth-child(1) { --n:0; } .gen-sparks i:nth-child(2) { --n:1; } .gen-sparks i:nth-child(3) { --n:2; } .gen-sparks i:nth-child(4) { --n:3; }

.gen-sparks i:nth-child(5) { --n:4; } .gen-sparks i:nth-child(6) { --n:5; } .gen-sparks i:nth-child(7) { --n:6; } .gen-sparks i:nth-child(8) { --n:7; }

.gen-core { position:absolute; z-index:4; left:50%; top:46%; width:124px; height:124px; transform:translate(-50%,-50%); display:grid; place-items:center; }

.gen-core::before { content:''; position:absolute; inset:-10px; border-radius:50%; border:1px solid color-mix(in srgb,var(--accent) 40%,transparent); animation:gen-halo 2.2s var(--ease-out) infinite; }

.gen-core svg { position:absolute; inset:0; width:100%; height:100%; transform:rotate(-90deg); overflow:visible; }

.gen-ring-bg { fill:rgba(0,0,0,.42); stroke:rgba(255,255,255,.12); stroke-width:3; }

.gen-ring { fill:none; stroke:var(--accent); stroke-width:4; stroke-linecap:round; stroke-dasharray:276.5px; stroke-dashoffset:calc((100 - var(--p)) * 2.765px); transition:stroke-dashoffset 1s var(--ease-out); filter:drop-shadow(0 0 6px var(--accent)); }

.gen-core-pct { position:relative; font:600 24px/1 var(--mono); color:#fff; letter-spacing:-.02em; font-variant-numeric:tabular-nums; text-shadow:0 0 18px color-mix(in srgb,var(--accent) 70%,transparent); }

@keyframes gen-spin { to { transform:rotate(360deg); } }

@keyframes gen-breathe { 0%, 100% { transform:scale(1.1); } 50% { transform:scale(1.18); } }

@keyframes gen-grid { to { background-position:0 24px, 24px 0; } }

@keyframes gen-orbit { from { transform:rotate(0deg) translateX(var(--r)) scale(var(--s)); } to { transform:rotate(360deg) translateX(var(--r)) scale(var(--s)); } }

@keyframes gen-halo { from { transform:scale(.92); opacity:.9; } to { transform:scale(1.35); opacity:0; } }

.progress .bar { height:4px; }

.progress .bar i { background:linear-gradient(90deg,var(--accent),var(--violet),var(--accent)); background-size:200% 100%; box-shadow:0 0 14px color-mix(in srgb,var(--accent) 60%,transparent); transition:width .9s var(--ease-out); animation:bar-flow 1.6s linear infinite; }

@keyframes bar-flow { to { background-position:-200% 0; } }

.p-label.lbl-in { animation:lbl-in .45s var(--ease-out); }

@keyframes lbl-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }

.stage { transition:color .2s, border-color .2s, background .2s; }

.stage.cur { animation:stage-cur 1.4s ease-in-out infinite; }

.stage.done { background:color-mix(in srgb,var(--accent) 12%,transparent); animation:stage-done .5s var(--ease-spring); }

.stage.done::before { content:'✓ '; }

@keyframes stage-cur { 0%, 100% { box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 0%,transparent); } 50% { box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent); } }

@keyframes stage-done { 0% { transform:scale(1); } 40% { transform:scale(1.14); } 100% { transform:scale(1); } }



/* проявление результата */

.result-frame.develop { animation:mv-develop 1.6s var(--ease-out) backwards; }

.result-frame.develop::after { content:''; position:absolute; inset:0; z-index:6; pointer-events:none; background:radial-gradient(circle at 50% 46%, rgba(255,255,255,.75), color-mix(in srgb,var(--accent) 30%,transparent) 35%, transparent 65%); mix-blend-mode:screen; animation:mv-flash 1.3s ease-out forwards; }

@keyframes mv-develop {

 0% { clip-path:circle(0% at 50% 46%); filter:brightness(1.9) saturate(.3); transform:scale(1.07); }

 55% { clip-path:circle(78% at 50% 46%); filter:brightness(1.15) saturate(.9); }

 100% { clip-path:circle(150% at 50% 46%); filter:none; transform:none; }

}

@keyframes mv-flash { 0% { opacity:0; } 20% { opacity:1; } 100% { opacity:0; } }

.result-done:not([hidden]) .result-meta, .result-done:not([hidden]) .result-actions { animation:m-child .55s var(--ease-out) .5s backwards; }

.result-done:not([hidden]) .result-actions { animation-delay:.62s; }



/* референс */

.ref-scan { position:absolute; inset:0; z-index:3; pointer-events:none; opacity:0; transition:opacity .35s; overflow:hidden; border-radius:inherit; }

.reference-workspace.is-analyzing .ref-scan { opacity:1; }

.ref-scan::before { content:''; position:absolute; inset:0; background-image:linear-gradient(color-mix(in srgb,var(--accent) 16%,transparent) 1px,transparent 1px), linear-gradient(90deg,color-mix(in srgb,var(--accent) 16%,transparent) 1px,transparent 1px); background-size:28px 28px; -webkit-mask-image:radial-gradient(circle at 50% 50%, #000, transparent 75%); mask-image:radial-gradient(circle at 50% 50%, #000, transparent 75%); }

.ref-beam { position:absolute; left:0; right:0; top:-40%; height:38%; background:linear-gradient(to bottom, transparent, color-mix(in srgb,var(--accent) 24%,transparent) 88%, var(--accent)); box-shadow:0 10px 26px -6px var(--accent); }

.reference-workspace.is-analyzing .ref-beam { animation:ref-beam 2.3s cubic-bezier(.45,0,.55,1) infinite alternate; }

@keyframes ref-beam { from { transform:translateY(0); } to { transform:translateY(370%); } }

.ref-corner { position:absolute; width:28px; height:28px; border:2px solid var(--accent); filter:drop-shadow(0 0 6px var(--accent)); }

.ref-corner.tl { top:14px; left:14px; border-right:0; border-bottom:0; border-top-left-radius:9px; }

.ref-corner.tr { top:14px; right:14px; border-left:0; border-bottom:0; border-top-right-radius:9px; }

.ref-corner.bl { bottom:14px; left:14px; border-right:0; border-top:0; border-bottom-left-radius:9px; }

.ref-corner.br { bottom:14px; right:14px; border-left:0; border-top:0; border-bottom-right-radius:9px; }

.reference-workspace.is-analyzing .ref-corner { animation:ref-corner 1.6s ease-in-out infinite; }

.ref-corner.tl { --cx:6px; --cy:6px; } .ref-corner.tr { --cx:-6px; --cy:6px; } .ref-corner.bl { --cx:6px; --cy:-6px; } .ref-corner.br { --cx:-6px; --cy:-6px; }

@keyframes ref-corner { 0%, 100% { transform:none; } 50% { transform:translate(var(--cx),var(--cy)); } }

.ref-tag { position:absolute; display:inline-flex; align-items:center; gap:6px; padding:5px 10px 5px 8px; border-radius:999px; background:rgba(8,8,10,.74); border:1px solid color-mix(in srgb,var(--accent) 55%,transparent); color:#fff; font:600 10px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); opacity:0; transform:scale(.6); }

.ref-tag::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent); }

.reference-workspace.is-analyzing .ref-tag { animation:ref-tag 7.5s var(--ease-spring) infinite; animation-delay:calc(var(--k) * 1.1s + .4s); }

@keyframes ref-tag { 0% { opacity:0; transform:scale(.6); } 6% { opacity:1; transform:scale(1); } 62% { opacity:1; transform:scale(1); } 70%, 100% { opacity:0; transform:scale(.9); } }

.reference-preview { transition:transform 1.4s var(--ease-out), filter 1.4s var(--ease-out); }

.reference-workspace.is-analyzing .reference-preview { transform:scale(1.05); filter:saturate(.75) contrast(1.06) brightness(.85); }

.reference-result { transition:border-color .3s, box-shadow .3s; }

.reference-result.is-typing { border-color:var(--accent) !important; box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent), 0 0 46px -12px var(--accent); }

.reference-result:not([hidden]) { animation:m-child .5s var(--ease-out) backwards; }

#reference-actions:not([hidden]) > * { animation:m-child .5s var(--ease-out) backwards; }

#reference-actions:not([hidden]) > :nth-child(2) { animation-delay:.08s; }

#reference-actions:not([hidden]) > :nth-child(3) { animation-delay:.16s; }

#reference-actions:not([hidden]) > :nth-child(4) { animation-delay:.24s; }



/* скачивание */

.dl-fx { display:inline-flex; align-items:center; gap:8px; position:relative; z-index:1; }

.dl-fx svg { width:17px; height:17px; overflow:visible; }

.dl-run .dl-arrow { animation:dl-drop .75s cubic-bezier(.5,0,.4,1) infinite; }

.dl-run .dl-tray { animation:dl-tray .75s ease-in-out infinite; transform-origin:12px 21px; }

@keyframes dl-drop { 0% { transform:translateY(-9px); opacity:0; } 30% { opacity:1; } 72% { transform:translateY(2px); opacity:1; } 100% { transform:translateY(5px); opacity:0; } }

@keyframes dl-tray { 0%, 60% { transform:scaleX(1); } 78% { transform:scaleX(1.25); } 100% { transform:scaleX(1); } }

.dl-bar { position:absolute; left:0; bottom:0; height:3px; width:100%; transform-origin:left; transform:scaleX(0); background:linear-gradient(90deg,var(--accent),#fff); border-radius:999px; z-index:1; pointer-events:none; }

.dl-run .dl-bar { animation:dl-bar 1.6s var(--ease-out) forwards; }

@keyframes dl-bar { 0% { transform:scaleX(0); } 100% { transform:scaleX(.88); } }

.btn.dl-run, .btn.dl-done { position:relative; overflow:hidden; pointer-events:none; }

.btn.dl-done { background:color-mix(in srgb,#4fd69c 18%,var(--surface-2)) !important; border-color:#4fd69c !important; color:#d9ffe9 !important; animation:dl-done-pop .5s var(--ease-spring); }

.dl-done .dl-check path { stroke-dasharray:30; stroke-dashoffset:30; animation:dl-check .45s var(--ease-out) .05s forwards; }

@keyframes dl-check { to { stroke-dashoffset:0; } }

@keyframes dl-done-pop { 0% { transform:scale(.94); } 55% { transform:scale(1.05); } 100% { transform:none; } }

.btn.dl-fail { animation:dl-shake .42s ease; }

@keyframes dl-shake { 0%, 100% { transform:none; } 20% { transform:translateX(-6px); } 40% { transform:translateX(6px); } 60% { transform:translateX(-4px); } 80% { transform:translateX(3px); } }

.dl-fly { position:fixed; z-index:9000; object-fit:cover; pointer-events:none; border-radius:14px; box-shadow:0 20px 50px rgba(0,0,0,.55), 0 0 0 2px color-mix(in srgb,var(--accent) 60%,transparent); will-change:transform, opacity; }



@media(prefers-reduced-motion:reduce){

 .page.page-in, .mv-pop, .modal.m-enter, .modal.m-enter *, .more-sheet.is-open, .more-sheet.is-open *, .trend-sheet, .toast.bump, .balance-chip *, .g-fav *, .g-fav::after, .bb-pill.is-moving, .bottombar-picrum-icon, .gen-stage *, .gen-core::before, .progress .bar i, .stage, .p-label, .result-frame.develop, .result-frame.develop::after, .result-done *, .ref-scan *, .reference-result, #reference-actions > *, .dl-fx *, .dl-bar, .btn.dl-done, .btn.dl-fail, #page-home .btn-primary::before, #generate::before { animation:none !important; }

 .page.leaving { transform:none; }

 .result-frame.develop::after { display:none; }

}



/* Motion v4: тосты, Мой ПикРум, шторка, iPhone */

.modal-backdrop { -webkit-backdrop-filter:none; backdrop-filter:none; background:rgba(0,0,0,.74); }

.nf-modal .modal-backdrop { -webkit-backdrop-filter:none; backdrop-filter:none; background:rgba(0,0,0,.56); }

.gen-aurora { filter:none; opacity:.6; }

a, button, [role="button"], label, summary { -webkit-tap-highlight-color:transparent; }

@supports (-webkit-touch-callout:none) {

 @media(max-width:760px){ input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), textarea, select { font-size:max(16px,1em) !important; } }

}



.toast { --t-c:var(--accent); gap:12px; min-height:58px; padding:9px; overflow:hidden; border-radius:20px; border:1px solid color-mix(in srgb,var(--t-c) 38%,#ffffff12); background:linear-gradient(150deg,#25282f,#111317 72%); box-shadow:0 22px 60px rgba(0,0,0,.62), 0 0 44px -14px color-mix(in srgb,var(--t-c) 55%,transparent), inset 0 1px 0 #ffffff14; font-size:14px; font-weight:600; letter-spacing:-.005em; }

.toast.tone-ok { --t-c:#4fd69c; } .toast.tone-err { --t-c:#ff6b6b; } .toast.tone-info { --t-c:#6cb8ff; } .toast.tone-hi { --t-c:var(--accent); }

.toast #toast-text { flex:1; line-height:1.35; }

.toast-ico { position:relative; flex:0 0 40px; width:40px; height:40px; display:grid; place-items:center; border-radius:13px; color:var(--t-c); background:color-mix(in srgb,var(--t-c) 15%,transparent); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--t-c) 34%,transparent); }

.toast-ico svg { width:20px; height:20px; }

.toast-ico::after { content:''; position:absolute; inset:0; border-radius:inherit; border:2px solid var(--t-c); opacity:0; pointer-events:none; }

.toast-close { width:34px; height:34px; flex-basis:34px; font-size:18px; color:var(--ink-3); background:rgba(255,255,255,.06); transition:background .2s, color .2s, transform .15s; }

.toast-close:hover { color:var(--ink); background:rgba(255,255,255,.12); }

.toast-timer { position:absolute; left:0; right:0; bottom:0; height:2px; background:linear-gradient(90deg,transparent,var(--t-c)); transform-origin:left; transform:scaleX(0); pointer-events:none; }

.toast.show-run .toast-ico { animation:t-ico .62s cubic-bezier(.3,1.7,.5,1) .06s backwards; }

.toast.show-run .toast-ico::after { animation:t-ring .8s ease-out .18s; }

.toast.show-run .toast-ico svg path { stroke-dasharray:60; stroke-dashoffset:60; animation:t-draw .55s ease-out .2s forwards; }

.toast.show-run #toast-text { animation:t-text .45s var(--ease-out) .08s backwards; }

.toast.show-run .toast-timer { animation:t-timer 4.2s linear forwards; }

.toast.tone-err.show-run:not(.bump) { animation:t-shake .5s ease .2s; }

@keyframes t-ico { from { transform:scale(.3) rotate(-25deg); opacity:0; } to { transform:none; opacity:1; } }

@keyframes t-ring { from { transform:scale(1); opacity:.9; } to { transform:scale(1.7); opacity:0; } }

@keyframes t-draw { to { stroke-dashoffset:0; } }

@keyframes t-text { from { opacity:0; transform:translateX(-8px); } to { opacity:1; transform:none; } }

@keyframes t-timer { from { transform:scaleX(1); } to { transform:scaleX(0); } }

@keyframes t-shake { 0%, 100% { transform:translateX(-50%); } 20% { transform:translateX(calc(-50% - 7px)); } 40% { transform:translateX(calc(-50% + 6px)); } 60% { transform:translateX(calc(-50% - 4px)); } 80% { transform:translateX(calc(-50% + 2px)); } }



.more-sheet-backdrop { bottom:0; z-index:890; background:rgba(3,3,5,.68); }

.more-sheet { -webkit-backdrop-filter:none; backdrop-filter:none; background:radial-gradient(120% 70% at 100% 0%, color-mix(in srgb,var(--accent) 16%,transparent), transparent 60%), linear-gradient(180deg,#1a1c21,#0e0f12); }

.more-sheet-list a { position:relative; overflow:hidden; grid-template-columns:46px minmax(0,1fr) 14px; transition:transform .18s, border-color .25s, background .25s; }

.more-sheet-list a::after { content:''; width:8px; height:8px; border-top:2px solid var(--ink-3); border-right:2px solid var(--ink-3); transform:rotate(45deg); justify-self:center; transition:transform .25s var(--ease-out), border-color .25s; }

.more-sheet-list a:active { transform:scale(.97); }

.more-sheet-list a:hover { border-color:color-mix(in srgb,var(--accent) 40%,var(--border)); }

.more-sheet-list a:hover::after { transform:translateX(3px) rotate(45deg); border-color:var(--accent); }

.more-sheet-list a > span { --tile:var(--accent); color:var(--tile); background:linear-gradient(145deg,color-mix(in srgb,var(--tile) 26%,transparent),color-mix(in srgb,var(--tile) 8%,transparent)); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tile) 30%,transparent); }

.more-sheet-list a > span svg { color:inherit; }

.more-sheet-list a:nth-child(1) > span { --tile:#6cb8ff; }

.more-sheet-list a:nth-child(2) > span { --tile:#4fd69c; }

.more-sheet-list a:nth-child(3) > span { --tile:#f5b544; }

.more-sheet.is-open .more-sheet-list a > span { animation:ms-ico .6s cubic-bezier(.3,1.7,.5,1) backwards; }

.more-sheet.is-open .more-sheet-list a:nth-child(1) > span { animation-delay:.1s; }

.more-sheet.is-open .more-sheet-list a:nth-child(2) > span { animation-delay:.16s; }

.more-sheet.is-open .more-sheet-list a:nth-child(3) > span { animation-delay:.22s; }

.more-sheet.is-open .more-sheet-head, .more-sheet.is-open .more-sheet-kicker, .more-sheet.is-open .more-sheet-foot { animation:m-child .45s var(--ease-out) backwards; }

.more-sheet.is-open .more-sheet-foot { animation-delay:.26s; }

@keyframes ms-ico { from { transform:scale(.4) rotate(-20deg); opacity:0; } to { transform:none; opacity:1; } }



#page-picrum .picrum-hub { position:relative; isolation:isolate; }

#page-picrum .picrum-hub::before { content:''; position:absolute; z-index:-1; top:-60px; right:-10%; width:min(520px,90vw); aspect-ratio:1; border-radius:50%; pointer-events:none; background:radial-gradient(circle, color-mix(in srgb,var(--accent) 20%,transparent), color-mix(in srgb,var(--violet) 8%,transparent) 45%, transparent 70%); animation:hub-orb 9s ease-in-out infinite alternate; }

@keyframes hub-orb { from { transform:translate(0,0) scale(1); } to { transform:translate(-40px,30px) scale(1.12); } }

#page-picrum.page-in .section-head > * { animation:m-child .6s var(--ease-out) backwards; }

#page-picrum.page-in .section-head > :nth-child(2) { animation-delay:.07s; }

#page-picrum.page-in .section-head > :nth-child(3) { animation-delay:.14s; }

#page-picrum.page-in .hub-tabs { animation:m-child .6s var(--ease-out) .2s backwards; }

.hub-tabs { position:relative; }

.hub-pill { position:absolute; left:0; top:0; z-index:0; width:0; border-radius:11px; pointer-events:none; opacity:0; background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 82%,#fff),var(--accent)); box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 34%,transparent), inset 0 1px 0 #ffffff60; transition:transform .5s cubic-bezier(.34,1.4,.5,1), width .5s cubic-bezier(.34,1.4,.5,1), opacity .2s; }

.hub-tabs.has-pill .hub-pill { opacity:1; }

.hub-tabs.has-pill .hub-tab { position:relative; z-index:1; background:transparent !important; box-shadow:none !important; transition:color .3s, transform .15s; }

.hub-tabs.has-pill .hub-tab.is-active { color:#0a0a0a; }

.hub-tab:active { transform:scale(.96); }

.hub-panel.hub-in { animation:hub-in .48s var(--ease-out); }

.hub-panel.hub-in.from-left { animation-name:hub-in-left; }

@keyframes hub-in { from { opacity:0; transform:translate3d(26px,0,0); } to { opacity:1; transform:none; } }

@keyframes hub-in-left { from { opacity:0; transform:translate3d(-26px,0,0); } to { opacity:1; transform:none; } }



.result-status-card { position:relative; transition:transform .3s var(--ease-out), border-color .3s, box-shadow .3s; }

.result-status-card img { transition:transform .7s var(--ease-out), filter .4s; }

@media(hover:hover){ .result-status-card:hover { transform:translateY(-3px); border-color:color-mix(in srgb,var(--accent) 34%,var(--border)); box-shadow:0 20px 50px -20px color-mix(in srgb,var(--accent) 40%,transparent); } .result-status-card:hover img { transform:scale(1.045); } }

.result-status-card .rs-flag::before { content:''; width:7px; height:7px; border-radius:50%; background:currentColor; box-shadow:0 0 10px currentColor; }

.result-status-card.is-pending .rs-flag::before { animation:rs-blink 1.2s ease-in-out infinite; }

.result-status-card.is-pending::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(105deg,transparent 35%,rgba(142,200,255,.1) 50%,transparent 65%); background-size:250% 100%; animation:rs-sweep 2.2s linear infinite; }

@keyframes rs-blink { 0%, 100% { opacity:1; transform:scale(1); } 50% { opacity:.35; transform:scale(.7); } }

@keyframes rs-sweep { from { background-position:150% 0; } to { background-position:-100% 0; } }

.rs-actions button { position:relative; overflow:hidden; transition:transform .15s, border-color .25s, background .25s, color .25s; }

.rs-actions button:not(:disabled):active { transform:scale(.94); }

.rs-actions button[data-rs-download]:not(:disabled):hover { color:var(--ink); border-color:color-mix(in srgb,var(--accent) 40%,var(--border)); }

.rs-actions .dl-fx { flex-direction:column; gap:3px; }

.rs-actions .dl-fx svg { width:18px; height:18px; }

.dl-run, .dl-done { position:relative; overflow:hidden; pointer-events:none; }

.rs-actions button.dl-done { background:color-mix(in srgb,#4fd69c 18%,var(--bg-alt)); border-color:#4fd69c; color:#d9ffe9; animation:dl-done-pop .5s var(--ease-spring); }

.rs-actions button.dl-fail { animation:dl-shake .42s ease; }

.result-status-card.rs-out { pointer-events:none; animation:rs-out .42s cubic-bezier(.5,0,.75,0) forwards; }

@keyframes rs-out { 0% { transform:none; opacity:1; } 30% { transform:scale(1.02); box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 60%,transparent); } 100% { transform:scale(.86) translateY(14px); opacity:0; } }

.quota-bar-track > i { position:relative; overflow:hidden; transition:width .9s var(--ease-out); }

.quota-bar-track > i::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent); transform:translateX(-100%); animation:q-shine 2.8s ease-in-out infinite; }

@keyframes q-shine { 0%, 40% { transform:translateX(-100%); } 100% { transform:translateX(100%); } }

.saved-prompt { transition:transform .3s var(--ease-out), border-color .3s; }

@media(hover:hover){ .saved-prompt:hover { transform:translateY(-3px); border-color:color-mix(in srgb,var(--accent) 34%,var(--border)); } }



@media(prefers-reduced-motion:reduce){

 .toast *, .toast.tone-err, .more-sheet *, .hub-panel, .hub-pill, #page-picrum *, #page-picrum .picrum-hub::before, .result-status-card, .result-status-card::after, .quota-bar-track > i::after { animation:none !important; }

 .toast.show-run .toast-ico svg path { stroke-dashoffset:0; }

}



/* Quota v2 */

.qb-card { --q:var(--accent); display:grid; grid-template-columns:44px minmax(0,1fr); gap:14px; align-items:start; padding:16px 18px 15px; border-radius:22px; border-color:color-mix(in srgb,var(--q) 26%,var(--border)); background:radial-gradient(120% 140% at 0% 0%, color-mix(in srgb,var(--q) 13%,transparent), transparent 55%), linear-gradient(160deg,#17191d,#0f1013); box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 18px 40px -26px color-mix(in srgb,var(--q) 60%,transparent); transition:border-color .4s, box-shadow .4s; }

.qb-card.is-warn { --q:#ff9f43; }

.qb-card.is-full { --q:#ff5c5c; }

.qb-ico { width:44px; height:44px; display:grid; place-items:center; border-radius:14px; color:var(--q); background:linear-gradient(145deg,color-mix(in srgb,var(--q) 24%,transparent),color-mix(in srgb,var(--q) 7%,transparent)); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--q) 30%,transparent); transition:color .4s, background .4s; }

.qb-ico svg { width:22px; height:22px; }

.qb-main { min-width:0; }

.qb-card .quota-bar-head { margin-bottom:2px; align-items:center; }

.qb-pct { padding:3px 9px; border-radius:999px; font:600 11px/1.3 var(--mono); color:var(--q); background:color-mix(in srgb,var(--q) 13%,transparent); white-space:nowrap; font-variant-numeric:tabular-nums; transition:color .4s, background .4s; }

.qb-card .quota-bar-value { display:block; margin:2px 0 11px; font-size:22px; font-weight:700; letter-spacing:-.03em; color:var(--ink-2); font-variant-numeric:tabular-nums; }

.qb-card .quota-bar-value em { color:var(--ink); }

.qb-track { position:relative; height:10px; border-radius:999px; background:rgba(255,255,255,.06); box-shadow:inset 0 1px 2px rgba(0,0,0,.5); overflow:visible; }

.qb-track::after { content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(90deg, transparent calc(25% - 1px), rgba(0,0,0,.55) calc(25% - 1px) 25%, transparent 25% calc(50% - 1px), rgba(0,0,0,.55) calc(50% - 1px) 50%, transparent 50% calc(75% - 1px), rgba(0,0,0,.55) calc(75% - 1px) 75%, transparent 75%); }

.qb-track > i { position:relative; border-radius:inherit; background:linear-gradient(90deg,color-mix(in srgb,var(--q) 55%,#fff),var(--q)) !important; box-shadow:0 0 16px color-mix(in srgb,var(--q) 55%,transparent) !important; overflow:hidden; }

.qb-card .quota-bar-note { margin-top:9px; color:var(--ink-3); }

.qb-segs { --n:10; display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); gap:5px; height:10px; }

.qb-segs i { border-radius:4px; background:rgba(255,255,255,.07); box-shadow:inset 0 1px 2px rgba(0,0,0,.45); }

.qb-segs i.on { background:linear-gradient(180deg,color-mix(in srgb,var(--q,var(--accent)) 60%,#fff),var(--q,var(--accent))); box-shadow:0 0 12px color-mix(in srgb,var(--q,var(--accent)) 50%,transparent); }

.qb-segs i.fresh { animation:seg-on .55s cubic-bezier(.3,1.7,.5,1) backwards; animation-delay:calc(var(--i) * 60ms + .15s); }

@keyframes seg-on { from { transform:scaleY(.2); opacity:0; } to { transform:none; opacity:1; } }

#reference-quota-card .qb-segs { margin:12px 0 10px; }

#reference-quota-card.is-full { --q:#ff5c5c; }

@media(max-width:600px){ .qb-card { grid-template-columns:40px minmax(0,1fr); gap:12px; padding:15px 15px 14px; } .qb-ico { width:40px; height:40px; border-radius:12px; } .qb-card .quota-bar-value { font-size:20px; } }

@media(prefers-reduced-motion:reduce){ .qb-segs i.fresh { animation:none; } }



/* Photo animation: one clear choice across Studio and the library. */

.result-life { padding:20px; gap:16px; animation:life-arrive .55s ease both; }

.result-life-copy b { font-size:18px; }

.result-life-go button { border-radius:14px; min-height:52px; color:var(--ink); background:color-mix(in srgb,var(--accent) 12%,var(--bg)); transition:transform .25s,background .25s,box-shadow .25s; }

.result-life-go button:hover,.rs-life:hover { background:color-mix(in srgb,var(--accent) 22%,var(--bg)); box-shadow:0 6px 24px color-mix(in srgb,var(--accent) 15%,transparent); transform:translateY(-2px); }

.rs-actions .rs-life { grid-column:1/-1; grid-row:1; flex-direction:row; gap:8px; min-height:46px; font-size:13px; color:var(--accent); border-color:color-mix(in srgb,var(--accent) 38%,var(--border)); background:color-mix(in srgb,var(--accent) 9%,var(--bg)); }

.result-lightbox-actions { flex-wrap:wrap; }

.result-lightbox-actions .rs-life { color:var(--accent); border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border)); }

    .life-dialog { z-index:7300; padding:20px; background:rgba(0,0,0,.72); backdrop-filter:blur(12px); }

    .life-presets { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 10px; }

    .life-presets button { border:1px solid var(--border); background:transparent; color:var(--ink); border-radius:999px; padding:8px 12px; cursor:pointer; }

    .life-presets button.is-active { border-color:var(--accent); color:var(--accent); }

    #life-prompt-studio, #life-prompt-dialog { width:100%; min-height:72px; margin:0 0 12px; }

.life-dialog-card { position:relative; width:min(440px,100%); max-height:calc(100dvh - 40px); overflow:auto; padding:28px; border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border)); border-radius:28px; background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--accent) 14%,var(--bg-alt)),var(--bg-alt) 65%); text-align:center; box-shadow:0 28px 100px #0008; animation:life-arrive .45s cubic-bezier(.2,.8,.2,1) both; }

.life-preview { position:relative; width:104px; height:124px; margin:0 auto 24px; }

.life-preview img { width:100%; height:100%; object-fit:cover; border-radius:18px; transform:rotate(-4deg); border:1px solid var(--border); }

.life-preview>span { position:absolute; bottom:-6px; right:-12px; display:grid; place-items:center; width:40px; height:40px; background:var(--accent); color:var(--bg); border-radius:14px; font-size:24px; box-shadow:0 6px 24px color-mix(in srgb,var(--accent) 30%,transparent); animation:life-glow 3s ease-in-out infinite; }

.life-eyebrow { font:10px var(--mono); letter-spacing:.18em; color:var(--accent); margin:0 0 12px; }

.life-dialog-card h2 { font-size:28px; letter-spacing:-.04em; margin:0 0 12px; }

.life-description,.life-note { color:var(--ink-2); font-size:14px; line-height:1.6; }

.life-choices { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:24px 0 18px; }

.life-choices button { display:flex; flex-direction:column; text-align:left; gap:8px; padding:18px 14px; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border)); border-radius:18px; background:color-mix(in srgb,var(--accent) 7%,var(--bg)); color:var(--ink); cursor:pointer; transition:transform .25s,background .25s,box-shadow .25s; }

.life-choices button:hover { transform:translateY(-4px); background:color-mix(in srgb,var(--accent) 16%,var(--bg)); box-shadow:0 12px 30px #0003; }

.life-choices button:active { transform:scale(.97); }

.life-choices b { font-size:20px; }.life-choices span { color:var(--accent); font-size:13px; }.life-choices i { font-style:normal; font-size:10px; color:var(--ink-2); margin-top:8px; }

.life-choices button:disabled { opacity:.5; cursor:wait; transform:none; }.life-note { font-size:12px; margin:0; }

@keyframes life-arrive { from { opacity:0; transform:translateY(18px) scale(.97); } to { opacity:1; transform:none; } }

@keyframes life-glow { 50% { box-shadow:0 6px 32px color-mix(in srgb,var(--accent) 50%,transparent); transform:rotate(8deg); } }

@media(max-width:700px) { .result-lightbox-actions .rs-life { grid-column:1/-1; grid-row:1; }.life-dialog-card { padding:24px 20px; }.result-life-go button { min-width:0; font-size:12px; padding:0 10px; } }

@media(prefers-reduced-motion:reduce) { .life-dialog-card,.result-life,.life-preview>span { animation:none; }.life-choices button,.result-life-go button { transition:none; } }



.result-lightbox-media video { width:100%; height:100%; min-height:0; object-fit:contain; }

.result-lightbox-media [hidden],.result-lightbox-actions [hidden],.result-edit[hidden] { display:none!important; }



.life-status { margin:14px 0; padding:18px; border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border)); border-radius:18px; background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 9%,var(--bg-alt)),var(--bg-alt)); animation:life-arrive .4s ease both; text-align:left; }

.life-status[hidden] { display:none!important; }.life-status-top { display:flex; align-items:center; gap:12px; }.life-status-top>div { flex:1; min-width:0; }.life-status b { font-size:15px; color:var(--ink); }.life-status p { margin:5px 0 0; color:var(--ink-2); font-size:12px; line-height:1.5; }.life-status time { color:var(--accent); font:11px var(--mono); flex-shrink:0; font-variant-numeric:tabular-nums; }

.life-orbit { display:grid; place-items:center; width:40px; height:40px; flex-shrink:0; border-radius:13px; background:color-mix(in srgb,var(--accent) 14%,var(--bg)); color:var(--accent); font-size:23px; }

.life-status[data-state="pending"] .life-orbit,.life-status[data-state="sending"] .life-orbit { animation:life-orbit 3s ease-in-out infinite; }

.life-track { display:block; position:relative; height:5px; margin-top:17px; overflow:hidden; border-radius:99px; background:color-mix(in srgb,var(--accent) 12%,var(--bg)); }

.life-track>span { position:absolute; top:0; bottom:0; width:42%; border-radius:99px; background:linear-gradient(90deg,transparent,var(--accent),color-mix(in srgb,var(--accent) 55%,white)); box-shadow:0 0 12px var(--accent); animation:life-flow 2.4s ease-in-out infinite; }

.life-status-caption { display:flex; align-items:center; justify-content:space-between; margin-top:10px; color:var(--ink-3); font-size:10px; line-height:1.4; }.life-dots { display:flex; gap:4px; padding-left:8px; }.life-dots i { width:4px; height:4px; border-radius:50%; background:var(--accent); animation:life-dot 1.5s ease-in-out infinite; }.life-dots i:nth-child(2) { animation-delay:.2s; }.life-dots i:nth-child(3) { animation-delay:.4s; }

.life-status[data-state="done"] { border-color:#58c79b80; }.life-status[data-state="done"] .life-orbit { background:#58c79b20; color:#58c79b; animation:life-arrive .4s ease; }.life-status[data-state="failed"] { border-color:#f5687880; }.life-status[data-state="failed"] .life-orbit { color:#f56878; }

.life-dialog.is-working .life-choices,.life-dialog.is-working .life-description { display:none; }.life-dialog.is-working .life-preview>span { animation:life-orbit 3s ease-in-out infinite; }.life-dialog.is-working .life-note { margin-top:16px; }

.result-life.is-busy { opacity:1; }.result-life.is-busy .result-life-go { display:none; }

.result-tools { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 4px; }

.result-tools[hidden] { display:none !important; }

.result-tool { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 14px; border:1px solid var(--border); border-radius:999px; background:var(--bg); color:var(--ink-2); font:600 13px var(--font); }

.result-tool span { font:11px var(--mono); color:var(--ink-3); }

.result-tool.is-live { color:var(--ink); border-color:color-mix(in srgb,var(--accent) 40%,var(--border)); background:color-mix(in srgb,var(--accent) 10%,var(--bg)); cursor:pointer; }

.result-tool.is-live:hover { background:color-mix(in srgb,var(--accent) 18%,var(--bg)); }

.result-tool.is-soon { opacity:.45; cursor:not-allowed; }

.result-tools.is-busy .result-tool.is-live { opacity:.6; pointer-events:none; }

.result-status-card.is-pending>.rs-body:first-child { display:grid; justify-items:center; align-content:center; min-height:220px; background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 13%,var(--bg)),var(--bg)); }.result-status-card.is-pending>.rs-body:first-child p { display:flex; flex-direction:column; align-items:center; gap:10px; width:100%; }.life-pending-art { display:grid; place-items:center; width:64px; height:64px; border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border)); border-radius:22px; color:var(--accent); font-size:34px; animation:life-orbit 3s ease-in-out infinite; }.result-status-card.is-pending .life-track { width:80%; margin-top:10px; }.result-status-card.is-pending strong { color:var(--ink); }

@keyframes life-flow { 0% { left:-45%; } 100% { left:105%; } }@keyframes life-orbit { 0%,100% { transform:rotate(-8deg) scale(.96); box-shadow:0 0 0 0 transparent; } 50% { transform:rotate(12deg) scale(1.04); box-shadow:0 0 30px color-mix(in srgb,var(--accent) 18%,transparent); } }@keyframes life-dot { 0%,100% { opacity:.3; transform:translateY(0); } 50% { opacity:1; transform:translateY(-3px); } }

@media(max-width:480px) { .life-status { padding:14px; }.life-status-top { gap:9px; }.life-orbit { width:34px; height:34px; }.life-status b { font-size:14px; } }

@media(prefers-reduced-motion:reduce) { .life-status,.life-orbit,.life-track>span,.life-pending-art,.life-dots i { animation:none!important; }.life-track>span { left:30%; } }



/* Gallery cinema polish — preserve all generation controls */

#page-picrum .result-status-card { border-radius:24px;background:var(--surface);box-shadow:0 12px 32px #00000018;animation:gallery-reveal .55s var(--ease-out) both; }

#page-picrum .result-status-card:nth-child(2n) { animation-delay:.06s; }

.rs-media { position:relative;overflow:hidden;background:var(--bg); }

#page-picrum .rs-media img,#page-picrum .rs-media video { display:block;width:100%;height:auto!important;max-height:560px;object-fit:contain;cursor:pointer; }

#page-picrum .result-status-card:hover .rs-media img { transform:none; }

.rs-video-badge { position:absolute;top:14px;left:14px;padding:8px 12px;border:1px solid #ffffff30;border-radius:100px;background:#00000080;color:white;font-size:12px;backdrop-filter:blur(12px);pointer-events:none; }

#page-picrum .result-status-card .rs-body { padding:18px; }

#page-picrum .result-status-card h3 { margin:10px 0;font-size:18px;letter-spacing:-.025em; }

.rs-meta { display:flex;flex-wrap:wrap;gap:5px 12px;line-height:1.6; }

.rs-actions { gap:8px;margin-top:16px; }

.rs-actions button { min-height:48px;border-radius:13px;background:transparent;font-size:11px; }

.rs-actions .rs-life { min-height:48px!important;flex-direction:row;gap:9px;font-size:13px!important;background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 16%,var(--bg)),color-mix(in srgb,var(--accent) 6%,var(--bg)))!important; }

.rs-actions .rs-life:hover { box-shadow:0 0 24px color-mix(in srgb,var(--accent) 16%,transparent); }

.rs-processing { position:relative;min-height:330px;overflow:hidden;display:grid;align-items:end;background:radial-gradient(ellipse at 30% 20%,color-mix(in srgb,var(--accent) 25%,var(--bg)),var(--bg) 75%); }

.rs-processing>img { position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;animation:cinema-drift 8s ease-in-out infinite alternate; }

.rs-processing::after { content:'';position:absolute;inset:0;background:linear-gradient(transparent 15%,#08080bcc 70%,#08080b);pointer-events:none; }

.rs-processing-caption { position:relative;z-index:1;display:grid;justify-items:center;gap:9px;padding:32px 24px;color:white;text-align:center; }

.rs-processing-caption>span:not(.life-pending-art):not(.life-track) { color:#ffffffa0;font-size:12px; }

.rs-processing .life-track { width:100%;margin-top:10px; }

.rs-processing .life-pending-art { width:48px;height:48px;border-radius:16px;font-size:25px;background:#ffffff0a;backdrop-filter:blur(8px); }

.rs-cinema { position:absolute;inset:0;display:grid;place-items:center; }

.rs-cinema>span { position:relative;top:-55px;font-size:70px;color:var(--accent);opacity:.8;animation:life-orbit 4s ease-in-out infinite; }

.rs-cinema i { position:absolute;width:220px;height:220px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:38%;transform:rotate(25deg);animation:cinema-ring 9s linear infinite; }

.rs-cinema i:nth-child(3) { width:270px;height:270px;animation-direction:reverse; }.rs-cinema i:nth-child(4) { width:320px;height:320px;opacity:.4; }

.result-lightbox { padding:20px;background:#050508d9;backdrop-filter:blur(18px); }

.result-lightbox-card { width:min(1000px,100%);height:auto;max-height:calc(100dvh - 40px);overflow:auto;border-radius:28px;box-shadow:0 30px 120px #0008; }

.result-lightbox-media { flex:none;min-height:0;display:block;background:#08080a; }

.result-lightbox-media img,.result-lightbox-media video { width:100%;height:auto;max-height:65dvh;object-fit:contain; }

.result-lightbox-bar { flex-direction:column;align-items:stretch;padding:20px;gap:18px; }

.result-lightbox-bar b { font-size:21px;letter-spacing:-.035em; }.result-lightbox-bar p { line-height:1.65; }

.result-lightbox-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }

.result-lightbox-actions .btn { width:100%;min-width:0;padding:10px;font-size:12px;border-radius:14px;min-height:48px; }

.result-lightbox-actions #result-lightbox-upscale { background:var(--bg);color:var(--accent);border:1px solid var(--border); }

.result-lightbox-actions #result-lightbox-life { background:color-mix(in srgb,var(--accent) 14%,var(--bg)); }

.result-lightbox-actions #result-lightbox-delete { background:transparent;color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 25%,var(--border)); }

.result-edit { padding:0 20px 20px; }.result-edit summary { cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:18px;font-size:14px;font-weight:600; }.result-edit summary span { color:var(--ink-3);font-size:11px;font-weight:400; }.result-edit summary::after { content:'+';color:var(--accent);font-size:20px; }.result-edit[open] summary::after { content:'−'; }.result-edit[open] textarea { animation:gallery-reveal .3s ease both; }

@keyframes gallery-reveal { from { opacity:0;transform:translateY(14px); } to { opacity:1;transform:none; } }

@keyframes cinema-drift { from { transform:scale(1.02) translateX(-1%); } to { transform:scale(1.1) translateX(1%); } }

@keyframes cinema-ring { to { transform:rotate(385deg); } }

@media(max-width:700px) { .result-lightbox { padding:10px;place-items:center; }.result-lightbox-card { width:100%;height:auto;max-height:calc(100dvh - 20px);border:1px solid var(--border);border-radius:23px; }.result-lightbox-media img,.result-lightbox-media video { height:auto;max-height:58dvh; }.result-lightbox-bar { padding:16px; }.result-edit { padding:0 16px 18px; }.result-lightbox-actions .rs-life { grid-column:auto;grid-row:auto; }.result-lightbox .modal-close { top:10px;right:10px; }.rs-processing { min-height:220px; } }

@media(prefers-reduced-motion:reduce) { #page-picrum .result-status-card,.rs-processing>img,.rs-cinema i,.rs-cinema>span,.result-edit[open] textarea { animation:none!important; } }



/* Desktop gallery: keep each card at its own content height */

#page-picrum .result-status-grid { grid-template-columns:repeat(auto-fill,minmax(200px,240px)); justify-content:start; gap:14px; align-items:start; }

#page-picrum .result-status-card { align-self:start; min-height:0; width:100%; }

#page-picrum .rs-media,#page-picrum .rs-processing { aspect-ratio:3/4; height:auto; min-height:0; max-height:320px; flex:none; }

#page-picrum .rs-media img,#page-picrum .rs-media video { position:absolute; inset:0; width:100%; height:100%!important; max-height:none; object-fit:contain; }

#page-picrum .result-status-card .rs-body { padding:12px 12px 14px; }

#page-picrum .result-status-card h3 { margin:6px 0; font-size:15px; min-height:0; }

#page-picrum .rs-actions { min-height:0; margin-top:10px; gap:6px; }

#page-picrum .rs-actions button { min-height:40px; }

#page-picrum .rs-processing-caption { padding:16px 12px; gap:6px; }

#page-picrum .rs-processing-caption strong { font-size:15px; }

@media(min-width:701px) {

 #page-picrum .rs-processing { min-height:0; aspect-ratio:4/5; }

 #page-picrum .rs-processing-caption { padding:36px 24px; gap:12px; }

 #page-picrum .rs-processing-caption strong { font-size:22px; }

 #page-picrum .rs-cinema { inset:0; }

 #page-picrum .rs-cinema>span { font-size:68px; }

}



/* Equal desktop media and action rows */

@media(min-width:701px) {

 #page-picrum .rs-media,#page-picrum .rs-processing { aspect-ratio:3/4; height:auto; min-height:0; max-height:320px; flex:none; }

 #page-picrum .rs-media img,#page-picrum .rs-media video { position:absolute; inset:0; width:100%; height:100%!important; max-height:none; object-fit:contain; }

 #page-picrum .rs-body { display:flex; flex-direction:column; }

 #page-picrum .result-status-card h3 { min-height:0; }

 #page-picrum .rs-meta { min-height:0; }

 #page-picrum .rs-actions { min-height:0; align-content:end; margin-top:10px; }

 #page-picrum .rs-actions .rs-life { grid-row:1; }

 #page-picrum .rs-actions button:not(.rs-life) { grid-row:2; }

}





.operation-card{position:relative;width:min(900px,100%);max-height:calc(100dvh - 32px);overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:32px;border-radius:28px;border:1px solid var(--border);background:var(--bg-alt);box-shadow:0 24px 90px #0009}

.operation-preview{position:relative;overflow:hidden;min-height:280px;border-radius:20px;background:var(--bg)}

.operation-preview .operation-generation{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;margin:0;border-radius:inherit;--p:0}

.operation-card.is-finished .operation-generation *,.operation-card.is-finished .operation-generation .gen-core::before{animation:none!important}

.operation-generation .gen-core-pct{font-size:32px}

.operation-preview img{width:100%;height:100%;max-height:65dvh;object-fit:contain;display:block}

.operation-preview:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,color-mix(in srgb,var(--accent) 25%,transparent),transparent);transform:translateY(-100%);animation:operation-scan 3s ease-in-out infinite;pointer-events:none}

.operation-card>.modal-close{position:absolute;top:12px;right:12px;z-index:2}.operation-copy{align-self:center;text-align:left;padding:20px 0}.operation-copy h2{font-size:clamp(24px,3vw,36px);line-height:1.1;margin:12px 0 20px}.operation-copy p{color:var(--muted);line-height:1.6}.operation-pulse{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--accent);animation:operation-pulse 1.8s ease-in-out infinite;margin-right:8px}.operation-card.is-finished .operation-preview:after,.operation-card.is-finished .operation-pulse{animation:none}.operation-card.is-finished .operation-preview:after{display:none}

.life-dialog-card{width:min(640px,100%)}



.operation-card:focus{outline:none}

.operation-preview:after{background:linear-gradient(transparent 40%,color-mix(in srgb,var(--accent) 18%,transparent) 49%,color-mix(in srgb,var(--accent) 65%,transparent) 50%,transparent 51%);animation:operation-scan 4s ease-in-out infinite}

.operation-photo-badge{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:1;white-space:nowrap;padding:9px 15px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:999px;background:#111c;color:var(--accent);font-size:12px;backdrop-filter:blur(12px)}

.operation-card:not([data-kind="video"]) .operation-photo-badge,.operation-card.is-finished .operation-photo-badge{display:none}

.operation-card .operation-working{display:none}

.operation-card .operation-track span{animation:none;transform:none;transition:width .8s ease;background:var(--accent)}

#operation-stages{margin-top:14px}

.operation-card .operation-progress{background:none;border:0;padding:0}

.operation-progress{padding:16px 18px;margin:22px 0 16px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--accent) 5%,var(--bg))}

.operation-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:13px;font-weight:600;color:var(--text)}

.operation-working{color:var(--accent);letter-spacing:4px;animation:operation-pulse 1.8s ease-in-out infinite}

.operation-track{height:6px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--bg))}

.operation-track span{display:block;width:38%;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 40%,transparent),var(--accent));animation:operation-progress-slide 2.8s ease-in-out infinite}

.operation-copy .operation-time{font-size:14px;margin:12px 0;color:var(--muted)}.operation-time strong{color:var(--accent);font-weight:600}.operation-copy .operation-close-note{font-size:13px;line-height:1.6;margin-top:14px}

.operation-card.is-finished .operation-working{display:none}.operation-card.is-finished .operation-track span{animation:none;width:100%;opacity:.25}

@keyframes operation-progress-slide{0%{transform:translateX(-110%)}100%{transform:translateX(365%)}}

@media(prefers-reduced-motion:reduce){.operation-track span,.operation-working,.operation-preview:after{animation:none}.operation-track span{width:100%;opacity:.5}}



@keyframes operation-scan{to{transform:translateY(100%)}}@keyframes operation-pulse{50%{opacity:.35;transform:scale(.7)}}

@media(max-width:700px){.operation-card{grid-template-columns:1fr;gap:8px;padding:24px 20px}.operation-preview{min-height:0;height:35dvh}.operation-preview img{height:100%}.operation-copy{padding:8px 0}.operation-copy h2{margin:8px 0 12px}}

@media(prefers-reduced-motion:reduce){.operation-preview:after,.operation-pulse{animation:none}}



/* Video trends share the account theme and keep motion optional. */

#page-video .section-head { max-width:780px; padding-bottom:30px; }

.video-intro { display:flex;flex-wrap:wrap;gap:10px;margin-top:24px; }

.video-intro span { padding:9px 14px;border:1px solid var(--border);border-radius:30px;color:var(--ink-3);font-size:12px; }

#page-video .video-grid { gap:24px; }

#page-video .v-card { border-radius:24px;box-shadow:0 12px 35px rgba(0,0,0,.13); }

#page-video .v-frame { aspect-ratio:3/4; }

#page-video .v-cap { padding:20px; }

#page-video .v-cap h3 { font-size:21px;letter-spacing:-.4px; }

#page-video .v-cap p { margin:8px 0 18px;color:var(--ink-3); }

#page-video .g-use { width:100%;min-height:46px;border-radius:14px; }

.trend-dialog { position:fixed;inset:0;z-index:1100;padding:24px;display:grid;place-items:center;background:rgba(0,0,0,.78);backdrop-filter:blur(16px); }

.trend-dialog[hidden] { display:none; }

.trend-card { position:relative;width:min(960px,100%);max-height:calc(100dvh - 48px);overflow:auto;display:grid;grid-template-columns:1fr 1fr;background:var(--bg-alt,var(--surface));border:1px solid var(--border);border-radius:28px;box-shadow:0 30px 100px rgba(0,0,0,.5);animation:trendEnter .35s cubic-bezier(.2,.8,.2,1); }

.trend-film { position:relative;background:#080808;min-height:420px; }

.trend-film video { display:block;width:100%;height:100%;max-height:740px;object-fit:cover; }

.trend-film-caption { position:absolute;bottom:20px;left:20px;padding:8px 12px;border-radius:20px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;pointer-events:none; }

.trend-form { padding:40px 28px 28px;display:flex;flex-direction:column;gap:18px; }

.trend-form h2 { font-size:30px;letter-spacing:-.8px; }

.trend-form p { color:var(--ink-3);font-size:14px;line-height:1.6; }

.trend-close { position:absolute;top:12px;right:12px;z-index:3;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--ink);font-size:24px;cursor:pointer; }

.trend-upload { display:flex;align-items:center;gap:14px;padding:18px;border:1px dashed var(--border);border-radius:18px;cursor:pointer; }

.trend-upload input { width:100%;font-size:12px; }

#trend-photo { width:64px;height:80px;object-fit:cover;border-radius:10px; }

.trend-own { display:flex;gap:8px;overflow:auto; }

.trend-own-photo { flex:0 0 54px;height:70px;padding:0;border:1px solid var(--border);border-radius:9px;overflow:hidden;cursor:pointer; }

.trend-own-photo img { width:100%;height:100%;object-fit:cover; }

#trend-vars label { display:grid;gap:8px;font-size:13px; }

#trend-vars input { background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:12px;padding:12px; }

.trend-form .btn { width:100%;margin-top:auto; }

.trend-footnote { font-size:12px!important; }

@keyframes trendEnter { from {opacity:0;transform:translateY(20px) scale(.98)} to {opacity:1;transform:none} }

@media(max-width:700px){.trend-dialog{padding:10px}.trend-card{grid-template-columns:1fr;max-height:calc(100dvh - 20px);border-radius:20px}.trend-film{min-height:0;height:32dvh}.trend-film video{object-fit:contain}.trend-form{padding:22px;gap:14px}.trend-form h2{font-size:25px}#page-video .video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#page-video .v-cap{padding:12px}#page-video .v-cap h3{font-size:17px}#page-video .v-cap p{font-size:11px}#page-video .g-use{font-size:12px}}

@media(prefers-reduced-motion:reduce){.trend-card{animation:none}#page-video .v-card{transition:none}}




/* header-live-motion */


header nav{position:relative;isolation:isolate;}

header nav .nav-glide{position:absolute;left:0;bottom:3px;height:2px;border-radius:4px;background:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 32%,transparent);pointer-events:none;opacity:0;transition:transform .46s cubic-bezier(.22,1,.36,1),width .46s cubic-bezier(.22,1,.36,1),opacity .2s,background .4s;}

header nav.has-glide a::after{display:none;}

header nav a{transition:color .25s,transform .25s;}

header nav a:hover{transform:translateY(-1px);}

header nav a:active{transform:translateY(1px);}

.logo .word{background:linear-gradient(110deg,var(--accent) 10%,var(--accent-2,var(--accent)) 35%,color-mix(in srgb,var(--accent) 65%,white) 49%,var(--accent) 63%,var(--accent-2,var(--accent)) 88%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:picrum-brand-flow 7s ease-in-out infinite;}

@keyframes picrum-brand-flow{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}

@media(prefers-reduced-motion:reduce){.logo .word{animation:none;}header nav .nav-glide{transition:none;}header nav a:hover,header nav a:active{transform:none;}}


/* studio-cinema-layout */


.studio-open-result{margin:12px 0;width:100%;}

@media(min-width:900px){

#page-studio .person-slot.is-filled .dropzone.person-slot-media{height:180px;min-height:0;aspect-ratio:auto;}

#page-studio .person-slot-photo{height:100%;object-fit:contain;}

#page-studio #result-frame{height:300px;max-height:42dvh;aspect-ratio:auto!important;}

#page-studio #result-frame img{object-fit:contain;}

#page-studio .studio{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;}

.studio-cinema .result-lightbox-card{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:auto minmax(0,1fr);width:min(1100px,calc(100vw - 64px));height:min(760px,calc(100dvh - 64px));max-height:calc(100dvh - 64px);overflow:hidden;background:var(--surface);animation:studio-cinema-in .38s cubic-bezier(.22,1,.36,1) both;}

.studio-cinema .result-lightbox-media{grid-column:1;grid-row:1/3;position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--bg);display:block;}

.studio-cinema .result-lightbox-media img,.studio-cinema .result-lightbox-media video{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;}

.studio-cinema .result-lightbox-bar{grid-column:2;display:block;padding:32px 22px 20px;border-bottom:1px solid var(--border);}

.studio-cinema .result-lightbox-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px;}

.studio-cinema .result-lightbox-actions .btn{width:100%;min-width:0;grid-column:auto;grid-row:auto;}

.studio-cinema .result-edit{grid-column:2;padding:0 22px 24px;overflow:auto;}

.studio-cinema .result-edit summary{display:block;line-height:1.6;}

.studio-cinema .result-edit summary span{display:block;}

.studio-cinema .result-edit textarea{min-height:110px;}

}

@keyframes studio-cinema-in{from{opacity:0;transform:translateY(18px) scale(.97);}to{opacity:1;transform:none;}}

@media(prefers-reduced-motion:reduce){.studio-cinema .result-lightbox-card{animation:none;}}


/* studio-cinema-mobile */


@media(max-width:899px){

.studio-cinema{padding:12px 8px;align-items:center;}

.studio-cinema .result-lightbox-card{display:flex;flex-direction:column;width:min(100%,600px);height:auto;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;border-radius:24px;animation:studio-cinema-in .35s cubic-bezier(.22,1,.36,1) both;}

.studio-cinema .result-lightbox-media{position:relative;display:block;flex:none;width:100%;height:42dvh;min-height:180px;background:var(--bg);overflow:hidden;}

.studio-cinema .result-lightbox-media img,.studio-cinema .result-lightbox-media video{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:100%;object-fit:contain;}

.studio-cinema .result-lightbox-bar{display:block;padding:18px 16px;flex:none;}

.studio-cinema .result-lightbox-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;}

.studio-cinema .result-lightbox-actions .btn{grid-column:auto;grid-row:auto;min-width:0;min-height:46px;padding:10px 8px;font-size:12px;}

.studio-cinema .result-edit{flex:none;padding:0 16px calc(20px + env(safe-area-inset-bottom));}

.studio-cinema .result-edit summary{display:block;line-height:1.6;}

.studio-cinema .result-edit summary span{display:block;}

.studio-cinema .result-edit textarea{min-height:100px;font-size:16px;}

.studio-cinema .result-edit .btn{min-height:48px;}

}

@media(prefers-reduced-motion:reduce){.studio-cinema .result-lightbox-card{animation:none;}}


/* studio-person-compact */


#page-studio .person-slot.is-filled .dropzone.person-slot-media{width:min(100%,180px);height:220px;aspect-ratio:auto;align-self:flex-start;border-radius:18px;}

#page-studio .person-slot.is-filled .person-slot-photo{object-fit:contain;}

#page-studio .person-slot-badge{left:7px;right:7px;bottom:7px;min-height:26px;padding:4px 7px;font-size:11px;}

@media(max-width:700px){#page-studio .person-slot.is-filled .dropzone.person-slot-media{width:min(100%,150px);height:190px;}}


/* studio-slots-aligned */


#page-studio .people-slots{grid-template-columns:repeat(2,minmax(0,180px));justify-content:start;align-items:start;gap:14px;}

#page-studio .people-slots[data-count="1"]:not(.is-with-add){grid-template-columns:minmax(0,180px);}

#page-studio .person-slot-label{height:16px;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

#page-studio .person-slot .dropzone.person-slot-media,#page-studio .person-slot.is-filled .dropzone.person-slot-media,#page-studio .person-slot-add{box-sizing:border-box;width:100%;height:220px;min-height:0;aspect-ratio:auto;border-radius:18px;}

#page-studio .person-slot-add{margin-top:24px;align-self:start;}

#page-studio .person-slot-actions{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;}

#page-studio .person-slot-actions .ps-btn{box-sizing:border-box;width:100%;min-width:0;padding:8px 6px;white-space:normal;overflow-wrap:anywhere;}

#page-studio .person-slot-actions .ps-btn-wide{grid-column:auto;}

@media(max-width:700px){

#page-studio .people-slots{grid-template-columns:repeat(2,minmax(0,150px));gap:10px;}

#page-studio .people-slots[data-count="1"]:not(.is-with-add){grid-template-columns:minmax(0,150px);}

#page-studio .person-slot .dropzone.person-slot-media,#page-studio .person-slot.is-filled .dropzone.person-slot-media,#page-studio .person-slot-add{height:190px;}

#page-studio .person-slot-actions .ps-btn{font-size:11px;min-height:38px;}

#page-studio .ps-empty-title{font-size:12px;}

#page-studio .ps-empty-hint{font-size:10px;}

}


/* gallery-mobile-width-fix */


@media(max-width:700px){

#page-picrum .result-status-grid{grid-template-columns:minmax(0,1fr);justify-content:stretch;}

#page-picrum .result-status-card{width:100%;min-width:0;}

#page-picrum .rs-media,#page-picrum .rs-processing{max-height:none;}

}


/* gallery-desktop-fill */


@media(min-width:701px){

#page-picrum .result-status-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));justify-content:stretch;}

#page-picrum .rs-media,#page-picrum .rs-processing{max-height:none;aspect-ratio:3/4;}

}


/* payment-polish */


#checkout-modal .modal-card,#payment-result-modal .modal-card{width:min(440px,calc(100vw - 28px));padding:30px;border-radius:28px;background:radial-gradient(ellipse at 10% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 65%),var(--bg-alt);box-shadow:0 28px 90px #0008;border:1px solid var(--border-strong);animation:payment-enter .45s cubic-bezier(.2,.8,.2,1) both}

.co-emblem{position:relative;display:grid;place-items:center;width:44px;height:44px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:18px;color:var(--accent);font-size:28px;background:color-mix(in srgb,var(--accent) 8%,transparent);margin-bottom:12px}.co-emblem span{position:absolute;right:-8px;top:-6px;font-size:17px;animation:payment-glint 3s ease-in-out infinite}

.co-eyebrow{font-family:var(--mono);font-size:9px;letter-spacing:1.8px;color:var(--ink-3);margin:0 0 12px}#checkout-modal h3{font-size:25px;letter-spacing:-.6px}#checkout-modal .co-summary{margin:6px 0;color:var(--ink-2)}#checkout-modal .co-price{font-size:34px;letter-spacing:-1px;margin:6px 0 4px;font-variant-numeric:tabular-nums}.co-reassurance{font-size:12px;color:var(--ink-3);margin:0 0 16px}

#checkout-modal .co-method{display:flex;align-items:center;gap:13px;text-align:left;border-radius:16px;min-height:62px;padding:10px 16px;transition:transform .25s,box-shadow .25s,border-color .25s}#checkout-modal .co-method b{display:block;font-size:14px}#checkout-modal .co-method small{display:block;font-size:11px;font-weight:400;margin-top:4px;opacity:.75}.co-method-icon{font-size:24px;width:30px;flex:none}.co-arrow{margin-left:auto;transition:transform .25s}#checkout-modal .co-method:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #0003}#checkout-modal .co-method:hover .co-arrow{transform:translate(2px,-2px)}#checkout-modal .co-method:active:not(:disabled){transform:scale(.98)}#checkout-modal .co-method[data-method="sbp"]{background:linear-gradient(120deg,#187b53,#239267);color:white}#checkout-modal .co-note{font-size:11px;line-height:1.5;margin:0 2px 8px;padding-left:10px}#checkout-modal [hidden],#payment-result-modal[hidden]{display:none!important}

.co-status{padding:14px;border:1px solid var(--border);border-radius:12px;margin-top:16px;color:var(--ink-2);font-size:12px;line-height:1.5}.is-paying .co-status:before{content:'';display:inline-block;width:13px;height:13px;margin-right:8px;vertical-align:middle;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:face-save-spin 1s linear infinite}

#payment-result-modal .modal-card{text-align:center}#payment-result-title{font-size:27px;letter-spacing:-.6px}#payment-result-copy{font-size:14px;line-height:1.7;color:var(--ink-2);margin:14px 0 24px}#payment-result-action{width:100%;min-height:48px}.payment-result-dismiss{background:none;border:0;color:var(--ink-3);padding:16px 10px 0;font:inherit;font-size:12px;cursor:pointer}.payment-scene{height:155px;position:relative;margin:0 auto 20px;width:200px}.payment-wallet{position:absolute;bottom:8px;left:52px;width:96px;height:68px;border-radius:20px;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 15%,var(--bg));display:grid;place-items:center;color:var(--accent);box-shadow:0 0 38px color-mix(in srgb,var(--accent) 15%,transparent);animation:wallet-breathe 3s ease-in-out infinite}.payment-wallet span{position:absolute;right:-9px;bottom:-8px;border-radius:50%;background:var(--accent);color:var(--bg);font-size:17px;width:28px;height:28px;display:grid;place-items:center}.flying-coin{position:absolute;left:80px;top:0;width:34px;height:34px;border:2px solid var(--accent);background:var(--bg-alt);border-radius:50%;font-style:normal;display:grid;place-items:center;color:var(--accent);box-shadow:0 0 20px color-mix(in srgb,var(--accent) 25%,transparent);animation:coin-delivery 2.8s ease-in-out infinite}.flying-coin:nth-child(2){animation-delay:.5s;left:34px}.flying-coin:nth-child(3){animation-delay:1s;left:136px}.payment-failure{display:none;position:absolute;inset:30px 52px;width:96px;height:96px;border:1px solid #ff727866;border-radius:28px;background:#ff727810;color:#ff9298;font-size:52px;align-items:center;justify-content:center;animation:payment-error-in .6s ease both}.is-failure .payment-wallet,.is-failure .flying-coin{display:none}.is-failure .payment-failure{display:flex}

@keyframes payment-enter{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}@keyframes payment-glint{50%{opacity:.45;transform:rotate(35deg) scale(.8)}}@keyframes coin-delivery{0%{opacity:0;transform:translateY(-12px) rotateY(0)}20%{opacity:1}75%,100%{opacity:0;transform:translateY(92px) rotateY(300deg) scale(.65)}}@keyframes wallet-breathe{50%{box-shadow:0 0 50px color-mix(in srgb,var(--accent) 25%,transparent);transform:translateY(-2px)}}@keyframes payment-error-in{0%{opacity:0;transform:scale(.8)}65%{transform:scale(1.04)}100%{opacity:1;transform:scale(1)}}

@media(max-width:480px){#checkout-modal .modal-card,#payment-result-modal .modal-card{padding:25px 20px;border-radius:24px}#checkout-modal .co-method{min-height:65px}.co-reassurance{margin-bottom:20px}}@media(prefers-reduced-motion:reduce){#checkout-modal .modal-card,#payment-result-modal .modal-card,.payment-wallet,.flying-coin,.payment-failure,.co-emblem span,.is-paying .co-status:before{animation:none}.flying-coin{top:10px}.co-method,.co-arrow{transition:none}}


/* gallery-equal-status-height */


#page-picrum .result-status-grid{align-items:stretch;}

#page-picrum .result-status-card{align-self:stretch;}

#page-picrum .rs-body{display:flex;flex-direction:column;flex:1;}

#page-picrum .rs-actions{grid-template-rows:48px 44px;gap:8px;min-height:100px;align-content:end;margin-top:auto;padding-top:10px;}

#page-picrum .rs-actions .rs-life{grid-row:1;}

#page-picrum .rs-actions button:not(.rs-life){grid-row:2;}


/* studio-centered-layout */


#page-studio .studio{grid-template-columns:minmax(0,1fr);width:100%;max-width:680px;margin-inline:auto;gap:20px;}

#page-studio .studio-input,#page-studio .studio-result{width:100%;box-sizing:border-box;}

#page-studio .people-slots{justify-content:center;}

#page-studio .studio-face-pick{justify-content:center;flex-wrap:wrap;}

#page-studio .studio-result{align-self:stretch;}

#page-studio .result-empty{min-height:220px;}

@media(min-width:701px){

#page-studio .people-slots{grid-template-columns:repeat(2,minmax(0,210px));gap:18px;}

#page-studio .people-slots[data-count="1"]:not(.is-with-add){grid-template-columns:minmax(0,210px);}

#page-studio .person-slot .dropzone.person-slot-media,#page-studio .person-slot.is-filled .dropzone.person-slot-media,#page-studio .person-slot-add{height:270px;}

}


/* share-layout-polish */
.result-lightbox-actions #result-lightbox-delete{grid-column:1/-1;grid-row:auto}.result-lightbox-actions #result-lightbox-share{border:1px solid var(--border);background:var(--surface-2)}.share-stamp b{display:flex;align-items:center;gap:6px;font-size:15px;letter-spacing:-.5px}.share-stamp .aperture{width:22px;height:22px;flex-shrink:0}
/* quality-photo-design */


.upscale-progress{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:24px;padding:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%,var(--surface)),var(--surface));overflow:hidden;box-shadow:0 12px 40px #0002}.quality-photo{position:relative;width:150px;height:180px;overflow:hidden;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--bg);box-shadow:0 8px 22px #0004}.quality-photo img{width:100%;height:100%;object-fit:contain;display:block;animation:quality-detail 4s ease-in-out infinite}.quality-scan{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,color-mix(in srgb,var(--accent) 24%,transparent) 48%,var(--accent) 50%,transparent 52%);animation:quality-sweep 3s ease-in-out infinite;pointer-events:none}.quality-spark{position:absolute;top:10px;right:10px;width:28px;height:28px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);border-radius:50%;color:var(--accent);animation:quality-glint 2s ease-in-out infinite}.quality-photo-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;padding:18px 5px 9px;background:linear-gradient(transparent,#000b);color:#fff;font-size:8px;letter-spacing:1.3px}.upscale-progress b{font-size:18px;line-height:1.3}.upscale-progress p{line-height:1.6;margin:10px 0 20px}.upscale-bar{height:5px}.upscale-bar i{box-shadow:0 0 14px var(--accent)}@keyframes quality-sweep{0%{translate:0 -100%}100%{translate:0 100%}}@keyframes quality-detail{0%,100%{filter:brightness(.88)}50%{filter:brightness(1.08)}}@keyframes quality-glint{50%{transform:scale(1.12);box-shadow:0 0 20px color-mix(in srgb,var(--accent) 25%,transparent)}}@media(max-width:600px){.upscale-progress{grid-template-columns:100px minmax(0,1fr);padding:14px;gap:14px}.quality-photo{width:100px;height:135px;border-radius:12px}.upscale-progress b{font-size:15px}.upscale-progress p{font-size:11px;margin:8px 0 14px}.quality-photo-caption{font-size:6px;letter-spacing:.8px}}@media(prefers-reduced-motion:reduce){.quality-photo img,.quality-scan,.quality-spark{animation:none}.quality-scan{display:none}}


/* site styles */
.uploaded-tools{padding:18px;border:1px solid var(--border);border-radius:20px;margin:18px 0;background:var(--surface)}.uploaded-tools b{font-size:15px}.uploaded-tools p{color:var(--ink-2);font-size:12px;line-height:1.5;margin:7px 0 15px}.uploaded-tool-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px}.uploaded-tool-buttons .btn{display:flex;flex-direction:column;gap:5px;min-width:0;white-space:normal;text-align:center;min-height:70px;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.uploaded-tool-buttons small{font-size:10px;color:var(--ink-3)}
/* managed-content-style */
#managed-banner[hidden],#managed-banner-image[hidden]{display:none!important}.managed-banner{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding:32px;margin:24px 0 48px;border:1px solid var(--border);border-radius:24px;background:var(--surface)}.managed-banner:has(img:not([hidden])){grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.managed-banner img{width:100%;max-height:360px;object-fit:contain;border-radius:18px}.managed-banner h2{font-size:clamp(24px,3vw,38px);line-height:1.15;margin:12px 0;overflow-wrap:anywhere}.managed-banner p{color:var(--ink-2);line-height:1.7;margin:0 0 22px;white-space:pre-line;overflow-wrap:anywhere}[data-content]{overflow-wrap:anywhere}@media(max-width:650px){.managed-banner,.managed-banner:has(img:not([hidden])){grid-template-columns:1fr;padding:22px;gap:20px}} 
/* site styles */
#product-maintenance{display:flex;gap:16px;padding:20px;max-width:1200px;margin:16px auto;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--ink)}#product-maintenance[hidden]{display:none}#product-maintenance>span{color:var(--accent);font-size:28px}#product-maintenance p{font-size:14px;color:var(--ink-2);line-height:1.6;margin:6px 0 0}.tier h3{font-size:14px;margin:0 0 18px}.studio-maintenance #product-maintenance{border-color:var(--accent)}@media(max-width:700px){#product-maintenance{margin:12px 16px}}
/* site styles */


#styles-grid.catalog-sections{display:block}.catalog-section{margin-bottom:40px}.catalog-section h2{display:flex;align-items:center;gap:16px;margin:0 0 18px;font-size:24px}.catalog-section h2 small{font-size:12px;font-weight:400;color:var(--muted,#aaa)}.catalog-section-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.catalog-section-grid>*{min-width:0}#catalog-search:-webkit-autofill,#catalog-search:-webkit-autofill:hover,#catalog-search:-webkit-autofill:focus{-webkit-text-fill-color:var(--text,#eee);-webkit-box-shadow:0 0 0 1000px var(--panel,#1b1b1d) inset;caret-color:var(--text,#eee)}@media(max-width:1100px){.catalog-section-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.catalog-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-section h2{font-size:21px;justify-content:space-between}.catalog-section{margin-bottom:30px}}



.catalog-open-all,.catalog-category-back{min-height:46px;padding:12px 22px;border:1px solid var(--line,rgba(255,255,255,.18));border-radius:14px;background:var(--surface,#222);color:var(--fg,#eee);font:inherit;cursor:pointer}.catalog-open-all{display:block;margin:20px auto 0;transition:transform .2s,background .2s}.catalog-open-all:hover{transform:translateY(-2px);background:var(--surface-2,#303035)}.catalog-category-window{position:fixed;inset:0;z-index:2500;background:rgba(0,0,0,.78);backdrop-filter:blur(14px);padding:24px;display:flex;justify-content:center;animation:catalog-window-enter .25s ease}.catalog-category-panel{width:min(1320px,100%);min-width:0;overflow:auto;overscroll-behavior:contain;background:var(--bg,#090909);border:1px solid var(--line,#333);border-radius:24px;padding:0 24px 28px}.catalog-category-panel>header{position:sticky;top:0;z-index:2;background:var(--bg,#090909);display:flex;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line,#333);margin-bottom:24px}.catalog-category-panel>header h2{margin:0;font-size:24px}.catalog-category-panel>header>span{margin-left:auto;color:var(--muted,#aaa);font-size:13px}.catalog-category-back:focus-visible,.catalog-open-all:focus-visible{outline:2px solid var(--accent,#f57591);outline-offset:3px}@keyframes catalog-window-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media(max-width:600px){.catalog-category-window{padding:0}.catalog-category-panel{border-radius:0;border:0;padding:0 14px calc(24px + env(safe-area-inset-bottom))}.catalog-category-panel>header{gap:12px;padding-top:calc(14px + env(safe-area-inset-top));flex-wrap:wrap}.catalog-category-panel>header h2{font-size:20px}.catalog-category-panel>header>span{font-size:11px}.catalog-category-back{padding:10px 14px}}@media(prefers-reduced-motion:reduce){.catalog-category-window{animation:none}.catalog-open-all{transition:none}}


/* home-how-polish */


#page-home .home-how{background:transparent}

#page-home .home-how .steps{gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}

#page-home .home-how .step{position:relative;padding:30px;border:1px solid var(--border);border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 6%,transparent),rgba(20,20,23,.65));box-shadow:inset 0 1px 0 rgba(255,255,255,.04);transition:transform .25s ease,border-color .25s ease}

#page-home .home-how .step:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}

#page-home .home-how .num{display:flex;align-items:center;gap:18px;font-size:42px;font-weight:600;line-height:1;letter-spacing:-.06em}

#page-home .home-how .num::after{content:'';height:1px;flex:1;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 40%,transparent),transparent)}

#page-home .home-how .step h3{margin:26px 0 12px;font-size:23px;letter-spacing:-.025em}

#page-home .home-how .step p{font-size:15px;line-height:1.75}

@media(max-width:800px){#page-home .home-how .steps{grid-template-columns:1fr}#page-home .home-how .step{padding:24px}#page-home .home-how .num{font-size:34px}#page-home .home-how .step h3{margin-top:18px}}

@media(prefers-reduced-motion:reduce){#page-home .home-how .step{transition:none}#page-home .home-how .step:hover{transform:none}}


/* ledger-unclip */
#pf-spend{max-height:none;overflow:visible}.spend-day-body{padding:0!important}.spend-day.is-open .spend-day-body{padding:2px 12px 12px!important;max-height:none}
/* wallet-history-dialog-style */


.wallet-history-open{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:12px 16px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--text);font:inherit;font-weight:600;cursor:pointer;transition:background .2s,transform .2s}.wallet-history-open:hover{background:color-mix(in srgb,var(--accent) 15%,transparent);transform:translateY(-1px)}

.wallet-history-dialog{width:min(520px,calc(100% - 24px));max-height:85dvh;box-sizing:border-box;margin:auto;padding:24px;border:1px solid var(--border);border-radius:24px;background:var(--surface,#202023);color:var(--text,#fff);box-shadow:0 24px 100px #0009;overflow:auto}.wallet-history-dialog::backdrop{background:#000a;backdrop-filter:blur(6px)}.wallet-history-dialog[open]{animation:wallet-window-in .25s ease both}.wallet-history-dialog h3{padding-right:40px;margin:0 0 18px}.wallet-history-dialog .pf-desc{margin-bottom:18px}.wallet-history-close{position:absolute;right:16px;top:16px;width:32px;height:32px;border:1px solid var(--border);border-radius:50%;background:transparent;color:inherit;font-size:22px;cursor:pointer}.wallet-history-dialog .spend-summary{margin-bottom:16px}.wallet-history-dialog .spend-toolbar{margin-bottom:16px}.wallet-history-dialog .spend-day{margin-bottom:10px}.wallet-history-dialog .pf-history-toggle{width:100%}

@keyframes wallet-window-in{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.wallet-history-dialog[open]{animation:none}.wallet-history-open{transition:none}}


/* profile-referral-front-style */


#profile-view .pf-referral-front{grid-column:1/-1;position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--accent) 30%,var(--border));background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 12%,var(--bg-alt)),var(--bg-alt));display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.75fr);gap:14px 28px}

.pf-referral-front h3{margin:0}.pf-referral-front #ref-registration-bonus{grid-column:1;margin:0;color:var(--ink);font-size:16px;line-height:1.6}.pf-referral-front .ref-actions{grid-column:1;margin:0;display:flex;gap:12px;flex-wrap:wrap}.pf-referral-front .ref-code{grid-column:2;grid-row:1/3;align-self:center;min-width:0;margin:0}.pf-referral-front .ref-code span{overflow-wrap:anywhere;min-width:0}.pf-referral-front .pf-ref-stats{grid-column:2;grid-row:3;min-width:0}.pf-referral-front .ref-conditions{grid-column:1/-1;border-top:1px solid var(--border);padding-top:12px;color:var(--ink-3);font-size:13px}.ref-conditions summary{cursor:pointer;width:fit-content}.ref-conditions .pf-desc{margin:12px 0 0}

@media(max-width:700px){#profile-view .pf-referral-front{display:flex;flex-direction:column;gap:14px}.pf-referral-front .ref-code{width:100%;box-sizing:border-box}.pf-referral-front .ref-actions>*{flex:1;white-space:normal;min-height:46px}.pf-referral-front .pf-ref-stats{width:100%}.pf-referral-front .ref-conditions{order:8}}


/* profile-wallet-polish */


#pf-panel-overview{align-items:stretch}

.pf-wallet-overview{display:flex;flex-direction:column;position:relative;overflow:hidden;background:radial-gradient(ellipse at 95% 0%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 65%),var(--bg-alt)}

.pf-wallet-overview .wallet-history-open{margin-top:auto;min-height:48px;position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--accent) 24%,var(--border))}

.pf-wallet-overview .wallet-history-open::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.1),transparent 75%);transform:translateX(-110%);transition:transform .65s}

.pf-wallet-overview .wallet-history-open:hover::before{transform:translateX(110%)}

.pf-wallet-overview .wallet-flow{display:flex;align-items:center;justify-content:center;gap:18px;flex:1;min-height:65px;margin:8px 0 16px;color:var(--accent)}

.wallet-flow span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));background:color-mix(in srgb,var(--accent) 8%,transparent);font-size:18px}

.wallet-flow i{height:1px;width:42px;position:relative;background:color-mix(in srgb,var(--accent) 25%,transparent)}

.wallet-flow i::after{content:'';position:absolute;width:8px;height:3px;top:-1px;border-radius:8px;background:var(--accent);animation:wallet-flow 2.8s ease-in-out infinite}

.wallet-flow i:last-of-type::after{animation-delay:1.4s}

@keyframes wallet-flow{0%{left:0;opacity:0}20%{opacity:1}80%{opacity:1}100%{left:calc(100% - 8px);opacity:0}}

#profile-view .pf-referral-front .ref-actions{align-self:start;align-items:center}

#profile-view .pf-referral-front .ref-actions .btn{height:46px;min-height:46px;box-sizing:border-box;padding:10px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .2s,box-shadow .2s}

#profile-view .pf-referral-front .ref-actions .btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003}

.saved-retention{font-size:11px;line-height:1.5;color:var(--ink-3)}

@media(prefers-reduced-motion:reduce){.wallet-flow i::after{animation:none}.pf-wallet-overview .wallet-history-open::before,#profile-view .pf-referral-front .ref-actions .btn{transition:none}}


/* prompt-quota-polish */


#saved-prompts-grid .saved-retention{display:block;margin:0;color:var(--accent);font:11px/1.35 var(--mono);letter-spacing:.02em}

#prompts-quota-bars{margin-bottom:24px}

#profile-view #pf-panel-settings{align-items:stretch}

#profile-view #pf-panel-settings>.pf-card{height:100%;min-width:0;margin:0;box-sizing:border-box}

#profile-view #pf-panel-settings>.pwa-profile-card{display:flex;flex-direction:column}

#profile-view #pf-panel-settings #pwa-profile-install{margin-top:auto}

.pwa-benefits{display:grid;gap:14px;list-style:none;padding:0;margin:24px 0}

.pwa-benefits li{display:flex;align-items:flex-start;gap:12px}

.pwa-benefits li>span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);font-size:16px}

.pwa-benefits b{display:block;color:var(--ink);font-size:13px;line-height:1.4;font-weight:600}

.pwa-benefits small{display:block;margin-top:3px;color:var(--ink-3);font-size:12px;line-height:1.5}

@media(max-width:700px){#profile-view #pf-panel-settings>.pf-card{height:auto}#profile-view #pf-panel-settings #pwa-profile-install{margin-top:24px}}


/* video-design-refinement */
#page-video .section-head{max-width:780px;padding-bottom:0;margin-bottom:28px;text-align:left}

#page-video .section-head h1{font-size:clamp(38px,5vw,68px);line-height:1.06;letter-spacing:-.055em;margin:16px 0 20px}

#page-video .section-head h1 span{color:var(--accent)}

#page-video .lede{max-width:570px;font-size:17px;line-height:1.65}

#page-video .video-intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0 40px;padding:24px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

#page-video .video-intro div{position:relative;padding-left:40px;min-width:0}

#page-video .video-intro span{position:absolute;left:0;top:1px;border:none;padding:0;color:var(--accent);font:12px var(--mono)}

#page-video .video-intro strong{display:block;font-size:15px;line-height:1.4}

#page-video .video-intro p{margin:6px 0 0;font-size:12px;line-height:1.6;color:var(--ink-3)}

#page-video .video-grid{gap:22px;align-items:stretch}

#page-video .v-card{min-width:0;display:flex;flex-direction:column;border-radius:22px;background:var(--surface);box-shadow:none;transition:transform .3s ease,border-color .3s ease}

#page-video .v-frame{flex:none;aspect-ratio:4/5;animation:none;transform:none}

#page-video .v-frame:hover{animation:none;transform:none}

#page-video .v-frame:after{display:none}

#page-video .v-cap{display:flex;flex-direction:column;gap:16px;flex:1;padding:20px;min-width:0;position:static;background:var(--surface)}

#page-video .v-cap h3{font-size:20px;line-height:1.3;margin:0;overflow-wrap:anywhere;min-height:2.6em}

#page-video .v-facts{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;font-size:12px;line-height:1.5;color:var(--ink-3)}

#page-video .v-facts strong{font-size:13px;color:var(--accent);font-weight:600}

#page-video .g-use{position:static;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;width:100%;margin-top:auto;padding:12px 16px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:13px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--ink);font-size:14px;font-weight:650;text-align:left;text-decoration:none;transition:background .25s ease,transform .25s ease}

#page-video .g-use:hover{background:color-mix(in srgb,var(--accent) 22%,var(--surface))}

#page-video .g-use span:last-child{font-size:21px;color:var(--accent)}

#trend-dialog{padding:24px;background:#000b}

#trend-dialog .trend-card{width:min(1000px,100%);grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);background:var(--surface);border-radius:26px;isolation:isolate}

#trend-dialog .trend-card *{box-sizing:border-box}

#trend-dialog .trend-film{min-width:0;min-height:0;display:flex;flex-direction:column;align-self:stretch;background:#090909}

#trend-dialog .trend-film video{width:100%;height:100%;min-height:0;max-height:calc(100dvh - 96px);flex:1;object-fit:contain}

#trend-dialog #trend-preview{display:none!important}#trend-dialog #trend-screen{display:block;width:100%;height:100%;min-height:0;flex:1;object-fit:contain;background:#090909}#trend-dialog #trend-play{cursor:pointer;border:0;color:var(--ink);font:inherit;min-height:40px}#trend-dialog .trend-photo-box{cursor:pointer}#trend-dialog .trend-photo-box.is-dragging{border-color:var(--accent);background:var(--surface)}#trend-dialog .trend-film-caption{position:static;flex:none;text-align:center;border-radius:0;margin:0;padding:13px 20px;background:#111;color:#aaa;font-size:11px;line-height:1.5}

#trend-dialog .trend-form{min-width:0;padding:34px 30px 26px;gap:16px;display:flex;flex-direction:column}

#trend-dialog .trend-heading{padding-right:28px}

#trend-dialog .eyebrow{font-size:10px;letter-spacing:.1em;color:var(--accent);display:block;margin-bottom:10px}

#trend-dialog h2{position:static;font-size:28px;line-height:1.16;letter-spacing:-.025em;overflow-wrap:anywhere;margin:0;color:var(--ink)}

#trend-dialog p{margin:0;font-size:12px;line-height:1.6;color:var(--ink-3)}

#trend-dialog .trend-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:12px;color:var(--ink-3)}

#trend-dialog #trend-details{font-size:15px;line-height:1.4;color:var(--accent);font-weight:650}

#trend-dialog .trend-close{width:34px;height:34px;display:grid;place-items:center;line-height:1;background:var(--surface);color:var(--ink);border:1px solid var(--border)}

#trend-dialog .trend-photo-box{display:flex;align-items:center;gap:16px;min-height:110px;padding:16px;border:1px dashed color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--accent) 4%,var(--surface))}

#trend-dialog .trend-photo-box>div{min-width:0;flex:1}

#trend-dialog .trend-photo-icon{display:inline-block;color:var(--accent);font-size:22px;margin-right:6px}

#trend-dialog #trend-photo:not([hidden])~div .trend-photo-icon{display:none}

#trend-dialog #trend-photo{flex:0 0 64px;width:64px;height:80px;border-radius:10px;object-fit:cover}

#trend-dialog #trend-photo-label{font-size:14px;line-height:1.5;overflow-wrap:anywhere}

#trend-dialog .trend-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}

#trend-dialog .trend-photo-actions button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 8px;min-height:44px;line-height:1.4;font:600 12px var(--font);border:1px solid var(--border);border-radius:12px;background:var(--bg-alt);color:var(--ink);cursor:pointer;transition:border-color .25s ease,background .25s ease}

#trend-dialog .trend-photo-actions button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}

#trend-dialog .trend-photo-actions span{font-size:19px;color:var(--accent)}

#trend-dialog [hidden]{display:none!important}

#trend-dialog .trend-library{padding:14px;border:1px solid var(--border);border-radius:14px;animation:trendEnter .25s ease}

#trend-dialog .trend-library-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:13px}

#trend-dialog .trend-library-heading button{background:none;border:0;color:var(--ink);cursor:pointer;font-size:22px}

#trend-dialog .trend-own{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px;max-height:220px;overflow:auto}

#trend-dialog .trend-own-photo{width:100%;height:auto;min-width:0;background:var(--bg-alt);border:1px solid var(--border);border-radius:10px;padding:0;overflow:hidden;color:var(--ink);cursor:pointer}

#trend-dialog .trend-own-photo img{display:block;width:100%;aspect-ratio:4/5;height:auto;object-fit:cover}

#trend-dialog .trend-own-photo span{display:block;font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding:6px}

#trend-dialog #trend-vars{display:grid;gap:12px}

#trend-dialog #trend-vars:empty{display:none}

#trend-dialog #trend-vars label{gap:7px;font-size:12px;line-height:1.5}

#trend-dialog #trend-vars input{width:100%;min-width:0;font:14px var(--font);min-height:44px;padding:10px 12px;background:var(--bg-alt);border:1px solid var(--border);border-radius:10px;color:var(--ink)}

#trend-dialog #trend-start{position:static;display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin:2px 0 0;padding:13px 16px;border:0;border-radius:13px;background:var(--accent);color:#151012;font:700 14px var(--font);line-height:1.5;white-space:normal;cursor:pointer;transition:filter .2s ease,transform .2s ease}

#trend-dialog #trend-start:disabled{opacity:.45;cursor:default}

#trend-dialog #trend-start:not(:disabled):hover{filter:brightness(1.1);transform:translateY(-1px)}

#trend-dialog #trend-status{min-height:20px}

#trend-dialog .trend-footnote{font-size:11px!important;text-align:center;max-width:350px;align-self:center}

#trend-dialog button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

@media(max-width:700px){#page-video .video-intro{grid-template-columns:1fr;gap:18px;margin:24px 0 30px;padding:22px 0}#page-video .video-intro div{padding-left:36px}#page-video .video-intro p{margin-top:3px}#page-video .video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#page-video .v-cap{padding:13px;gap:12px}#page-video .v-cap h3{font-size:15px;min-height:2.6em}#page-video .v-facts{flex-direction:column;align-items:flex-start;gap:4px;font-size:11px}#page-video .v-facts strong{font-size:12px}#page-video .g-use{font-size:12px;padding:10px;min-height:43px;gap:5px}#trend-dialog{padding:10px}#trend-dialog .trend-card{grid-template-columns:1fr;max-height:calc(100dvh - 20px);border-radius:20px}#trend-dialog .trend-film{height:32dvh;min-height:220px}#trend-dialog .trend-film video{height:calc(100% - 38px);flex:1;max-height:none}#trend-dialog .trend-film-caption{padding:10px 16px}#trend-dialog .trend-form{padding:22px 20px;gap:14px}#trend-dialog h2{font-size:25px}#trend-dialog .trend-photo-box{min-height:100px;padding:14px}#trend-dialog .trend-close{background:#161616;color:white;border-color:#ffffff22}}

@media(prefers-reduced-motion:reduce){#trend-dialog *,#page-video .v-card{animation:none!important;transition:none!important}}



#trend-dialog .trend-face-slots{display:grid;grid-template-columns:1fr 1fr;gap:10px}#trend-dialog .trend-face-slots[hidden]{display:none}#trend-dialog .trend-face-slots button{display:flex;align-items:center;gap:9px;min-height:64px;padding:10px;border:1px solid var(--border);border-radius:13px;background:var(--bg-alt);color:var(--ink);font:600 13px var(--font);cursor:pointer;transition:border-color .2s,background .2s}#trend-dialog .trend-face-slots button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}#trend-dialog .trend-face-slots img{width:38px;height:44px;border-radius:7px;object-fit:cover}#trend-dialog .trend-face-slots img[hidden]{display:none}


/* video-cinema-finish */


#page-video .section-head{position:relative;max-width:none;padding:42px 38px 34px;border:1px solid var(--border);border-radius:28px;background:radial-gradient(ellipse at 90% 0%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 65%),linear-gradient(135deg,var(--surface),var(--bg));overflow:hidden}

#page-video .section-head .eyebrow{color:var(--accent);letter-spacing:.17em}

#page-video .section-head h1{max-width:780px;margin-top:18px;font-size:clamp(36px,5vw,66px)}

#page-video .video-intro{gap:14px;border:0;padding:0;margin:22px 0 32px}

#page-video .video-intro>div{padding:20px 18px 20px 65px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}

#page-video .video-intro span{left:18px;top:20px;width:32px;height:32px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:50%;background:color-mix(in srgb,var(--accent) 8%,var(--surface))}

#page-video .v-card{border:1px solid var(--border);border-radius:24px;overflow:hidden;animation:videoCardIn .55s both;animation-delay:var(--entrance,0ms);box-shadow:0 10px 35px #00000012}

#page-video .v-frame{overflow:hidden;position:relative}

#page-video .v-frame video{transition:transform .65s cubic-bezier(.2,.7,.2,1)}

#page-video .v-frame:after{display:block;content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0004,transparent 35%,transparent 70%,#0003)}

#page-video .v-badge{z-index:1;left:15px;top:15px;right:auto;padding:7px 11px;border:1px solid #ffffff30;border-radius:30px;background:#13131399;backdrop-filter:blur(12px);color:#fff;font-size:10px;letter-spacing:.08em}

#page-video .v-cap{padding:20px;gap:14px;background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 3%,var(--surface)),var(--surface))}

#page-video .v-cap h3{font-size:21px;letter-spacing:-.025em}

#page-video .v-facts{padding-top:12px;border-top:1px solid var(--border)}

#page-video .v-facts strong{padding:5px 9px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));border-radius:8px;white-space:nowrap}

#page-video .g-use{border:0;background:var(--accent);color:#171012;border-radius:12px;min-height:49px;box-shadow:0 5px 20px color-mix(in srgb,var(--accent) 10%,transparent)}

#page-video .g-use span:last-child{color:inherit;transition:transform .2s}

#page-video .g-use:hover{background:var(--accent);filter:brightness(1.06)}

#page-video .g-use:hover span:last-child{transform:translate(2px,-2px)}

#trend-dialog{backdrop-filter:blur(12px);background:#000a}

#trend-dialog .trend-card{border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:28px;box-shadow:0 30px 100px #0008;animation:videoDialogIn .35s cubic-bezier(.2,.8,.2,1) both}

#trend-dialog .trend-film{position:relative;border-right:1px solid var(--border)}

#trend-dialog .trend-film:before{content:"ПРЕВЬЮ СЦЕНАРИЯ";position:absolute;top:18px;left:18px;z-index:1;padding:8px 12px;border:1px solid #ffffff25;border-radius:30px;background:#111a;color:#fff;backdrop-filter:blur(10px);font:10px var(--mono);letter-spacing:.1em;pointer-events:none}

#trend-dialog #trend-play{font:600 12px var(--font);color:#eee;background:#161616;min-height:48px;transition:background .2s}

#trend-dialog #trend-play:hover{background:#252525}

#trend-dialog .trend-form{background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--accent) 6%,transparent),transparent 60%),var(--surface);padding:36px 30px 26px;gap:18px}

#trend-dialog h2{font-size:32px;letter-spacing:-.035em}

#trend-dialog .trend-summary{border:1px solid var(--border);border-radius:14px;padding:14px 16px;background:var(--bg-alt)}

#trend-dialog #trend-details{padding:5px 9px;background:color-mix(in srgb,var(--accent) 9%,var(--surface));border-radius:8px;white-space:nowrap}

#trend-dialog .trend-photo-box{padding:20px;min-height:125px;transition:background .2s,border-color .2s,transform .2s}

#trend-dialog .trend-photo-box:hover,#trend-dialog .trend-photo-box.is-dragging{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface))}

#trend-dialog .trend-photo-icon{width:36px;height:36px;display:inline-grid;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));margin:0 0 8px;font-size:24px}

#trend-dialog .trend-drop-hint{display:block;margin-top:8px;font-size:10px;color:var(--accent)}

#trend-dialog .trend-photo-actions button{min-height:48px;border-radius:13px}

#trend-dialog .trend-face-slots button{min-height:70px;border-radius:14px}

#trend-dialog #trend-start{min-height:54px;border-radius:14px;box-shadow:0 8px 26px color-mix(in srgb,var(--accent) 12%,transparent)}

#trend-dialog #trend-start:disabled{box-shadow:none}

#trend-dialog .trend-close{z-index:3;transition:transform .2s,background .2s}

#trend-dialog .trend-close:hover{transform:rotate(90deg)}

@keyframes videoCardIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

@keyframes videoDialogIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}

@media(hover:hover){#page-video .v-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 16px 40px #0003}#page-video .v-card:hover video{transform:scale(1.035)}}

@media(max-width:700px){#page-video .section-head{padding:28px 22px 24px;border-radius:22px}#page-video .section-head h1{font-size:38px}#page-video .lede{font-size:14px}#page-video .video-intro{grid-template-columns:1fr;gap:8px;margin:16px 0 24px}#page-video .video-intro>div{padding:14px 16px 14px 58px;border-radius:14px}#page-video .video-intro span{left:15px;top:14px}#page-video .v-card{border-radius:18px}#page-video .v-cap{padding:13px;gap:11px}#page-video .v-cap h3{font-size:16px}#page-video .v-badge{top:10px;left:10px;padding:5px 8px}#page-video .g-use{min-height:44px;font-size:12px}#trend-dialog .trend-card{border-radius:22px}#trend-dialog .trend-film{border-right:0;border-bottom:1px solid var(--border)}#trend-dialog .trend-form{padding:24px 20px;gap:15px}#trend-dialog h2{font-size:27px}#trend-dialog .trend-film:before{top:12px;left:12px;font-size:9px}#trend-dialog .trend-summary{padding:12px}#trend-dialog .trend-photo-box{min-height:115px;padding:16px}#trend-dialog .trend-own{grid-template-columns:repeat(3,minmax(0,1fr))}}

@media(prefers-reduced-motion:reduce){#page-video *,#trend-dialog *{animation:none!important;transition:none!important}}


/* site styles */
#trend-dialog .trend-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#141414;padding:12px 16px}#trend-dialog .trend-controls input{flex:1 1 65%;min-width:0;accent-color:var(--accent)}#trend-dialog .trend-controls button{flex:1 1 40%;border:1px solid #333;border-radius:10px;cursor:pointer;font:600 12px var(--font);color:#eee;padding:10px;min-height:40px}#trend-dialog #trend-time{font-size:11px;color:#aaa}#trend-dialog .trend-controls button:hover{background:#292929}
/* promo-card-design */
.promo-plastic{position:relative;isolation:isolate;overflow:hidden;width:100%;box-sizing:border-box;min-width:0;aspect-ratio:1.586;padding:clamp(18px,3vw,28px);border-radius:22px;color:#fff;background:radial-gradient(ellipse at 100% 0%,#ffb7b566,transparent 62%),linear-gradient(130deg,#5d233b,#221a29 62%,#43223b);border:1px solid #ffccdc55;box-shadow:0 18px 40px #0003,inset 0 1px #fff3;display:flex;flex-direction:column;justify-content:space-between;gap:12px;transition:transform .45s,box-shadow .45s}
.promo-plastic[data-theme=gold]{background:radial-gradient(ellipse at 100% 0%,#ffdd9366,transparent 62%),linear-gradient(130deg,#6b4925,#29201d 62%,#534128);border-color:#e6bf7955}
.promo-plastic[data-theme=violet]{background:radial-gradient(ellipse at 100% 0%,#c9aeff66,transparent 62%),linear-gradient(130deg,#503767,#211c30 62%,#413257);border-color:#cdb2ff55}
.promo-plastic:before{content:'';position:absolute;z-index:-1;inset:-60%;background:linear-gradient(110deg,transparent 40%,#ffffff18 49%,#ffffff04 53%,transparent 60%);transform:translateX(-35%) rotate(-15deg);transition:transform 1s;pointer-events:none}
.promo-plastic:hover:before,.promo-plastic.is-gift:before{transform:translateX(35%) rotate(-15deg)}
.promo-plastic:hover{transform:translateY(-3px)}.promo-brand{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;letter-spacing:.08em}.promo-brand b{font-size:18px;letter-spacing:-.03em}.promo-brand span{opacity:.65}.promo-title{font-size:clamp(20px,3vw,27px);font-weight:700;line-height:1.15;overflow-wrap:anywhere;margin:0}.promo-message{font-size:13px;line-height:1.5;opacity:.82;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0}.promo-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.promo-code{font-family:monospace;font-size:clamp(14px,2vw,20px);letter-spacing:.1em;overflow-wrap:anywhere;min-width:0}.promo-amount{flex-shrink:0;text-align:right;font-size:22px;font-weight:700}.promo-amount small{display:block;font-size:11px;font-weight:400;opacity:.7}
.promo-form{display:flex;gap:10px;flex-wrap:wrap}.promo-form input{flex:1;min-width:0;width:140px;border:1px solid var(--border,#444);border-radius:12px;padding:14px;background:var(--surface,#222);color:var(--ink,#fff);font:inherit;letter-spacing:.06em;transition:border-color .2s,box-shadow .2s}.promo-form input:focus{outline:none;border-color:var(--accent,#f6758f);box-shadow:0 0 0 4px #f6758f18}.promo-form button{min-height:48px}.promo-form.is-working{opacity:.7}.promo-form.is-working button{background-size:200% 100%;background-image:linear-gradient(100deg,#f6758f,#ffc8d3,#f6758f);animation:promo-flow 1.4s linear infinite}.promo-feedback{min-height:20px;font-size:13px;line-height:1.5;color:var(--ink-3,#aaa)}.promo-feedback.is-error{color:#ff8795}.promo-gift-wrap[hidden]{display:none}.promo-gift-wrap{animation:promo-unpack .65s cubic-bezier(.16,1,.3,1) both}.promo-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.promo-editor-fields{display:grid;gap:14px}.promo-editor-fields label{display:grid;gap:6px;font-size:13px}.promo-editor-fields input,.promo-editor-fields textarea,.promo-editor-fields select{width:100%;min-width:0;box-sizing:border-box}.promo-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:18px}.promo-list-item{min-width:0}.promo-list-meta{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:12px 4px;font-size:12px}.promo-list .promo-plastic{aspect-ratio:auto;min-height:210px}.promo-list .promo-message{font-size:12px}.promo-copy{display:block;width:100%;margin-top:10px}.promo-card-shell{max-width:520px;width:100%;margin:auto}.promo-preview-hint{font-size:12px;opacity:.6;margin:12px 0}.promo-plastic.is-gift{animation:promo-glow 1.5s ease-out}
@keyframes promo-flow{to{background-position:200% 0}}@keyframes promo-unpack{from{opacity:0;transform:translateY(20px) scale(.94)}to{opacity:1;transform:none}}@keyframes promo-glow{40%{box-shadow:0 0 45px #f6758f50,0 18px 40px #0003}}
@media(max-width:700px){.promo-editor-grid{grid-template-columns:1fr}.promo-plastic{aspect-ratio:auto;min-height:210px;border-radius:18px}.promo-form{display:grid;grid-template-columns:1fr}.promo-form input{width:100%;box-sizing:border-box}.promo-form button{width:100%}.promo-bottom{gap:8px}.promo-amount{font-size:20px}}
@media(prefers-reduced-motion:reduce){.promo-plastic,.promo-plastic:before,.promo-gift-wrap,.promo-form button{animation:none!important;transition:none!important;transform:none!important}}
.promo-share-dialog{margin:auto;position:fixed;inset:0;box-sizing:border-box;width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:var(--surface,#19191c);color:var(--ink,#fff);border:1px solid var(--border,#444);padding:48px 20px 20px;border-radius:26px;animation:promo-unpack .5s ease both}.promo-share-dialog::backdrop{background:#000a;backdrop-filter:blur(8px)}.promo-dialog-close{position:absolute;right:12px;top:8px;border:0;background:transparent;color:inherit;font-size:28px;width:40px;height:40px;cursor:pointer}.promo-share-dialog>.btn{width:100%;min-height:48px}.promo-share-dialog .promo-feedback{margin:16px 0}

/* site styles */

.promo-page-title{margin:0 0 20px;padding-right:32px;font-size:clamp(20px,4vw,28px);line-height:1.2;overflow-wrap:anywhere}.promo-page-text,.promo-page-note{margin:16px 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.promo-page-note{padding:12px 16px;border:1px solid #ffffff18;border-radius:14px;color:#b9b5bb}

/* site styles */
@media(prefers-reduced-motion:reduce){.promo-share-dialog,.promo-plastic.is-gift{animation:none}}
/* site styles */
.promo-plastic[data-theme=silver]{background:radial-gradient(ellipse at 100% 0%,#909aa888,transparent 62%),linear-gradient(130deg,#909aa8,#252932 62%,#909aa8);border-color:#909aa888}
.promo-plastic[data-theme=bronze]{background:radial-gradient(ellipse at 100% 0%,#bc815488,transparent 62%),linear-gradient(130deg,#bc8154,#36261d 62%,#bc8154);border-color:#bc815488}
.promo-plastic[data-theme=ocean]{background:radial-gradient(ellipse at 100% 0%,#448da788,transparent 62%),linear-gradient(130deg,#448da7,#172d3b 62%,#448da7);border-color:#448da788}
.promo-plastic[data-theme=emerald]{background:radial-gradient(ellipse at 100% 0%,#538d7688,transparent 62%),linear-gradient(130deg,#538d76,#1b3029 62%,#538d76);border-color:#538d7688}
.promo-brand b{display:flex;align-items:center;gap:8px;flex-shrink:0}.promo-brand b svg{width:25px;height:25px;flex-shrink:0}.promo-brand>span{overflow-wrap:anywhere;text-align:right;font-size:10px}.promo-rule-check{display:flex!important;align-items:center;gap:10px;padding:12px;border:1px solid var(--line-2,#444);border-radius:12px}.promo-rule-check input{width:20px!important;height:20px;accent-color:var(--gold,#b6a0f4)}
/* site styles */


#trend-dialog .trend-controls{position:absolute;inset:0;background:none;padding:0;pointer-events:none;display:block}

#trend-dialog .trend-controls button{pointer-events:auto;position:absolute;display:grid;place-items:center;padding:0;border:1px solid #ffffff40;border-radius:50%;background:#1119;backdrop-filter:blur(8px);color:white;font-size:23px;box-shadow:0 4px 20px #0004;transition:opacity .2s,transform .2s}

#trend-dialog #trend-play{left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;min-height:0;font-size:24px}

#trend-dialog .trend-film.is-playing #trend-play{opacity:0;pointer-events:none}

#trend-dialog .trend-film.is-playing.controls-visible #trend-play,#trend-dialog #trend-play:focus-visible{opacity:1;pointer-events:auto}

#trend-dialog #trend-sound{right:16px;bottom:20px;width:40px;height:40px;min-height:0;font-size:19px}

#trend-dialog #trend-seek,#trend-dialog #trend-time{display:none}

@media(min-width:701px){#trend-dialog .trend-card{height:min(680px,calc(100dvh - 48px));overflow:hidden;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#trend-dialog .trend-film{height:100%;overflow:hidden}#trend-dialog #trend-screen{height:100%;flex:none}#trend-dialog .trend-form{min-height:0;overflow:auto;padding:30px 24px 20px;gap:12px}#trend-dialog h2{font-size:28px}#trend-dialog .trend-photo-box{min-height:96px;padding:14px}#trend-dialog .trend-summary{padding:10px 12px}#trend-dialog .trend-photo-actions button{min-height:42px}#trend-dialog #trend-start{min-height:46px}}


/* site styles */


  .co-summary { color: var(--ink-2); font-size: 15px; margin-bottom: 8px; }

  .co-price { font-size: 28px; font-weight: 800; margin: 0 0 18px; }

  .co-methods { display: flex; flex-direction: column; gap: 10px; margin: 16px 0 0; }

  .co-method { width: 100%; font-family: var(--font); font-size: 15px; font-weight: 700; min-height: 48px; border-radius: var(--r-pill); padding: 12px 18px; cursor: pointer; }

  .co-method[data-method="bank_card"] { background: var(--accent); color: #1a1205; border: 0; }

  .co-method[data-method="foreign_card"] { background: transparent; color: var(--ink); border: 1px solid var(--border-strong); }

  .co-method[data-method="sbp"] { background: #21a038; color: #fff; border: 0; }

  .co-method:disabled { opacity: 0.45; cursor: not-allowed; }

  .co-email { display: block; margin-top: 16px; }

  #co-email { width: 100%; min-height: 46px; margin-top: 6px; background: var(--bg); border: 1px solid var(--border-strong); border-radius: var(--r-md); color: var(--ink); font-family: var(--font); font-size: 15px; padding: 0 14px; }

  .co-note { margin: 6px 0 18px 4px; padding-left: 10px; border-left: 2px solid var(--border-strong); color: color-mix(in srgb, var(--ink) 72%, transparent); font-family: var(--font); font-size: 12.5px; line-height: 1.35; text-align: left; }


/* share-card-design */
.share-card{text-align:center;max-width:480px}.share-kicker{font-size:9px;letter-spacing:1.8px;color:var(--accent);padding:10px 26px 0}.share-card h3{font-size:28px;letter-spacing:-1px;line-height:1.15;margin:12px 0 22px}.share-art{max-width:240px;margin:auto;border:1px solid var(--border);border-radius:18px;padding:10px;background:linear-gradient(145deg,var(--surface-2),var(--bg));transition:.25s}.share-art img,.share-art video{display:block;width:100%;height:210px;object-fit:contain;border-radius:9px;background:#0b0b0e}.share-stamp{display:flex;justify-content:space-between;align-items:center;padding:12px 2px 3px;font-size:11px}.share-stamp span{font-size:6px;letter-spacing:1px;color:var(--accent)}.share-art.none{padding:0;border:none}.share-art.none .share-stamp{display:none}.share-art.polaroid{background:#efebe6;border-radius:3px;padding:10px 10px 20px;transform:rotate(-1deg);color:#222}.share-art.polaroid img{border-radius:0}.share-art.cinema{padding:20px 0 10px;background:#080809;color:white}.share-art.cinema .share-stamp{padding:14px 12px 0}.share-frame-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:22px 0 16px}.share-frame-grid button{min-height:44px;min-width:0;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--ink-2);font:600 11px var(--font);cursor:pointer;transition:.2s}.share-frame-grid button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent)}.share-frame-grid button:active{transform:scale(.95)}.share-explain{font-size:13px;color:var(--ink-2);line-height:1.6;margin:15px 0}.share-note{font-size:11px;color:var(--ink-3);line-height:1.5;margin-top:18px}.share-card .btn{width:100%;min-height:46px;justify-content:center}.share-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.share-card input{width:100%;min-width:0;padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--bg);color:var(--ink-2);font-size:12px}#share-link-status{font-size:12px;color:var(--accent);margin:10px 0}#share-result-modal{z-index:7500}@media(max-width:700px){.share-card{max-width:none}.share-card h3{font-size:26px}.share-art img,.share-art video{height:180px}.share-art{max-width:215px}}@media(prefers-reduced-motion:reduce){.share-art,.share-frame-grid button{transition:none}}
/* cabinet-v1 */


/* ── Личный кабинет ── */

#profile-view{gap:16px;}

#profile-view .pf-card{border-radius:22px;padding:20px;gap:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 2.5%,var(--surface)),var(--surface));}

#profile-view .pf-card h3{display:flex;align-items:center;gap:10px;margin:0;font:700 15px/1.2 var(--font);letter-spacing:-.01em;text-transform:none;color:var(--ink);}

#profile-view .pf-card h3 svg{box-sizing:border-box;width:32px;height:32px;padding:7px;margin:0 !important;flex-shrink:0;border-radius:10px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);}

#profile-view .pf-desc{margin:0;font-size:13px;line-height:1.55;color:var(--ink-3);}



#profile-view .pf-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"ava id act" "stats stats stats" "quick quick quick";align-items:center;gap:18px 16px;padding:22px;border-color:color-mix(in srgb,var(--accent) 26%,var(--border));background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 62%),linear-gradient(180deg,var(--surface),var(--bg-alt));}

#profile-view .pf-hero::after{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 20%,transparent),transparent 70%);pointer-events:none;}

#profile-view .pf-hero > *{position:relative;z-index:1;}

#profile-view .pf-hero .pf-ava{grid-area:ava;position:relative;width:72px;height:72px;padding:3px;font-size:24px;overflow:visible;border-radius:20px;border:0;background:linear-gradient(160deg,color-mix(in srgb,var(--ink) 18%,transparent),color-mix(in srgb,var(--accent) 28%,transparent));box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 10%,transparent),0 10px 24px color-mix(in srgb,var(--accent) 16%,transparent);transition:transform .35s var(--ease-spring);}

#profile-view .pf-hero .pf-ava:active{transform:scale(.94);}

#profile-view .pf-ava img,#profile-view #pf-ava-txt{display:block;width:100%;height:100%;border-radius:16px;object-fit:cover;}

#profile-view #pf-ava-txt{display:grid;place-items:center;background:var(--accent);color:#1a1205;}

.pf-ava-cam{position:absolute;right:-4px;bottom:-4px;width:24px;height:24px;display:grid;place-items:center;border-radius:8px;color:var(--bg);background:color-mix(in srgb,var(--ink) 88%,var(--accent));border:2px solid var(--bg-alt);}

#profile-view .pf-hero .pf-id{grid-area:id;min-width:0;}

#profile-view #pf-name{margin:0;font-size:22px;line-height:1.15;letter-spacing:-.02em;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

#profile-view #pf-email{margin:3px 0 7px;font-size:13px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

#profile-view .pf-provider:empty{display:none;}

#profile-view .pf-hero .pf-actions{grid-area:act;display:flex;flex-direction:row;gap:8px;align-self:start;grid-column:auto;}

.pf-icon-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--border-strong);background:color-mix(in srgb,var(--bg) 55%,transparent);color:var(--ink-2);cursor:pointer;transition:color .2s,border-color .2s,transform .25s var(--ease-spring);}

.pf-icon-btn:hover{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));}

.pf-icon-btn:active{transform:scale(.9);}

#logout-btn:hover{color:var(--danger,#ff6b6b);border-color:color-mix(in srgb,var(--danger,#ff6b6b) 45%,var(--border));}

#profile-view .pf-hero:has(#pf-id-edit:not([hidden])) .pf-actions{display:none;}

#profile-view .pf-hero:has(#pf-id-edit:not([hidden])) .pf-id{grid-column:2 / -1;}

#profile-view .pf-edit{display:grid;gap:8px;}

#profile-view .pf-edit input{width:100%;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--border-strong);background:var(--bg);color:var(--ink);font:500 14px var(--font);}

#profile-view .pf-edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;}



.pf-hero-stats{grid-area:stats;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}

.pf-hs{display:flex;flex-direction:column;gap:3px;min-width:0;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 62%,transparent);color:inherit;text-decoration:none;transition:border-color .2s,transform .25s var(--ease-spring);}

.pf-hs:hover{text-decoration:none;border-color:color-mix(in srgb,var(--accent) 40%,var(--border));}

.pf-hs:active{transform:scale(.97);}

.pf-hs b{font-size:22px;line-height:1.1;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink);}

.pf-hs span{font-size:11px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.pf-hs.is-coins b{color:var(--accent);}

.pf-quick{grid-area:quick;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 -6px -6px;}

.pf-quick a{display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px 2px;border-radius:14px;color:var(--ink-2);font-size:12px;font-weight:600;text-decoration:none;transition:color .2s,background-color .2s;}

.pf-quick a:hover{text-decoration:none;color:var(--ink);background:color-mix(in srgb,var(--ink) 4%,transparent);}

.pf-quick a i{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);transition:transform .3s var(--ease-spring);}

.pf-quick a:first-child i{color:#1a1205;background:var(--accent);border-color:transparent;box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 30%,transparent);}

.pf-quick a:active i{transform:scale(.88);}



#profile-view .pf-section-nav{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0;padding:4px;overflow:visible;border-radius:16px;border:1px solid var(--border);background:var(--surface);}

#profile-view .pf-section-nav button{position:relative;z-index:1;min-width:0;padding:11px 4px;border:0;border-radius:12px;background:transparent;color:var(--ink-3);font:600 13px/1.2 var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .25s;}

#profile-view .pf-section-nav button[aria-selected="true"]{color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,transparent);}

#profile-view .pf-section-nav.has-pill button[aria-selected="true"]{background:transparent;}

.pf-nav-pill{position:absolute;left:0;top:0;z-index:0;border-radius:12px;pointer-events:none;background:color-mix(in srgb,var(--accent) 13%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent);opacity:0;transition:transform .45s var(--ease-spring),width .45s var(--ease-spring),opacity .2s;}

.pf-section-nav.has-pill .pf-nav-pill{opacity:1;}

#profile-view .pf-section-panel{gap:16px;}

#profile-view .pf-section-panel.pf-in{animation:pf-in .42s var(--ease-out) both;}

#profile-view .pf-section-panel.pf-in.from-left{animation-name:pf-in-left;}

@keyframes pf-in{from{opacity:0;transform:translateX(18px);}to{opacity:1;transform:none;}}

@keyframes pf-in-left{from{opacity:0;transform:translateX(-18px);}to{opacity:1;transform:none;}}



#profile-view .pf-wallet{display:block;}

#profile-view .pf-wallet > div{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:18px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));background:radial-gradient(120% 130% at 100% 0%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 55%),var(--bg-alt);}

#profile-view .pf-wallet .pc-amount{display:flex;align-items:center;gap:10px;margin:0;font-size:14px;}

#profile-view .pf-wallet .pc-amount b{display:inline;font-size:44px;line-height:1;letter-spacing:-.03em;color:var(--ink);}

#profile-view #pf-coins-unit{align-self:flex-end;padding-bottom:5px;font-size:14px;color:var(--ink-2);}

#profile-view #pf-coins-caption{font-size:12px;color:var(--ink-3);}

.pf-wallet-rates{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}

.pf-wallet-rates em{padding:6px 9px;border-radius:999px;border:1px solid var(--border-strong);color:var(--ink-2);font:600 10px/1 var(--mono);font-style:normal;letter-spacing:.04em;}

#profile-view .pf-card > .btn{min-height:48px;border-radius:14px;}



#profile-view .pf-danger{margin-top:4px;padding:0;border:1px solid color-mix(in srgb,var(--danger,#ff6b6b) 26%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--danger,#ff6b6b) 5%,transparent);}

.pf-danger summary{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;list-style:none;cursor:pointer;color:var(--danger,#ff6b6b);font-weight:600;font-size:14px;}

.pf-danger summary::-webkit-details-marker{display:none;}

.pf-danger summary svg{transition:transform .3s var(--ease-out);}

.pf-danger[open] summary svg{transform:rotate(180deg);}

.pf-danger > :not(summary){margin-left:16px;margin-right:16px;}

.pf-danger > :last-child{margin-bottom:16px;}

.pf-danger[open] > :not(summary){animation:m-fade .3s var(--ease-out) both;}



/* ── Сохранённые промпты ── */

#saved-prompts-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;}

#saved-prompts-grid .sp-v2{display:grid;grid-template-columns:84px minmax(0,1fr);grid-template-areas:"thumb body" "act act";gap:12px 14px;align-items:start;min-height:0;padding:14px;border-radius:20px;border:1px solid var(--border);background:radial-gradient(90% 80% at 100% 0%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 60%),var(--surface);transition:border-color .2s;}

#saved-prompts-grid .sp-v2:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));}

#saved-prompts-grid .sp-v2 .saved-prompt-thumb{grid-area:thumb;width:84px;height:104px;border-radius:14px;object-fit:cover;}

#saved-prompts-grid .sp-ph{display:grid;place-items:center;color:var(--accent);background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 70%),var(--bg-alt);}

#saved-prompts-grid .sp-ph svg{width:26px;height:26px;}

#saved-prompts-grid .sp-v2 .saved-prompt-body{grid-area:body;display:flex;flex-direction:column;gap:6px;min-width:0;height:auto;}

#saved-prompts-grid .sp-v2 .saved-lock{align-self:flex-start;padding:5px 8px;border-radius:999px;font-size:9px;background:color-mix(in srgb,var(--accent) 12%,transparent);}

#saved-prompts-grid .sp-v2:not(.is-ref) .saved-lock{color:var(--ink-2);background:color-mix(in srgb,var(--ink) 7%,transparent);}

#saved-prompts-grid .sp-v2 h3{margin:2px 0 0;font-size:16px;line-height:1.25;letter-spacing:-.01em;}

#saved-prompts-grid .sp-v2 p{margin:0;font:400 12.5px/1.5 var(--font);color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;}

#saved-prompts-grid .sp-v2 .saved-prompt-actions{grid-area:act;display:flex;gap:8px;margin:0;padding:0;}

#saved-prompts-grid .sp-v2 [data-saved-open]{flex:1;min-width:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;}

#saved-prompts-grid .sp-icon{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;padding:0;border-radius:12px;border:1px solid var(--border-strong);background:transparent;color:var(--ink-2);cursor:pointer;transition:color .2s,border-color .2s,transform .25s var(--ease-spring);}

#saved-prompts-grid .sp-icon:hover{color:var(--ink);}

#saved-prompts-grid .sp-icon:active{transform:scale(.9);}

#saved-prompts-grid .sp-del:hover{color:var(--danger,#ff6b6b);border-color:color-mix(in srgb,var(--danger,#ff6b6b) 45%,var(--border));}

#saved-prompts-grid .sp-icon.is-done{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));animation:mv-pop .4s var(--ease-spring);}

#saved-prompts-grid .saved-prompt.rs-out{pointer-events:none;animation:rs-out .4s cubic-bezier(.5,0,.75,0) forwards;}

#saved-prompts-grid .sp-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 20px;text-align:center;}

#saved-prompts-grid .sp-empty b{font-size:17px;color:var(--ink);}

#saved-prompts-grid .sp-empty span{max-width:36ch;font-size:13px;color:var(--ink-3);}

#saved-prompts-grid .sp-empty .btn{margin-top:8px;}



/* ── Окно промпта ── */

#secure-prompt-modal .secure-prompt-head{padding:24px 26px 18px;}

#secure-prompt-modal .secure-prompt-head h3{margin:14px 48px 6px 0;font-size:clamp(24px,4vw,34px);}

#secure-prompt-modal .secure-prompt-body{padding:18px 26px 22px;}

#secure-prompt-modal .secure-prompt-box{padding:16px 18px 10px;border-radius:18px;}

#secure-prompt-modal .secure-prompt-kicker{display:flex;align-items:center;justify-content:space-between;gap:10px;}

#secure-prompt-stats{font-style:normal;color:var(--ink-3);letter-spacing:.04em;text-transform:none;}

#secure-prompt-modal .secure-prompt-text{min-height:140px;max-height:min(36dvh,320px);padding:0 0 16px;resize:none;font:400 15px/1.75 var(--font);-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent);mask-image:linear-gradient(180deg,#000 82%,transparent);}

#secure-prompt-modal .secure-prompt-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:16px;}

#secure-prompt-modal .secure-prompt-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:14px;}

#secure-prompt-modal #secure-prompt-save{grid-column:1 / -1;min-height:42px;font-size:13px;}

#secure-prompt-modal .sp-copy{padding:0 18px;transition:color .2s,border-color .2s;}

#secure-prompt-modal .sp-copy .i-ok{display:none;}

#secure-prompt-modal .sp-copy.is-done{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));}

#secure-prompt-modal .sp-copy.is-done .i-copy{display:none;}

#secure-prompt-modal .sp-copy.is-done .i-ok{display:block;animation:mv-pop .4s var(--ease-spring);}

#secure-prompt-modal .sp-save.is-saved{color:var(--accent);}

#secure-prompt-modal .sp-save.is-saved svg{fill:currentColor;}

#secure-prompt-modal .secure-prompt-note{margin-top:10px;padding-top:12px;}



/* ── Превью образа ── */

#style-preview-modal .style-preview-media{position:relative;}

.sp-nav{position:absolute;top:50%;z-index:3;width:40px;height:40px;margin-top:-20px;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(10,10,12,.62);color:#fff;cursor:pointer;transition:transform .25s var(--ease-spring),background-color .2s;}

.sp-nav:hover{background:rgba(10,10,12,.8);}

.sp-nav:active{transform:scale(.88);}

.sp-prev{left:28px;}

.sp-next{right:28px;}

.sp-count{position:absolute;left:50%;bottom:30px;z-index:3;transform:translateX(-50%);padding:6px 10px;border-radius:999px;background:rgba(10,10,12,.62);color:#fff;font:600 11px/1 var(--mono);letter-spacing:.06em;pointer-events:none;}

.sp-count:empty,#style-preview-modal.sp-single .sp-nav{display:none;}

#style-preview-modal .style-preview-media.sp-swap img{animation:sp-swap .42s var(--ease-out);}

@keyframes sp-swap{from{opacity:0;transform:scale(.965);}to{opacity:1;transform:none;}}

#style-preview-modal .style-preview-actions{grid-template-columns:1fr 1fr;gap:10px;}

#style-preview-modal #style-preview-use{grid-column:1 / -1;}

#style-preview-modal .style-preview-actions .btn{white-space:nowrap;}

#style-preview-modal .style-preview-actions .prompt-reveal{grid-column:auto;min-height:48px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);font-size:14px;}

#style-preview-modal .style-preview-actions .prompt-reveal svg{color:var(--accent);}

#style-preview-modal .style-preview-actions:has(.prompt-reveal[hidden]) #style-preview-save{grid-column:1 / -1;}

#style-preview-modal .style-preview-thumb{transition:opacity .2s,transform .25s var(--ease-spring);}

#style-preview-modal .style-preview-thumb:active{transform:scale(.92);}



@media (min-width:900px){

  .pf-quick{gap:8px;margin:0;}

  .pf-quick a{flex-direction:row;justify-content:center;gap:10px;padding:8px 10px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 45%,transparent);font-size:13px;}

  .pf-quick a i{width:34px;height:34px;border-radius:10px;}

}

@media (max-width:600px){

  #profile-view .pf-hero{padding:18px;gap:16px 12px;}

  #profile-view .pf-hero .pf-ava{width:64px;height:64px;font-size:21px;border-radius:18px;}

  #profile-view .pf-ava img,#profile-view #pf-ava-txt{border-radius:14px;}

  #profile-view #pf-name{font-size:20px;}

  #profile-view .pf-card{padding:16px;border-radius:20px;}

  .pf-hs{padding:10px 11px;}

  .pf-hs b{font-size:20px;}

  #profile-view .pf-section-nav button{font-size:12px;padding:11px 2px;}

  #profile-view .pf-wallet .pc-amount b{font-size:40px;}

  #saved-prompts-grid{grid-template-columns:1fr;}

  #saved-prompts-grid .sp-v2{grid-template-columns:72px minmax(0,1fr);}

  #saved-prompts-grid .sp-v2 .saved-prompt-thumb{width:72px;height:90px;}

  #secure-prompt-modal .secure-prompt-head{padding:20px 18px 14px;}

  #secure-prompt-modal .secure-prompt-head h3{font-size:24px;margin-top:12px;}

  #secure-prompt-modal .secure-prompt-head p{font-size:13px;}

  #secure-prompt-modal .secure-prompt-body{padding:14px 18px 18px;}

  #secure-prompt-modal .secure-prompt-text{font-size:14.5px;max-height:34dvh;}

  #secure-prompt-modal .secure-prompt-actions{position:sticky;bottom:0;z-index:2;margin:0 -18px;padding:14px 18px 4px;background:linear-gradient(180deg,transparent,var(--bg-alt) 26%);}

  #style-preview-modal .style-preview-media{padding:10px 10px 0;}

  #style-preview-modal .style-preview-media img{width:auto;max-width:100%;max-height:min(46dvh,420px);margin:0 auto;border-radius:18px;}

  .sp-prev{left:18px;}

  .sp-next{right:18px;}

  .sp-count{bottom:12px;}

  #style-preview-modal .style-preview-info{padding:14px 16px 0;}

  #style-preview-modal .style-preview-info h3{margin:6px 0 4px;font-size:24px;}

  #style-preview-modal .style-preview-info p{margin:0;font-size:13px;line-height:1.5;}

  #style-preview-modal .style-preview-meta{margin:8px 0 10px;padding-bottom:10px;}

  #style-preview-modal .style-preview-thumbs{padding-bottom:10px;}

  #style-preview-modal .style-preview-thumb{width:48px;height:60px;flex-basis:48px;}

  #style-preview-modal .style-preview-actions{position:sticky;bottom:0;z-index:2;gap:8px;margin:0 -16px;padding:12px 16px 16px;background:linear-gradient(180deg,transparent,var(--bg-alt) 24%);}

  #style-preview-modal .style-preview-actions .btn{min-height:46px;}

}

@media (prefers-reduced-motion: reduce){

  .pf-nav-pill,#profile-view .pf-section-panel.pf-in,#style-preview-modal .style-preview-media.sp-swap img,.balance-chip.is-bump .pc-coin,.pc-amount.is-bump .pc-coin{transition:none;animation:none;}

}

