/* V2 visual refinement: production-image hooks and clearly labelled illustrated fallbacks. */
.production-art{width:100%;height:100%;object-fit:cover}
.studio-set>.production-art{display:none}
.studio-set.has-production>.production-art{display:block}
.studio-set.has-production>.production-art{object-position:center 78%}
.studio-set.has-production>.studio-fallback{display:none}
.studio-set{background:#dce9df;border:1px solid rgba(73,83,72,.14)}
.studio-fallback{position:absolute;inset:0;background:linear-gradient(160deg,#eaf2eb 0%,#d4e7dc 55%,#b88f79 56%,#8a6657 100%)}
.paper-grain{position:absolute;inset:0;opacity:.25;background-image:radial-gradient(rgba(65,54,47,.38) .7px,transparent .8px);background-size:5px 5px;mix-blend-mode:multiply}
.studio-fallback small{position:absolute;right:10px;bottom:8px;color:#fff;background:rgba(50,42,38,.55);padding:4px 7px;border-radius:10px;font-size:9px}
.clapper{position:absolute;left:142px;top:36px;width:94px;padding:9px 6px;background:#f7f0df;border:4px solid #4b4642;color:#4b4642;font:700 9px/1.4 monospace;transform:rotate(6deg);box-shadow:inset 0 8px 0 #3e3a37}
.clapper b{font-size:10px}.camera-tripod{border:3px solid #393634;border-radius:12px 9px 11px 8px;background:#504b48}.director-chair{border-radius:4px 9px 3px 6px}.tape{font-family:"Kaiti SC","STKaiti",cursive}
.scene-art>.production-art{display:none;inset:0}
.scene-art.has-production>.production-art{display:block}
.scene-art.has-production>.scene-art-fallback{display:none}
.scene-art-fallback{position:absolute;inset:0;z-index:2}
.scene-art-fallback>*:not(.scene-grain){position:absolute;z-index:2}
.scene-grain{mix-blend-mode:soft-light}
.scene-cake{background:#cfe7dc}.scene-cake .scene-art-fallback{background:linear-gradient(145deg,#dff0e8,#bddfce)}
.scene-cake .plate{transform:rotate(-2deg);border:2px solid rgba(94,86,72,.18);box-shadow:0 10px 0 rgba(95,116,100,.08)}
.scene-cake .plate i{border-radius:55% 45% 38% 42%;filter:saturate(.82)}
.scene-rain .scene-art-fallback{background:linear-gradient(#70889a,#b9c8ce)}
.scene-hotpot .scene-art-fallback{background:linear-gradient(145deg,#e9c19b,#a94640)}
.scene-stars .scene-art-fallback{background:linear-gradient(#24344f,#536584)}
.edit-effect{position:absolute;inset:0;z-index:7;pointer-events:none}
.edit-effect small{position:absolute;top:12px;left:12px;padding:5px 8px;background:rgba(32,25,24,.72);color:#fff;border-radius:20px;font-size:10px}
.freeze-label{position:absolute;right:20px;top:28px;padding:8px 13px;background:#fff4ca;color:#2b2524;font-weight:900;transform:rotate(5deg);box-shadow:4px 4px 0 #ef6e80}
.spotlight{position:absolute;width:170px;height:120px;border:4px dashed #fff4ca;border-radius:50%;right:25px;top:80px;transform:rotate(-9deg)}
.zoom-box{position:absolute;width:145px;height:110px;border:5px solid #fff;right:24px;top:55px;box-shadow:0 0 0 7px rgba(235,107,128,.8);transform:rotate(4deg)}
.zoom-label{position:absolute;right:29px;top:174px;background:#ed6f85;color:#fff;padding:6px 11px;font-weight:900;transform:rotate(-3deg)}
.evidence-line{position:absolute;width:155px;height:90px;border:6px solid #ef354e;border-radius:50%;right:25px;top:58px;transform:rotate(-12deg)}
.evidence-label{position:absolute;right:18px;top:155px;background:#ef354e;color:#fff;padding:6px 10px;font-weight:900;transform:rotate(3deg)}
.edit-effect b{position:absolute;right:128px;top:122px;color:#ef354e;font-size:54px;transform:rotate(-25deg)}
.effect-scene-1.effect-a .spotlight{right:120px;top:90px}.effect-scene-1.effect-b .zoom-box{left:80px;top:80px}.effect-scene-1.effect-c .evidence-line{right:15px;top:80px}
.result-page{--persona-accent:#d75d70;--persona-soft:#f6d8d8}
.result-portrait{background:linear-gradient(145deg,var(--persona-soft),#fff1e9)}
.result-portrait.has-production img{display:block;object-position:center center}.result-portrait.has-production .asset-missing{display:none}
.result-page .kicker,.hot-topic span,.famous-moment span,.program-report span{color:var(--persona-accent)}
.result-copy blockquote{border-left-color:var(--persona-accent)}
.hot-topic,.famous-moment,.program-report{background:color-mix(in srgb,var(--persona-soft) 54%,#fff)}
.program-report{border-radius:18px;padding:18px;margin:18px 0}
.program-report span{display:block;font-size:11px;font-weight:800;margin-bottom:8px}
.program-report p{font-size:15px;line-height:1.8;margin:0;color:#4f4541}
.famous-moment p+p{margin-top:8px}
.result-stamp{border-color:var(--persona-accent);color:var(--persona-accent)}

/* Approved 2026-11-03 home cover: existing pink vintage admission ticket, no new style or collage. */
.home-ticket-page{display:flex;flex-direction:column;justify-content:flex-start;background:#fff9f4;color:#47302f;min-height:100dvh;overflow:visible;padding:22px 20px calc(18px + env(safe-area-inset-bottom))}
.home-ticket-page .home-copy{padding:0 4px}
.home-ticket-page .home-brand{margin:0 0 20px;color:#915f5d;font-size:11px;letter-spacing:.09em;font-weight:650;text-transform:none}
.home-ticket-page .home-copy h1{font-family:"STSong","Songti SC","Noto Serif CJK SC","Source Han Serif SC","SimSun",serif;font-size:clamp(34px,9.5vw,48px);line-height:1.2;letter-spacing:-.045em;font-weight:750;margin:0;color:#44302f}
.home-ticket-page .home-copy h1 em{color:#c34c58;font-style:normal;font-weight:800}
.home-ticket-visual{margin:16px -4px 0;max-width:500px;flex-shrink:0}
.home-ticket-image{display:block;width:100%;height:auto;aspect-ratio:720 / 495;object-fit:contain;border-radius:7px}
.home-invite-copy{margin:13px 0 0;text-align:center;line-height:1.7;letter-spacing:.03em;font-family:"STSong","Songti SC","Noto Serif CJK SC","SimSun",serif;font-size:16px;font-weight:600;color:#6a4b45}
.home-invite-copy strong{color:#c35460;font-size:18px;font-weight:800}
.home-ticket-page .home-actions{width:100%;margin:clamp(22px,4vh,38px) 0 0;gap:4px}
.home-ticket-page .primary-btn{background:#be5762;color:#fff;border-radius:999px;min-height:56px;box-shadow:0 5px 0 #e6beb2;font-weight:800;letter-spacing:.04em}
.home-ticket-page .primary-btn:active{box-shadow:0 2px 0 #e6beb2}
.home-ticket-page .home-meta{font-size:12px;color:#816c68;margin:12px 0 0}
.home-ticket-page .text-btn{padding:5px 12px}
.home-footer{text-align:center;margin-top:auto;padding-top:24px;color:#947a74;font-size:10px;letter-spacing:.025em}
.home-footer p{margin:0 0 5px}
.home-footer p:last-child{font-size:9px;color:#ab9690}
.home-info-link{color:inherit;text-underline-offset:3px;text-decoration-color:#d3aaa4}
.home-info-link:hover,.home-info-link:focus-visible{color:#9e4d57}
@media(max-height:720px){.home-ticket-page{padding-top:16px}.home-ticket-page .home-brand{margin-bottom:12px}.home-ticket-page .home-copy h1{font-size:clamp(31px,8.8vw,40px)}.home-ticket-visual{margin-top:6px}.home-invite-copy{margin-top:7px;font-size:14px}.home-ticket-page .home-actions{margin-top:14px}.home-footer{padding-top:16px}}
@media(min-width:521px){.home-ticket-page .home-copy h1{font-size:46px}.home-ticket-page .home-brand{font-size:12px}}
