.mobile-only{display:none}
.site-registration{margin:0;padding:0 12px 16px;text-align:center;font-size:12px;line-height:1.5}
.site-registration a{display:inline-block;padding:3px 8px;color:#52665a;text-underline-offset:3px}
@media(max-width:760px){
  main>.site-registration{flex:none;padding:0 10px max(3px,env(safe-area-inset-bottom));background:#fffefa;font-size:11px}
  body:has(.site-registration) .action-panel{padding-bottom:3px}
}
.intro .visit-title{font-size:clamp(28px,3.6vw,48px);line-height:1.25;letter-spacing:.02em}
@media(max-width:760px){
  body main{flex-direction:column}
  main>.intro{display:block!important;flex:none;padding:0 16px 5px}
  .intro .eyebrow,.intro .intro-text,.intro .intro-side{display:none}
  .intro .visit-title{margin:0;font-size:clamp(17px,4.8vw,23px);line-height:1.4}
}
.gallery-empty{padding:42px 8px;text-align:center}.gallery-empty small{display:block;margin-top:8px;font-size:11px}
.action-buttons{display:flex;gap:10px}.action-buttons .generate{min-width:0}
#galleryDialog{width:min(620px,calc(100% - 32px))}#galleryDialog .history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){
  html{height:100%;overflow:hidden}
  body{height:var(--app-height,100dvh);min-height:0;overflow:hidden;display:flex;flex-direction:column;overscroll-behavior:none;background:#f5f3ed}
  button,a{touch-action:manipulation}.mobile-only{display:flex}.desktop-only,.intro,main>footer,#historySection{display:none!important}
  .topbar{flex:0 0 auto;width:100%;max-width:none;height:calc(62px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 17px 0;border:0;gap:10px}
  .brand{gap:7px;font-size:20px;letter-spacing:1.5px}.brand-mark{font-size:34px}.brand small{font-size:7px;letter-spacing:2.7px;margin-top:2px}
  .top-right{gap:10px}.connection{height:36px;padding:8px 10px;font-size:10px;background:#fffefa90;gap:6px}
  .gallery-toggle{position:relative;align-items:center;justify-content:center;width:38px;height:42px;padding:8px;border:0;background:transparent;color:#47634d}
  .gallery-toggle svg,.mobile-tabs svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .gallery-toggle>span{position:absolute;top:1px;right:0;min-width:15px;height:15px;padding:0 3px;border-radius:9px;background:#345d4e;color:white;font-size:9px;line-height:15px}
  main{display:flex;flex:1;min-height:0;width:100%;max-width:none;padding:0;margin:0;overflow:hidden}
  .studio{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:hidden}
  .controls,.destination{display:contents}
  .preview-panel{order:0;display:flex;flex-direction:column;flex:1 1 0;min-height:140px;padding:4px 16px 10px;overflow:hidden}
  .destination-top{flex:0 0 34px;margin:0 0 7px;gap:8px}.destination-top .step-title>span{display:none}.destination-top h2{font-size:16px;font-weight:600;letter-spacing:0;line-height:1.4}
  .preview-badge{flex-shrink:0;font-size:10px;background:#fffdf8;border-color:#e1e5d9;padding:5px 9px}
  .photo-stage{display:flex;flex:1 1 0;align-items:center;justify-content:center;min-height:0;height:auto;max-height:none;aspect-ratio:auto;width:100%;border:1px solid #e3e6db;border-radius:18px;background:#e9ede4;box-shadow:0 4px 16px #33493306}
  .photo-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.photo-stage.result{background:#e9ede4}
  .photo-bottom{display:flex;flex:0 0 auto;min-height:28px;justify-content:flex-start;padding:3px 1px 0;gap:10px}#photoCredit,#downloadButton{display:none!important}
  .mobile-summary{color:#66745f;font-size:11px;letter-spacing:.2px}#showBackground{min-height:36px;margin-left:auto;font-size:11px}body.has-result .mobile-summary{display:none}
  .mobile-tabs{order:1;flex:0 0 54px;display:flex;gap:7px;padding:7px 16px;background:#fffefa;border-top:1px solid #e7e8df;border-radius:20px 20px 0 0;box-shadow:0 -4px 14px #29412d03}
  .mobile-tabs>button{position:relative;flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 10px;border:0;border-radius:10px;background:transparent;color:#8c9785;font-size:13px}
  .mobile-tabs>button[aria-pressed="true"]{color:#355e49;background:#edf2e6;font-weight:600}
  .portrait-panel{display:none}
  .options-panel,.background-panel{order:2;flex:0 1 auto;min-height:0;display:none;padding:0 16px 9px;background:#fffefa;border:0;margin:0;overflow:auto;overscroll-behavior:contain}
  body[data-mobile-panel="background"] .background-panel{display:block}body[data-mobile-panel="pose"] .options-panel{display:grid}
  .scenes-heading{height:31px;margin:2px 0 8px;font-size:11px;color:#88947d}#customButton{min-height:32px;font-size:11px;padding:3px 0 3px 10px}
  .scene-grid{display:flex;gap:9px;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;padding:1px 1px 3px}.scene-grid::-webkit-scrollbar{display:none}
  .scene{flex:0 0 99px;width:99px;padding:3px;border-radius:10px;scroll-snap-align:start}.scene img{height:60px;border-radius:7px}.scene strong{font-size:10px;margin:6px 3px 4px}.scene small{display:none}
  .scene-note{display:flex;justify-content:flex-end;margin:2px 0 0;min-height:20px}.source-description{display:none}.scene-note .text-button{font-size:9px;min-height:20px;padding:0 1px 0 12px;color:#a0aa95}
  .options-panel{row-gap:6px;padding-top:5px;padding-bottom:9px}
  .options-panel>div{display:grid;grid-template-columns:4em minmax(0,1fr);gap:9px;align-items:center;font-size:12px}
  .options-panel .note-label,#shotLabel h2{margin:0;font-size:12px;font-weight:500;line-height:1.4;color:#58684f}
  .segmented{height:44px;margin:0;gap:0;padding:2px;border-radius:9px}.segmented button{gap:5px;padding:5px 3px;border-radius:7px;font-size:12px}.segmented small{font-size:10px}.frame-icon{display:none}
  .shot-options{gap:6px;margin:0}.shot-option{min-height:44px;padding:8px 5px;justify-content:center;border-radius:9px}.shot-option strong{font-size:13px}.shot-option small{display:none}
  .pose-options{gap:5px}.pose-options span{min-height:44px;padding:4px 1px;border-radius:9px;font-size:12px}
  .action-panel{position:relative;order:3;flex:0 0 auto;padding:12px 16px calc(9px + env(safe-area-inset-bottom));border-top:1px solid #edf0e6;background:#fffefa}.preserve{display:none}.action-buttons{gap:9px}
  .action-buttons .generate{display:flex;flex:1;justify-content:center;gap:12px;align-items:center;width:auto;height:49px;padding:12px;border-radius:13px;font-size:14px;font-weight:500;letter-spacing:.5px;box-shadow:0 3px 7px #294a350b;text-decoration:none}.action-buttons .generate>span{font-size:18px}
  .change-selfie{flex:none;align-items:center;gap:6px;padding:0 10px;border-radius:12px;border:1px solid #dce3d3;background:#f7f8f2;color:#486349;font-size:12px}
  .change-selfie img{border-radius:50%;object-fit:cover}
  body.has-result .action-buttons #generateButton{flex:0 1 auto;color:#587049;background:#f0f4e8;border-color:#e1e8d7;box-shadow:none;font-size:13px}
  body.has-result .change-selfie img{display:none}
  .privacy-note{font-size:9px;line-height:1.5;margin:7px 0 0;color:#a3ab99}.privacy-note br{display:none}
  .action-panel>.feedback{position:absolute;bottom:calc(100% + 7px);left:16px;right:16px;z-index:5;margin:0;padding:11px 13px;border:1px solid #e4e7da;border-radius:12px;background:#fffef8f5;box-shadow:0 4px 20px #24382a12;color:#667853;font-size:12px;pointer-events:none}
  .loading-overlay{padding:12px}.loading-overlay strong{font-size:12px;line-height:1.6}.loading-overlay p{font-size:10px;line-height:1.5}.loading-overlay small{font-size:9px;margin-top:0}.loader{width:30px;height:30px;margin-bottom:12px}
  dialog,#galleryDialog{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;max-width:none;max-height:calc(var(--app-height,100dvh) - 30px);margin:0;padding:24px 21px calc(23px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;border:0;overflow-y:auto;overscroll-behavior:contain}
  dialog::before{content:'';position:absolute;width:34px;height:4px;top:9px;left:calc(50% - 17px);background:#d8dfce;border-radius:3px}.dialog-heading{margin-bottom:12px;min-height:36px}.dialog-heading h2{font-size:18px}.close{display:grid;place-items:center;width:36px;height:36px;font-size:25px;background:#f0f3e9;border-radius:50%}
  dialog input{font-size:16px;min-height:46px}dialog .feedback{position:static;font-size:12px}#galleryDialog .history-grid{gap:11px}#galleryDialog .history-card{padding:6px}#galleryDialog .history-card img{height:160px}#galleryDialog .history-card button,#galleryDialog .history-card a{min-height:36px;font-size:11px}.gallery-empty{padding:42px 8px 50px;font-size:14px}
}
@media(max-width:760px) and (max-height:650px){
  .topbar{height:calc(54px + env(safe-area-inset-top))}.preview-panel{min-height:110px;padding-bottom:4px}.destination-top{flex-basis:26px;margin-bottom:4px}.destination-top h2{font-size:14px}.photo-bottom{min-height:24px}.mobile-tabs{flex-basis:48px;padding-top:4px;padding-bottom:4px}.background-panel{padding-bottom:3px}.scenes-heading{height:27px;margin-bottom:4px}.scene img{height:48px}.scene-note{display:none}.options-panel{row-gap:3px;padding-top:3px;padding-bottom:5px}.action-panel{padding-top:8px}.action-buttons .generate{height:45px}.privacy-note{margin-top:5px;font-size:8px}
}
/* Partner mark and Shunyou share one home link. */
.brand-pair{gap:14px;flex-shrink:0}.partner-logo{display:block;width:170px;height:auto;object-fit:contain}.brand-divider{display:block;width:1px;height:32px;background:#d5ddcf;flex:none}.shunyou-brand{display:flex;align-items:center;gap:8px;white-space:nowrap}
@media(max-width:760px){.brand-pair{gap:8px}.partner-logo{width:94px}.brand-divider{height:25px}.shunyou-brand{gap:5px}.brand-pair .brand-mark{font-size:28px}.brand-pair{font-size:18px;letter-spacing:1.2px}.brand-pair small{font-size:6px;letter-spacing:2px}.topbar>.top-right{gap:7px}.topbar{gap:8px}}
@media(max-width:374px){.topbar{padding-left:12px;padding-right:12px;gap:6px}.brand-pair{gap:6px;font-size:17px;letter-spacing:1px}.partner-logo{width:94px}.shunyou-brand{gap:4px}.brand-pair .brand-mark{font-size:25px}.brand-pair small{font-size:6px;letter-spacing:1.7px}.topbar>.top-right{gap:4px}.gallery-toggle{width:30px;padding:6px}.connection{padding:7px 8px;font-size:9px;gap:5px}}
@media(max-width:334px){.brand-pair{gap:5px;font-size:16px}.partner-logo{width:76px}.brand-pair .brand-mark{font-size:23px}.shunyou-brand{gap:3px}.brand-pair small{font-size:5px;letter-spacing:1.8px}.connection{padding-left:7px;padding-right:7px}}

@media(min-width:390px) and (max-width:760px){.partner-logo{width:108px}}
