:root{--brand:#3d518c;--brand-600:#33447a;--brand-700:#2a386a;--brand-tint:#eceff7;--brand-contrast:#fff;--canvas:#f4f3f8;--surface:#fff;--surface-2:#fafafc;--surface-3:#efeef4;--mat:#fbfaf7;--ink:#1b1b22;--ink-2:#40404b;--muted:#6c6c7a;--line:#1b1b221a;--line-strong:#1b1b2229;--like:#e5484d;--danger:#d11a2a;--danger-tint:#fbe9eb;--success:#2e7d48;--success-tint:#e7f4ec;--warning:#b7791f;--warning-tint:#fbf1de;--r-xs:6px;--r-sm:10px;--r-md:16px;--r-lg:22px;--r-xl:28px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--shadow-1:0 1px 2px #14162b0f,0 1px 3px #14162b1a;--shadow-2:0 4px 10px #14162b0f,0 10px 24px #14162b14;--shadow-3:0 12px 28px #14162b1f,0 24px 48px #14162b24;--ring:0 0 0 3px #3d518c61;--font-display:"Fraunces",Georgia,"Times New Roman",serif;--font-body:"Roboto",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",sans-serif;--fs-eyebrow:0.75rem;--fs-caption:0.8125rem;--fs-sm:0.875rem;--fs-body:1rem;--fs-lg:1.125rem;--fs-h3:1.375rem;--fs-h2:clamp(1.6rem,3vw,2.1rem);--fs-h1:clamp(2rem,4.5vw,3rem);--fs-display:clamp(2.6rem,6vw,4.25rem);--lh-tight:1.15;--lh-snug:1.35;--lh-body:1.6;--track-caps:0.08em;--t-fast:120ms cubic-bezier(0.2,0.6,0.2,1);--t:180ms cubic-bezier(0.2,0.6,0.2,1);--t-slow:320ms cubic-bezier(0.2,0.6,0.2,1);--container:1240px;--container-narrow:720px;--header-h:76px}body.dark{--brand:#8fa0d8;--brand-600:#a6b4e2;--brand-700:#bcc6ea;--brand-tint:#23283a;--brand-contrast:#14161f;--canvas:#161619;--surface:#212127;--surface-2:#26262d;--surface-3:#2e2e36;--mat:#1b1b20;--ink:#f1f1f4;--ink-2:#c9c9d2;--muted:#9a9aa8;--line:#ffffff1a;--line-strong:#ffffff2e;--danger-tint:#3a2226;--success-tint:#1e2f26;--warning-tint:#322a19;--shadow-1:0 1px 2px #0006;--shadow-2:0 6px 18px #00000073;--shadow-3:0 16px 40px #0000008c;--ring:0 0 0 3px #8fa0d873}*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--canvas);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);margin:0;transition:background-color var(--t-slow),color var(--t-slow)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{color:var(--ink);font-family:var(--font-display);font-optical-sizing:auto;font-weight:600;line-height:var(--lh-tight);margin:0 0 var(--s-4)}h1{font-size:var(--fs-h1)}h1,h2{letter-spacing:-.01em}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}p{margin:0 0 var(--s-4)}a{color:var(--brand);text-decoration:none;transition:color var(--t-fast)}a:hover{color:var(--brand-600)}img{max-width:100%}button{font-family:inherit}:focus-visible{border-radius:var(--r-xs);box-shadow:var(--ring);outline:none}::selection{background:var(--brand);color:var(--brand-contrast)}*{scrollbar-color:var(--line-strong) #0000;scrollbar-width:thin}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);background-clip:content-box;border:3px solid #0000;border-radius:var(--r-pill)}.page{max-width:var(--container)}.page,.page-narrow{margin:0 auto;padding:var(--s-6) var(--s-5) var(--s-9)}.page-narrow{max-width:var(--container-narrow)}.container{margin:0 auto;max-width:var(--container);padding-inline:var(--s-5);width:100%}.page-head{margin-bottom:var(--s-6)}.eyebrow{color:var(--brand);font-family:var(--font-body);font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:var(--track-caps);margin:0 0 var(--s-2);text-transform:uppercase}.page-title{font-family:var(--font-display);font-size:var(--fs-h1);font-weight:600;letter-spacing:-.01em;margin:0}.page-lead{color:var(--muted);font-size:var(--fs-lg);margin:var(--s-3) 0 0;max-width:60ch}.stack{display:flex;flex-direction:column;gap:var(--s-4)}.row,.row-between{align-items:center;display:flex;gap:var(--s-3)}.row-between{justify-content:space-between}.wrap{flex-wrap:wrap}.muted{color:var(--muted)}.text-center{text-align:center}.divider{background:var(--line);border:0;height:1px;margin:var(--s-5) 0}.grow{flex:1 1}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.loading-page{align-items:center;display:flex;justify-content:center;min-height:40vh;width:100%}.spinner{animation:spin .7s linear infinite;border:3px solid var(--line-strong);border-radius:50%;border-top-color:var(--brand);display:inline-block;height:26px;width:26px}.spinner-sm{border-width:2px;height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}.btn{align-items:center;background:var(--surface-3);border:1px solid #0000;border-radius:var(--r-pill);color:var(--ink);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--fs-sm);font-weight:600;gap:var(--s-2);height:44px;justify-content:center;line-height:1;padding:0 var(--s-5);transition:transform var(--t-fast),background-color var(--t),border-color var(--t),box-shadow var(--t),color var(--t);white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.btn-primary{background:var(--brand);box-shadow:var(--shadow-1);color:var(--brand-contrast)}.btn-primary:hover{background:var(--brand-600);box-shadow:var(--shadow-2)}.btn-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.btn-secondary:hover{border-color:var(--brand);color:var(--brand)}.btn-ghost{background:#0000;color:var(--ink-2)}.btn-ghost:hover{background:var(--surface-3)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(.94)}.btn-outline-danger{background:#0000;border-color:var(--danger);color:var(--danger)}.btn-outline-danger:hover{background:var(--danger-tint)}.btn-sm{font-size:var(--fs-caption);height:36px;padding:0 var(--s-4)}.btn-lg{font-size:var(--fs-body);height:52px;padding:0 var(--s-6)}.btn-block{width:100%}.btn-icon{align-items:center;background:var(--surface-3);border:1px solid #0000;border-radius:var(--r-pill);color:var(--ink);cursor:pointer;display:inline-flex;height:40px;justify-content:center;padding:0;transition:background-color var(--t),color var(--t),transform var(--t-fast);width:40px}.btn-icon:hover{background:var(--brand-tint);color:var(--brand)}.btn-icon .material-symbols-outlined{font-size:22px}.field{display:flex;flex-direction:column;gap:var(--s-2);margin-bottom:var(--s-4)}.field-label{color:var(--ink-2);font-weight:600}.field-hint,.field-label{font-size:var(--fs-caption)}.field-hint{color:var(--muted)}.input,.select,.textarea{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);box-sizing:border-box;color:var(--ink);font-family:inherit;font-size:var(--fs-body);padding:12px 14px;transition:border-color var(--t),box-shadow var(--t);width:100%}.input::placeholder,.textarea::placeholder{color:var(--muted)}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:var(--ring);outline:none}.textarea{line-height:var(--lh-body);min-height:96px;resize:vertical}.select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%236c6c7a' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;cursor:pointer;padding-right:38px}.checkbox{align-items:center;cursor:pointer;display:flex;font-size:var(--fs-sm);gap:var(--s-2)}.checkbox input{accent-color:var(--brand);cursor:pointer;height:18px;width:18px}.form-error{color:var(--danger)}.form-error,.form-success{font-size:var(--fs-sm);margin:0 0 var(--s-3)}.form-success{color:var(--success)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.panel-pad{padding:var(--s-5)}.chip{align-items:center;background:var(--surface-3);border-radius:var(--r-pill);color:var(--ink-2);display:inline-flex;font-size:var(--fs-caption);font-weight:600;gap:var(--s-1);line-height:1;padding:6px 12px}.chip-brand{background:var(--brand-tint);color:var(--brand)}.chip-button{border:1px solid #0000;cursor:pointer;transition:border-color var(--t),color var(--t)}.chip-button:hover{border-color:var(--brand);color:var(--brand)}.chip-button.active{background:var(--brand);color:var(--brand-contrast)}.badge{align-items:center;background:var(--danger);border-radius:var(--r-pill);color:#fff;display:inline-flex;font-size:11px;font-weight:700;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 5px}.badge-status{font-size:var(--fs-caption);height:22px;padding:0 10px}.badge-success{background:var(--success-tint);color:var(--success)}.badge-warning{background:var(--warning-tint);color:var(--warning)}.badge-neutral{color:var(--muted)}.avatar,.badge-neutral{background:var(--surface-3)}.avatar{border-radius:50%;flex-shrink:0;height:44px;object-fit:cover;width:44px}.avatar-sm{height:32px;width:32px}.avatar-lg{height:72px;width:72px}.avatar-xl{height:112px;width:112px}.avatar-fallback{background:var(--brand);color:var(--brand-contrast);display:inline-flex;font-family:var(--font-display);font-weight:600;text-transform:uppercase}.avatar-fallback,.empty-state{align-items:center;justify-content:center}.empty-state{color:var(--muted);display:flex;flex-direction:column;gap:var(--s-3);margin:0 auto;max-width:460px;padding:var(--s-8) var(--s-5);text-align:center}.empty-state .empty-icon{color:var(--brand);font-size:44px;opacity:.9}.empty-state h3{color:var(--ink);margin:0}.empty-state p{margin:0}.skeleton{background:var(--surface-3);border-radius:var(--r-sm);overflow:hidden;position:relative}.skeleton:after{animation:skeleton-shine 1.3s infinite;background:linear-gradient(90deg,#0000,#ffffff40,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%)}body.dark .skeleton:after{background:linear-gradient(90deg,#0000,#ffffff0f,#0000)}@keyframes skeleton-shine{to{transform:translateX(100%)}}.museum-label{color:var(--muted);font-family:var(--font-body);font-size:var(--fs-eyebrow);letter-spacing:var(--track-caps);text-transform:uppercase}.museum-title{color:var(--ink);font-family:var(--font-display);font-weight:600;line-height:var(--lh-snug)}:root{--a11y-font-scale:1}html{font-size:100%;font-size:calc(100%*var(--a11y-font-scale, 1))}body.a11y-contrast{--a11y-contrast-fg:#000;--a11y-contrast-bg:#fff;background-color:#fff;color:#000}body.a11y-contrast.dark{background-color:#000;color:#fff}body.a11y-contrast *{border-color:currentColor!important}body.a11y-contrast a,body.a11y-contrast button{text-decoration-thickness:from-font}body.a11y-contrast .up-message-hint,body.a11y-contrast [style*=opacity],body.a11y-contrast em{opacity:1!important}body.a11y-reduce-motion *,body.a11y-reduce-motion :after,body.a11y-reduce-motion :before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}body.a11y-no-transparency .app-modal-backdrop,body.a11y-no-transparency .app-modal-overlay{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#000000d9!important}body.a11y-no-transparency .app-modal,body.a11y-no-transparency .app-modal-card,body.a11y-no-transparency .app-modal-content{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important}body.a11y-no-transparency.dark .app-modal,body.a11y-no-transparency.dark .app-modal-card,body.a11y-no-transparency.dark .app-modal-content{background:#242424!important}body.a11y-no-transparency .navbar{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body.a11y-bold,body.a11y-bold *{font-weight:600!important}body.a11y-bold b,body.a11y-bold h1,body.a11y-bold h2,body.a11y-bold h3,body.a11y-bold strong{font-weight:800!important}body.a11y-cb-protanopia{filter:url(#a11y-cb-protanopia)}body.a11y-cb-deuteranopia{filter:url(#a11y-cb-deuteranopia)}body.a11y-cb-tritanopia{filter:url(#a11y-cb-tritanopia)}.App{text-align:center}.card{display:flex;flex-direction:column;gap:var(--s-3)}.card-frame{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-1);padding:10px;position:relative;transition:transform var(--t),box-shadow var(--t)}.card:hover .card-frame{box-shadow:var(--shadow-3);transform:translateY(-4px)}.card-image-link{aspect-ratio:4/5;background:var(--surface-3);border-radius:var(--r-sm);display:block;overflow:hidden;position:relative}.card-img{display:block;height:100%;object-fit:cover;transition:transform var(--t-slow);width:100%}.card:hover .card-img{transform:scale(1.04)}.card-img-placeholder{align-items:center;color:var(--muted);display:flex;flex-direction:column;font-size:var(--fs-caption);gap:var(--s-2);height:100%;justify-content:center;width:100%}.card-img-placeholder .material-symbols-outlined{font-size:40px;opacity:.6}.card-price{background:var(--ink);border-radius:var(--r-pill);box-shadow:var(--shadow-1);color:var(--surface);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:600;left:18px;line-height:1;padding:6px 12px}.card-actions,.card-price{position:absolute;top:18px}.card-actions{display:flex;gap:var(--s-2);opacity:0;right:18px;transform:translateY(-4px);transition:opacity var(--t),transform var(--t)}.card:focus-within .card-actions,.card:hover .card-actions{opacity:1;transform:translateY(0)}.card-action-btn{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;border:none;border-radius:50%;box-shadow:var(--shadow-1);color:var(--ink);cursor:pointer;display:inline-flex;height:34px;justify-content:center;padding:0;transition:background-color var(--t-fast),color var(--t-fast);width:34px}.card-action-btn:hover{background:#fff;color:var(--brand)}.card-action-btn.delete:hover{color:var(--danger)}.card-action-btn .material-symbols-outlined{font-size:19px}.card-label{align-items:flex-start;display:flex;gap:var(--s-3);justify-content:space-between;padding:0 var(--s-1)}.card-label-text{display:flex;flex-direction:column;gap:3px;min-width:0}.card-title{color:var(--ink);font-size:var(--fs-lg);overflow:hidden;text-decoration:none;text-overflow:ellipsis;transition:color var(--t-fast);white-space:nowrap}.card-title:hover{color:var(--brand)}.card-artist{color:var(--muted);overflow:hidden;text-decoration:none;text-overflow:ellipsis;transition:color var(--t-fast);white-space:nowrap}.card-artist:hover{color:var(--brand)}.card-like{align-items:center;background:none;border:none;border-radius:var(--r-sm);color:var(--muted);cursor:pointer;display:inline-flex;flex-shrink:0;font-family:var(--font-body);font-size:var(--fs-caption);font-weight:600;gap:5px;padding:4px 6px;transition:color var(--t-fast),background-color var(--t-fast)}.card-like:hover:not(:disabled){background:var(--surface-3);color:var(--like)}.card-like:disabled{cursor:not-allowed}.card-like .material-symbols-outlined{font-size:20px}.card-like.liked{color:var(--like)}.card-like.liked .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.card-like-count{min-width:1ch}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24}.picture-grid{grid-gap:var(--s-7) var(--s-5);display:grid;gap:var(--s-7) var(--s-5);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));width:100%}@media (max-width:600px){.picture-grid{gap:var(--s-5) var(--s-4);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.site-header{-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);background:color-mix(in srgb,var(--surface) 82%,#0000);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:100}.site-header-inner{grid-gap:var(--s-4);align-items:center;display:grid;gap:var(--s-4);grid-template-areas:"search logo actions";grid-template-columns:1fr auto 1fr;margin:0 auto;max-width:var(--container);min-height:var(--header-h);padding:0 var(--s-5)}.nav-search{grid-area:search;min-width:0}.nav-logo{display:inline-flex;grid-area:logo;justify-self:center}.nav-actions{align-items:center;display:flex;gap:var(--s-1);grid-area:actions;justify-self:end}.logo-img{cursor:pointer;display:block;height:44px;width:auto}.nav-action{align-items:center;background:none;border:none;border-radius:var(--r-md);color:var(--ink-2);cursor:pointer;display:inline-flex;flex-direction:column;gap:2px;padding:6px 10px;transition:background-color var(--t-fast),color var(--t-fast)}.nav-action:hover{background:var(--surface-3);color:var(--brand)}.nav-action-icon{display:inline-flex;position:relative}.nav-action img{display:block}.nav-action-label{color:var(--ink-2);font-size:11px;font-weight:500;letter-spacing:.01em}.nav-emoji{align-items:center;display:inline-flex;font-size:24px;height:26px;line-height:26px}.nav-badge{border:2px solid var(--surface);box-shadow:var(--shadow-1);position:absolute;right:-8px;top:-6px}.nav-search-form{align-items:center;display:flex;max-width:340px;position:relative}.search-bar{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--ink);font-family:inherit;font-size:var(--fs-sm);height:44px;padding:0 16px 0 44px;transition:border-color var(--t),box-shadow var(--t),background-color var(--t);width:100%}.search-bar::placeholder{color:var(--muted)}.search-bar:focus{background:var(--surface);border-color:var(--brand);box-shadow:var(--ring);outline:none}.search-icon-btn{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:inline-flex;height:34px;justify-content:center;left:6px;position:absolute;width:34px}.search-icon-btn img{display:block;height:20px;width:20px}@media (max-width:860px){.site-header-inner{grid-template-areas:"logo actions" "search search";grid-template-columns:auto 1fr;padding-block:var(--s-3);row-gap:var(--s-3)}.nav-logo{justify-self:start}.nav-search-form{max-width:none}.logo-img{height:38px}}@media (max-width:560px){.nav-action{padding:6px}.nav-action-label{display:none}.nav-actions{gap:0}}.home-head{max-width:62ch}.card-skeleton{display:flex;flex-direction:column;gap:var(--s-3)}.card-skeleton-img{aspect-ratio:4/5;border-radius:var(--r-md)}.card-skeleton-line{border-radius:var(--r-xs);height:14px;width:80%}.card-skeleton-line.short{height:11px;width:45%}.google-btn{align-items:center;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--ink);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--fs-sm);font-weight:600;gap:10px;height:48px;justify-content:center;max-width:320px;padding:0 16px;transition:background-color var(--t),box-shadow var(--t),border-color var(--t),transform var(--t-fast);width:100%}.google-btn:hover{background:var(--surface-2);border-color:var(--brand);box-shadow:var(--shadow-1);transform:translateY(-1px)}.google-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.google-icon{flex-shrink:0;height:18px;width:18px}.auth-page{align-items:center;background-image:radial-gradient(120% 90% at 50% 0,var(--brand-tint),#0000 60%);display:flex;flex-direction:column;justify-content:center;min-height:100vh}.auth-card{max-width:440px;width:100%}.auth-head{margin-bottom:var(--s-5);text-align:center}.auth-logo{display:inline-flex;margin-bottom:var(--s-4)}.auth-logo-img{height:34px;width:auto}.auth-head .eyebrow{margin-bottom:var(--s-1)}.auth-title{font-family:var(--font-display);font-size:var(--fs-h2);font-weight:600;letter-spacing:-.01em;line-height:var(--lh-tight);margin:0}.auth-sub{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-snug);margin:var(--s-2) 0 0}.auth-form{margin:0}.auth-form .btn-block{margin-top:var(--s-2)}#registerResult:empty{display:none}.auth-divider{align-items:center;color:var(--muted);display:flex;font-size:var(--fs-caption);gap:var(--s-3);letter-spacing:var(--track-caps);margin:var(--s-5) 0;text-transform:uppercase}.auth-divider:after,.auth-divider:before{background:var(--line);content:"";flex:1 1;height:1px}.auth-google{display:flex;justify-content:center}.error-text{color:var(--danger);margin:var(--s-3) 0 0}.auth-switch,.error-text{font-size:var(--fs-sm);text-align:center}.auth-switch{margin:var(--s-5) 0 0}.link-btn{background:none;border:0;color:var(--brand);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:600;padding:0;transition:color var(--t-fast)}.link-btn:hover{color:var(--brand-600);text-decoration:underline}@media (max-width:480px){.auth-card{max-width:100%}}.app-modal-overlay{align-items:center;animation:app-modal-fade var(--t) ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#1010168c;display:flex;inset:0;justify-content:center;padding:var(--s-5);position:fixed;z-index:1000}@keyframes app-modal-fade{0%{opacity:0}to{opacity:1}}.app-modal-card{animation:app-modal-rise var(--t) cubic-bezier(.2,.6,.2,1);background-color:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-3);color:var(--ink);max-height:90vh;max-width:460px;overflow-y:auto;position:relative;width:100%}@keyframes app-modal-rise{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.app-modal-header{align-items:center;display:flex;gap:var(--s-3);justify-content:space-between;padding:var(--s-5) var(--s-5) var(--s-3)}.app-modal-title{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600;margin:0}.app-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--muted);cursor:pointer;display:inline-flex;font-size:26px;height:36px;justify-content:center;line-height:1;transition:background-color var(--t-fast),color var(--t-fast);width:36px}.app-modal-close:hover{background:var(--surface-3);color:var(--ink)}.app-modal-body{padding:var(--s-2) var(--s-5) var(--s-5)}.app-modal-footer{padding:var(--s-3) var(--s-5) var(--s-5)}.app-field{display:flex;flex-direction:column;gap:var(--s-2);margin-bottom:var(--s-4)}.app-field-label{color:var(--ink-2);font-size:var(--fs-caption);font-weight:600}.app-input,.app-select,.app-textarea{background-color:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);box-sizing:border-box;color:var(--ink);font-family:inherit;font-size:var(--fs-body);padding:12px 14px;transition:border-color var(--t),box-shadow var(--t);width:100%}.app-textarea{line-height:var(--lh-body);min-height:88px;resize:vertical}.app-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%236c6c7a' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;cursor:pointer;padding-right:38px}.app-input::placeholder,.app-textarea::placeholder{color:var(--muted)}.app-input:focus,.app-select:focus,.app-textarea:focus{border-color:var(--brand);box-shadow:var(--ring);outline:none}.app-checkbox{align-items:center;cursor:pointer;display:flex;font-size:var(--fs-sm);gap:var(--s-2);margin-bottom:var(--s-4)}.app-checkbox input{accent-color:var(--brand);cursor:pointer;height:18px;width:18px}.app-form-error{color:var(--danger)}.app-form-error,.app-form-success{font-size:var(--fs-sm);margin:0 0 var(--s-3)}.app-form-success{color:var(--success)}.app-modal-btn{background-color:var(--brand);border:none;border-radius:var(--r-pill);box-shadow:var(--shadow-1);color:var(--brand-contrast);cursor:pointer;font-size:var(--fs-body);font-weight:600;padding:13px var(--s-4);transition:background-color var(--t),box-shadow var(--t),transform var(--t-fast);width:100%}.app-modal-btn:hover:not(:disabled){background-color:var(--brand-600);box-shadow:var(--shadow-2);transform:translateY(-1px)}.app-modal-btn:disabled{cursor:not-allowed;opacity:.55}.app-modal-section{border-top:1px solid var(--line);margin-top:var(--s-2);padding-top:var(--s-4)}.app-modal-section-title{font-size:var(--fs-lg);font-weight:700;margin:0 0 var(--s-4)}.profile-container{display:flex;margin:0 auto;max-width:1000px;padding:20px}.profile-info-box{background-color:#f3f2f8;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-right:40px;min-height:50vh;padding:20px;position:relative;width:50%}.settings-grid{grid-gap:var(--s-6);align-items:start;display:grid;gap:var(--s-6);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.settings-identity{align-self:start}.id-card{overflow:hidden}.id-banner{cursor:pointer;display:block;height:150px;position:relative}.id-banner-img{display:block;height:100%;object-fit:cover;width:100%}.id-banner-fallback{background:linear-gradient(135deg,var(--brand) 0,var(--brand-700) 100%)}.id-upload-tag{align-items:center;background:#0000008c;border-radius:var(--r-pill);bottom:var(--s-2);color:#fff;display:inline-flex;font-size:var(--fs-caption);gap:var(--s-2);opacity:0;padding:var(--s-1) var(--s-3);position:absolute;right:var(--s-2);transition:opacity var(--t)}.id-banner:focus-within .id-upload-tag,.id-banner:hover .id-upload-tag{opacity:1}.id-avatar-wrap{cursor:pointer;display:block;height:128px;margin:calc(var(--s-8)*-1) auto 0;position:relative;width:128px}.id-avatar{box-shadow:0 0 0 4px var(--surface);font-size:var(--fs-display);height:128px;width:128px}.id-avatar-overlay{align-items:center;background:#00000080;border-radius:50%;color:#fff;display:flex;font-size:var(--fs-caption);inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity var(--t)}.id-avatar-wrap:focus-within .id-avatar-overlay,.id-avatar-wrap:hover .id-avatar-overlay{opacity:1}.id-body{padding:var(--s-4) var(--s-5) var(--s-5);text-align:center}.id-name{font-family:var(--font-display);font-size:var(--fs-h2);font-weight:600;margin:var(--s-3) 0 0}.id-meta{color:var(--muted);font-size:var(--fs-sm);margin:var(--s-2) 0 0}.id-hidden{font-style:italic;opacity:.7}.id-desc{color:var(--ink-2);font-size:var(--fs-sm);line-height:var(--lh-body);margin:var(--s-3) 0 0}.id-stats{border-top:1px solid var(--line);display:flex;gap:var(--s-2);margin:var(--s-5) 0 var(--s-4);padding-top:var(--s-5)}.id-stat{align-items:center;background:none;border:0;border-radius:var(--r-sm);color:var(--muted);cursor:pointer;display:inline-flex;flex:1 1;flex-direction:column;font-family:var(--font-body);gap:var(--s-1);line-height:1.2;margin:0;padding:var(--s-2) var(--s-1);transition:background var(--t),color var(--t)}.id-stat strong{color:var(--ink);font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600;line-height:1.1;transition:color var(--t)}.id-stat span{font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:var(--track-caps);text-transform:uppercase}.id-stat-static{cursor:default}.id-stat:not(.id-stat-static):hover{background:var(--surface-3);color:var(--brand)}.id-stat:not(.id-stat-static):hover strong{color:var(--brand)}.id-edit{margin-top:0}.settings-panel{padding:0 var(--s-5) var(--s-5)}.set-group{padding:var(--s-4) 0}.set-group:not(:first-child){border-top:1px solid var(--line)}.set-eyebrow{color:var(--muted);font-family:var(--font-body);font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:var(--track-caps);margin:0 0 var(--s-2);text-transform:uppercase}.set-eyebrow-danger{color:var(--danger)}.set-row{align-items:center;background:none;border:0;border-radius:var(--r-sm);color:var(--ink);cursor:pointer;display:flex;font-family:var(--font-body);font-size:var(--fs-body);gap:var(--s-3);justify-content:space-between;margin:0;padding:var(--s-3) var(--s-2);text-align:left;transition:background var(--t);width:100%}.set-row-static{cursor:default}button.set-row:hover{background:var(--surface-3)}button.set-row:hover .set-chevron{color:var(--brand);transform:translateX(3px)}.set-label{align-items:center;display:inline-flex;gap:var(--s-2)}.set-badge{height:20px;padding:0 var(--s-2)}.set-value{color:var(--muted);font-size:var(--fs-sm);max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.set-chevron{color:var(--muted);font-size:var(--fs-h3);line-height:1;transition:transform var(--t),color var(--t)}.set-row-danger{color:var(--danger)}button.set-row-danger:hover{background:var(--danger-tint)}button.set-row-danger:hover .set-chevron{color:var(--danger)}.set-logout{margin-top:var(--s-5)}.checkbox-dark-mode{margin:0;opacity:0;position:absolute}.checkbox-dark-mode,.dark-mode{cursor:pointer;height:26px;width:44px}.dark-mode{background:var(--surface-3);border:1px solid var(--line-strong);border-radius:var(--r-pill);display:block;position:relative;transition:background var(--t),border-color var(--t)}.dark-mode:after{background:var(--surface);border-radius:50%;box-shadow:var(--shadow-1);content:"";height:20px;left:2px;position:absolute;top:2px;transition:left var(--t);width:20px}.checkbox-dark-mode:checked+.dark-mode{background:var(--brand);border-color:var(--brand)}.checkbox-dark-mode:checked+.dark-mode:after{left:20px}.checkbox-dark-mode:focus-visible+.dark-mode{box-shadow:var(--ring)}.settings-posts{margin-top:var(--s-8)}.settings-posts-head{margin-bottom:var(--s-5);text-align:center}.settings-posts-title{color:var(--ink);font-family:var(--font-display);font-size:var(--fs-h2);font-weight:600;margin:var(--s-1) 0 0}@media (max-width:860px){.settings-grid{grid-template-columns:1fr}.settings-identity{position:static}}.profile-language-options{display:flex;flex-direction:column;gap:var(--s-3)}.profile-user-list{display:flex;flex-direction:column;gap:var(--s-1);list-style:none;margin:0;padding:0}.profile-user-list-item{align-items:center;border-radius:var(--r-sm);color:var(--ink);display:flex;gap:var(--s-3);padding:var(--s-2);text-decoration:none;transition:background var(--t)}.profile-user-list-item:hover{background:var(--surface-3)}.profile-user-avatar{border-radius:50%;flex-shrink:0;height:42px;object-fit:cover;width:42px}.profile-user-avatar.fallback{align-items:center;background:var(--brand);color:var(--brand-contrast);display:flex;font-weight:700;justify-content:center}.profile-user-name{flex:1 1;font-weight:600}.profile-user-tag{color:var(--muted);font-size:var(--fs-caption)}.profile-list-empty{color:var(--muted);padding:var(--s-5);text-align:center}.profile-session-list{display:flex;flex-direction:column;gap:var(--s-2);list-style:none;margin:0;padding:0}.profile-session-item{align-items:center;border:1px solid var(--line);border-radius:var(--r-sm);display:flex;gap:var(--s-3);justify-content:space-between;padding:var(--s-3)}.profile-session-info{display:flex;flex-direction:column;gap:var(--s-1);min-width:0}.profile-session-device{align-items:center;display:flex;font-size:var(--fs-sm);font-weight:600;gap:var(--s-2)}.profile-session-current{background:var(--success);border-radius:var(--r-pill);color:#fff;font-size:11px;font-weight:700;padding:1px 8px}.profile-session-ip{font-family:ui-monospace,Menlo,Consolas,monospace}.profile-session-date,.profile-session-ip{color:var(--muted);font-size:var(--fs-caption)}.profile-session-revoke{background:#0000;border:1px solid var(--danger);border-radius:var(--r-pill);color:var(--danger);cursor:pointer;font-size:var(--fs-caption);font-weight:600;padding:var(--s-1) var(--s-4);transition:background var(--t)}.profile-session-revoke:hover{background:var(--danger-tint)}.profile-delete-warning{color:var(--ink-2);line-height:var(--lh-body)}.profile-delete-btn{background:var(--danger)!important}.verify-email-page{align-items:center;display:flex;justify-content:center;min-height:100vh}.verify-email-card{text-align:center;width:100%}.verify-email-icon{color:var(--brand);font-size:48px;margin-bottom:var(--s-3)}.verify-email-title{font-family:var(--font-display);font-size:var(--fs-h2);margin:0 0 var(--s-3)}.verify-email-desc{line-height:var(--lh-body);margin:0 auto var(--s-5);max-width:46ch}.verify-email-form{text-align:left}.fav-tabs{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-6)}.fav-tabs .chip-button{font-size:var(--fs-sm);padding:var(--s-2) var(--s-4)}.create-card-form{display:flex;flex-direction:column;gap:var(--s-2)}.upload-dropzone{align-items:center;aspect-ratio:4/3;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-1);cursor:pointer;display:flex;justify-content:center;margin-bottom:var(--s-5);overflow:hidden;padding:10px;transition:border-color var(--t),box-shadow var(--t)}.upload-dropzone:hover{border-color:var(--brand);box-shadow:var(--shadow-2)}.upload-preview{border-radius:var(--r-sm);height:100%;object-fit:contain;width:100%}.upload-placeholder{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:var(--s-1);text-align:center}.upload-placeholder p{margin:0}.upload-icon{color:var(--brand);font-size:44px;margin-bottom:var(--s-1)}.create-card-gate{align-items:center;display:flex;flex-direction:column;gap:var(--s-3);margin-top:var(--s-6);padding:var(--s-7) var(--s-5);text-align:center}.create-card-gate-icon{font-size:44px;line-height:1}.create-card-gate-title{font-size:var(--fs-h3);margin:0}.create-card-gate-text{line-height:var(--lh-body);margin:0;max-width:42ch}.comments-section{border-top:1px solid var(--line);margin-top:var(--s-7);padding-top:var(--s-5)}.comments-title{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600;margin-bottom:var(--s-4)}.comment-edit,.comment-new,.comment-reply-form{display:flex;flex-direction:column;gap:var(--s-2);margin-bottom:var(--s-5)}.comment-edit textarea,.comment-new textarea,.comment-reply-form textarea{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);box-sizing:border-box;color:var(--ink);font-family:inherit;font-size:var(--fs-sm);padding:12px 14px;resize:vertical;transition:border-color var(--t),box-shadow var(--t);width:100%}.comment-edit textarea:focus,.comment-new textarea:focus,.comment-reply-form textarea:focus{border-color:var(--brand);box-shadow:var(--ring);outline:none}.comment-btn{align-self:flex-start;border:1px solid #0000;border-radius:var(--r-pill);cursor:pointer;font-size:var(--fs-sm);font-weight:600;padding:9px 18px;transition:opacity var(--t),background-color var(--t),color var(--t),border-color var(--t)}.comment-btn:disabled{cursor:not-allowed;opacity:.5}.comment-btn.primary{background-color:var(--brand);color:var(--brand-contrast)}.comment-btn.primary:hover:not(:disabled){background-color:var(--brand-600)}.comment-btn.secondary{background-color:initial;border-color:var(--line-strong);color:var(--brand)}.comment-btn.secondary:hover:not(:disabled){border-color:var(--brand)}.comment-new .comment-btn,.comment-reply-form .comment-btn{align-self:flex-end}.comment-edit-actions{display:flex;gap:var(--s-2)}.comments-empty,.comments-login-hint{color:var(--muted);font-size:var(--fs-sm);margin-bottom:var(--s-4)}.comments-list{gap:var(--s-5)}.comment,.comments-list{display:flex;flex-direction:column}.comment{gap:var(--s-2)}.comment-head{display:flex}.comment-author,.comment-head{align-items:center;gap:var(--s-2)}.comment-author{color:var(--ink);display:inline-flex;font-size:var(--fs-sm);font-weight:600;text-decoration:none}.comment-author:hover{color:var(--brand)}.comment-avatar{background:var(--surface-3);border-radius:50%;flex-shrink:0;height:30px;object-fit:cover;width:30px}.comment-avatar-fallback{align-items:center;background:var(--brand);color:var(--brand-contrast);display:inline-flex;font-size:var(--fs-caption);font-weight:600;justify-content:center}.comment-time{color:var(--muted);font-size:var(--fs-caption)}.comment-text{color:var(--ink-2);font-size:var(--fs-sm);line-height:var(--lh-body);margin:0;white-space:pre-wrap;word-break:break-word}.comment-actions{align-items:center;display:flex;gap:var(--s-4)}.comment-like{align-items:center;background:none;border:none;color:var(--muted);cursor:pointer;display:inline-flex;font-size:var(--fs-sm);gap:4px;padding:0;transition:color var(--t-fast)}.comment-like.liked,.comment-like:hover:not(:disabled){color:var(--like)}.comment-like:disabled{cursor:default}.comment-link{background:none;border:none;color:var(--muted);cursor:pointer;font-size:var(--fs-caption);font-weight:600;padding:0;transition:color var(--t-fast)}.comment-link:hover{color:var(--ink)}.comment-link-danger:hover{color:var(--danger)}.comment-toggle-replies{align-self:flex-start;background:none;border:none;color:var(--brand);cursor:pointer;font-size:var(--fs-caption);font-weight:600;padding:2px 0}.comment-replies{border-left:2px solid var(--line);display:flex;flex-direction:column;gap:var(--s-4);margin-top:var(--s-3);padding-left:var(--s-4)}.comments-more{align-self:flex-start;margin-top:var(--s-1)}.comments-loading{display:flex;justify-content:center;padding:var(--s-5) 0}.lightbox-overlay{align-items:center;animation:lightbox-fade var(--t) ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0ed1;display:flex;inset:0;justify-content:center;padding:var(--s-6);position:fixed;z-index:1200}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}.lightbox-window{animation:lightbox-zoom var(--t-slow) cubic-bezier(.2,.7,.2,1);background:var(--mat);border-radius:var(--r-md);box-shadow:var(--shadow-3);display:flex;flex-direction:column;gap:var(--s-3);margin:0;max-height:90vh;max-width:min(1100px,94vw);padding:clamp(10px,2vw,22px)}@keyframes lightbox-zoom{0%{opacity:0;transform:scale(.9) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.lightbox-img{border-radius:var(--r-sm);display:block;max-height:calc(90vh - 72px);max-width:100%;object-fit:contain}.lightbox-caption{color:var(--ink-2);text-align:center}.lightbox-close{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff24;border:none;border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;height:44px;justify-content:center;position:fixed;right:var(--s-5);top:var(--s-5);transition:background-color var(--t),transform var(--t-fast);width:44px}.lightbox-close:hover{background:#ffffff47;transform:scale(1.05)}.picture-detail-page{max-width:1120px}.picture-detail{grid-gap:var(--s-7);align-items:start;display:grid;gap:var(--s-7);grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr)}.pd-stage{min-width:0}.pd-frame{background:var(--mat);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:var(--s-4);position:relative}.pd-zoom-btn{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;border:none;border-radius:50%;box-shadow:var(--shadow-1);color:var(--ink);cursor:pointer;display:inline-flex;height:42px;justify-content:center;opacity:0;position:absolute;right:calc(var(--s-4) + var(--s-3));top:calc(var(--s-4) + var(--s-3));transform:translateY(-4px);transition:opacity var(--t),transform var(--t),background-color var(--t-fast),color var(--t-fast);width:42px}.pd-frame:hover .pd-zoom-btn,.pd-zoom-btn:focus-visible{opacity:1;transform:translateY(0)}.pd-zoom-btn:hover{background:#fff;color:var(--brand)}.pd-zoom-btn .material-symbols-outlined{font-size:22px}@media (hover:none){.pd-zoom-btn{opacity:1;transform:none}}.pd-image{background:var(--surface-3);border-radius:var(--r-xs);display:block;height:auto;max-height:76vh;object-fit:contain;width:100%}.pd-image-placeholder{align-items:center;color:var(--muted);display:flex;font-size:var(--fs-sm);justify-content:center;min-height:320px}.pd-rail{display:flex;flex-direction:column;gap:var(--s-5);min-width:0}.pd-owner-badge{align-self:flex-start}.pd-signature{display:flex;flex-direction:column;gap:var(--s-4)}.pd-title{font-size:var(--fs-h1);letter-spacing:-.01em;margin:0}.pd-artist{align-items:center;color:var(--ink-2);display:inline-flex;font-weight:600;gap:var(--s-3);max-width:100%;transition:color var(--t-fast);width:-webkit-fit-content;width:fit-content}.pd-artist:hover{color:var(--brand)}.pd-artist-avatar{font-size:var(--fs-sm)}.pd-artist-name{font-size:var(--fs-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pd-price{color:var(--ink);font-family:var(--font-display);font-size:var(--fs-h2);font-weight:600;line-height:var(--lh-tight);margin:0}.pd-meta{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:var(--s-2);margin:0;padding:var(--s-4) 0}.pd-meta-row{align-items:baseline;display:flex;gap:var(--s-3);margin:0}.pd-meta-row dt{flex-shrink:0}.pd-meta-value{color:var(--ink-2);font-size:var(--fs-sm);margin:0}.pd-description{color:var(--ink-2);line-height:var(--lh-body);margin:0;white-space:pre-wrap}.pd-actions{display:flex;flex-direction:column;gap:var(--s-4);margin-top:var(--s-1)}.pd-basket-btn{align-self:flex-start;min-width:220px}.pd-stats{align-items:center;display:flex;flex-wrap:wrap;gap:var(--s-3)}.pd-like{align-items:center;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--ink-2);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--fs-sm);font-weight:600;gap:var(--s-2);height:44px;padding:0 var(--s-4);transition:color var(--t),border-color var(--t),background-color var(--t),transform var(--t-fast)}.pd-like:hover:not(:disabled){border-color:var(--like);color:var(--like);transform:translateY(-1px)}.pd-like:active:not(:disabled){transform:translateY(0)}.pd-like:disabled{cursor:not-allowed;opacity:.55}.pd-like .material-symbols-outlined{font-size:20px}.pd-like.liked{background:var(--danger-tint);border-color:var(--like);color:var(--like)}.pd-like.liked .material-symbols-outlined{font-variation-settings:"FILL" 1}.pd-comment-count{align-items:center;color:var(--muted);display:inline-flex;font-size:var(--fs-sm);font-weight:600;gap:var(--s-2);height:44px;padding:0 var(--s-2)}.pd-comment-count .material-symbols-outlined{font-size:20px}.pd-owner-actions{display:flex;flex-wrap:wrap;gap:var(--s-3)}@media (min-width:901px){.pd-stage{position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + var(--s-4))}}@media (max-width:900px){.picture-detail{gap:var(--s-6);grid-template-columns:1fr}.pd-title{font-size:var(--fs-h2)}}@media (max-width:480px){.pd-basket-btn{align-self:stretch;min-width:0}}.up-page{max-width:1100px}.up-header{margin-bottom:var(--s-7);overflow:hidden}.up-banner{background:var(--brand-tint);height:180px}.up-banner-img{display:block;height:100%;object-fit:cover;width:100%}.up-header-body{padding:var(--s-5)}.up-header-top{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--s-5)}.up-avatar{box-shadow:0 0 0 var(--s-1) var(--surface)}.up-header.has-banner .up-avatar{margin-top:calc(var(--s-7)*-1)}.up-avatar-fallback{font-size:var(--fs-h1)}.up-identity{flex:1 1 260px;min-width:0}.up-name-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--s-3);margin-bottom:var(--s-2)}.up-username{font-size:var(--fs-h2);margin:0}.up-meta{font-size:var(--fs-sm);margin:0}.up-description{color:var(--ink-2);line-height:var(--lh-body);margin:var(--s-3) 0 0;max-width:60ch}.up-actions{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--s-3);margin-left:auto}.up-message-wrap{display:flex;flex-direction:column;gap:var(--s-1);max-width:240px}.up-message-hint{font-size:var(--fs-caption)}.up-stats{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:var(--s-6);margin-top:var(--s-5);padding-top:var(--s-5)}.up-stat{align-items:flex-start;background:none;border:0;color:var(--muted);cursor:pointer;display:inline-flex;flex-direction:column;font-family:var(--font-body);gap:var(--s-1);line-height:1.2;margin:0;padding:0;text-align:left;transition:color var(--t-fast)}.up-stat-static{cursor:default}.up-stat strong{color:var(--ink);font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600;line-height:1.1;transition:color var(--t-fast)}.up-stat span{font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:var(--track-caps);line-height:1.2;text-transform:uppercase}.up-stat:not(.up-stat-static):hover strong{color:var(--brand)}.up-works-head{display:flex;flex-direction:column;gap:var(--s-1);margin-bottom:var(--s-5)}.up-works-head h2{margin:0}.up-user-list{display:flex;flex-direction:column;gap:var(--s-1);list-style:none;margin:0;padding:0}.up-user-list-item{align-items:center;border-radius:var(--r-sm);color:var(--ink);display:flex;gap:var(--s-3);padding:var(--s-2) var(--s-3);transition:background-color var(--t-fast)}.up-user-list-item:hover{background:var(--surface-3)}.up-user-name{flex:1 1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.up-user-tag{color:var(--muted);font-size:var(--fs-caption)}.up-list-private{color:var(--muted);padding:var(--s-5);text-align:center}@media (max-width:640px){.up-header-top{align-items:flex-start}.up-actions{margin-left:0;width:100%}.up-stats{gap:var(--s-5)}}.messages-layout{background:var(--surface);border-top:1px solid var(--line);display:grid;grid-template-columns:340px 1fr;height:calc(100vh - var(--header-h));overflow:hidden}.messages-sidebar{border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}.messages-sidebar-head{border-bottom:1px solid var(--line);padding:var(--s-4) var(--s-5)}.messages-sidebar-title{font-size:var(--fs-h3);margin:0}.messages-discussion-list{display:flex;flex:1 1;flex-direction:column;gap:var(--s-1);list-style:none;margin:0;overflow-y:auto;padding:var(--s-2)}.messages-discussion-item{align-items:center;border-radius:var(--r-md);color:var(--ink);display:flex;gap:var(--s-3);padding:var(--s-2) var(--s-3);text-decoration:none;transition:background-color var(--t)}.messages-discussion-item:hover{background:var(--surface-3)}.messages-discussion-item.active{background:var(--brand-tint)}.messages-discussion-meta{display:flex;flex:1 1;flex-direction:column;gap:var(--s-1);min-width:0}.messages-discussion-row{align-items:baseline;display:flex;gap:var(--s-2);justify-content:space-between;min-width:0}.messages-discussion-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-discussion-item.unread .messages-discussion-name{font-weight:700}.messages-discussion-preview{font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-discussion-item.unread .messages-discussion-preview{color:var(--ink-2)}.messages-discussion-time{color:var(--muted);flex-shrink:0;font-size:var(--fs-caption);white-space:nowrap}.messages-unread-badge{flex-shrink:0}.messages-conversation{background:var(--surface-2);display:flex;flex-direction:column;overflow:hidden}.messages-placeholder{align-items:center;display:flex;flex:1 1;justify-content:center;padding:var(--s-5)}.messages-conversation-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--line);display:flex;gap:var(--s-3);padding:var(--s-3) var(--s-4)}.messages-back{display:none}.messages-conversation-user{align-items:center;color:var(--ink);display:flex;font-weight:600;gap:var(--s-3);min-width:0;text-decoration:none}.messages-conversation-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-thread{display:flex;flex:1 1;flex-direction:column;gap:var(--s-3);overflow-y:auto;padding:var(--s-5)}.message-row{align-items:center;display:flex;gap:var(--s-2)}.message-row.mine{justify-content:flex-end}.message-row.theirs{justify-content:flex-start}.message-actions{display:flex;gap:var(--s-1);opacity:0;order:-1;transition:opacity var(--t-fast)}.message-actions:focus-within,.message-row.mine:hover .message-actions{opacity:1}.message-action{align-items:center;background:#0000;border:none;border-radius:var(--r-pill);color:var(--muted);cursor:pointer;display:inline-flex;height:30px;justify-content:center;transition:background-color var(--t),color var(--t);width:30px}.message-action:hover{background:var(--surface-3);color:var(--ink)}.message-action .material-symbols-outlined{font-size:18px}.message-bubble{border-radius:var(--r-md);box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:var(--s-1);max-width:72%;padding:var(--s-2) var(--s-3);word-break:break-word}.message-row.mine .message-bubble{background:var(--brand);border-bottom-right-radius:var(--r-xs);color:var(--brand-contrast)}.message-row.theirs .message-bubble{background:var(--surface-3);border-bottom-left-radius:var(--r-xs);color:var(--ink)}.message-content{line-height:var(--lh-snug);white-space:pre-wrap}.message-images{display:flex;flex-wrap:wrap;gap:var(--s-1)}.message-image{border-radius:var(--r-sm);max-width:180px}.message-time{align-self:flex-end;color:var(--muted);font-size:var(--fs-eyebrow)}.message-row.mine .message-time{color:var(--brand-contrast)}.message-edit{display:flex;flex-direction:column;gap:var(--s-2);min-width:240px}.message-edit-input{font-size:var(--fs-sm);min-height:0}.message-edit-actions{display:flex;gap:var(--s-2)}.messages-composer{align-items:center;background:var(--surface);border-top:1px solid var(--line);display:flex;gap:var(--s-3);padding:var(--s-3) var(--s-4)}.messages-input{border-radius:var(--r-pill);flex:1 1}.messages-send{align-items:center;background:var(--brand);border:none;border-radius:var(--r-pill);box-shadow:var(--shadow-1);color:var(--brand-contrast);cursor:pointer;display:inline-flex;flex-shrink:0;height:44px;justify-content:center;padding:0;transition:background-color var(--t),transform var(--t-fast),box-shadow var(--t);width:44px}.messages-send:hover:not(:disabled){background:var(--brand-600);box-shadow:var(--shadow-2);transform:translateY(-1px)}.messages-send:disabled{cursor:not-allowed;opacity:.55}.messages-send .material-symbols-outlined{font-size:22px}.messages-loading{display:flex;justify-content:center;padding:var(--s-6) var(--s-5)}.messages-empty{margin:auto 0}@media (max-width:720px){.messages-layout{border:none;border-radius:0;box-shadow:none;grid-template-columns:1fr;height:calc(100vh - var(--header-h));margin:0}.messages-layout.has-active .messages-sidebar,.messages-layout:not(.has-active) .messages-conversation{display:none}.messages-back{display:inline-flex}.message-bubble{max-width:82%}}.notif-list{gap:var(--s-1)}.notif-item{align-items:center;border-radius:var(--r-md);cursor:pointer;display:flex;gap:var(--s-3);padding:var(--s-3) var(--s-4);transition:background-color var(--t)}.notif-item:hover{background:var(--surface-3)}.notif-item.unread,.notif-item.unread:hover{background:var(--brand-tint)}.notif-avatar-link{flex-shrink:0;line-height:0}.notif-body{display:flex;flex:1 1;flex-direction:column;gap:var(--s-1);min-width:0}.notif-text{color:var(--ink);line-height:var(--lh-snug)}.notif-time{font-size:var(--fs-caption)}.notif-thumb{border-radius:var(--r-sm);flex-shrink:0;height:48px;object-fit:cover;width:48px}.notif-dot{background:var(--brand);border-radius:50%;flex-shrink:0;height:8px;width:8px}.notif-more-wrap{display:flex;justify-content:center;margin-top:var(--s-6)}.basket-layout{grid-gap:var(--s-5);align-items:start;display:grid;gap:var(--s-5);grid-template-columns:1fr 320px}.basket-list{display:flex;flex-direction:column;gap:var(--s-3);list-style:none;margin:0;padding:0}.basket-item{align-items:center;display:flex;gap:var(--s-4);padding:var(--s-3)}.basket-item-img-link{display:block;flex-shrink:0;line-height:0}.basket-item-img{border-radius:var(--r-md);display:block;height:88px;object-fit:cover;width:88px}.basket-item-img,.basket-item-img.placeholder{background:var(--surface-3)}.basket-item-info{flex:1 1;min-width:0}.basket-item-desc{font-size:var(--fs-lg);margin:0 0 var(--s-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.basket-item-price{color:var(--ink);font-family:var(--font-display);font-weight:600;margin:0}.basket-remove{flex-shrink:0}.basket-summary{position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + var(--s-4))}.basket-summary-title{font-size:var(--fs-h3);margin:0 0 var(--s-4)}.basket-summary-row{font-size:var(--fs-sm)}.basket-summary-total{font-size:var(--fs-lg)}.basket-summary-total strong{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600}.basket-checkout{margin-top:var(--s-5)}@media (max-width:720px){.basket-layout{grid-template-columns:1fr}.basket-summary{position:static}}@media (max-width:420px){.basket-item-img{height:72px;width:72px}}.support-container{box-sizing:border-box;display:flex;flex-direction:column;height:calc(100vh - var(--header-h));margin:0 auto;max-width:70vw;padding:var(--s-5) var(--s-5) var(--s-4);width:70vw}.support-back{align-self:flex-start;margin-bottom:var(--s-3);padding-left:var(--s-2)}.support-back .material-symbols-outlined{font-size:20px}.support-subtitle{margin-left:auto;margin-right:auto}.support-chat{display:flex;flex:1 1;flex-direction:column;gap:var(--s-3);min-height:0;overflow-y:auto}.support-empty{margin:auto;padding:var(--s-6) var(--s-4)}.support-row{display:flex}.support-row.mine{justify-content:flex-end}.support-bubble{border-radius:var(--r-md);display:flex;flex-direction:column;gap:var(--s-1);max-width:75%;padding:var(--s-2) var(--s-3);word-break:break-word}.support-row.mine .support-bubble{background:var(--brand);border-bottom-right-radius:var(--r-xs);color:var(--brand-contrast)}.support-row.theirs .support-bubble{background:var(--surface-3);border-bottom-left-radius:var(--r-xs);color:var(--ink)}.support-content{line-height:var(--lh-snug);white-space:pre-wrap}.support-time{align-self:flex-end;color:var(--muted);font-size:var(--fs-eyebrow)}.support-row.mine .support-time{color:var(--brand-contrast);opacity:.8}.support-composer{align-items:flex-start;display:flex;gap:var(--s-3);margin-top:var(--s-4)}.support-input{flex:1 1;resize:vertical}.support-send{align-self:stretch}@media (max-width:860px){.support-container{max-width:92vw;width:92vw}}@media (max-width:480px){.support-composer{flex-direction:column}.support-send{width:100%}}.admin-page{--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;max-width:none}.admin-nav{display:flex;gap:var(--s-2);margin-bottom:var(--s-5)}.admin-nav-item{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--ink-2);cursor:pointer;flex:1 1;font-size:var(--fs-sm);font-weight:600;padding:var(--s-3) var(--s-4);text-align:center;transition:background-color var(--t),border-color var(--t),color var(--t)}.admin-nav-item:hover{border-color:var(--brand);color:var(--brand)}.admin-nav-item.active{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast)}@media (max-width:560px){.admin-nav{flex-direction:column}}.badge-danger{background:var(--danger-tint);color:var(--danger)}.admin-split{grid-gap:var(--s-4);display:grid;gap:var(--s-4);grid-template-columns:320px 1fr;height:calc(100vh - 260px);min-height:420px}.admin-detail,.admin-list{display:flex;flex-direction:column;overflow:hidden}.admin-list-scroll,.admin-vscroll{flex:1 1;overflow-y:auto}.admin-vscroll{padding:var(--s-5)}.admin-filters{border-bottom:1px solid var(--line);display:flex;gap:var(--s-2);padding:var(--s-3)}.admin-filters .input{flex:1 1 auto;min-width:0}.admin-filters .select{flex:0 0 auto;min-width:0;width:auto}.admin-list ul{list-style:none;margin:0;padding:0}.admin-item{grid-gap:var(--s-1);background:none;border:none;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer;display:grid;gap:var(--s-1);padding:var(--s-3) var(--s-4);text-align:left;transition:background-color var(--t-fast);width:100%}.admin-item.active,.admin-item:hover{background:var(--brand-tint)}.admin-item-name{font-weight:600}.admin-item-sub{color:var(--muted);font-size:var(--fs-caption);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-item-row{align-items:center;display:flex;gap:var(--s-2);justify-content:space-between}.admin-item-date{color:var(--muted);font-size:var(--fs-caption)}.admin-item .badge-status{justify-self:start;text-transform:capitalize}.admin-detail-head{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:space-between;padding:var(--s-3) var(--s-4)}.admin-detail-title strong{font-family:var(--font-display);font-weight:600}.admin-detail-head .select{width:auto}.admin-placeholder{margin:auto}.admin-empty,.admin-placeholder{color:var(--muted);padding:var(--s-6);text-align:center}.admin-thread{display:flex;flex:1 1;flex-direction:column;gap:var(--s-2);overflow-y:auto;padding:var(--s-4)}.admin-msg{display:flex}.admin-msg.support{justify-content:flex-end}.admin-bubble{background:var(--surface-3);border-radius:var(--r-md);color:var(--ink);display:flex;flex-direction:column;gap:var(--s-1);max-width:72%;padding:var(--s-2) var(--s-3);word-break:break-word}.admin-msg.support .admin-bubble{background:var(--brand);color:var(--brand-contrast)}.admin-msg-time{align-self:flex-end;color:var(--muted);font-size:var(--fs-eyebrow)}.admin-msg.support .admin-msg-time{color:var(--brand-contrast)}.admin-reply{border-top:1px solid var(--line);display:flex;gap:var(--s-3);padding:var(--s-4)}.admin-reply .textarea{flex:1 1;min-height:2.75rem}.admin-meta{grid-gap:var(--s-1) var(--s-4);display:grid;font-size:var(--fs-sm);gap:var(--s-1) var(--s-4);grid-template-columns:auto 1fr;margin-bottom:var(--s-4)}.admin-k{color:var(--muted);font-size:var(--fs-eyebrow);letter-spacing:var(--track-caps);padding-top:2px;text-transform:uppercase}.admin-v{color:var(--ink-2);word-break:break-word}.admin-mono{font-family:var(--mono)}.vrf-docs{grid-gap:var(--s-3);display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:var(--s-4)}.vrf-doc{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-3);text-align:center}.vrf-doc-label{color:var(--muted);display:block;font-size:var(--fs-eyebrow);letter-spacing:var(--track-caps);margin-bottom:var(--s-2);text-transform:uppercase}.vrf-doc-img{border-radius:var(--r-sm);cursor:zoom-in;height:10rem;object-fit:cover;width:100%}.vrf-doc-pdf{color:var(--brand);display:inline-block;font-weight:600;padding:var(--s-6) var(--s-3)}.vrf-doc-missing{color:var(--muted);font-size:var(--fs-sm);padding:var(--s-7) var(--s-3)}.vrf-actions,.vrf-reject{display:flex;flex-wrap:wrap;gap:var(--s-2)}.vrf-reject{width:100%}.vrf-reject .input{flex:1 1;min-width:12rem;width:auto}.admin-metrics{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-bottom:var(--s-4)}.admin-metric{align-items:baseline;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);display:flex;gap:var(--s-2);padding:var(--s-3) var(--s-4)}.admin-metric b{color:var(--ink);font-family:var(--font-display);font-size:var(--fs-h3)}.admin-metric span{color:var(--muted);font-size:var(--fs-eyebrow);letter-spacing:var(--track-caps);text-transform:uppercase}.admin-metric.danger b{color:var(--danger)}.admin-metric.warning b{color:var(--warning)}.admin-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-3)}.admin-toolbar .input,.admin-toolbar .select{width:auto}.admin-toolbar .input{min-width:12rem}.admin-count{color:var(--muted);font-size:var(--fs-caption);margin-bottom:var(--s-2)}.admin-table-wrap{border:1px solid var(--line);border-radius:var(--r-md);max-height:calc(100vh - 340px);overflow:auto}.admin-table{border-collapse:collapse;font-size:var(--fs-sm);white-space:nowrap;width:100%}.admin-table thead th{background:var(--surface-2);color:var(--muted);font-family:var(--font-body);font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:var(--track-caps);position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:1}.admin-table td,.admin-table thead th{border-bottom:1px solid var(--line);padding:var(--s-2) var(--s-3)}.admin-table td{color:var(--ink-2);vertical-align:top}.admin-row{cursor:pointer}.admin-row.open,.admin-row:hover{background:var(--surface-2)}.admin-row.lvl-critical,.admin-row.lvl-error{box-shadow:inset 3px 0 0 var(--danger)}.admin-row.lvl-warn{box-shadow:inset 3px 0 0 var(--warning)}.c-time{color:var(--muted)}.c-msg{color:var(--ink);white-space:normal}.admin-dim{color:var(--muted)}.admin-verb{color:var(--brand);font-weight:700}.admin-caret{color:var(--muted);display:inline-block;width:1rem}.admin-detail-row td{background:var(--surface-2);padding:0}.admin-log-detail{padding:var(--s-4)}.admin-block{margin-top:var(--s-3)}.admin-block-title{color:var(--muted);font-size:var(--fs-eyebrow);letter-spacing:var(--track-caps);margin-bottom:var(--s-1);text-transform:uppercase}.admin-pre{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2);font-family:var(--mono);font-size:var(--fs-caption);line-height:var(--lh-body);margin:0;max-height:20rem;overflow:auto;padding:var(--s-3);white-space:pre-wrap;word-break:break-word}@media (max-width:820px){.admin-split{grid-template-columns:1fr;height:auto}.admin-list{max-height:50vh}}.search-page{max-width:var(--container-narrow)}.search-section{margin-bottom:var(--s-5)}.search-section-head{align-items:center;border-bottom:1px solid var(--line);cursor:pointer;display:flex;gap:var(--s-3);list-style:none;padding:var(--s-3) 0;-webkit-user-select:none;user-select:none}.search-section-head::-webkit-details-marker{display:none}.search-section-head .eyebrow{margin:0}.search-count{color:var(--muted);font-size:var(--fs-caption);font-weight:600}.search-chevron{color:var(--muted);font-size:22px;margin-left:auto;transition:transform var(--t)}.search-section[open] .search-chevron{transform:rotate(180deg)}.search-section-head:focus-visible{border-radius:var(--r-xs);box-shadow:var(--ring);outline:none}.search-section-body{padding-top:var(--s-4)}.search-section-empty{margin:0;padding:var(--s-3) 0}.search-user-list{display:flex;flex-direction:column;gap:var(--s-3);list-style:none;margin:0;padding:0}.search-user-item{align-items:center;color:inherit;display:flex;gap:var(--s-3);padding:var(--s-3) var(--s-4);text-decoration:none;transition:border-color var(--t),box-shadow var(--t),transform var(--t-fast)}.search-user-item:hover{border-color:var(--brand);box-shadow:var(--shadow-2);transform:translateY(-1px)}.search-user-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.search-user-name{font-size:var(--fs-lg)}.search-user-desc,.search-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-user-desc{font-size:var(--fs-caption)}.verify-back{margin-bottom:var(--s-4);padding-left:var(--s-2)}.verify-back .material-symbols-outlined{font-size:20px}.verify-subtitle{margin-left:auto;margin-right:auto}.verify-banner{align-items:flex-start;display:flex;font-weight:600;gap:var(--s-3);line-height:var(--lh-snug);margin-bottom:var(--s-5)}.verify-banner .material-symbols-outlined{flex-shrink:0;font-size:24px}.verify-banner.pending{background:var(--warning-tint);color:var(--warning)}.verify-banner.approved{background:var(--success-tint);color:var(--success)}.verify-banner.rejected{background:var(--danger-tint);color:var(--danger)}.verify-reason{font-style:italic;font-weight:400;margin-top:var(--s-2)}.verify-reason-hint{color:var(--muted);font-weight:400;margin-top:var(--s-1)}.verify-slots{grid-gap:var(--s-4);display:grid;gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.verify-slot{padding:var(--s-4);text-align:center;transition:border-color var(--t)}.verify-slot.filled{border-color:var(--brand)}.verify-slot-label{color:var(--ink-2);font-size:var(--fs-sm);font-weight:600;margin-bottom:var(--s-3);min-height:38px}.verify-slot-preview{align-items:center;background:var(--surface-2);border-radius:var(--r-md);cursor:pointer;display:flex;height:150px;justify-content:center;margin-bottom:var(--s-3);overflow:hidden}.verify-slot-img{height:100%;object-fit:cover;width:100%}.verify-slot-plus{color:var(--muted);font-size:40px}.verify-pdf-link{align-items:center;color:var(--brand);display:inline-flex;font-weight:600;gap:var(--s-1)}.verify-submit{display:flex;margin:var(--s-6) auto 0}.verify-hint{margin-top:var(--s-3)}.a11y-back,.a11y-section{margin-bottom:var(--s-4)}.a11y-section-title{font-size:var(--fs-h3);margin:0 0 var(--s-4)}.a11y-chips{display:flex;flex-wrap:wrap;gap:var(--s-2)}.a11y-chips .chip-button{padding:var(--s-2) var(--s-4)}.a11y-toggles{display:flex;flex-direction:column}.a11y-toggle{align-items:center;border-bottom:1px solid var(--line);cursor:pointer;display:flex;font-size:var(--fs-body);gap:var(--s-4);justify-content:space-between;padding:var(--s-3) 0}.a11y-toggle:first-child{padding-top:0}.a11y-toggle:last-child{border-bottom:none;padding-bottom:0}.a11y-toggle-label{color:var(--ink)}.a11y-switch-input{height:1px;margin:0;opacity:0;position:absolute;width:1px}.a11y-switch{background:var(--line-strong);border-radius:var(--r-pill);flex-shrink:0;height:31px;position:relative;transition:background-color var(--t);width:51px}.a11y-switch:after{background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000040,0 1px 1px #00000029;content:"";height:27px;left:2px;position:absolute;top:2px;transition:transform var(--t);width:27px}.a11y-switch-input:checked+.a11y-switch{background:var(--brand)}.a11y-switch-input:checked+.a11y-switch:after{transform:translateX(20px)}.a11y-switch-input:focus-visible+.a11y-switch{box-shadow:var(--ring)}.a11y-switch-input:disabled+.a11y-switch{cursor:not-allowed;opacity:.5}.a11y-reset{margin-top:var(--s-2)}