.carousel-editor-list{display:grid;gap:16px}
.carousel-editor-row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:18px;align-items:start}
.carousel-editor-row.carousel-selected{border-color:var(--p);outline:1px solid var(--p)}
.carousel-editor-row.carousel-drop-target{outline:3px dashed var(--p);outline-offset:4px}
.carousel-image-thumb{aspect-ratio:9/16;background:var(--sur2);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:grid;place-items:center;width:100%;max-width:160px}
.carousel-image-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.carousel-drag-handle{touch-action:none;cursor:grab;user-select:none;min-height:44px}.carousel-drag-handle:active{cursor:grabbing}
.carousel-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:16px}
.carousel-editor-actions{position:sticky;bottom:12px;padding:14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg);z-index:2;flex-wrap:wrap}
.carousel-preview-frame{position:relative;aspect-ratio:9/16;width:min(100%,340px,36.5625vh);max-height:65vh;margin-inline:auto;background:#000;overflow:hidden;border-radius:20px}
.carousel-preview-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity var(--carousel-fade,250ms) linear}
.carousel-preview-loading{position:absolute;inset:0;display:grid;place-items:center}
@media(max-width:560px){.carousel-editor-row{grid-template-columns:72px minmax(0,1fr);gap:12px}.carousel-editor-row .form-grid{grid-template-columns:1fr}.carousel-editor-actions{bottom:0;border-radius:var(--r-lg) var(--r-lg) 0 0}}
@media(prefers-reduced-motion:reduce){.carousel-preview-frame img{transition:none}}
.native-intro-simulator{position:relative;aspect-ratio:9/16;width:min(100%,340px,36.5625vh);overflow:hidden;margin-inline:auto;background:var(--intro-background);color:var(--intro-title);font-family:var(--intro-font);border-radius:20px}
.native-intro-entry{position:absolute;top:12%;left:8%;right:8%;text-align:center;font-size:var(--intro-entry-size);letter-spacing:-.03em}
.native-intro-ticket{position:absolute;top:40%;left:12%;width:76%;min-height:27%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;background:#F6F3EF;color:var(--intro-ticket-title);border:0;border-radius:12px;cursor:grab;touch-action:none;font-family:var(--intro-font);padding:18px;overflow:hidden}
.native-intro-ticket::before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent,var(--intro-accent));opacity:calc(var(--intro-placeholder-opacity) * .2);pointer-events:none}
.native-intro-ticket strong{font-size:var(--intro-ticket-size)}.native-intro-ticket>*{position:relative}
.native-intro-perforation{width:130%;border-top:2px dashed currentColor;opacity:.4}
.native-intro-torn{transition:transform var(--intro-exit-duration) ease-in,opacity var(--intro-exit-duration) linear;opacity:0;pointer-events:none}
.native-intro-torn[data-exit=fall]{transform:translateY(130vh) rotate(12deg)!important}.native-intro-torn[data-exit=fade]{transform:none!important}
.native-intro-helper{position:absolute;bottom:15%;left:8%;right:8%;text-align:center;font-size:13px}
.native-intro-cinematic::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 20%,var(--intro-accent),transparent 70%);opacity:var(--intro-placeholder-opacity)}
.native-intro-photo{position:absolute;inset:0}.native-intro-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity var(--carousel-fade,250ms) linear}
.native-intro-montage-title{position:absolute;bottom:20%;left:8%;right:8%;font-size:var(--intro-title-size);text-align:center;text-shadow:0 2px 12px #000}
.native-intro-invite{position:absolute;inset:0;padding:24px;display:flex;flex-direction:column;justify-content:center;gap:20px;text-align:center;background:#0B0B10;color:#FFFFFF;font-family:system-ui,sans-serif}
.native-intro-invite .btn-primary{background:#9D00FF;border-color:#9D00FF;color:#FFFFFF}.native-intro-simulator [hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.native-intro-photo img,.native-intro-torn{transition:none}}
/* Cinematic scope only: original DS v0.2 ticket / native 300×128 recipe.
   Functional onboarding controls and the two legacy intro skins are unchanged. */
.native-intro-cinematic{background:#0B0B10;color:#F4F2F8}
.native-intro-cinematic.native-intro-simulator:not(.native-intro-public){width:min(100%,340px);max-height:65vh}
.native-intro-cinematic::before{inset:15% -20%;background:radial-gradient(closest-side,rgba(208,0,255,.10),rgba(208,0,255,0) 100%);opacity:1;pointer-events:none}
/* The transform creates a stacking context: lift the anchor itself, not just
   its paper child, above the full-frame decorative photo/title layers. */
.native-intro-ticket-anchor{position:absolute;z-index:4;left:50%;top:50%;width:300px;height:128px;transform:translate(-50%,-50%) scale(var(--native-ticket-scale,1))}
.native-intro-ticket-interaction{position:absolute;inset:calc(-1 * var(--native-ticket-hit-padding,16px));z-index:5;margin:0;padding:0;min-height:0;border:0;border-radius:14px;background:transparent;box-shadow:none;appearance:none;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.native-intro-ticket-interaction:active{cursor:grabbing}.native-intro-ticket-interaction:focus-visible{outline:3px solid #E070FF;outline-offset:4px}
.native-intro-cinematic .native-intro-ticket{position:relative;top:0;left:0;width:300px;height:128px;min-height:0;padding:0;display:block;overflow:visible;background:none;border:0;border-radius:0;box-shadow:none;filter:drop-shadow(0 24px 40px rgba(0,0,0,.6));transform-origin:50% 50%}
.native-intro-cinematic .native-intro-ticket::before{display:none}
.native-intro-cinematic .native-intro-ticket-body{position:absolute;left:0;top:0;width:224px;height:128px;box-sizing:border-box;padding:16px 18px 14px;margin:0;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;overflow:hidden;background:var(--tkP);background-size:300px 128px;color:var(--tkPfg);border:0;border-right:2px dashed var(--tkPdash);border-radius:14px 0 0 14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 0 44px rgba(208,0,255,.22);text-align:left;cursor:pointer;font-family:var(--intro-font);line-height:1.2}
.native-intro-ticket-brand{display:flex;align-items:center;gap:10px}.native-intro-ticket-brand img{width:28px;height:28px;object-fit:contain;flex-shrink:0}
.native-intro-cinematic .native-intro-ticket-brand strong{font-size:var(--intro-ticket-size,22px);font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--intro-ticket-title,#FFFFFF)}
.native-intro-ticket-copy{font:400 9px/1.4 'Geist Mono',ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.native-intro-ticket-numbers{display:flex;justify-content:space-between;gap:8px;font:400 10px/1.2 'Geist Mono',ui-monospace,monospace;letter-spacing:.08em;white-space:nowrap}
.native-intro-cinematic .native-intro-ticket-stub-wrap{position:absolute;left:224px;top:0;width:76px;height:128px;transform-origin:0% 100%;transform:perspective(700px) rotate(5deg);animation:native-ticket-wobble 3.4s ease-in-out infinite;box-shadow:3px 5px 10px rgba(0,0,0,.2);border-radius:0 14px 14px 0}
.native-intro-ticket-stub{display:flex;align-items:center;justify-content:center;width:100%;height:100%;box-sizing:border-box;margin:0;padding:0;border:0;border-radius:0 14px 14px 0;background:var(--tkP);background-size:300px 128px;background-position:-224px 0;color:var(--tkPfg);cursor:grab;touch-action:none}
.native-intro-ticket-stub>span{writing-mode:vertical-rl;transform:rotate(180deg);display:flex;align-items:center;gap:8px;font:600 10px/1 'Geist Mono',ui-monospace,monospace;letter-spacing:.22em}
.native-intro-ticket-star{color:#F5C430}
.native-intro-cinematic .native-intro-ticket-flash{position:absolute;left:222px;top:10px;bottom:10px;width:2px;border-radius:2px;background:#F5C430;box-shadow:0 0 12px rgba(245,196,48,.75);opacity:0;pointer-events:none}
.native-intro-cinematic .native-intro-ticket-notch{position:absolute;left:217px;width:14px;height:14px;border-radius:50%;background:#0B0B10;z-index:3;pointer-events:none}.native-intro-ticket-notch-top{top:-7px}.native-intro-ticket-notch-bottom{top:121px}
.native-intro-cinematic .native-intro-helper{position:absolute;left:190px;right:auto;top:-74px;bottom:auto;width:54px;display:grid;justify-items:center;gap:6px;margin:0;color:#FFF;font:600 11px/1 'Geist Mono',ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;pointer-events:none}
.native-intro-helper svg{animation:native-ticket-arrow 1.6s ease-in-out infinite}
.native-intro-cinematic .native-intro-montage-title{position:absolute;left:50%;top:44%;bottom:auto;right:auto;width:204px;height:auto;transform:translate(-50%,-50%);text-shadow:none;object-fit:contain;filter:drop-shadow(0 0 36px #0B0B10)}
.native-intro-cinematic .native-intro-photo::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,rgba(11,11,16,.1) 30%,rgba(11,11,16,.88) 100%)}
@keyframes native-ticket-wobble{0%,100%{transform:perspective(700px) rotateY(0deg) rotate(5deg)}50%{transform:perspective(700px) rotateY(-9deg) rotate(9deg) translate(2px,-2px)}}
@keyframes native-ticket-arrow{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
.native-intro-photo{z-index:1;perspective:700px}.native-intro-montage-title{z-index:3}.native-intro-entry{z-index:3}.native-intro-ticket{z-index:4}
.native-intro-photo,.native-intro-photo *,.native-intro-montage-title,.native-intro-montage-title *,.native-intro-entry,.native-intro-entry *{pointer-events:none}
.native-intro-photo[data-motion=depth_pop] img{transition:opacity var(--carousel-fade,250ms) linear,transform var(--intro-depth-duration,500ms) cubic-bezier(.2,.7,.25,1)}
.public-intro-page{align-items:center}.public-intro-page .native-intro-simulator{width:min(100%,440px,48vh);max-height:86vh}.public-intro-page [data-public-intro]{width:100%}
.public-intro-page:has([data-native-preview]){position:relative}
.auth-dialog:has(.public-intro-page [data-native-preview]){overflow:hidden}
.auth-dialog:has(.public-intro-page [data-native-preview]) [data-auth-content],.auth-dialog .public-intro-page:has([data-native-preview]){height:100%;min-height:0}
.public-intro-page [data-public-intro]{position:absolute;inset:0;height:100%}
.public-intro-page .native-intro-simulator.native-intro-public{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;margin:0;border-radius:0}
.native-intro-simulator.native-intro-public.native-intro-cinematic{--native-ticket-scale:2;box-sizing:border-box;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}
.public-intro-page [data-action=skipIntro]{position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:10;min-height:44px;padding:12px 20px;color:#F4F2F8;font:500 11px/1.4 'Geist Mono',ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
@media(min-width:768px){.native-intro-public.native-intro-cinematic .native-intro-montage-title{width:320px}}
.native-auth-presentation{max-width:480px;width:100%;padding:24px;border:1px solid var(--line);border-radius:20px;background:#14101F;margin-inline:auto}
.native-auth-cinematic .h1{color:#F5C430}.native-auth-presentation .btn-primary{background:#9D00FF;border-color:#9D00FF}
@media(prefers-reduced-motion:reduce){.native-intro-photo[data-motion=depth_pop] img{transition:none;transform:none!important}}
@media(prefers-reduced-motion:reduce){.native-intro-ticket-stub-wrap,.native-intro-helper svg{animation:none!important}}
