:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#0f1116;color:#f5f7ff}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,rgba(60,76,190,.2),transparent 55%),#0f1116}*{box-sizing:border-box}a{color:inherit;text-decoration:none}button{font:inherit}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#11131ad1;border-bottom:1px solid rgba(112,118,144,.24);box-shadow:0 18px 48px #0c0e148c;padding:16px 32px;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px}.app-header-left{display:flex;align-items:center;gap:18px;flex:1;min-width:0}.brand-lockup{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:156px;flex-shrink:0;text-decoration:none;-webkit-user-select:none;user-select:none;font:inherit;color:#f5f7ff;letter-spacing:0;transition:color .2s ease,text-shadow .2s ease;border-radius:6px}.brand-lockup:focus-visible{outline:2px solid rgba(156,172,207,.7);outline-offset:2px}.brand-lockup__title{display:block;font-weight:900;text-transform:uppercase;letter-spacing:-.015em;line-height:1;font-size:clamp(18px,2.2vw,20px)}.brand-lockup__tagline{display:block;font-weight:500;line-height:1.15;font-size:clamp(11px,1.4vw,12px);white-space:nowrap;color:#a8b4d4e0}.primary-nav{display:flex;gap:8px;row-gap:8px;flex-wrap:wrap;align-items:stretch}.primary-nav-container{display:flex;align-items:stretch;flex:1;min-width:0}.primary-nav-container .primary-nav{flex:1}.primary-nav-item{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:16px;background:transparent;transition:background .2s ease,color .2s ease,box-shadow .2s ease;flex:1 0 150px;max-width:190px;min-width:120px;justify-content:center;text-align:center}.primary-nav-item.active,.primary-nav-item:hover{background:linear-gradient(135deg,#7577ff99,#5d5eff59);color:#fff;box-shadow:0 12px 28px #4650b461}.primary-nav-trigger{border:none;background:transparent;color:#eff5ffc7;cursor:pointer;font-weight:500;letter-spacing:.02em;white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-align:center;line-height:1.25;font-size:.95rem;display:inline-flex;justify-content:center;align-items:center;min-height:36px;width:100%}.primary-nav-item.active .primary-nav-trigger,.primary-nav-item:hover .primary-nav-trigger{color:#fff}.app-header-right{display:flex;align-items:center;gap:6px}.mobile-menu-toggle{display:none}.header-link{padding:8px 18px;border-radius:999px;background:#ffffff0a;color:#eff5ffbf;transition:background .2s ease,color .2s ease}.header-link.active,.header-link:hover{background:linear-gradient(135deg,#7577ff99,#5d5eff59);color:#fff}.credits-display{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;background:#221c3080;border:1px solid rgba(124,92,255,.16);color:#f6f2ffe0;font-size:.76rem;font-variant-numeric:tabular-nums;box-shadow:0 6px 14px #120c2042}.credits-icon{display:inline-flex;align-items:center;justify-content:center}.credits-icon svg{display:block}.credits-value{font-weight:600;letter-spacing:.04em}.credits-display--skeleton{pointer-events:none}.credits-display--skeleton .credits-value{min-width:24px}.credits-value-loading{display:inline-block;width:24px;height:.75em;border-radius:999px;background:#ffffff4d;animation:credits-value-pulse 1.2s ease-in-out infinite}@keyframes credits-value-pulse{0%{opacity:.35}50%{opacity:.8}to{opacity:.35}}@media (max-width: 900px){.app-header{padding:12px 16px;gap:16px}.app-header-left{gap:12px}.app-header-right{gap:10px}.primary-nav-container{display:none}.primary-nav-container--mobile{display:none;position:absolute;top:calc(100% + 12px);left:16px;right:16px;padding:12px;border-radius:18px;background:#11131af2;border:1px solid rgba(112,118,144,.35);box-shadow:0 24px 60px #080a1499;max-height:calc(100vh - 120px);overflow-y:auto;overscroll-behavior:contain;z-index:20}.primary-nav-container--mobile.primary-nav-container--open{display:block}.primary-nav{display:none}.primary-nav-container--mobile.primary-nav-container--open .primary-nav{display:flex;flex-direction:column;align-items:stretch;gap:6px}.primary-nav-item{flex:none;max-width:none;min-width:0;padding:0}.primary-nav-trigger{width:100%;justify-content:flex-start;text-align:left;padding:10px 14px;border-radius:12px;font-size:.95rem}.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(112,118,144,.45);background:#11131ae6;color:#eff5ffe0;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.mobile-menu-toggle:hover{background:#7577ff2e;border-color:#7577ff99;box-shadow:0 12px 28px #4650b459}.mobile-menu-toggle:focus-visible{outline:3px solid rgba(117,119,255,.7);outline-offset:2px}.mobile-menu-toggle-icon{position:relative;width:18px;height:2px;background:currentColor;border-radius:1px;transition:background .2s ease}.mobile-menu-toggle-icon:before,.mobile-menu-toggle-icon:after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;border-radius:1px;transition:transform .2s ease,top .2s ease}.mobile-menu-toggle-icon:before{top:-6px}.mobile-menu-toggle-icon:after{top:6px}.mobile-menu-toggle[aria-expanded=true] .mobile-menu-toggle-icon{background:transparent}.mobile-menu-toggle[aria-expanded=true] .mobile-menu-toggle-icon:before{top:0;transform:rotate(45deg)}.mobile-menu-toggle[aria-expanded=true] .mobile-menu-toggle-icon:after{top:0;transform:rotate(-45deg)}}.app-body{flex:1;display:flex;min-height:0;width:100%}.app-footer{border-top:1px solid rgba(112,118,144,.24);background:#0c0e14c7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:24px 32px 40px;display:flex;justify-content:center}.app-footer__links{display:flex;gap:24px;flex-wrap:wrap;align-items:center;justify-content:center;font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;color:#e1e7ffb8}.app-footer__link{position:relative;padding-bottom:2px}.app-footer__link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:#e1e7ff80;transform:scaleX(0);transform-origin:left;transition:transform .2s ease-in-out,background .2s ease-in-out}.app-footer__link:hover:after,.app-footer__link:focus-visible:after{transform:scaleX(1);background:#94bbffe6}.app-footer__link:focus-visible{outline:none}@media (max-width: 640px){.app-footer{padding:20px 16px 32px}.app-footer__links{gap:16px;font-size:.78rem;letter-spacing:.12em}}.app-body.without-secondary .app-content{margin-left:auto;margin-right:auto;max-width:1200px}.secondary-sidebar{flex:0 0 240px;min-width:240px;max-width:240px;padding:32px 24px 64px;border-right:1px solid rgba(112,118,144,.16);background:#0f1119b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:96px;align-self:flex-start;max-height:calc(100vh - 96px);overflow-y:auto}@media (max-width: 720px){.secondary-sidebar{flex:0 0 30%;min-width:96px;max-width:112px;padding:20px 14px 44px}}.secondary-header{font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:#bdc4ffad;margin-bottom:18px}.secondary-gender-toggle{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:18px}@media (max-width: 900px){.secondary-gender-toggle{justify-content:flex-start}}.legal-page{width:100%;max-width:960px;margin:0 auto;padding:48px 24px 80px;line-height:1.65;color:#f0f4ffeb}.legal-page h1{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:16px;text-transform:uppercase;letter-spacing:.08em}.legal-page__meta{font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;color:#e1e7ff99;margin-bottom:32px}.legal-page section{margin-bottom:32px}.legal-page h2{font-size:clamp(1.1rem,2.4vw,1.4rem);margin-bottom:12px;text-transform:uppercase;letter-spacing:.06em;color:#e1e7ffd9}.legal-page p{margin:0 0 16px;color:#eaeeffe0}.legal-page ul{margin:0 0 16px;padding-left:20px}.legal-page li{margin-bottom:8px}@media (max-width: 640px){.legal-page{padding:36px 18px 64px}}.secondary-gender-button{flex:1 1 42%;min-width:48px;max-width:78px;aspect-ratio:5 / 4;border-radius:999px;border:1px solid rgba(255,150,220,.45);background:radial-gradient(circle at 50% 50%,#ff8cdc38,#46225873);color:#f5e8ffd9;cursor:pointer;font-size:.74rem;letter-spacing:.015em;text-transform:none;display:inline-grid;align-content:center;justify-items:center;text-align:center;padding:6px 10px;line-height:1.3;font-weight:600;word-break:break-word;white-space:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;transition:transform .2s ease,border .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.secondary-gender-button:hover,.secondary-gender-button:focus-visible{background:linear-gradient(135deg,#ff96e28c,#883c948c);border-color:#ffb2ecbf;color:#fff;box-shadow:0 14px 32px #ff7edc59}.secondary-gender-button.active{background:linear-gradient(135deg,#ff9eeed9,#a444b4b3);border-color:#ffc0f4e6;color:#fff;box-shadow:0 18px 36px #ff84e473}.secondary-nav{display:flex;flex-direction:column;gap:8px}.secondary-nav-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#282c4473;transition:background .2s ease,box-shadow .2s ease}.secondary-nav-item.active,.secondary-nav-item:hover{background:linear-gradient(135deg,#7577ff99,#5d5eff66);box-shadow:0 12px 28px #4650b447}.secondary-nav-trigger{border:none;background:transparent;color:#dee2ffe0;cursor:pointer;font-size:.9rem;text-align:left;flex:1}.secondary-nav-item.active .secondary-nav-trigger,.secondary-nav-item:hover .secondary-nav-trigger{color:#fff}.secondary-empty{padding:12px 0;color:#d0d6ffa6;font-size:.85rem}.app-content{flex:1;padding:32px 32px 64px;margin:0 auto;width:100%;max-width:1200px;min-width:0}@media (max-width: 720px){.app-content{padding:24px 16px 48px;max-width:none}}.primary-button{border:none;padding:10px 20px;border-radius:12px;background:linear-gradient(135deg,#7c5cff,#5468ff);color:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.primary-button.full-width{width:100%;display:flex;justify-content:center;align-items:center}.primary-button:hover{transform:translateY(-1px);box-shadow:0 14px 32px #5f6cff59}.primary-button.secondary{background:#6c70ff1f;border:1px solid rgba(108,112,255,.32);color:#c7ccff}.primary-button.secondary:hover{box-shadow:none;transform:none;background:#6c70ff33}.icon-button{border:none;width:40px;height:40px;border-radius:12px;background:#eff5ff14;color:#eff5ffc7;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.icon-button:hover:not(:disabled){background:#7577ff40;color:#fff;transform:translateY(-1px);box-shadow:0 12px 24px #4650b447}.icon-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.icon-button.danger{color:#ff98a8eb}.icon-button.danger:hover:not(:disabled){background:#ff8a982e;color:#ff99a8}.surface-card{background:#171b26eb;border:1px solid rgba(114,120,148,.18);border-radius:20px;padding:20px;box-shadow:0 22px 40px #0a0c138c}.home-page{display:grid;gap:24px}.template-catalog{display:grid;gap:20px}.catalog-status-row{display:flex;align-items:center;gap:12px;min-height:24px}.catalog-error{margin:0;color:#ff9b9b;font-size:.9rem}.home-hero{display:flex;flex-direction:column;gap:24px;background:radial-gradient(circle at top right,rgba(96,108,255,.18),transparent 55%),#171b26eb}.home-hero h1{margin:8px 0 12px;font-size:clamp(1.8rem,3vw,2.4rem)}.eyebrow{letter-spacing:.32em;text-transform:uppercase;font-size:.75rem;color:#adb8ffbf}.hero-copy{margin:0;color:#d7deffc2;line-height:1.6}.hero-warning{margin-top:12px;margin-bottom:0;color:#ffd76d;font-size:.85rem}.play-promo{position:relative;overflow:hidden;border-radius:18px;padding:28px 28px 32px;display:grid;gap:16px;background:radial-gradient(circle at top right,rgba(124,92,255,.22),transparent 55%),#161a26eb}.play-promo-visual{position:absolute;inset:-30% -10% auto -10%;height:320px;display:flex;align-items:center;justify-content:center;opacity:.55;pointer-events:none}.play-promo-ring{width:320px;height:320px;border-radius:50%;border:2px solid rgba(123,120,255,.35);animation:play-pulse 6s ease-in-out infinite}.play-promo-spark{position:absolute;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(124,92,255,.55),transparent 70%);animation:play-orbit 8s linear infinite;mix-blend-mode:screen}@keyframes play-pulse{0%,to{transform:scale(.9);opacity:.45}50%{transform:scale(1.05);opacity:.8}}@keyframes play-orbit{0%{transform:rotate(0) translate(0);opacity:.65}50%{transform:rotate(180deg) translate(12px) scale(1.08);opacity:.85}to{transform:rotate(360deg) translate(0);opacity:.65}}.play-promo-copy{position:relative;z-index:1;display:grid;gap:12px;max-width:min(520px,100%)}.play-recommendations-layout{display:flex;gap:24px;align-items:stretch;flex-wrap:wrap}.play-recommendations-layout .play-promo{flex:1.3 1 360px;min-width:280px}.play-promo.play-promo-disabled .play-promo-button:disabled{background:#ffffff14;color:#d7deff8c;cursor:not-allowed}.home-recommendations{flex:.9 1 360px;min-width:300px;background:#11131ad9;border:1px solid rgba(114,120,148,.18);border-radius:18px;padding:0;display:flex;flex-direction:column;gap:16px;overflow:hidden;box-shadow:inset 0 0 0 1px #7c82a80d}.home-recommendations-status{margin:0}.home-recommendations-status-error{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 20px}.home-recommendations-retry-icon{width:40px;height:40px;border-radius:999px;border:1px solid rgba(134,139,180,.35);background:#1c1f2cd9;color:#ebeeffeb;cursor:pointer;font-size:1.1rem;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease,color .2s ease}.home-recommendations-retry-icon:hover,.home-recommendations-retry-icon:focus-visible{background:#3c405ce6;border-color:#a0a6d273;color:#fffffff2}.home-recommendations-carousel-shell{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:stretch;padding:0 16px;overflow:hidden;flex:1 1 auto}.home-recommendations-nav{width:40px;height:40px;border-radius:999px;border:1px solid rgba(134,139,180,.3);background:#1c1f2cd9;color:#ebeeffe6;font-size:1.4rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,opacity .25s ease,transform .25s ease;opacity:0;pointer-events:none;transform:translateY(4px);position:relative;z-index:2;align-self:center}.home-recommendations-nav:disabled{opacity:.35;cursor:not-allowed}.home-recommendations-nav:not(:disabled):hover{background:#3c405ce6;border-color:#a0a6d266}.home-recommendations-carousel-shell-active .home-recommendations-nav,.home-recommendations-carousel-shell:focus-within .home-recommendations-nav{opacity:1;pointer-events:auto;transform:translateY(0)}.home-recommendations-carousel{position:relative;z-index:0;display:grid;grid-auto-flow:column;grid-auto-columns:100%;grid-auto-rows:100%;gap:0;overflow-x:auto;padding:0;scrollbar-width:none;scroll-snap-type:x mandatory;align-content:stretch}.home-recommendations-carousel::-webkit-scrollbar{display:none}.home-recommendation-card{position:relative;border:none;padding:0;border-radius:18px;overflow:hidden;cursor:pointer;display:block;width:100%;aspect-ratio:1 / 1;background:transparent;scroll-snap-align:start;box-shadow:none;transition:transform .2s ease,box-shadow .2s ease}.home-recommendation-card img{width:100%;height:100%;border-radius:inherit;object-fit:cover;object-position:center;display:block;background-color:transparent}.home-recommendation-card:after{display:none}.home-recommendation-card:hover,.home-recommendation-card:focus-visible{transform:translateY(-2px);box-shadow:0 18px 30px #0e101a73}.play-promo-eyebrow{margin:0;letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;color:#bdc4ffbf}.play-promo-copy h2{margin:0;font-size:clamp(1.7rem,3vw,2.4rem)}.play-promo-text{margin:0;color:#d7deffdb;font-size:1rem}.play-promo-button{justify-self:flex-start;border:none;padding:14px 34px;border-radius:999px;background:linear-gradient(135deg,#7c5cfff2,#5468ffd9);color:#fff;font-size:1.05rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;box-shadow:0 20px 44px #5a68ff59;transition:transform .2s ease,box-shadow .2s ease}.play-promo-button:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 26px 52px #5a68ff75}.hero-stats{display:flex;gap:16px;flex-wrap:wrap}.stat-card{display:grid;padding:16px 20px;border-radius:16px;background:#0f111cb8;border:1px solid rgba(112,118,144,.18);min-width:160px}.stat-value{font-size:1.6rem;font-weight:600}.stat-label{font-size:.85rem;color:#ccd2eaa6}.section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.section-header h2{margin:0 0 6px}.section-subtitle{margin:0;color:#cdd3eba6}.admin-template-page{display:grid;gap:24px}.admin-card{display:grid;gap:20px}.upload-panel{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.file-picker{position:relative;padding:12px 18px;border-radius:12px;border:1px dashed rgba(136,140,180,.5);background:#232738a6;color:#e0e4ffc7;cursor:pointer;min-width:260px}.file-picker input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.summary-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.summary-item{background:#141720e6;border-radius:14px;padding:14px 16px;border:1px solid rgba(108,114,148,.22)}.summary-label{display:block;font-size:.8rem;color:#c4ccf0b3;margin-bottom:6px}.summary-value{font-size:1.4rem;font-weight:600}.warning-panel{border-radius:12px;padding:12px 16px;background:#ffc55114;border:1px solid rgba(255,197,81,.35);color:#ffd787}.warning-panel ul{margin:8px 0 0;padding-left:20px}.ingestion-meta{border-radius:12px;padding:12px 16px;background:#1a1d28cc;border:1px solid rgba(110,118,155,.2);color:#d6daffbf}.ingestion-meta p{margin:4px 0}.ingestion-table{width:100%;border-collapse:collapse;color:#dde0ffd9}.ingestion-table th,.ingestion-table td{padding:12px;text-align:left;border-bottom:1px solid rgba(82,88,118,.32);font-size:.9rem}.ingestion-table th{color:#bac0e6b8;font-weight:600}.ingestion-table tr:last-child td{border-bottom:none}.error-text{color:#ff7f7f;font-size:.9rem}.badge-muted{background:#b4badc29;color:#d7dcf5bf}.skeleton-card{display:grid;gap:12px;padding:16px}.skeleton-media{height:180px}.skeleton-title{height:20px;width:70%}.skeleton-tags{height:16px;width:90%}.template-card{display:grid;gap:16px}.template-card.active{box-shadow:0 0 0 2px #7c5cffcc;border-radius:16px}.template-cover{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1 / 1;background:#0a0c14f0;box-shadow:inset 0 0 0 1px #20253ad9}.template-cover.interactive{cursor:pointer}.template-cover.interactive:focus-visible{outline:2px solid rgba(124,92,255,.85);outline-offset:4px}.template-cover img{width:100%;height:100%;border-radius:inherit;aspect-ratio:1 / 1;object-fit:cover;display:block;background-color:#080a12fa;transform:translateZ(0)}.favorite-toggle{position:absolute;right:12px;bottom:12px;left:auto;border:1px solid transparent;border-radius:50%;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:#12141cb8;color:#ffffffd1;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;z-index:2}.favorite-toggle:hover{transform:translateY(-2px)}.favorite-toggle:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:3px}.favorite-toggle.active{background:#12141cd1;color:#fff;box-shadow:0 10px 24px #080a1261;border:1px solid rgba(212,218,255,.24)}.favorite-heart-icon{width:22px;height:22px;display:block;transition:transform .2s ease,fill .2s ease,stroke .2s ease}.favorite-toggle:hover .favorite-heart-icon{transform:scale(1.08)}.favorite-toggle:active .favorite-heart-icon{transform:scale(.94)}.template-actions{display:flex;gap:10px;align-items:stretch;flex-wrap:nowrap}.template-actions .primary-button{flex:1 1 160px;min-width:0;justify-content:center}.template-actions .ghost-button,.template-actions .icon-button{flex:0 0 auto}.generate-button{flex:0 1 220px;max-width:220px;padding:10px 18px;font-size:.96rem;font-weight:600}.action-button{flex:1;padding:10px 18px;font-size:.9rem;letter-spacing:.04em}@media (max-width: 560px){.template-actions{flex-wrap:wrap}}.grid-templates{display:grid;gap:20px}.grid-templates.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 1200px){.grid-templates.three-column{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.grid-templates.three-column{grid-template-columns:repeat(1,minmax(0,1fr))}}.grid-progress{display:flex;justify-content:center;align-items:center;padding:16px;color:#cdd3eba6;font-size:.9rem}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.pagination-button{min-width:44px;height:36px;padding:0 14px;border-radius:10px;border:1px solid rgba(108,112,255,.28);background:#25283aa6;color:#dadeffd1;cursor:pointer;transition:background .2s ease,color .2s ease,border .2s ease,transform .2s ease}.pagination-button:hover:not(:disabled){background:#6c70ff61;color:#fff;transform:translateY(-1px)}.pagination-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.pagination-button.active{background:linear-gradient(135deg,#7c5cff,#5468ff);border-color:transparent;color:#fff;box-shadow:0 12px 28px #6c70ff59}.pagination-ellipsis{color:#cdd3eb8c;padding:0 4px;font-size:.9rem}.pagination-status{text-align:center;color:#cdd3eb99;font-size:.9rem}.template-card img{width:100%;display:block;border-radius:inherit}.template-card h3{margin:14px 0 6px;font-size:1rem}.template-meta{display:grid;gap:12px}.template-meta.compact{gap:8px;margin-top:12px}.template-ratio-panel{display:flex;flex-wrap:wrap;gap:8px}.template-meta.compact .primary-button.full-width{width:100%;justify-content:center}.template-actions{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:stretch}.primary-button.prominent{padding:12px 20px;font-size:1rem}.template-heading{display:grid;gap:8px}.template-heading h3{margin:0}.template-description{margin:0;font-size:.9rem;color:#d2d8f0b8}.badge-list{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.template-detail-page{display:grid;gap:24px}.template-detail-page.fullscreen{min-height:100vh;padding:40px 48px 64px;background:radial-gradient(circle at top left,rgba(58,64,104,.25),transparent 55%),radial-gradient(circle at bottom right,rgba(28,32,48,.35),transparent 55%)}.template-detail-fullscreen{display:flex;flex-direction:column;gap:36px;max-width:1200px;width:100%;margin:0 auto}.template-detail-fullscreen.status{position:relative;align-items:center;justify-content:center;text-align:center;padding:64px;background:#12141cc7;border-radius:28px;box-shadow:0 26px 48px #0a0c148c;color:#ebefffd9}.template-detail-fullscreen.status .detail-close{top:16px;right:16px}.detail-fullscreen-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.detail-gender-chip{display:inline-flex;align-items:center;padding:6px 16px;border-radius:999px;background:#12141cb8;color:#ebefffe0;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.detail-fullscreen-body{display:flex;flex-wrap:wrap;gap:44px;align-items:flex-start}.detail-info-panel{flex:1 1 280px;max-width:360px;display:flex;flex-direction:column;gap:18px}.detail-title{margin:0;font-size:clamp(1.5rem,2.4vw,1.9rem)}.detail-visual-panel{flex:2 1 520px;display:flex;flex-direction:column;gap:24px;align-items:flex-start}.detail-preview.large.fullscreen{position:relative;width:100%;border-radius:28px;overflow:hidden;background:#161926d9}.detail-preview.large.fullscreen img{width:100%;height:auto;max-height:min(78vh,920px);object-fit:cover;display:block}.detail-action-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:center;width:100%;max-width:440px;margin:24px auto 0}.detail-action-row .primary-button,.detail-action-row .ghost-button{justify-content:center}.detail-action-row .primary-button{min-width:200px}.detail-action-row .ghost-button.round-action{width:56px;height:56px;min-width:56px;min-height:56px}@media (max-width: 960px){.template-detail-page.fullscreen{padding:32px 24px 48px}.detail-fullscreen-body{flex-direction:column}.detail-info-panel{max-width:none}.detail-action-row{width:100%;justify-content:center}}@media (max-width: 720px){.template-detail-page.fullscreen{padding:24px 16px 40px}.template-detail-fullscreen{max-width:none}.detail-fullscreen-body{gap:28px}.detail-preview.large.fullscreen{border-radius:22px}.detail-action-row{max-width:none;margin:20px auto 0}}@media (max-width: 640px){.detail-action-row .primary-button,.detail-action-row .ghost-button{flex:1 1 100%;min-width:0}}.detail-hero{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.detail-hero.minimal{align-items:flex-start;gap:28px}.detail-preview{position:relative}.detail-preview.large img{border-radius:24px;max-height:520px;width:100%;object-fit:cover}.detail-preview.large.expanded img{max-height:620px}.detail-preview img{width:100%;border-radius:20px;object-fit:cover;box-shadow:0 26px 48px #0a0c148c}.detail-favorite-toggle{top:auto;bottom:24px;right:24px;width:48px;height:48px}.detail-menu{right:18px;bottom:74px}.detail-preview-footer{position:absolute;left:18px;bottom:18px;display:flex;align-items:center;gap:14px;z-index:2}.detail-back{border-radius:999px;background:linear-gradient(135deg,#5a60d259,#20243ad1);border:1px solid rgba(132,138,220,.4);color:#f0f4ffeb;padding:10px 24px;font-size:1.05rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:12px;transition:background .2s ease,color .2s ease,transform .2s ease,border .2s ease}.detail-back:hover,.detail-back:focus-visible{background:linear-gradient(135deg,#865cff73,#303454eb);color:#fff;border-color:#a4aaff8c;transform:translateY(-2px)}.detail-back-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;line-height:1}.detail-back-label{display:inline-flex;align-items:center}.detail-actions{margin-top:12px}.detail-meta{display:grid;gap:16px}.detail-meta.minimal,.detail-meta.minimal.stacked{gap:18px}.detail-meta h1{margin:0;font-size:clamp(1.8rem,3vw,2.4rem)}.detail-category-line{margin:0;color:#cdd3ebb8;font-size:1rem}.detail-tags-line{margin:0;color:#d7deffd1;font-size:.95rem;line-height:1.6;display:flex;flex-wrap:wrap;gap:6px}.detail-tag-item{display:inline-flex;align-items:center;gap:8px}.tag-divider{color:#cdd3eb80;font-size:.9rem}.detail-tags-line:not(.muted){display:flex;flex-wrap:wrap;gap:8px}.detail-tags-line.muted{color:#cdd3eb8c}.detail-link-button{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.detail-link-button:hover,.detail-link-button:focus-visible{color:#cbd1ff}.detail-link-button.subtle{font-size:1rem;color:#cdd3ebb8}.detail-link-button.subtle:hover,.detail-link-button.subtle:focus-visible{color:#ebefffe6}.detail-tag-pill{border:1px solid rgba(124,92,255,.45);background:#1c2030b3;border-radius:999px;color:#ebefffeb;padding:4px 12px;font-size:.85rem;cursor:pointer;transition:background .2s ease,border .2s ease,transform .2s ease}.detail-tag-pill:hover,.detail-tag-pill:focus-visible{background:#7c5cff59;border-color:#7c5cffa6;transform:translateY(-1px)}.detail-close{position:absolute;top:24px;right:24px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(124,92,255,.35);background:#12141cd1;color:#ebefffe0;font-size:1.4rem;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .2s ease,border .2s ease,color .2s ease}.detail-close:hover{background:#7c5cff47;border-color:#7c5cff8c;color:#fff}.detail-loading,.detail-error{margin:0;font-size:1rem;color:#cdd3ebb8}.detail-error{color:#ff9c9c}.detail-subtitle{margin:0;color:#cdd3ebad;font-size:1rem}.detail-description{margin:0;color:#d7deffc7;line-height:1.6}.detail-tags{display:flex;flex-wrap:wrap;gap:10px}.detail-actions{display:flex;flex-wrap:wrap;gap:12px}.detail-notice{padding:12px 16px;border-radius:12px;background:#7c5cff1a;border:1px dashed rgba(124,92,255,.35);color:#d7deffd1;font-size:.9rem}.detail-ratio-panel{display:flex;flex-wrap:wrap;gap:8px}.badge{background:#6c70ff47;padding:4px 10px;border-radius:999px;font-size:.75rem;color:#ffffffd9}.badge-outline{background:transparent;border:1px solid rgba(108,112,255,.28)}.ratio-toggle{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}.ratio-pill{border-radius:10px;padding:6px 12px;border:1px solid rgba(114,120,148,.25);background:#ffffff0a;cursor:pointer;transition:all .2s ease}.ratio-pill.static{cursor:default;background:#7577ff2e;border-color:#9092ff66}.ratio-pill.active{background:#7577ff66;border-color:#9092ff99}.ratio-picker{position:absolute;z-index:2000;background:#10121cf5;border:1px solid rgba(118,124,170,.35);border-radius:16px;padding:16px 16px 12px;box-shadow:0 24px 48px #0a0c1673;display:grid;gap:10px;color:#e6eaffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:220px;max-width:260px}.ratio-picker-close{border:none;background:#1c2030ad;color:#ebefffd9;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;justify-self:end;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.ratio-picker-close:hover,.ratio-picker-close:focus-visible{background:#7c5cff66;color:#fff;transform:translateY(-1px)}.ratio-options{display:grid;gap:8px;padding:0;margin:0;list-style:none}.ratio-options.compact{gap:6px}.ratio-option{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:12px;border:1px solid transparent;background:transparent;color:#e6eaffe0;cursor:pointer;font-size:.9rem;transition:border .2s ease,background .2s ease,transform .2s ease,color .2s ease;text-align:left}.ratio-option:hover,.ratio-option:focus-visible{border-color:#7c5cff8c;background:#7c5cff2e;transform:translateY(-1px)}.ratio-option.active{border-color:#7c5cffd9;background:#7c5cff47;color:#fff}.ratio-option-label{font-size:.85rem;color:inherit}.ratio-preview{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;background:#1e2234a6;border:1px solid rgba(112,118,160,.32)}.ratio-preview-outline{display:block;border:1.25px solid rgba(206,214,255,.85);border-radius:4px;transition:transform .2s ease}.category-rail{display:flex;justify-content:space-between;align-items:center;gap:16px;position:sticky;top:84px;z-index:5;background:#0f1119e0;padding:12px 16px;border-radius:18px;border:1px solid rgba(112,118,144,.16);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.category-rail-track{display:flex;align-items:center;gap:12px;flex:1;min-width:0;position:relative}.category-scroll-button{border:none;background:#ffffff0a;color:#d6dbffbf;width:36px;height:36px;border-radius:12px;cursor:pointer;transition:background .2s ease,color .2s ease}.category-scroll-button:disabled{opacity:.4;cursor:not-allowed}.category-scroll-button:not(:disabled):hover{background:#7c5cff3d;color:#fff}.category-scroll-mask{position:absolute;top:0;bottom:0;width:32px;pointer-events:none}.category-scroll-mask.left{left:64px;background:none}.category-scroll-mask.right{right:64px;background:none}.category-rail:not(.is-scrollable) .category-scroll-mask{display:none}.category-list{display:flex;gap:12px;overflow-x:auto;padding:4px;scroll-behavior:smooth;flex:1}.category-list::-webkit-scrollbar{height:0}.category-pill{border:none;border-radius:999px;padding:8px 18px;background:#ffffff0d;color:#d6dbffc7;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .2s ease,color .2s ease,transform .2s ease}.category-pill.active,.category-pill:hover{background:linear-gradient(135deg,#7c5cffcc,#5078ff99);color:#fff;transform:translateY(-1px)}.category-count{background:#0f111999;padding:2px 8px;border-radius:999px;font-size:.75rem}.play-cta{border:none;border-radius:999px;padding:10px 28px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(135deg,#7c5cfff2,#5468ffd9);color:#fff;cursor:pointer;box-shadow:0 12px 28px #5468ff73;transition:transform .2s ease,box-shadow .2s ease}.play-cta:hover{transform:translateY(-2px);box-shadow:0 16px 32px #5468ff80}.filter-toolbar{display:flex;flex-direction:column;gap:16px;background:#141620b8;border-radius:16px;padding:16px;border:1px solid rgba(112,118,144,.16)}.filter-toolbar.compact{flex-direction:row;align-items:center;justify-content:flex-end;background:transparent;border:none;padding:0}.filter-toolbar.compact .search-field{width:min(260px,100%)}.search-field{position:relative;display:flex;align-items:center}.search-field input{width:100%;padding:10px 40px 10px 16px;border-radius:12px;border:1px solid rgba(112,118,144,.2);background:#0c0e16cc;color:#eef2ff}.search-field.with-icon input{padding-left:38px}.search-field .search-icon{position:absolute;left:14px;display:inline-flex;align-items:center;justify-content:center;color:#cdd3eba6;pointer-events:none}.search-field input::placeholder{color:#cdd3eb94}.search-clear{position:absolute;right:12px;border:none;background:transparent;color:#cdd3eb94;cursor:pointer;font-size:1.1rem}.tag-filter{display:flex;flex-wrap:wrap;gap:8px}.tag-chip{border:1px solid rgba(108,112,255,.28);border-radius:999px;padding:6px 14px;background:#ffffff0a;color:#d6dbffc7;cursor:pointer;transition:background .2s ease,color .2s ease}.tag-chip.active{background:#7c5cff59;color:#fff}.tag-chip.clear{background:transparent;border-style:dashed}.template-empty{text-align:center;padding:48px 16px;color:#cdd3ebbf;border-radius:16px;border:1px dashed rgba(112,118,144,.25)}.template-empty-hint{margin-top:12px;font-size:.9rem;color:#cdd3eb99}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.preview-empty{margin-top:12px;font-size:.85rem;color:#cdd3eba6}.generation-form{display:grid;gap:18px}.form-field{display:grid;gap:12px}.form-field span{font-size:.9rem;color:#cdd3ebbf}.form-field input,.form-field select{border-radius:12px;border:1px solid rgba(122,128,156,.35);padding:10px 14px;background:#11131acc;color:#f1f4ff;font:inherit}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#070a16bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000}.dialog{background:#0e1226f2;border:1px solid rgba(105,112,164,.4);border-radius:16px;padding:20px 24px 24px;display:grid;gap:16px;box-shadow:0 24px 50px #0e122673}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-header h3{margin:0;font-size:1.15rem}.dialog-close-button{border:none;background:transparent;color:#f0f4ffcc;font-size:1.35rem;line-height:1;padding:4px 8px;border-radius:10px;cursor:pointer;transition:background .2s ease,color .2s ease}.dialog-close-button:hover{background:#7577ff2e;color:#fff}.dialog-close-button:focus-visible{outline:2px solid rgba(117,119,255,.65);outline-offset:2px}.dialog-body{max-height:min(70vh,560px);overflow-y:auto}.dialog-footer{display:flex;justify-content:flex-end;gap:12px}.reference-strip{display:flex;gap:12px;flex-wrap:wrap}.reference-strip.multi{gap:10px}.reference-thumb{position:relative;padding:0;border:1px solid rgba(112,118,144,.32);background:#171b26b8;border-radius:14px;overflow:hidden;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.reference-thumb img{display:block;width:96px;height:96px;object-fit:cover}.reference-thumb.small img{width:76px;height:76px}.reference-thumb.active{border-color:#7577ffcc;box-shadow:0 12px 26px #5860ff59}.reference-thumb-label{position:absolute;left:8px;bottom:6px;background:#0f111aa6;border-radius:999px;padding:2px 8px;font-size:.7rem;letter-spacing:.06em;color:#f5f7ffe6}.mode-toggle{display:flex;gap:12px}.mode-pill{border-radius:10px;padding:8px 14px;border:1px solid rgba(114,120,148,.25);background:#ffffff0a;cursor:pointer;transition:all .2s ease}.mode-pill.active{background:#7577ff66;border-color:#9092ff99}.form-error{margin:0;color:#ff9c9c;font-size:.9rem}.form-success{margin:0;color:#78ffc3;font-size:.9rem}.auth-dialog{max-height:min(95vh,880px)}.auth-dialog .dialog-body{max-height:min(88vh,820px)}.auth-dialog--sign-up{max-height:min(95vh,980px)}.auth-dialog--sign-up .dialog-body{max-height:min(88vh,920px)}@media (max-width: 640px){.auth-dialog .dialog-body{max-height:calc(100vh - 148px)}}.auth-subtitle{margin:0;font-size:.95rem;color:#cdd3ebbf}.auth-tabs{display:inline-flex;border-radius:999px;background:#1e2136e6;padding:4px;gap:4px}.auth-tab{border:none;background:transparent;color:#cdd3ebbf;font:inherit;padding:8px 18px;border-radius:999px;cursor:pointer;transition:background .2s ease,color .2s ease}.auth-tab.active{background:#7577ff4d;color:#f4f6ff}.auth-google-button{border:1px solid rgba(117,119,255,.35);border-radius:12px;padding:12px 18px;background:#121624e6;color:#f1f4ff;font:inherit;cursor:pointer;transition:border .2s ease,background .2s ease}.auth-google-button:hover{border-color:#9395ff8c;background:#181c2ef2}.auth-divider{display:flex;align-items:center;gap:12px;color:#8d94b299;font-size:.9rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#4f567880}.auth-form{display:grid;gap:16px}.auth-dialog--sign-up .auth-form{gap:20px}@media (min-width: 720px){.auth-dialog--sign-up .auth-form{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:20px}.auth-dialog--sign-up .auth-form .auth-field,.auth-dialog--sign-up .auth-form .auth-otp-section{margin:0}.auth-dialog--sign-up .auth-form .auth-otp-section{grid-column:1 / -1}}.auth-post-form{display:grid;gap:14px;margin-top:18px}.auth-field{display:grid;gap:6px}.auth-field span{font-size:.85rem;color:#cdd3ebbf}.auth-field input{border-radius:12px;border:1px solid rgba(122,128,156,.35);padding:12px 14px;background:#11131ad1;color:#f1f4ff;font:inherit}.auth-otp-section{display:grid;gap:12px}@media (min-width: 720px){.auth-otp-section{grid-template-columns:minmax(200px,.8fr) minmax(0,1fr);align-items:end;column-gap:16px}}.auth-otp-controls{display:flex;flex-direction:column;gap:6px}.auth-otp-button{width:100%;font-weight:600;padding:12px 16px;border-radius:12px;justify-content:center;border:1px solid rgba(120,132,255,.38);background:#5866ff38;color:#e3e7ffeb;transition:background .2s ease,border .2s ease,color .2s ease,box-shadow .2s ease}.auth-otp-button:hover:not(:disabled){background:#7884ff4d;border-color:#8c96ff80;color:#fff;box-shadow:0 10px 24px #4656dc47}.auth-otp-button:disabled{box-shadow:none;opacity:.6}.auth-otp-field{margin:0}.auth-otp-field input{letter-spacing:.24em;text-align:center}.auth-otp-feedback{margin:0;font-size:.75rem;color:#cdd3ebc7;min-height:1.2rem;visibility:hidden}.auth-otp-feedback.is-visible{visibility:visible}.reset-password-page{min-height:100vh;padding:80px 16px 120px;display:flex;justify-content:center;align-items:flex-start;background:radial-gradient(circle at top right,rgba(117,119,255,.22),transparent 55%),radial-gradient(circle at bottom left,rgba(104,118,255,.18),transparent 60%),linear-gradient(180deg,#0e101bf5,#0a0c16eb)}.reset-password-card{width:min(560px,100%);display:grid;gap:24px;padding:32px}.reset-password-header{display:grid;gap:8px}.reset-password-header p{margin:0;color:#cdd3ebbf}.reset-password-form{display:grid;gap:16px}.reset-password-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.reset-password-footer{display:flex;justify-content:flex-start}.auth-field.optional span:after{content:" (optional)";color:#8d94b2a6}.auth-checkbox{display:flex;align-items:center;gap:10px;font-size:.9rem;color:#cdd3ebcc}.auth-checkbox input{width:18px;height:18px;accent-color:#7af5c2}.auth-error{background:#ff56561f;border-radius:12px;padding:12px 14px;color:#ff9c9c;font-size:.9rem}.auth-status{background:#60ecaf1f;border-radius:12px;padding:12px 14px;color:#7af5c2;font-size:.9rem}.auth-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.auth-hint{margin:0;color:#cdd3ebb8;font-size:.9rem}.auth-switch{margin:0;font-size:.9rem;color:#cdd3ebb3}.link-button{border:none;background:none;color:#9395ffd9;cursor:pointer;font:inherit;text-decoration:underline}.link-button.prominent{font-size:1.6rem;font-weight:600;color:#f5f7ff;text-decoration:none}.link-button.prominent:hover,.link-button.prominent:focus-visible{text-decoration:underline}.link-button.subtle{color:#cdd3ebb8;font-size:.95rem;text-decoration:none}.link-button.subtle:hover,.link-button.subtle:focus-visible{color:#f5f7ff;text-decoration:underline}.ghost-icon-button{border:none;background:#202438bf;color:#cdd3ebd9;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1.2rem;line-height:1;display:flex;align-items:center;justify-content:center}.ghost-icon-button:hover{background:#2a2e44d9}.header-link-button{border:none;background:none;color:#cdd3ebbf;font:inherit;cursor:pointer;padding:0}.header-link-button:hover{color:#f1f4ff}.job-feed{margin-top:24px;display:grid;gap:16px}.job-card{padding:16px;border-radius:16px;border:1px solid rgba(112,118,144,.18);background:#111520e0}.job-events{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}.job-events li{display:flex;gap:12px;align-items:center;font-size:.9rem;color:#d2d8f0d1}.job-event-time{font-family:JetBrains Mono,Fira Code,monospace;font-size:.75rem;color:#a0a8d2b8;min-width:70px}.job-event-message{flex:1}.job-result{margin-top:20px;display:grid;gap:16px}.job-result img{width:100%;border-radius:16px;box-shadow:0 20px 40px #0a0c14a6}.job-result .primary-button{justify-self:start}.live-results{display:grid;gap:20px}.live-results-top-bar{display:flex;align-items:center;justify-content:flex-start;gap:12px}.live-results-play-again{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.play-again-button{min-width:0;white-space:nowrap}.play-again-button.is-busy,.play-again-button[data-busy=true]{opacity:.72;cursor:default}.live-results-play-again-hint{font-size:.85rem;color:#cdd3ebbf;text-align:right}.live-results-play-again-hint.error{color:#ff9595db}.live-results-back-button{display:inline-flex;align-items:center;gap:8px;font-weight:600}.live-results-back-icon{display:inline-flex;align-items:center;justify-content:center}.live-results-back-icon svg{display:block}.live-results-status-line{display:flex;justify-content:flex-start;align-items:center;gap:12px;margin-top:-4px;flex-wrap:wrap}.live-results-status-message{color:#cdd3ebd1;font-size:.95rem}.live-results-status-message.error{color:#ff9595db}.live-results-grid{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 1320px){.live-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.live-results-grid{grid-template-columns:minmax(0,1fr)}}.library-page{display:flex;flex-direction:column;gap:20px}.library-layout{display:grid;gap:20px;grid-template-columns:minmax(0,1fr) minmax(180px,220px);align-items:start}.library-main-column{display:grid;gap:20px}.library-sidebar{position:sticky;top:112px;align-self:start;width:100%}.library-filter-card{display:grid;gap:18px;align-content:start}.library-filter-card-header{display:flex;align-items:center;justify-content:space-between}.library-filter-card-header h3{margin:0;font-size:1rem;color:#f5f7ff}.library-filter-card .library-tabs{flex-wrap:wrap;gap:12px}.library-filter-card .library-search-row,.library-filter-card .library-search-row .search-field{width:100%}.library-filter-card .library-search-row .search-field.with-icon{position:relative;display:flex;align-items:center;gap:12px;padding:10px 14px 10px 44px;border-radius:14px;border:1px solid rgba(120,128,178,.28);background:#181c2c99}.library-filter-card .library-search-row .search-field.with-icon input{flex:1;width:100%;min-width:0;padding:0;border:none;background:transparent;color:#f5f7ff}.library-filter-card .library-search-row .search-field.with-icon input:focus-visible{outline:none}.library-filter-card .library-search-row .search-field.with-icon .search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;color:#cdd3ebb8;pointer-events:none}.library-filter-card .library-search-row .search-field.with-icon .search-clear{position:static;padding:0;border:none;background:transparent;color:#cdd3eb94;font-size:1.1rem;cursor:pointer}.library-filter-card .library-control-row{width:100%}.library-reset-row{margin-top:4px;display:flex;justify-content:center}.library-reset-row .primary-button{width:100%}@media (max-width: 1200px){.library-layout{grid-template-columns:minmax(0,1fr)}.library-sidebar{position:static}}.live-result-item{display:grid;gap:16px;padding:16px;border-radius:20px;background:#30385ac7;border:1px solid rgba(164,178,240,.28);box-shadow:0 20px 44px #0a0e1c6b;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.live-result-item.is-placeholder{opacity:.9}.live-result-image{position:relative;border-radius:18px;overflow:hidden;background:#262c4ae6;border:1px solid rgba(168,182,246,.28);display:grid;place-items:center;aspect-ratio:var(--live-result-aspect, 3 / 4);width:100%;transition:border-color .2s ease,box-shadow .2s ease}.live-result-image.interactive{cursor:zoom-in}.live-result-image.interactive:hover{border-color:#9caaf480;box-shadow:0 16px 34px #3c488861}.live-result-image img{width:100%;height:100%;object-fit:contain;display:block;background:#161a2ef0}.live-result-placeholder{width:100%;height:100%;display:grid;place-items:center;gap:8px;color:#cdd3ebad;font-size:.95rem;letter-spacing:.02em}.icon-button{border:none;background:#1a1e30c7;color:#d7deffdb;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer;font-size:1.1rem;line-height:1;transition:background .2s ease,color .2s ease,transform .2s ease}.icon-button:hover{background:#6c70ff61;color:#fff;transform:translateY(-1px)}.icon-button.customize-button.active,.icon-button.customize-button[aria-pressed=true]{background:linear-gradient(135deg,#7c5cffbf,#5468ffe6);color:#fff}.ratio-button{justify-content:center;padding:10px 18px;border-radius:999px;font-weight:600}.result-action-bar{display:flex;flex-direction:column;gap:12px}.result-button-row{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:nowrap}.result-button-row button{flex:0 0 auto;min-height:46px}.result-button-row.primary .generate-button{min-width:188px;justify-content:center}.result-button-row.primary .round-action{width:48px;height:48px;min-width:48px;min-height:48px}.result-button-row.secondary button{min-width:140px}.result-button-row.secondary .icon-only-button,.lightbox-button-row.secondary .icon-only-button{min-width:0}.icon-only-button{padding:0 18px;min-height:46px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.icon-only-button .action-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0}.icon-only-button .action-label{font-size:.92rem;font-weight:600;letter-spacing:.01em;color:inherit}.result-action-error{margin-top:6px;font-size:.82rem;color:#ff9ba5}@media (max-width: 960px){.result-button-row{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.result-button-row button{width:100%}}.ghost-button{border:1px solid rgba(112,118,144,.3);background:#1a1e309e;color:#d7deffd1;border-radius:999px;padding:9px 20px;cursor:pointer;font-size:.85rem;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .2s ease,border .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.ghost-button:hover{background:#6c70ff59;border-color:#6c70ff73;color:#fff;box-shadow:0 8px 18px #5058d252}.customize-button{padding:10px 22px;font-weight:600}.customize-button.active,.customize-button[aria-pressed=true]{background:linear-gradient(135deg,#7c5cfff2,#9f84fff2);border-color:transparent;color:#fff;box-shadow:0 14px 30px #5a46be61}.ghost-button.round-action{padding:0;width:52px;height:52px;min-width:52px;min-height:52px;border-radius:50%;font-size:.95rem;font-weight:600}.round-action .action-text{font-weight:600;font-size:.95rem;letter-spacing:.01em}.round-action .action-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0}.customize-round-button svg{width:22px;height:22px}.customize-round-button.active svg,.customize-round-button[aria-pressed=true] svg{color:#fff}.breathing-indicator{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at center,#7c5cffa6,#7c5cff1f);animation:live-breathing 1.8s ease-in-out infinite}.breathing-indicator.is-idle{animation:none;opacity:.35;background:#7c5cff33;box-shadow:inset 0 0 0 1px #7c5cff40}@keyframes live-breathing{0%,to{transform:scale(.9);opacity:.6}50%{transform:scale(1.05);opacity:1}}.live-result-progress-message{margin:0;font-size:1rem;color:#d7deffd1}.live-result-progress-message.error{color:#ff9c9c}.live-result-job-id{font-size:.85rem;color:#cdd3eb99}.live-result-footer{display:grid;gap:12px}.live-results-empty{margin:12px 0 0;color:#cdd3eb99}.library-collection{display:grid;gap:20px}.library-collection-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.library-retention-banner{margin:0 0 0 auto;color:#d2d8f09e;font-size:.72rem;line-height:1.4;text-align:right}.library-tabs{display:flex;gap:12px;flex-wrap:wrap}.library-tab{border:1px solid rgba(120,128,178,.28);background:#181c2c99;color:#d7deffc7;border-radius:999px;padding:8px 16px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.library-tab:hover{background:#7c5cff59;color:#fff}.library-tab.active{background:linear-gradient(135deg,#7577ffd9,#5d5eff8c);color:#fff;box-shadow:0 14px 28px #4650b461}.library-control-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.library-control-row label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:#cdd3ebbf}.library-control-row select,.library-control-row input{padding:10px 12px;border-radius:12px;border:1px solid rgba(110,118,162,.32);background:#141824cc;color:#f5f7ff}.library-empty,.library-retention-banner{text-align:center}.library-infinite-sentinel{width:100%;height:1px}.library-download-toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%);background:#1a203aeb;color:#f1f4ff;padding:12px 22px;border-radius:999px;box-shadow:0 18px 36px #080a1673;border:1px solid rgba(130,144,220,.45);font-size:.95rem;letter-spacing:.02em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:80;pointer-events:none}.profile-page{max-width:960px;margin:0 auto;width:100%;display:grid;gap:24px}.profile-tabs{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:16px;background:#16192ac7;border:1px solid rgba(90,104,168,.35);justify-self:center;box-shadow:0 18px 36px #080a1673}.profile-tab{border:none;background:transparent;color:#d2daffb8;font-weight:500;padding:8px 20px;border-radius:12px;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.profile-tab.active,.profile-tab:hover{background:linear-gradient(135deg,#7577ff99,#5d5eff59);color:#fff;box-shadow:0 12px 28px #4650b461}.profile-card,.profile-faces,.profile-settings{display:grid;gap:20px}.profile-card-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.profile-card-header h2{margin:0}.profile-card-header p{margin:0;color:#cfd3eba6}.profile-card-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-end}.profile-card-body{display:grid;gap:16px}.profile-password-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.profile-field-group{display:grid;gap:4px}.profile-label-muted{font-size:.78rem;color:#cfd3eb8c}.profile-form-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;align-items:center}.profile-settings-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;align-items:center}.settings-cache-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.settings-cache-controls input{flex:1 1 160px;min-width:140px}.settings-clear-cache-button{white-space:nowrap}.settings-newsletter-checkbox{display:flex;align-items:center;gap:10px;color:#cdd3ebd9;font-size:.95rem}.settings-newsletter-checkbox input{width:18px;height:18px;accent-color:#7af5c2}.form-field-hint{margin-top:6px;font-size:.85rem;color:#cdd3eb99}.profile-faces-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.profile-faces-header h2{margin:0}.profile-faces-header p{margin:0;color:#cfd3eba6}.my-face-subtitle{color:#cdd3ebbf;line-height:1.5;font-size:.85rem}.profile-faces-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.form-status-inline{margin:0;font-size:.85rem;color:#cfd3ebbf}.form-status-inline.error{color:#ff8b9e}.my-face-empty{margin:0;color:#cfd3eb99;text-align:center}.my-face-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.my-face-card{position:relative;display:grid;gap:14px;padding:18px;border-radius:18px;background:#11162ed1;border:1px solid rgba(92,112,169,.35);box-shadow:0 12px 28px #090c2073;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;width:min(100%,240px);justify-self:start}.my-face-card:hover{transform:translateY(-2px);border-color:#7577ff8c;box-shadow:0 18px 40px #4552b652}.my-face-card.is-default{border-color:#7577ffcc;box-shadow:0 18px 44px #5d60ff66}.my-face-card-badge{position:absolute;top:16px;left:16px;padding:4px 10px;border-radius:999px;background:linear-gradient(135deg,#7577ffcc,#5d5eff8c);color:#fff;font-size:.72rem;letter-spacing:.02em}.my-face-card-image{aspect-ratio:1 / 1;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center}.my-face-card-image img{width:100%;height:100%;object-fit:contain;display:block}.my-face-card-footer{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:nowrap}.my-face-set-default{padding:6px 14px;font-size:.8rem}@media (max-width: 720px){.profile-tabs{width:100%;justify-content:center}.my-face-card-footer{flex-wrap:wrap}}.library-history{display:grid;gap:16px}.library-groups{display:grid;gap:32px}.library-group{display:grid;gap:18px}.library-group-header{display:flex;justify-content:flex-start;align-items:baseline;gap:12px;color:#cdd3eba6}.library-group-header h3{margin:0;color:#f5f7ff;font-size:1.05rem}.library-history-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;align-items:stretch}@media (min-width: 1600px){.library-history-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 960px){.library-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.library-history-grid{grid-template-columns:minmax(0,1fr)}}.library-card{display:block;padding:0;margin:0;border-radius:0;background:transparent;border:none;box-shadow:none;width:100%;justify-self:stretch}.library-card .favorite-toggle{width:40px;height:40px}.library-card .favorite-heart-icon{width:20px;height:20px}.library-card-media{position:relative;border-radius:20px;overflow:hidden;background:#262c4ae6;border:1px solid rgba(168,182,246,.3);display:flex;align-items:center;justify-content:center;aspect-ratio:3 / 4;width:100%;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.library-card-media.interactive{cursor:zoom-in}.library-card-media.interactive:hover{border-color:#b0beff7a;box-shadow:0 18px 36px #2c347061}.library-card-media img{width:100%;height:100%;object-fit:contain;max-width:100%;max-height:100%;display:block;background:#161a2ef0}.library-card-placeholder{width:100%;height:100%;display:grid;place-items:center;color:#cdd3eb99;font-size:.9rem}.text-link{color:#9aa8ff}.text-link:hover{text-decoration:underline}.text-muted{color:#cdd3eb8c}.library-empty{margin:0;color:#cdd3eba6}.library-load-more{display:flex;justify-content:center;padding-top:12px}.outputs-grid{display:grid;gap:20px}.outputs-grid.four-column{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 1200px){.outputs-grid.four-column{grid-template-columns:repeat(3,minmax(0,1fr))}}.library-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#06080ee0;display:flex;align-items:center;justify-content:center;z-index:40}.library-lightbox-content{position:relative;width:100vw;height:100vh;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:32px;background:#0e101af0;padding:40px 56px;border-radius:0;box-shadow:inset 0 0 0 1px #5860a014}.library-lightbox-body{display:grid;grid-template-columns:minmax(0,1fr) 260px 120px;flex:1;gap:28px;width:100%;height:100%;align-items:stretch;min-height:0}.lightbox-details{width:260px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;color:#d7deffeb;min-height:0}.lightbox-details-info{display:flex;flex-direction:column;gap:14px;overflow-y:auto;padding-right:4px}.lightbox-template-name{margin:0;font-size:1.5rem;font-weight:600;line-height:1.2;text-align:left}.lightbox-category-line{font-size:.85rem;color:#cdd3ebad}.lightbox-tags{display:flex;flex-wrap:wrap;gap:8px}.lightbox-tag-button{border:1px solid rgba(126,130,220,.45);background:#1c2034b3;color:#d7defff2;border-radius:999px;padding:5px 12px;font:inherit;font-size:.78rem;cursor:pointer;transition:background .2s ease,border .2s ease,color .2s ease,transform .2s ease}.lightbox-tag-button:hover{background:#7e82dc59;border-color:#9296f0a6;color:#fff;transform:translateY(-1px)}.lightbox-tags-empty{color:#cdd3eb8c;font-size:.85rem}.lightbox-action-error{margin:0;padding:10px 14px;border-radius:12px;background:#ff7a7a26;color:#ffb9b9;font-size:.95rem}.lightbox-toast{position:absolute;left:50%;bottom:32px;transform:translate(-50%);padding:10px 20px;border-radius:999px;background:#262a42eb;color:#e2e6ffeb;font-size:.95rem;box-shadow:0 18px 34px #06081473;pointer-events:none;letter-spacing:.02em}.lightbox-main{position:relative;display:flex;align-items:stretch;justify-content:center;min-width:0;min-height:0}.lightbox-main:hover .lightbox-nav-button,.lightbox-main:focus-within .lightbox-nav-button{opacity:1;pointer-events:auto}.lightbox-image-frame{position:relative;border-radius:24px;overflow:hidden;background:#20243ee6;border:1px solid rgba(176,188,252,.3);display:flex;align-items:center;justify-content:center;flex:1;min-height:0;width:100%;height:100%}.lightbox-image-inner{position:relative;display:inline-flex;align-items:center;justify-content:center;max-width:100%;max-height:100%}.lightbox-image-favorite{position:absolute;right:28px;bottom:28px;width:48px;height:48px;background:#121626d1;border:1px solid rgba(180,192,255,.32);box-shadow:0 16px 32px #0608127a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border .2s ease}.lightbox-image-favorite:hover{transform:translateY(-3px)}.lightbox-image-favorite.active,.lightbox-image-favorite[aria-pressed=true]{background:#121626eb;border-color:#d4dcff61;box-shadow:0 20px 40px #0a0c186b}.lightbox-image-inner img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 28px 48px #04060ca6;opacity:0;transition:opacity .2s ease}.lightbox-image-inner img.is-visible{opacity:1}.lightbox-image-inner img.is-hidden{opacity:0}.lightbox-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;text-align:center;background:#12141cd1}.lightbox-loading{font-size:1.1rem;color:#cdd3ebbf;letter-spacing:.08em}.lightbox-error{gap:12px;font-size:1rem;color:#cdd3ebcc}.lightbox-error a{color:#8aa0ff;text-decoration:underline;font-weight:500}.lightbox-close{position:absolute;top:20px;right:20px;width:52px;height:52px;border-radius:50%;border:1px solid rgba(124,92,255,.5);background:#12141ceb;color:#ebefffe6;font-size:1.6rem;line-height:1;display:grid;place-items:center;cursor:pointer;z-index:2;box-shadow:0 18px 36px #080a1280;transition:background .2s ease,border .2s ease,color .2s ease,transform .18s ease,box-shadow .2s ease}.lightbox-close:hover{background:#7c5cff66;border-color:#9070ffbf;color:#fff;transform:translateY(-1px)}.lightbox-actions{display:flex;flex-direction:column;gap:14px;align-items:center;width:100%}.lightbox-button-row{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;width:100%;max-width:100%}.lightbox-button-row button{flex:0 0 auto}.lightbox-nav-button{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;border:1px solid rgba(126,130,220,.55);background:#0c0e18b8;color:#ebefffe6;font-size:2rem;line-height:1;display:grid;place-items:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .18s ease,background .2s ease,border .2s ease,color .2s ease}.lightbox-nav-button:hover{background:#7e82dc59;border-color:#9296f0bf;color:#fff}.lightbox-nav-button.is-disabled{opacity:0;pointer-events:none}.lightbox-nav-button:focus-visible{outline:2px solid rgba(170,176,255,.9);outline-offset:2px;opacity:1;pointer-events:auto}.lightbox-nav-prev{left:24px}.lightbox-nav-next{right:24px}.lightbox-history-rail{width:104px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-top:var(--history-rail-padding, 0px);padding-bottom:var(--history-rail-padding, 0px);padding-right:2px;scrollbar-width:thin;scrollbar-color:rgba(88,96,160,.5) transparent;cursor:grab}.lightbox-history-rail:focus-visible{outline:2px solid rgba(126,130,220,.6);outline-offset:4px}.lightbox-history-rail:active{cursor:grabbing}.lightbox-history-thumb{position:relative;width:100%;aspect-ratio:3 / 4;flex-shrink:0;border:2px solid transparent;border-radius:12px;background:#161824e0;padding:0;overflow:hidden;cursor:pointer;transition:transform .2s ease,border .2s ease,box-shadow .2s ease}.lightbox-history-thumb img{width:100%;height:100%;object-fit:contain;display:block;background:radial-gradient(circle at 50% 65%,#5868bc52,#121628e6 65%,#0a0c18eb)}.lightbox-history-thumb:hover{transform:translateY(-2px)}.lightbox-history-thumb:focus-visible{outline:2px solid rgba(170,176,255,.9);outline-offset:2px}.lightbox-history-thumb.is-active{border-color:#7e82dcd9;box-shadow:0 0 0 1px #9296f0b3}.lightbox-history-thumb.is-active:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 0 2px #7e82dc66;pointer-events:none}.lightbox-generate-button{min-width:132px;padding:10px 16px;font-size:.92rem;box-shadow:0 18px 34px #565fdc61}.lightbox-button-row.primary .round-action{width:48px;height:48px;min-width:48px;min-height:48px}.lightbox-button-row.secondary .ghost-button{min-width:120px;padding:9px 16px;border-radius:16px}.lightbox-customize-button{font-weight:600}.lightbox-delete-button{border-radius:16px;padding:10px 18px}@media (max-width: 1200px){.library-lightbox-content{padding:32px 40px}.library-lightbox-body{grid-template-columns:minmax(0,1fr) 280px 120px;gap:24px}.lightbox-button-row{max-width:100%}}@media (max-width: 980px){.library-lightbox-content{padding:24px}.library-lightbox-body{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;gap:24px}.lightbox-details{width:auto}.lightbox-button-row{max-width:none}.lightbox-history-rail{width:auto;flex-direction:row;gap:10px;overflow-x:auto;overflow-y:hidden;padding:0 0 6px}.lightbox-history-thumb{flex:0 0 96px}.lightbox-nav-prev{left:12px}.lightbox-nav-next{right:12px}}@media (max-width: 640px){.library-lightbox-content{padding:20px 16px;gap:20px}.library-lightbox-body{gap:20px}.lightbox-template-name{font-size:1.4rem}.lightbox-history-thumb{flex-basis:80px}}@media (max-width: 900px){.outputs-grid.four-column{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.outputs-grid.four-column{grid-template-columns:repeat(1,minmax(0,1fr))}}.outputs-grid img{width:100%;border-radius:16px;object-fit:cover;box-shadow:0 16px 30px #0a0c1473}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.status-pill[data-status=running]{background:#fdbb2d38;color:#ffd76d}.status-pill[data-status=queued]{background:#6d78ff38;color:#9da8ff}.status-pill[data-status=succeeded]{background:#00c08f40;color:#71ffde}.status-pill[data-status=failed]{background:#ff565640;color:#ff9c9c}.skeleton{background:linear-gradient(90deg,#383c4b66,#495062b3,#383c4b66);background-size:200% 100%;animation:shimmer 1.6s linear infinite;border-radius:12px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#161821}::-webkit-scrollbar-thumb{background:#2b2f3d;border-radius:999px}.admin-templates-page{display:grid;gap:24px}.ghost-button{border:1px solid rgba(120,126,164,.35);background:#1e223099;color:#e1e6ffd9;border-radius:10px;padding:8px 14px;cursor:pointer;font:inherit;transition:background .2s ease,border .2s ease,color .2s ease,transform .2s ease}.ghost-button:hover:not(:disabled){background:#6c70ff38;border-color:#7e82dc73;color:#fff;transform:translateY(-1px)}.ghost-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.ghost-button.danger{border-color:#ff7a7a73;color:#ffb3b3;background:#3a182059}.ghost-button.danger:hover:not(:disabled){background:#ff7a7a40;color:#fff1f1}.ghost-button.active{background:#787eff40;border-color:#969cff80;color:#fff}.action-banner{margin-top:16px;padding:12px 16px;border-radius:12px;border:1px solid rgba(120,126,164,.32);background:#2a2e4299;color:#e1e5ffd9}.action-banner.success{border-color:#42bea073;background:#1e443a8c;color:#7ff3da}.action-banner.error{border-color:#ff7a7a73;background:#441e2a8c;color:#ffb6b6}.auth-unavailable-banner{position:fixed;left:50%;bottom:20px;transform:translate(-50%);padding:12px 18px;border-radius:999px;border:1px solid rgba(120,126,164,.38);background:#1a1c28e6;box-shadow:0 18px 36px #06080e73;color:#e1e5ffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:2000;max-width:min(92%,520px);width:max-content;text-align:center;font-size:.9rem;line-height:1.4;pointer-events:none}@media (max-width: 768px){.auth-unavailable-banner{bottom:14px;padding:10px 14px;font-size:.85rem;width:calc(100% - 32px)}}.template-toolbar{display:grid;gap:18px;margin-top:18px}.toolbar-search{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.toolbar-search input{flex:1;min-width:220px;border-radius:12px;border:1px solid rgba(118,124,160,.4);background:#12141ed9;color:#f5f7ff;padding:10px 14px}.toolbar-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.toolbar-filters label{display:grid;gap:6px;font-size:.85rem;color:#cdd3ebb3}.toolbar-filters select{min-width:160px;border-radius:10px;border:1px solid rgba(118,124,160,.4);background:#12141ed9;color:#f5f7ff;padding:8px 12px}.table-wrapper{overflow-x:auto}.bulk-toolbar{display:grid;gap:16px;padding:16px;margin-bottom:16px;border-radius:14px;border:1px solid rgba(120,126,164,.35);background:#1e2230b8;box-shadow:inset 0 0 0 1px #44486226}.bulk-toolbar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#d2d8f0d9;font-size:.9rem}.bulk-toolbar-actions{display:flex;gap:8px}.bulk-toolbar-form{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.bulk-toolbar-form label{display:grid;gap:6px;font-size:.85rem;color:#c8ceebbf}.bulk-toolbar-form select,.bulk-toolbar-form input,.bulk-toolbar-form textarea{border-radius:10px;border:1px solid rgba(118,124,160,.38);background:#12141ee0;color:#f5f7ff;padding:8px 12px;font:inherit}.bulk-toolbar-form textarea{resize:vertical;min-height:72px}.bulk-textarea{grid-column:1 / -1}.bulk-toolbar-footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.bulk-status{color:#c8ceebb3;font-size:.85rem}.admin-template-table{width:100%;border-collapse:collapse;color:#e0e3ffe6}.admin-template-table .select-column{width:48px;text-align:center}.admin-template-table th,.admin-template-table td{padding:14px 12px;border-bottom:1px solid rgba(88,93,122,.25);text-align:left;font-size:.9rem}.admin-template-table th{font-weight:600;color:#bec4e6bf}.sortable-header-button{display:inline-flex;align-items:center;gap:6px;padding:0;background:none;border:none;color:inherit;font:inherit;cursor:pointer}.sortable-header-button:focus-visible{outline:2px solid rgba(124,139,255,.6);outline-offset:2px}.sortable-header-button .sort-indicator{font-size:.8rem;color:#bec4e68c}.sortable-header-button.sorted-asc .sort-indicator,.sortable-header-button.sorted-desc .sort-indicator{color:#dce0ffd9}.admin-template-table tbody tr:last-child td{border-bottom:none}.admin-template-table tbody tr.row-selected{background:#6c70ff29}.template-cell{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}.thumbnail-button{border:none;padding:0;background:none;cursor:pointer;border-radius:14px;display:inline-flex}.thumbnail-button:focus-visible{outline:2px solid rgba(124,139,255,.75);outline-offset:2px}.thumbnail-button:disabled{cursor:default;opacity:.6}.thumbnail-button:disabled:focus-visible{outline:none}.template-cell img{width:72px;height:72px;border-radius:14px;object-fit:cover;box-shadow:0 12px 24px #0a0c1473}.template-placeholder{width:72px;height:72px;border-radius:14px;background:#202434a6;display:grid;place-items:center;color:#b4badca6;font-size:.75rem}.template-title{font-weight:600;font-size:1rem}.template-meta-line{font-size:.8rem;color:#c8ceeb99}.template-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.status-cell{display:grid;gap:8px;align-items:start}.status-cell select{border-radius:8px;border:1px solid rgba(118,124,160,.4);background:#12141ed9;color:#f5f7ff;padding:6px 10px}.status-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.75rem;background:#8488b433;color:#ebeeffd9}.status-chip.active{background:#42bea033;color:#7ff3da}.status-chip.draft{background:#8488b440;color:#d7dbffcc}.status-chip.archived{background:#c8a86040;color:#ffdba4}.status-chip.deleted{background:#ff7a7a33;color:#ffb4b4}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.template-id-cell{font-size:.85rem;color:#c3c8e8cc}.template-id-text{font-family:JetBrains Mono,Fira Code,Consolas,Courier New,monospace;background:#282c4099;padding:4px 8px;border-radius:8px}.recommendation-order-editor select{border-radius:8px;border:1px solid rgba(118,124,160,.4);background:#12141ed9;color:#f5f7ff;padding:6px 10px}.row-pending{opacity:.7}.row-deleted{opacity:.55}.loading-state,.error-state,.empty-state{border-radius:14px;padding:18px;background:#181c28b3;color:#d6dbf5d1;text-align:center}.error-state{border:1px solid rgba(255,122,122,.35);color:#ffb4b4}.empty-state{color:#cdd3ebb3}.list-pagination{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border:1px solid rgba(120,126,164,.25);border-radius:12px;background:#181c2899}.pagination-status{color:#cdd3ebc7;font-size:.9rem}.pagination-controls{display:flex;gap:12px;flex-wrap:wrap}.detail-drawer{position:fixed;top:0;right:0;bottom:0;left:0;background:#090b12bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;justify-content:flex-end;z-index:30}.detail-panel{width:min(520px,100%);background:#161924fa;border-left:1px solid rgba(106,112,148,.2);padding:24px;display:flex;flex-direction:column;gap:20px}.detail-header{display:flex;justify-content:space-between;align-items:center}.detail-content{display:grid;gap:24px;overflow-y:auto;padding-right:4px}.detail-overview{display:grid;gap:18px;grid-template-columns:auto 1fr;align-items:start}.detail-cover img,.detail-cover .template-placeholder{width:160px;height:160px;border-radius:18px;object-fit:cover}.detail-cover-button{border-radius:18px}.detail-meta h4{margin:0 0 8px}.detail-meta-note{margin:-4px 0 12px;color:#d2d8f08c;font-size:.75rem;line-height:1.35}.detail-status-line{display:flex;align-items:center;gap:8px;margin-bottom:8px}.detail-description{margin:0 0 12px;color:#d2d8f0bf;font-size:.9rem}.detail-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.detail-category-line{margin:6px 0;font-size:.85rem;color:#cdd3ebb8}.tag-section .tag-list{display:flex;flex-wrap:wrap;gap:10px}.tag-section .tag-item{display:flex;align-items:center;gap:8px}.tag-section .tag-controls{display:flex;gap:8px;flex-wrap:wrap}.tag-section .tag-controls input{flex:1;min-width:200px}.detail-form{display:grid;gap:18px}.form-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.detail-form label{display:grid;gap:6px;font-size:.85rem;color:#cdd3ebb8}.detail-form input,.detail-form select,.detail-form textarea{border-radius:10px;border:1px solid rgba(118,124,160,.4);background:#12141ed9;color:#f5f7ff;padding:8px 12px;font:inherit}.detail-form textarea{min-height:80px;resize:vertical}.full-width{grid-column:1 / -1}.aspect-section{display:grid;gap:12px}.aspect-options{display:flex;flex-wrap:wrap;gap:8px}.aspect-pill{border-radius:10px;border:1px solid rgba(118,124,160,.35);background:#1e22308c;color:#e1e5ffd1;padding:6px 12px;cursor:pointer;transition:background .2s ease,border .2s ease,color .2s ease}.aspect-pill.active{background:#787eff59;border-color:#969cff8c;color:#fff}.aspect-adder{display:flex;gap:8px;align-items:center}.aspect-adder input{flex:1;min-width:140px}.prompt-section,.media-section,.customization-section{display:grid;gap:12px}.section-header,.section-subheader{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:#cdd3ebb8}.section-header small,.section-subheader small{font-size:.75rem;color:#cdd3eb8c}.image-list{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.image-item{border-radius:12px;border:1px solid rgba(118,124,160,.35);background:#12141e99;overflow:hidden;display:flex;flex-direction:column;gap:8px}.image-item img{width:100%;aspect-ratio:1 / 1;object-fit:cover}.image-actions{display:flex;gap:8px;padding:8px;justify-content:space-between}.image-controls{display:flex;gap:8px;flex-wrap:wrap}.image-controls input{flex:1;min-width:200px}.asset-uploader{margin-top:12px;display:flex;flex-direction:column;gap:12px}.asset-dropzone{border:1px dashed rgba(118,124,160,.45);border-radius:12px;padding:16px;background:#12141e73;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:border-color .2s ease,background .2s ease}.asset-dropzone.drag-active{border-color:#66b2ffcc;background:#12182ab3}.asset-dropzone.disabled{opacity:.55;cursor:not-allowed}.asset-dropzone__meta{margin:4px 0;font-size:.85rem;color:#cdd3eba6}.asset-upload-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.asset-upload-item{border:1px solid rgba(118,124,160,.35);border-radius:10px;padding:10px 12px;background:#0c101cb3;display:flex;flex-direction:column;gap:8px}.asset-upload-details{display:flex;justify-content:space-between;font-size:.85rem;color:#cdd3ebcc}.asset-upload-name{font-weight:600;color:#f5f7ffe6}.asset-upload-size{color:#cdd3eb8c}.asset-upload-progress{display:flex;flex-direction:column;gap:6px}.asset-upload-progress-bar{width:100%;height:6px;background:#343a5499;border-radius:999px;overflow:hidden}.asset-upload-progress-value{height:100%;background:linear-gradient(90deg,#4a9fff,#7bc6ff);border-radius:999px}.asset-upload-status{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#cdd3ebbf;gap:8px}.asset-upload-error{color:#ff9a8b}.asset-upload-item.error .asset-upload-progress-bar{background:#65303099}.asset-upload-item.error .asset-upload-progress-value{background:#ff9a8bcc}.customization-defaults{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.customization-field{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;border:1px solid rgba(118,124,160,.35);background:#12141e8c}.customization-field span{font-size:.85rem;color:#cdd3ebd9;font-weight:600}.customization-field input{width:100%;background:#0c101cb8;border:1px solid rgba(118,124,160,.45);border-radius:8px;padding:8px 10px;color:#f5f7ffeb}.customization-field input::placeholder{color:#cdd3eb73}.customization-field input:focus{outline:none;border-color:#7bc6ffcc;box-shadow:0 0 0 2px #7bc6ff26}.field-hint{font-size:.75rem;color:#cdd3eb8c}.prompt-block dl{display:grid;gap:6px;margin:0}.prompt-block dt{font-size:.75rem;color:#cdd3eb99}.prompt-block dd{margin:0;white-space:pre-wrap;color:#f5f7ffeb}.aspect-list{font-size:.85rem;color:#cdd3ebb3}.detail-actions{display:flex;gap:12px;flex-wrap:wrap}.prompt-block{background:#141824bf;border:1px solid rgba(118,124,160,.35);border-radius:14px;padding:14px 16px}.prompt-block pre{white-space:pre-wrap;margin:8px 0 0;color:#d2d8f0cc;font-size:.85rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#07080ec7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;z-index:40;padding:24px}.modal-panel{width:min(520px,100%);background:#181c28f2;border:1px solid rgba(108,114,148,.3);border-radius:18px;padding:20px;display:grid;gap:18px;box-shadow:0 24px 48px #05060c8c}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:12px}.preview-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.preview-grid img{width:100%;border-radius:14px;object-fit:cover;box-shadow:0 14px 30px #0a0c1473}.user-toolbar{display:flex;align-items:center;gap:8px;position:relative}.user-toolbar--syncing{gap:10px;color:#eff5ffc7;font-size:.95rem}.user-toolbar--syncing-dot{width:10px;height:10px;border-radius:50%;background:#9395ffbf;box-shadow:0 0 12px #9395ff99;animation:user-toolbar-syncing-pulse 1.2s ease-in-out infinite}@keyframes user-toolbar-syncing-pulse{0%{transform:scale(.85);opacity:.6}50%{transform:scale(1.15);opacity:1}to{transform:scale(.85);opacity:.6}}.avatar-button{display:flex;align-items:center;gap:10px;border-radius:999px;border:none;background:#ffffff0a;padding:6px 16px;color:#eff5ffc7;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.avatar-button:hover,.avatar-button.active{background:linear-gradient(135deg,#7577ff99,#5d5eff59);color:#fff;box-shadow:0 12px 28px #4650b461}.avatar-photo{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffffff29,#5a68ffa6);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:0 16px 34px #24307080;padding:2px;box-sizing:border-box}.avatar-photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;object-position:center;transform:scale(.94);transition:transform .2s ease}.avatar-photo:after{content:"";width:30px;height:30px;background-image:url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='32' cy='24' r='14' fill='%23f5f7ff' fill-opacity='0.9'/%3E%3Cpath d='M12 56c4.8-11.2 15.2-16 20-16s15.2 4.8 20 16' fill='%23f5f7ff' fill-opacity='0.85'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;opacity:.85}.avatar-photo.has-photo:after{display:none}.avatar-button:hover .avatar-photo img,.avatar-button.active .avatar-photo img{transform:scale(.98)}.avatar-initial{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}.avatar-chevron{transition:transform .2s ease;color:#d7dcffbf;font-size:1.1rem}.avatar-button:hover .avatar-chevron,.avatar-button.active .avatar-chevron{color:#e4e9fff2}.avatar-chevron.open{transform:rotate(180deg)}.menu-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:220px;background:#141824f2;border:1px solid rgba(108,114,148,.3);border-radius:14px;padding:16px;display:grid;gap:12px;box-shadow:0 18px 40px #080a1299;z-index:20}.menu-header{display:grid;gap:4px}.menu-email{font-size:.85rem;color:#e1e5ffe6;word-break:break-all}.menu-subtext{font-size:.75rem;color:#cdd3eb99}.menu-role{font-size:.75rem;color:#cdd3eba6}.menu-links{display:grid;gap:8px}.menu-link{display:block;text-align:left;border:none;background:#1c1e2ca6;color:#e1e5ffe0;padding:8px 12px;border-radius:10px;cursor:pointer;transition:background .2s ease,color .2s ease;font:inherit}.menu-link:hover{background:#6c70ff47;color:#fff}.menu-link.active{background:#6c70ff59;color:#fff}.menu-link.active:hover{background:#6c70ff66;color:#fff}.menu-link.danger{background:#ff7a7a2e;color:#ffb4b4}.menu-link.danger:hover{background:#ff7a7a4d;color:#fff}.menu-link:disabled{opacity:.6;cursor:not-allowed}.menu-status{font-size:.75rem;color:#cdd3ebbf;background:#1c1e2ca6;padding:8px 12px;border-radius:10px}.menu-status--error{color:#ffb4b4}.auth-redirect-error{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,#3c407866,#0c0e1af2);padding:24px}.auth-redirect-error__content{background:#121424cc;border:1px solid rgba(120,126,255,.2);border-radius:18px;padding:32px;max-width:420px;width:100%;color:#f4f5ff;text-align:center;box-shadow:0 24px 48px #080a128c;display:grid;gap:16px}.auth-redirect-error__content h1{font-size:1.5rem;margin:0}.auth-redirect-error__content p{margin:0;line-height:1.5;color:#dce0ffd9}.auth-redirect-error__content button{margin-top:8px;border:none;border-radius:12px;padding:12px;background:linear-gradient(135deg,#747fffe6,#525affcc);color:#fff;cursor:pointer;font:inherit;transition:transform .2s ease,box-shadow .2s ease}.auth-redirect-error__content button:hover{transform:translateY(-1px);box-shadow:0 12px 24px #747fff59}.customization-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#070a12c2;display:flex;justify-content:center;align-items:center;z-index:1200;padding:24px}.customization-modal{background:#121624f2;border:1px solid rgba(118,124,160,.4);border-radius:18px;width:min(680px,calc(100vw - 48px));max-height:calc(100vh - 60px);display:flex;flex-direction:column;box-shadow:0 24px 48px #06081073;overflow:hidden}.customization-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 10px;gap:12px}.customization-header h2{margin:0;font-size:1.15rem;color:#f4f6ff}.customization-subtitle{margin:2px 0 0;color:#cdd3ebad;font-size:.82rem}.customization-close{border:none;background:#1c20309e;color:#f4f6ffd9;border-radius:999px;width:34px;height:34px;font-size:1.3rem;cursor:pointer;transition:background .2s ease,color .2s ease}.customization-close:hover{background:#262c42e6;color:#fff}.customization-body{padding:10px 20px 16px;overflow-y:auto;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-content:start}.customization-empty{padding:36px 20px;text-align:center;color:#cdd3ebbf;font-size:.95rem}.customization-section{display:grid;gap:12px;padding:12px 16px;border-radius:14px;background:#151926e6;border:1px solid rgba(118,124,160,.32)}.customization-section.collapsed{padding-bottom:10px}.customization-section.compact{gap:8px}.customization-section-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.customization-section-body{display:grid;gap:10px}.customization-dropdown{position:relative;width:100%}.customization-dropdown.is-multi .customization-dropdown-value{white-space:normal}.customization-dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:12px;border:1px solid rgba(124,132,200,.38);background:#131622f0;color:#e9eeffeb;font-size:.88rem;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:border .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;box-shadow:inset 0 0 0 1px #363a6638}.customization-dropdown-trigger:hover,.customization-dropdown-trigger:focus-visible{border-color:#9ca4ecb3;box-shadow:inset 0 0 0 1px #6e76d273;color:#fff;outline:none}.customization-dropdown-value{flex:1;min-width:0;text-align:left}.customization-dropdown-arrow{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid rgba(126,132,200,.32);background:#262c4a59;transition:border .2s ease,background .2s ease}.customization-dropdown-trigger:hover .customization-dropdown-arrow,.customization-dropdown-trigger:focus-visible .customization-dropdown-arrow{border-color:#9298e699;background:#3a40688c}.customization-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:20;display:grid;gap:4px;max-height:260px;padding:10px;border-radius:14px;border:1px solid rgba(118,124,160,.32);background:#101420f5;box-shadow:0 18px 40px #060a188c;overflow-y:auto}.customization-dropdown-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:10px;border:1px solid transparent;background:transparent;color:#e2e8ffe0;font-size:.88rem;cursor:pointer;transition:background .2s ease,border .2s ease,color .2s ease}.customization-dropdown-option:hover,.customization-dropdown-option:focus-visible{border-color:#9296f099;background:#282c48cc;color:#fff;outline:none}.customization-dropdown-option.selected{border-color:#9296f0d9;background:#383e66e6;color:#fff}.customization-dropdown-check{display:inline-flex;align-items:center;justify-content:center;color:#bac6fff2}.customization-section-title{margin:0;flex:1;display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:600;color:#f4f6ffe6}.customization-section-optional{font-size:.75rem;font-weight:500;color:#e2e6ffb3}.customization-section-toggle{border:none;background:transparent;color:#f4f6ffeb;display:inline-flex;align-items:center;gap:6px;font-size:.9rem;font-weight:600;letter-spacing:.02em;cursor:pointer;padding:0;transition:color .2s ease}.customization-section-toggle:hover,.customization-section-toggle:focus-visible{color:#fff}.customization-field{display:flex;flex-direction:column;gap:6px}.customization-field-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#bcc4e8b3}.customization-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#131622f0;background-image:linear-gradient(135deg,#52589c47,#181c2eeb),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23cfd5ff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat,no-repeat;background-position:0 0,right 16px center;background-size:cover,10px 6px;border:1px solid rgba(124,132,200,.38);border-radius:12px;padding:10px 42px 10px 16px;color:#e9eeffeb;font-size:.95rem;font-weight:500;letter-spacing:.01em;transition:border .2s ease,box-shadow .2s ease,background .2s ease;box-shadow:inset 0 0 0 1px #363a6638}.customization-select:focus-visible{outline:2px solid rgba(146,150,240,.7);outline-offset:2px;border-color:#9296f0bf;box-shadow:inset 0 0 0 1px #6268bc73}.customization-select:hover{border-color:#9ca4ecb3;box-shadow:inset 0 0 0 1px #6e76d273}.customization-select.is-multi{min-height:110px;padding:8px 12px;overflow-y:auto;background-image:linear-gradient(135deg,#52589c3d,#181c2ee6);background-position:0 0;background-size:cover}.customization-color-group{display:flex;flex-direction:column;gap:10px;width:100%}.customization-color-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:1px solid rgba(118,124,160,.38);background:#1c2030c7;color:#e2e8ffe6;border-radius:12px;padding:10px 14px;cursor:pointer;transition:border .2s ease,background .2s ease,color .2s ease}.customization-color-toggle:hover,.customization-color-toggle:focus-visible{border-color:#9ca2ecb8;background:#2e344ce0;color:#fff}.customization-color-toggle.active{border-color:#9296f0d9;background:#3a4062eb;color:#fff}.customization-color-toggle:disabled{opacity:.45;cursor:not-allowed}.customization-color-toggle:hover .customization-dropdown-arrow,.customization-color-toggle:focus-visible .customization-dropdown-arrow,.customization-color-toggle.active .customization-dropdown-arrow{border-color:#9298e699;background:#3a40688c}.customization-color-preview{width:24px;height:24px;border-radius:7px;border:1px solid rgba(12,14,22,.55);box-shadow:inset 0 0 0 1px #ffffff1f}.customization-color-preview.is-empty{background-image:linear-gradient(45deg,rgba(170,178,210,.4) 25%,transparent 25%),linear-gradient(-45deg,rgba(170,178,210,.4) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(170,178,210,.4) 75%),linear-gradient(-45deg,transparent 75%,rgba(170,178,210,.4) 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0;background-color:#181c2ce6}.customization-color-label{flex:1;text-align:left;font-size:.88rem;font-weight:500;color:inherit}.customization-color-grid{--swatch-size: 26px;display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--swatch-size),1fr));gap:4px;justify-content:stretch;padding:8px;border-radius:14px;border:1px solid rgba(118,124,160,.28);background:#101420eb;width:100%}.customization-color-original{grid-column:1 / -1;padding:8px 10px;border-radius:10px;border:1px solid rgba(118,124,160,.35);background:#1b1f30e0;color:#e2e8ffeb;font-size:.85rem;font-weight:500;text-align:left;cursor:pointer;transition:border .2s ease,background .2s ease,color .2s ease}.customization-color-original:hover,.customization-color-original:focus-visible{border-color:#9ca2ecbf;background:#2e324af0;color:#fff;outline:none}.customization-color-original.active{border-color:#9296f0d9;background:#3a4062f2;color:#fff}.customization-color-swatch{position:relative;width:var(--swatch-size);height:var(--swatch-size);border-radius:5px;border:1px solid rgba(10,12,24,.55);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border .15s ease;box-shadow:inset 0 0 0 1px #ffffff1a;background-clip:padding-box}.customization-color-swatch:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:1px solid rgba(0,0,0,.18);pointer-events:none}.customization-color-swatch:hover,.customization-color-swatch:focus-visible{transform:translateY(-1px);border-color:#9296f0b3;box-shadow:0 0 0 1px #9296f099}.customization-color-swatch.active{border-color:#9296f0d9;box-shadow:0 0 0 1px #9296f0bf}.customization-hint{margin:0;font-size:.78rem;color:#cdd3ebb3}.customization-hint.compact{font-size:.75rem;color:#bec6eba6}.customization-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px 16px;background:#101420d9;border-top:1px solid rgba(118,124,160,.3)}.customization-footer .ghost-button{min-width:100px}.customization-footer .primary-button{min-width:120px}.app-error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 16px;background:radial-gradient(circle at top,rgba(60,76,190,.25),transparent 55%),#0f1116}.app-error-boundary__panel{width:min(640px,100%);background:#0f1116e6;border:1px solid rgba(118,124,160,.35);border-radius:20px;box-shadow:0 24px 64px #090b128c;padding:32px;color:#f5f7ff}.app-error-boundary__title{margin:0 0 8px;font-size:clamp(1.6rem,2.6vw,2rem)}.app-error-boundary__description{margin:0 0 12px;color:#e8eeffd1}.app-error-boundary__logging{margin:0 0 20px;color:#d2dcffb8;font-size:.95rem}.app-error-boundary__steps-title{margin:0 0 8px;font-size:1.05rem}.app-error-boundary__steps{margin:0;padding-left:20px;display:grid;gap:8px;color:#e1e8ffd9}.app-error-boundary__actions{margin-top:24px}.app-error-boundary__reload{border:none;border-radius:999px;padding:12px 28px;font-size:1rem;font-weight:600;cursor:pointer;color:#fff;background:linear-gradient(135deg,#7c7effe6,#585cffa6);box-shadow:0 16px 30px #4650be5c;transition:transform .2s ease,box-shadow .2s ease}.app-error-boundary__reload:hover,.app-error-boundary__reload:focus-visible{transform:translateY(-1px);box-shadow:0 18px 36px #4650be7a}.app-error-boundary__details{margin-top:28px;background:#0c0e14d9;border-radius:14px;border:1px solid rgba(118,124,160,.3);padding:16px 20px;color:#dce4ffe0}.app-error-boundary__details summary{cursor:pointer;font-weight:600;outline:none}.app-error-boundary__details-content{margin-top:12px;display:grid;gap:12px}.app-error-boundary__details pre{margin:8px 0 0;padding:12px;border-radius:10px;background:#080a10e6;color:#d3daffe6;font-size:.8rem;max-height:240px;overflow:auto;white-space:pre-wrap;word-break:break-word}.home-skeleton{padding:48px 32px;display:grid;gap:32px}.home-skeleton-hero{height:200px;border-radius:24px;background:linear-gradient(90deg,#ffffff0d,#ffffff1f,#ffffff0d);background-size:200% 100%;animation:homeSkeletonPulse 1.6s ease-in-out infinite}.home-skeleton-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.home-skeleton-card{height:220px;border-radius:20px;background:linear-gradient(90deg,#ffffff0d,#ffffff1f,#ffffff0d);background-size:200% 100%;animation:homeSkeletonPulse 1.6s ease-in-out infinite}@keyframes homeSkeletonPulse{0%{background-position:200% 0}to{background-position:-200% 0}}.account-page-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:12px}.account-close-button{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#d4d9ff}.account-close-button:hover{color:#fff}.account-close-icon{font-size:1.2rem;line-height:1}.public-home-shell{padding:64px 24px;display:flex;justify-content:center}.public-home-hero{max-width:640px;text-align:center;display:flex;flex-direction:column;gap:24px}.public-home-hero h1{font-size:clamp(2rem,4vw,3rem);font-weight:700;color:#f6f7ff}.public-home-hero p{color:#d4d9ff;font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:520px}.public-home-hero .primary-button{align-self:center;padding:14px 32px;font-size:1rem}
