/* Local design review: quiet surfaces, stable targets, purposeful motion. */
:root{--polish-ease:cubic-bezier(.23,1,.32,1)}
#ambient-particles{opacity:.8;pointer-events:none}
.logo,.logo .mark,.logo .mark .lm-blade-hi,.grad,.theme-current,
.story-card img,.pf-cta-photos img,.pf-footer-iris svg,.wave-hero-image,
.auth-art:after,.auth-art svg,.auth-emblem,.auth-iris,.auth-aperture,.auth-aperture path,
.bottombar .bottombar-picrum-icon::after,.live-stat .pulse-dot,
.kb,.kb img,.kb-main,.reference-orbit{animation:none!important}
#auth-view::before,#auth-view::after,#auth-modal .modal-card::before{animation:none!important}
.grad{background-size:100% auto}
.wave-hero-image{transform:none}
.reveal{transition:opacity 180ms var(--polish-ease)!important;transform:none!important}
.btn,.chip,.mode-tab,.story-card,.wave-button,.wave-card,.style-card,.g-card,
.ref-item,.theme-opt,.named-face-card{transition:background-color 180ms var(--polish-ease),border-color 180ms var(--polish-ease),box-shadow 180ms var(--polish-ease),opacity 180ms var(--polish-ease)!important}
.btn:hover,.chip:hover,.story-card:hover,.wave-button:hover,.wave-card:hover,.style-card:hover,.g-card:hover,.ref-item:hover,.named-face-card:hover{transform:none!important}
.story-card:hover img,.wave-card:hover img,.style-card:hover img{transform:none!important}
.btn:active,.wave-button:active{transform:scale(.98)!important;transition:transform 100ms var(--polish-ease)!important}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent,#c4b5fd);outline-offset:4px}
input,select,textarea{font-size:max(16px,1em)}
h1,h2,h3{overflow-wrap:break-word;text-wrap:balance}
.story-card h3,.story-card strong{line-height:1.12;overflow-wrap:anywhere}
.wave-button,.wave-footer summary{min-height:44px}
footer .pf-grid,.wave-footer-grid{column-gap:28px;align-items:start}
footer a,.wave-footer a{overflow-wrap:anywhere}
.wave-card img,.story-card img{transition:opacity 200ms var(--polish-ease)!important}
.wave-card,.style-card,.seo-editorial main>section{animation:none!important}
.wave-hero{gap:48px}
.wave-hero h1{letter-spacing:-.035em;line-height:1.08}
@media(hover:none){.btn:active,.wave-button:active{transform:none!important}}
@media(max-width:600px){
  .story-card h3,.story-card strong{font-size:clamp(18px,5.1vw,24px)!important}
  .wave-wrap{width:calc(100% - 32px)}
  .wave-hero{gap:28px}
  .wave-hero h1{font-size:clamp(32px,9vw,44px)}
  footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))!important}
  .wave-footer{padding-bottom:28px!important}
  .modal-card{max-width:calc(100vw - 24px)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .reveal,.btn,.chip,.story-card,.wave-button,.wave-card,.style-card,.g-card,.ref-item,.theme-opt,.named-face-card{transition:none!important}
}

/* Second pass: tactile controls, editorial image depth, purposeful entrances. */
:root{--polish-press:cubic-bezier(.2,.8,.2,1)}
/* Image-led preview, comfortable uploads and quieter secondary actions. */
#style-preview-modal .style-preview-card{max-width:960px;border-color:var(--border-strong);box-shadow:0 24px 80px #0008}
#style-preview-modal .style-preview-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
#style-preview-modal .style-preview-media{padding:18px;background:var(--bg);display:grid;place-items:center;min-width:0}
#style-preview-modal .style-preview-media img{width:100%;height:auto;max-height:70dvh;object-fit:contain;border-radius:14px}
#style-preview-modal .style-preview-info{padding:56px 28px 28px;gap:10px}
#style-preview-modal .style-preview-info h3{margin:0;font-size:clamp(26px,3vw,38px)}
#style-preview-modal .style-preview-info p{margin:0;max-width:40ch}
#style-preview-modal .style-preview-actions{gap:10px;margin-top:14px}
#style-preview-modal .style-preview-actions .btn{min-height:48px}
#style-preview-modal .style-preview-thumbs{gap:8px;padding:10px 0}
#style-preview-modal .style-preview-thumb{border-radius:10px;transition:opacity 160ms ease-out,border-color 160ms ease-out}
#page-studio .people-slots{margin:20px 0 16px;gap:16px}
#page-studio .people-slots[data-count="1"] .person-slot{width:min(100%,300px);justify-self:center}
#page-studio .person-slot-media{width:100%;min-height:190px;border-radius:16px;border-color:color-mix(in srgb,var(--accent) 40%,var(--border));transition:border-color 180ms ease-out,background-color 180ms ease-out}
#page-studio .ps-btn{min-height:44px;border-radius:12px;transition:transform 140ms ease-out,background-color 180ms ease-out}
#page-studio .ps-btn:active{transform:scale(.97)}
#page-studio .uploaded-tools{padding:24px;border:0;background:var(--surface);border-radius:18px}
#page-studio .uploaded-tool-buttons{gap:14px}
#page-studio .uploaded-tool-buttons .btn{padding:20px;min-width:0;border-color:var(--border-strong)!important;background:var(--surface-2);text-align:left}
#page-studio .uploaded-tool-copy strong{font-size:16px;line-height:1.25}
#page-studio .uploaded-tool-copy>span{line-height:1.5}
#page-studio textarea{padding:18px;line-height:1.6;border-radius:14px}
#for-you-grid .g-cap,#styles-grid .g-cap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
#for-you-grid .g-cap h3,#styles-grid .g-cap h3{font-size:15px;line-height:1.3;min-width:0}
#for-you-grid .g-use,#styles-grid .g-use{font-size:12px;padding:8px 10px;min-height:40px;border-radius:10px;background:#ffffff12;max-width:110px;white-space:normal;text-align:center}
.sp-count{font-variant-numeric:tabular-nums}
.sp-nav{width:auto;min-width:62px;padding:0 12px;border-radius:12px;font-size:12px;font-weight:600}
@media(hover:hover) and (pointer:fine){#page-studio .person-slot-media:hover{border-color:var(--accent);background:var(--surface-2)}#page-studio .uploaded-tool-buttons .btn:hover{border-color:var(--accent)!important}}
@media(max-width:700px){#style-preview-modal .style-preview-grid{grid-template-columns:1fr}#style-preview-modal .style-preview-media{padding:12px 16px 0}#style-preview-modal .style-preview-media img{max-height:48dvh;width:auto;max-width:100%}#style-preview-modal .style-preview-info{padding:20px;gap:8px}#page-studio .uploaded-tools{padding:18px}#page-studio .uploaded-tool-buttons .btn{padding:16px}#page-studio .uploaded-tool-copy strong{font-size:14px}}
@media(max-width:360px){#page-studio .uploaded-tool-buttons{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#page-studio .ps-btn,#page-studio .person-slot-media{transition:none}#page-studio .ps-btn:active{transform:none}}
.motion-segment{position:relative;isolation:isolate}
.motion-segment::before{content:"";position:absolute;left:0;top:0;width:var(--rail-w);height:var(--rail-h);transform:translate(var(--rail-x),var(--rail-y));border-radius:11px;background:var(--accent,#ffba49);box-shadow:inset 0 1px 0 #ffffff38,0 3px 8px #0002;pointer-events:none;transition:transform 260ms cubic-bezier(.22,1,.36,1),width 200ms cubic-bezier(.22,1,.36,1),height 200ms cubic-bezier(.22,1,.36,1);z-index:0}
.motion-segment>button{position:relative;z-index:1;background:transparent!important;transition:color 160ms ease-out,opacity 160ms ease-out!important}
.motion-segment>button.is-active,.motion-segment>button[aria-selected="true"]{color:#141416!important;box-shadow:none!important}
.motion-segment.motion-instant::before{transition:none}
@media(prefers-reduced-motion:reduce){.motion-segment::before{transition:none}}
.btn,.wave-button{position:relative;isolation:isolate;border-radius:14px!important;transition:transform 160ms var(--polish-press),background-color 180ms var(--polish-ease),border-color 180ms var(--polish-ease),box-shadow 180ms var(--polish-ease)!important}
.btn:not(.btn-ghost),.wave-button{background-image:linear-gradient(180deg,#ffffff18,#ffffff00 70%);box-shadow:inset 0 1px 0 #ffffff38,0 5px 14px #0002}
.btn-ghost{background-image:linear-gradient(180deg,#ffffff06,transparent);border-color:#ffffff20!important;box-shadow:inset 0 1px 0 #ffffff08}
.chip,.mode-tab,.theme-opt{transition:background-color 180ms var(--polish-ease),color 180ms var(--polish-ease),border-color 180ms var(--polish-ease),transform 140ms var(--polish-press)!important}
.btn:active,.wave-button:active,.chip:active,.mode-tab:active,.theme-opt:active{transform:scale(.97)!important;box-shadow:inset 0 1px 3px #0002!important}
.story-card,.wave-card,.style-card{transition:box-shadow 220ms var(--polish-ease),border-color 180ms var(--polish-ease)!important}
.story-card img,.wave-card img,.style-card img{transition:transform 400ms var(--polish-ease),opacity 200ms var(--polish-ease)!important}
.modal:not(#operation-dialog):not(#life-dialog):not(#result-lightbox):not(#payment-result-modal):not(#wheel-modal):not([hidden]) .modal-card,dialog[open]{animation:polish-arrive 220ms var(--polish-ease) both}
@keyframes polish-arrive{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
footer summary{transition:background-color 160ms var(--polish-ease),color 160ms var(--polish-ease)!important}
::selection{background:var(--accent,#c4b5fd);color:#141416}
input,textarea{caret-color:var(--accent,#c4b5fd)}
.modal.motion-window{opacity:1;transition:opacity 180ms ease-out,display 180ms allow-discrete}
.modal.motion-window[hidden]{opacity:0;pointer-events:none}
.modal.motion-window .modal-card{animation:none!important;transform:translateY(0) scale(1);transition:transform 220ms cubic-bezier(.22,1,.36,1)}
.modal.motion-window[hidden] .modal-card{transform:translateY(6px) scale(.985)}
.modal.motion-window .modal-close,.close,.wallet-history-close{transition:transform 140ms ease-out,background-color 160ms ease-out,color 160ms ease-out}
.modal.motion-window .modal-close:active,.close:active,.wallet-history-close:active{transform:scale(.92)}
@starting-style{.modal.motion-window:not([hidden]){opacity:0}.modal.motion-window:not([hidden]) .modal-card{transform:translateY(8px) scale(.985)}}
@media(prefers-reduced-motion:reduce){.modal.motion-window,.modal.motion-window .modal-card{transition:none!important}.modal.motion-window .modal-card{transform:none!important}}
@media(hover:hover) and (pointer:fine){
 .btn:hover:not(:active),.wave-button:hover:not(:active){transform:translateY(-1px)!important;box-shadow:inset 0 1px 0 #ffffff40,0 8px 20px #0003!important}
 .btn-ghost:hover{border-color:var(--accent,#c4b5fd)!important;background-color:#ffffff09}
 .story-card:hover,.wave-card:hover,.style-card:hover{border-color:#ffffff35;box-shadow:0 14px 28px #0003}
 .story-card:hover img,.wave-card:hover img,.style-card:hover img{transform:scale(1.025)!important}
 footer summary:hover{background-color:#ffffff05}
}
.btn:focus-visible,.wave-button:focus-visible,.chip:focus-visible,.mode-tab:focus-visible{transition:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){
 .modal:not(#operation-dialog):not(#life-dialog):not(#result-lightbox):not(#payment-result-modal):not(#wheel-modal):not([hidden]) .modal-card,dialog[open]{animation:none!important}
 .btn,.wave-button,.chip,.mode-tab,.theme-opt,.story-card img,.wave-card img,.style-card img{transition:none!important}
 .btn:hover,.wave-button:hover,.btn:active,.wave-button:active,.chip:active,.mode-tab:active,.theme-opt:active,.story-card:hover img,.wave-card:hover img,.style-card:hover img{transform:none!important}
}



#pf-gender .address-options:before{transition:transform 260ms cubic-bezier(.22,1,.36,1);box-shadow:inset 0 1px 0 #ffffff38,0 3px 8px #0002} .modal.motion-window .modal-card{background:var(--surface,#1c1c1f)} button:disabled,.btn[aria-disabled="true"]{cursor:not-allowed} @media(prefers-reduced-motion:reduce){#pf-gender .address-options:before{transition:none}}
.pf-nav-pill{transition:transform 260ms cubic-bezier(.22,1,.36,1),width 200ms ease-out!important;box-shadow:inset 0 1px 0 #ffffff20,0 3px 8px #0002} @media(prefers-reduced-motion:reduce){.pf-nav-pill{transition:none!important}}

/* Center action labels after removing decorative arrows. */
.btn,.wave-button,.sp-nav,.ps-btn,.seg button{justify-content:center;text-align:center}
a b:empty{display:none}

.sp-nav{width:44px;min-width:44px;height:44px;padding:0;border-radius:50%;font-size:28px}
.pf-cta-photos{animation:cta-photo-drift 7s ease-in-out infinite}
@keyframes cta-photo-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(prefers-reduced-motion:reduce){.pf-cta-photos{animation:none}}

/* Footer: one coherent surface with aligned navigation groups. */
.wave-footer{position:relative;padding:36px 0 16px}
.wave-footer-head{align-items:center;padding-bottom:28px;border-bottom:1px solid #ffffff12;margin-bottom:28px}
.wave-footer-columns{display:grid!important;grid-template-columns:.9fr 1.65fr 1fr 1.45fr 1.1fr;gap:22px;align-items:start}
.wave-footer-columns details{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;min-width:0}
.wave-footer-columns summary{font-size:14px;line-height:1.4;padding:0 0 18px!important;color:var(--text,#f5f5f7)}
.wave-footer-columns summary::after{display:none!important}
.wave-footer-columns nav{gap:12px 18px!important}
.wave-footer-columns a{font-size:12px;line-height:1.55;color:#b6b3bc;transition:color 180ms ease-out}
.wave-footer-columns a:hover{color:var(--accent,#ffb640)}
.wave-footer-explore{min-height:48px;background:var(--accent,#ffb640)!important;color:#171719!important;border:0!important;box-shadow:0 5px 18px #0003}
.wave-footer-explore i{background:#0001!important;color:inherit!important}
@media(max-width:1000px) and (min-width:641px){.wave-footer-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}}
@media(max-width:640px){
.wave-footer{padding-top:24px}.wave-footer-head{gap:20px;align-items:flex-start;flex-direction:column}
.wave-footer-columns{grid-template-columns:1fr;gap:0}
.wave-footer-columns details{border-bottom:1px solid #ffffff12!important;padding:16px 0!important}
.wave-footer-columns summary{padding:0!important;cursor:pointer;display:flex;justify-content:space-between}
.wave-footer-columns summary::after{display:block!important;content:'+'!important;color:var(--accent,#ffb640);font-size:20px}
.wave-footer-columns details[open] summary::after{content:'−'!important}
.wave-footer-columns nav{padding-top:18px;animation:footer-reveal 200ms ease-out}
.wave-footer-columns a{min-height:36px;display:flex;align-items:center;font-size:14px}
}
@keyframes footer-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.wave-footer-columns nav{animation:none}}
