/* Existing UPSTREAM brand, black canvas and rose accent. */
.portrait-stage{display:block;position:relative;height:540px;padding:0}.portrait-sample{position:absolute;display:block;overflow:hidden;border:1px solid #ffffff28;border-radius:18px;box-shadow:0 25px 65px #0008;transition:transform .25s ease}.portrait-sample img{display:block;width:100%;height:100%;object-fit:cover}.sample-main{width:47%;height:auto;aspect-ratio:9/16;left:26%;top:0;z-index:2;transform:rotate(-3deg)}.sample-left{width:34%;aspect-ratio:9/16;left:0;top:75px;transform:rotate(-10deg)}.sample-right{width:34%;aspect-ratio:9/16;right:0;top:60px;transform:rotate(9deg)}.portrait-sample:hover{transform:rotate(0)}.portrait-stage .stage-caption{bottom:0;left:0;width:100%;text-align:center;max-width:none}.stage-caption small{display:block;color:#a2a2a9;margin-top:7px;font-size:10px}.template-picture{height:auto!important;aspect-ratio:9/16}.template-picture img{width:100%;height:100%;object-fit:cover}.all-templates{display:inline-block;margin-top:24px}.feature-image img{width:100%;height:100%;object-fit:contain}.director-proof img{width:100%;border:1px solid #30252b;border-radius:12px}.director-proof p{font-size:13px;color:#a2a2a9;line-height:1.8}.release-note{font-size:13px;color:#f3adc9;line-height:1.7}.download-panel>h3{font-size:28px;margin:0}.download-panel>.body-copy{margin:20px 0 28px}.detail-text-link{display:inline-block;font-size:13px;color:#ffadcc;margin-top:14px;line-height:1.6}.detail-button{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:46px;padding:13px 22px;border:1px solid #ef86b5;border-radius:8px;background:#ffadcc;color:#260d19;text-decoration:none;font-weight:700;font-size:14px}#preview-detail{margin-top:10px}#preview-dialog{text-align:center}
.detail-body{margin:0;background:#070708;color:#f5f5f6;font:15px/1.8 "Microsoft YaHei","Segoe UI",sans-serif;color-scheme:dark}.detail-body *{box-sizing:border-box}.detail-body a{color:inherit;text-decoration:none}.detail-body img{display:block;max-width:100%;height:auto}.detail-body button{font:inherit;cursor:pointer}.detail-body a:focus-visible,.detail-body button:focus-visible,.detail-body summary:focus-visible{outline:2px solid #ffadcc;outline-offset:5px}.detail-shell{max-width:1280px;width:calc(100% - 112px);margin:auto}.detail-nav{min-height:90px;display:flex;justify-content:space-between;align-items:center;gap:30px}.detail-brand{display:block;flex:0 0 156px;width:156px}.detail-brand img{width:156px;filter:invert(1)}.detail-nav nav{display:flex;gap:30px;font-size:13px}.detail-nav nav a:hover,.detail-text-link:hover{color:#ffadcc}.detail-intro{padding:55px 0 48px;max-width:770px}.back{display:inline-block;color:#a2a2a9!important;font-size:13px;margin:24px 0}.detail-body h1{font-size:clamp(42px,4.5vw,68px);line-height:1.12;letter-spacing:-2px;font-weight:700;margin:18px 0 25px}.detail-body h1 em{font-style:normal;color:#ffadcc}.detail-body h2{font-size:27px;line-height:1.4;letter-spacing:-.5px;margin:24px 0 16px}.detail-body p{color:#b5b1b7;margin:14px 0;line-height:1.85}.detail-body small,.detail-body figcaption{color:#a2a2a9;font-size:12px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.detail-card{display:block;padding-bottom:22px;min-width:0}.detail-card>img{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:14px;border:1px solid #30252b;transition:transform .2s}.detail-card:hover>img{transform:translateY(-4px)}.detail-card h2{font-size:22px;margin:17px 0 3px}.detail-card p{font-size:13px;margin:0 0 8px}.detail-card span{font-size:12px;color:#ffadcc}.template-detail{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(32px,7vw,100px);align-items:start;margin-top:20px}.template-detail figure{margin:0;max-width:480px}.template-detail figure>img{border-radius:16px;border:1px solid #30252b}.template-detail figcaption{margin:12px 0;text-align:center}.template-detail h1{margin-top:10px}.template-detail>div{padding:24px 0}.detail-kicker{font-size:13px;color:#ffadcc!important;letter-spacing:2px}.detail-lead{font-size:21px!important;color:#e8e1e6!important}.template-detail ol{padding-left:23px;color:#b5b1b7}.template-detail li{padding:6px 0 6px 6px}.detail-note{border-left:2px solid #cf5f94;background:#160e13;padding:14px 20px;margin:27px 0}.detail-note h3{font-size:16px;margin:0}.detail-note p{font-size:13px;margin:8px 0 0}.detail-note h2{font-size:18px;margin:0}.template-detail .detail-text-link{display:block;color:#ffadcc}.detail-related{padding-top:60px}.detail-related .detail-grid{margin-top:25px}.guide-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:65px;align-items:center;border-top:1px solid #2a2329;padding:50px 0}.guide-row>img{border:1px solid #30252b;border-radius:12px;width:100%}.guide-row .step{font-size:13px;color:#ffadcc}.guide-row h2{font-size:32px}.guide-row p{font-size:14px}.detail-faq{max-width:900px;margin:55px auto}.detail-faq details{border-bottom:1px solid #2a2329;padding:20px 0}.detail-faq summary{cursor:pointer;font-size:16px}.detail-faq p{font-size:14px}.detail-join{padding:40px 0 60px}.detail-join h2{font-size:38px}.detail-footer{margin-top:60px;min-height:140px;border-top:1px solid #2a2329;display:flex;align-items:center;gap:30px;flex-wrap:wrap;font-size:12px;color:#a2a2a9}.detail-footer .detail-brand{width:130px;flex-basis:130px}.detail-footer a:last-child{margin-left:auto}.detail-body .detail-text-link{color:#ffadcc}.detail-body .detail-button{color:#260d19}.community-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:85px;align-items:center;padding:20px 0 55px}.community-layout h1{font-size:clamp(40px,4.3vw,65px)}.qr-figure{margin:0 auto;max-width:360px}.qr-figure img{border-radius:16px;width:100%;border:1px solid #30252b}.qr-figure figcaption{text-align:center;margin-top:15px}.group-number{padding:24px 0;border-top:1px solid #2a2329;border-bottom:1px solid #2a2329;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.group-number>span{font-size:12px;color:#b5b1b7}.group-number strong{font-size:29px;letter-spacing:1px}.group-number button{background:#ffadcc;color:#260d19;padding:9px 16px;border:0;border-radius:7px;font-size:13px}.detail-body #copy-status{min-height:24px;color:#ffadcc;font-size:13px;margin:5px 0}
@media(min-width:1600px){.portrait-stage{height:590px}}@media(max-width:1100px){.portrait-stage{height:440px}.detail-shell{width:calc(100% - 64px)}.community-layout{gap:35px}.guide-row{gap:30px}.detail-nav nav{gap:20px}.template-detail{gap:35px}}
@media(max-width:760px){.portrait-stage{height:420px;padding-top:0;margin:15px 0 0}.sample-main{width:48%;left:25%;top:0}.sample-left{top:55px}.sample-right{top:45px}.portrait-stage .stage-caption{bottom:0}.detail-shell{width:calc(100% - 40px)}.detail-nav{min-height:80px;gap:15px;flex-wrap:wrap;padding:18px 0}.detail-brand{width:130px;flex-basis:130px}.detail-nav nav{gap:14px;display:flex;font-size:12px}.detail-nav nav a:last-child{display:none}.detail-intro{padding:20px 0 35px}.detail-body h1{font-size:42px}.detail-body .detail-lead{font-size:18px!important}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.detail-card h2{font-size:18px}.detail-card p{font-size:12px}.template-detail{display:flex;flex-direction:column-reverse;gap:20px}.template-detail>div{padding-top:0}.template-detail figure{max-width:100%;width:100%}.template-detail figure img{max-height:720px;width:auto;margin:auto}.guide-row{grid-template-columns:1fr;gap:20px;padding:30px 0}.guide-row h2{font-size:26px}.detail-join h2{font-size:30px}.community-layout{display:flex;flex-direction:column;gap:30px;padding-top:0;align-items:stretch}.qr-figure{max-width:330px}.detail-footer{gap:20px;padding:25px 0}.detail-footer a:last-child{flex:0 0 100%;margin-left:0}.group-number{gap:12px}.group-number strong{font-size:25px}}
@media(max-width:420px){.portrait-stage{height:360px}.detail-nav{display:block}.detail-nav nav{margin-top:15px}.detail-body h1{font-size:38px}.detail-grid{gap:14px}.group-number button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.portrait-sample,.detail-card>img{transition:none}}
.portrait-stage .sample-main{width:auto;height:calc(100% - 42px);left:50%;translate:-50% 0}.portrait-stage .sample-left,.portrait-stage .sample-right{width:auto;height:74%;top:12%}.portrait-stage .sample-left{left:1%}.portrait-stage .sample-right{right:1%}
