:root{--web-nav-height:76px;--web-accent:#C23E00;--web-bg:#F0E9D3;--web-text:#1c1209}
a,button{-webkit-tap-highlight-color:transparent}button,a,[role=link]{touch-action:manipulation}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #C23E00;outline-offset:4px}
.web-nav{display:none}.web-mobile-logout{display:block;margin:24px auto;padding:12px 24px;border:1px solid #C23E00;border-radius:100px;background:transparent;color:#C23E00;font:700 13px Manrope,sans-serif;cursor:pointer}
#web-toast{position:fixed;z-index:100000;bottom:100px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);width:max-content;border-radius:14px;background:#1c1209;color:#fffdf5;padding:14px 20px;font:600 13px Manrope,sans-serif;box-shadow:0 8px 30px #0002}#web-toast[hidden]{display:none}
.web-login{margin:0;background:var(--web-bg);color:var(--web-text);font-family:Manrope,sans-serif;min-height:100dvh}.web-login *{box-sizing:border-box}.login-header{max-width:1320px;margin:auto;padding:32px 40px;display:flex;justify-content:space-between;align-items:center;gap:16px}.web-brand{color:#1c1209;text-decoration:none;font:900 25px Manrope,sans-serif;letter-spacing:-1.3px}.login-header>a:last-child{color:#6e6555;font-size:12px;font-weight:700;text-decoration:none}.login-layout{max-width:1250px;margin:30px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:30px 40px 50px}.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:800;color:#6e6555}.login-copy h1{font-size:clamp(54px,6.5vw,94px);line-height:.98;font-weight:600;letter-spacing:-4px;margin:24px 0}.login-copy h1 em,.art-stamp em{font-family:'Playfair Display',serif;color:#C23E00}.login-copy>p{font-size:17px;line-height:1.7;color:#6e6555}.login-card{margin-top:30px;max-width:440px;background:#fffdf5;border:1px solid #e0d8c2;border-radius:22px;padding:24px}.login-card h2{font-size:19px;margin:0 0 8px}.login-card p{font-size:13px;line-height:1.6;color:#6e6555;margin:0 0 18px}.web-primary{display:flex;align-items:center;justify-content:center;gap:30px;width:100%;padding:16px 18px;background:#C23E00;color:white;border:0;border-radius:100px;font:800 13px Manrope,sans-serif;text-decoration:none;cursor:pointer}.web-primary:disabled{opacity:.65;cursor:default}.login-card .login-note{font-size:11px;margin:14px 0 0}.login-note a{color:#C23E00}.login-card .login-error{color:#C23E00;margin:14px 0 0}.login-legal{display:flex;gap:24px;margin-top:22px}.login-legal a{font-size:11px;color:#6e6555}.login-art{position:relative;min-height:590px}.art-card{position:absolute;width:58%;height:66%;border:8px solid #fffdf5;border-radius:22px;background:#fffdf5;overflow:hidden;box-shadow:0 16px 40px #3a26181a}.art-card img{width:100%;height:100%;object-fit:cover}.art-card span{position:absolute;bottom:20px;left:16px;color:white;font-size:13px;font-weight:800;text-shadow:0 1px 8px #000}.art-one{left:0;top:30px;transform:rotate(-8deg)}.art-two{right:0;top:180px;transform:rotate(9deg)}.art-stamp{position:absolute;right:7%;top:0;font-size:30px;line-height:1.05;font-weight:800;transform:rotate(9deg)}
@media(max-width:899px){.login-header{padding:22px}.web-brand{font-size:21px}.login-header>a:last-child{font-size:10px}.login-layout{display:flex;flex-direction:column;margin:0;padding:26px 24px}.login-copy h1{font-size:65px;letter-spacing:-3px}.login-copy>p{font-size:15px}.login-card{max-width:100%;padding:20px}.login-art{min-height:410px;max-width:480px;width:100%;margin:0 auto}.art-card{height:72%}.art-two{top:95px}.art-stamp{top:8px;font-size:26px}}
@media(min-width:900px){
 .web-page .web-nav{height:76px;position:fixed;inset:0 0 auto;z-index:50;background:#fffdf5;border-bottom:1px solid #e0d8c2;display:flex;align-items:center;gap:40px;padding:0 max(32px,calc((100vw - 1280px)/2));white-space:nowrap}.web-nav-links{display:flex;align-items:center;gap:8px;margin-left:auto}.web-nav-links a{padding:12px 20px;border-radius:100px;color:#6e6555;text-decoration:none;font:800 13px Manrope,sans-serif}.web-nav-links a[aria-current=page]{background:#F0E9D3;color:#C23E00}.web-logout{padding:10px 18px;border:1px solid #e0d8c2;border-radius:100px;background:transparent;font:700 12px Manrope,sans-serif;cursor:pointer;color:#6e6555}
 html:has(.web-page){--app-safe-top:76px!important;--tg-safe-top:0px!important;--app-safe-bottom:0px!important}.web-page{padding-top:76px!important}.web-page .app{max-width:1280px;width:calc(100% - 64px);height:calc(100dvh - 76px)!important;max-height:calc(100dvh - 76px)!important}.web-page .tab-bar{display:none}.web-page .fixed-top{padding-top:0}.web-page .header{padding:24px 24px 12px}.web-page .header .logo{visibility:hidden}.web-page .pill-sub-universal{height:38px;font-size:13px}.web-page .scroll-area{scrollbar-width:thin}.web-page .scroll-area::-webkit-scrollbar{display:block;width:6px}.web-page .scroll-area::-webkit-scrollbar-thumb{background:#cec6a8;border-radius:6px}.web-page .content-switch,.web-page .segment,.web-page .gender-filter,.web-page .history-filter{max-width:520px}.web-page .cat-filters{gap:8px}.web-page .sets-grid,.web-page .frames-grid,.web-page .video-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-bottom:30px}.web-page .set-name,.web-page .frame-name,.web-page .video-name{font-size:15px;line-height:1.4}.web-page .banners{gap:20px}.web-page .banner{flex-basis:calc(50% - 10px);min-width:calc(50% - 10px)}.web-page .selfie-banner{max-width:560px}.web-page .history-grid{gap:22px;max-width:1000px;margin:auto}.web-page .history-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.web-page .history-column>*{margin:0!important}.web-page .sheet-overlay{align-items:center}.web-page .sheet{max-width:500px;border-radius:24px}.web-page .cta-wrap,.web-page .actions{width:100%;max-width:760px;margin-inline:auto}.web-page .detail-hero{padding:24px}.web-page .detail-hero h1{font-size:44px;line-height:1.1}.web-page .detail-header{padding:20px 24px}.web-page .hero-wrap{max-width:500px;margin:0 auto}.web-page .hero-img{max-height:55dvh}.web-page .frame-info,.web-page .frame-description{max-width:560px;margin-inline:auto}
 .web-profile .scroll-area{display:grid;grid-template-columns:1fr 1fr;align-content:start;align-items:start;gap:16px;padding:8px 12px 40px}.web-profile .scroll-area>*{margin:0 12px 12px}.web-profile .balance-card{grid-column:1}.web-profile .web-mobile-logout{display:none}.web-subscribe .app,.web-upload .app{max-width:820px}.web-subscribe .tariffs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.web-upload .middle{padding-top:24px}.web-upload .upload-zone{max-width:300px}.web-set_detail .app,.web-frame_detail .app{max-width:1050px}.web-video_detail .app{max-width:1100px}.web-video_detail .body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;gap:12px 32px;padding:24px 24px 36px}.web-video_detail .preview{grid-column:1;grid-row:1/4;max-height:62dvh;align-self:start}.web-video_detail .title,.web-video_detail .desc,.web-video_detail .slots{grid-column:2;margin-top:0}.web-video_detail .bar{position:relative;left:auto;transform:none;width:100%;flex-shrink:0}.web-progress .app,.web-video_progress .app{max-width:850px}.web-fullscreen .app,.web-set_view .app{max-width:1150px}.web-page .photo-wrap img{object-fit:contain;max-height:70dvh}
}
@media(min-width:900px) and (max-width:1150px){.web-page .sets-grid,.web-page .frames-grid,.web-page .video-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.web-nav-links a{padding:10px 12px}.web-page .history-column{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media(min-width:900px){
 .web-page .content-switch{display:none}.web-page .styles-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.web-frames .carousel{gap:18px}.web-frames .style-card{width:210px}.web-page .fixed-top .header{padding-top:20px;padding-bottom:16px}.web-home_sets .header .logo,.web-frames .header .logo,.web-videos .header .logo{visibility:visible;height:auto}.web-home_sets .header .logo svg,.web-frames .header .logo svg,.web-videos .header .logo svg{display:none}.web-home_sets .header .logo:after,.web-frames .header .logo:after{content:'Твой следующий образ';font-size:26px;font-weight:800;letter-spacing:-1px}.web-videos .header .logo:after{content:'Истории в движении';font-size:26px;font-weight:800;letter-spacing:-1px}
 .web-profile #profileGreeting,.web-profile #profileUserId,.web-profile .section-title,.web-profile #tariffsList{grid-column:1/-1}.web-profile #profileUserId{margin-top:-12px!important}.web-profile #tariffsList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.web-profile #tariffsList>*{margin:0}.web-profile .balance-card{height:100%;min-height:160px}.web-profile .menu-item{border-radius:14px;border:1px solid #e0d8c2}.web-profile .section-title{padding:12px 16px 0}.web-page .history-column .result-image{max-height:none}
}

.web-login [hidden]{display:none!important}#telegram-login-cancel{display:block;margin:12px auto 0;padding:8px 18px;border:1px solid #e0d8c2;border-radius:100px;background:transparent;color:#6e6555;font:700 12px Manrope,sans-serif;cursor:pointer}

/* Reserve existing optional blocks before account/catalog initialization. */
.web-home_sets #selfieBanner:empty,.web-frames #selfieBanner:empty{min-height:76px}
.web-history:has(#historyLoading:not([hidden])) .history-grid,.web-history .history-grid:has([data-history-mode]){min-height:calc(100dvh - 240px)}
.web-history:has(#historyLoading:not([hidden])) .history-column:empty::before{content:"";display:block;width:100%;height:300px;border-radius:14px;background:linear-gradient(110deg,#e8dfc8,#eee6d1,#e8dfc8)}
@media(min-width:1024px){.web-home_sets #selfieBanner:empty,.web-frames #selfieBanner:empty{min-height:74px}}
.web-home_sets .banners-wrap:not(:has(.banner)){display:none}
.web-frames #catFilters:empty{display:flex!important;min-height:46px}
@media(min-width:1024px){.web-set_detail .cta-price{display:block!important}}
.web-frames #catFilters:empty::before,.web-frames #catFilters:empty::after{display:none}
@media(min-width:1024px){.web-frames #catFilters:empty{min-height:30px}}
