.screen-deck [hidden]{display:none!important}.screen-source{display:none!important}
.haunt-closeup{position:fixed;inset:0;z-index:65;pointer-events:none;overflow:hidden;background:#040b09;animation:haunt-appear 1.65s both}
.haunt-closeup>img{position:absolute;width:min(115vw,150vh);height:150vh;max-width:none;object-fit:cover;object-position:50% 18%;left:50%;top:50%;transform:translate(-50%,-44%) scale(.55);filter:grayscale(.65) contrast(1.4);animation:haunt-lunge 1.65s both}
.haunt-bride>img{height:240vh;width:auto;object-fit:contain;transform-origin:50% 27%}
.haunt-mural>img{height:240vh;width:auto;filter:grayscale(1) contrast(1.8);transform-origin:50% 25%}
.haunt-shadow{position:absolute;inset:0;background:radial-gradient(ellipse,transparent 12%,#000c 75%);z-index:2}
.haunt-grain{position:absolute;inset:0;background:repeating-linear-gradient(0deg,#0002 0 2px,transparent 2px 5px);opacity:.5}
@keyframes haunt-appear{0%,27%{opacity:0}29%,72%{opacity:1}100%{opacity:0}}
@keyframes haunt-lunge{0%,27%{transform:translate(-50%,-44%) scale(.55)}31%{transform:translate(-50%,-44%) scale(1.2)}64%{transform:translate(-50%,-44%) scale(1.25)}100%{transform:translate(-50%,-44%) scale(1.3)}}
@media(prefers-reduced-motion:reduce){.haunt-closeup{display:none!important}}
@media(orientation:landscape) and (max-height:600px){
 html,body,#app{height:100dvh;overflow:hidden}
 #app:has(>.home){height:100dvh;overflow:hidden}
 #app>.home.home-hub .home-inner{height:100dvh;min-height:0;padding-bottom:64px!important;overflow:hidden}
 #app>.home.home-hub .home-inner:has(.onboarding-card){display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;align-content:stretch;gap:8px;padding:10px 4vw 72px!important}
 #app>.home.home-hub .onboarding-card{margin:0;padding:9px 12px;gap:11px;border-radius:10px;min-height:0}
 #app>.home.home-hub .onboarding-card img{width:34px;height:42px}
 #app>.home.home-hub .onboarding-card small{font-size:10px;letter-spacing:1px}
 #app>.home.home-hub .onboarding-card h2{font-size:15px;line-height:1.4;margin:3px 0}
 #app>.home.home-hub .onboarding-card p{font-size:10px;line-height:1.4}
 #app>.home.home-hub .onboarding-card button{min-height:40px;padding:7px 12px;white-space:nowrap;font-size:11px;letter-spacing:1px}
 #app>.home.home-hub .onboarding-card~.hero{min-height:0;padding:4px 0;align-self:center}
 #app>.home.home-hub .onboarding-card~.hero .row,#app>.home.home-hub .onboarding-card~.hero .continue-text{display:none}
 #app>.home.home-hub .onboarding-card~.hero .eyebrow{font-size:9px;letter-spacing:2px}
 #app>.home.home-hub .onboarding-card~.hero .hero-title{margin:5px 0;gap:12px}
 #app>.home.home-hub .onboarding-card~.hero .hero-title h1{font-size:clamp(34px,7vh,58px);letter-spacing:8px;line-height:1}
 #app>.home.home-hub .onboarding-card~.hero .seal{font-size:9px;padding:5px 3px}
 #app>.home.home-hub .onboarding-card~.hero p{font-size:13px;line-height:1.5;letter-spacing:2px;margin:4px 0}
 #app>.home.home-hub .onboarding-card~.hub-note{align-self:end;font-size:10px;line-height:1.4;margin:0;max-width:70%}
 #app>.home.home-hub .onboarding-card~.hub-note p{margin:3px 0;font-size:10px}
 #app>.home.home-hub .onboarding-card~.home-footer{padding:0;font-size:9px;line-height:1.4}
 #toast{bottom:calc(66px + env(safe-area-inset-bottom))}
 .page-shell{height:100dvh;min-height:0;overflow:hidden}
 .page-shell .page-inner{height:100dvh;min-height:0;width:100%!important;max-width:none;padding:8px max(20px,env(safe-area-inset-right)) calc(58px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));display:flex;flex-direction:column;overflow:hidden}
 .page-shell.detail-page .page-inner{padding-bottom:10px}
 #app>.page-shell .page-inner{padding-bottom:calc(58px + env(safe-area-inset-bottom))!important;padding-top:8px!important}
 #app>.page-shell.detail-page .page-inner{padding-bottom:10px!important}
 .page-shell .masthead,.page-inner>.eyebrow{display:none}
 .page-shell .page-title{font-size:23px;line-height:30px;margin:0 0 5px!important;letter-spacing:3px;flex-shrink:0}
 .page-shell .page-breadcrumb{position:absolute;top:5px;right:22px;margin:0!important;z-index:2}
 .page-shell .page-breadcrumb button{min-height:36px;padding:5px 12px}
 .page-viewport{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain}
 .page-shell .platform-page-content{flex:1;min-height:0;max-width:none;margin:0!important}
 .page-actions{flex-shrink:0;margin:5px 0 0;gap:10px;min-height:0}
 .page-actions button{min-height:40px;padding:6px 14px}
 .screen-paged{display:flex!important;flex-direction:column;min-height:0;flex:1;height:100%;gap:5px;overflow:hidden}
 .screen-deck{display:grid;grid-template-columns:repeat(var(--screen-columns,3),minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:10px;flex:1;min-height:0;overflow:hidden}
 .screen-deck>*{min-width:0;min-height:0!important;max-height:100%;margin:0!important;overflow:auto;overscroll-behavior:contain}
 .screen-deck>article:not(.task-card){display:flex;flex-direction:column;gap:8px;justify-content:space-between;padding:12px;border:1px solid #a8915547;border-radius:9px;background:#172c25e0}
 .screen-deck>article h3{font-size:16px;margin:5px 0}.screen-deck>article p{font-size:11px;line-height:1.6;margin:5px 0}.screen-deck>article button{min-height:44px}
 .screen-pager{display:flex;align-items:center;justify-content:center;gap:18px;height:44px;flex-shrink:0}
 .screen-pager button{min-height:40px;min-width:110px;padding:6px 14px;border:1px solid #9b86545c;background:#162d27;border-radius:7px;font-size:12px}
 .screen-pager>span{font-size:11px;color:#b8bea8;min-width:100px;text-align:center}
 .task-center .task-overview{display:block;flex-shrink:0;padding:0;border:0;background:none;margin:0}
 .task-overview>div:first-child,.task-explainer,.task-footnote{display:none}
 .task-overview .task-totals{display:flex;justify-content:flex-start;gap:25px;padding:0;border:0}
 .task-totals>span{display:flex;align-items:baseline;gap:5px;font-size:10px}.task-totals strong{font-size:16px}
 .task-center .task-controls{margin:0;gap:10px;flex-wrap:nowrap;flex-shrink:0;min-height:40px}
 .task-tabs{width:auto;flex:1;padding:0}.task-tabs button{min-height:36px;padding:4px 12px;font-size:11px}.task-ready-toggle{min-height:36px;padding:4px 10px;font-size:11px}
 .screen-deck .task-card{padding:9px 11px;display:flex;flex-direction:column;gap:3px}
 .screen-deck .task-card-top{font-size:10px}.screen-deck .task-card h3{font-size:13px;line-height:1.4;margin:2px 0}
 .screen-deck .task-card>p{font-size:11px;line-height:1.5;margin:0;min-height:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .screen-deck .task-progress{margin:3px 0;height:4px;flex-shrink:0}.screen-deck .task-card-meta{margin:0;font-size:10px}.screen-deck .task-card footer{margin-top:auto;gap:4px;flex-wrap:nowrap}.screen-deck .task-card footer button{min-height:44px;padding:4px;font-size:11px}
 .screen-deck .task-service-card,.screen-deck .field-task-entry{padding:12px;flex-direction:column;align-items:stretch;justify-content:space-between}
 .screen-deck .field-task-entry h2,.screen-deck .task-service-card h3{font-size:15px;margin:4px 0}.screen-deck .field-task-entry p{font-size:11px;margin:4px 0}
 .screen-deck .task-row{padding:14px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;border:1px solid #a8915547;border-radius:9px;background:#172c25e0;gap:8px}.screen-deck .task-row h3{font-size:17px}.screen-deck .task-row p{font-size:12px}.screen-deck .task-row button{min-height:44px}
 .screen-deck .catalog-card{display:flex;flex-direction:column}.screen-deck .catalog-card>img{height:44%;min-height:0}.screen-deck .catalog-copy{padding:10px;gap:5px}.screen-deck .catalog-copy strong{font-size:19px}.screen-deck .catalog-copy span{font-size:11px}
 .screen-deck .serial-card{display:flex;flex-direction:column}.screen-deck .serial-card>img{height:44%;width:100%;min-height:0}.screen-deck .serial-card>span{padding:10px;gap:4px}.screen-deck .serial-card strong{font-size:19px}.screen-deck .serial-card em{font-size:11px}
 .page-viewport>.serial-story.screen-paged{display:grid!important;grid-template-columns:32% 1fr;grid-template-rows:minmax(0,1fr) 44px;gap:10px}
 .serial-story.screen-paged .serial-intro{grid-column:1;grid-row:1/3;display:block;overflow:auto;margin:0;padding:10px;border-radius:8px}.serial-story.screen-paged .serial-intro>img{display:none}.serial-story.screen-paged .serial-intro h2{font-size:16px}.serial-story.screen-paged .serial-intro p{font-size:11px}.serial-story.screen-paged .screen-deck{grid-column:2;grid-row:1}.serial-story.screen-paged .screen-pager{grid-column:2;grid-row:2}
 .screen-deck .serial-chapter{display:flex;flex-direction:column;padding:12px;gap:8px}.screen-deck .serial-chapter h3{font-size:16px}.screen-deck .serial-chapter button{margin-top:auto;min-height:44px}
 .page-shell[data-page-route=account] .platform-page-content{display:grid;grid-template-columns:minmax(190px,31%) 1fr;grid-template-rows:auto auto 1fr;column-gap:18px;row-gap:7px;overflow:hidden}
 .account-profile{grid-column:1;grid-row:1;margin:0;padding:9px;gap:10px}.account-avatar{width:42px;height:52px}.account-profile small{font-size:10px}.account-profile h2{font-size:18px;margin:4px 0}.account-profile p{display:none}
 .account-stats{grid-column:1;grid-row:2;margin:0;gap:6px}.account-stat{padding:7px}.account-stat strong{font-size:18px;margin-bottom:3px}.account-stat span{font-size:10px}
 .account-destinations{grid-column:2;grid-row:1/4;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:7px}
 .account-destination{min-height:0;padding:8px 12px;gap:8px}.account-destination strong{font-size:17px;margin-bottom:5px}.account-destination small{font-size:10px;line-height:1.5}.account-storage-note{grid-column:1;grid-row:3;font-size:10px;line-height:1.6;margin:0;overflow:auto}
 .chapter-hero{display:grid;grid-template-columns:40% 1fr;padding:12px;gap:18px;margin:0;min-height:100%}.chapter-hero>img{height:100%;object-fit:cover;min-height:0}.chapter-hero h2{font-size:18px;margin:8px 0}.chapter-hero p{font-size:12px;margin:7px 0;line-height:1.6}.chapter-facts{margin:8px 0;gap:8px}.chapter-facts span{padding:4px;font-size:11px}.chapter-scenes{display:none}
 .access-screen{height:100dvh;min-height:0;overflow:hidden}.access-inner{max-width:none;width:100%;height:100%;display:grid;grid-template-columns:30% 1fr;grid-template-rows:1fr auto;gap:10px 28px;padding:12px 4vw}
 .access-brand{grid-column:1;grid-row:1;font-size:23px;align-self:start;margin:14px 0}.access-brand img{height:40px}
 .access-card{grid-column:2;grid-row:1/3;padding:12px 16px;overflow:auto;border-radius:12px;min-height:0}.access-intro{position:absolute;left:4vw;top:90px;width:28%;display:block}.access-intro>img{display:none}.access-intro h1{font-size:24px;line-height:1.6}.access-intro p{font-size:12px}
 .access-tabs{margin:0 0 8px;padding:3px}.access-tabs button{min-height:36px;padding:5px}
 .access-card #password-form{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}.access-card .phone-field{margin:0;font-size:12px}.access-card .phone-field input{margin-top:3px;padding:9px;min-height:42px}.access-card .phone-field small{font-size:10px;margin-top:4px}
 .access-card .phone-consent,.access-card #auth-status,.access-card [type=submit]{grid-column:1/-1;margin:0}.access-card .phone-consent{min-height:30px;font-size:11px}.access-card [role=status]{font-size:11px;min-height:18px;line-height:1.5}.access-card [type=submit]{min-height:42px;padding:6px}
 .access-session-note{font-size:10px;margin:7px 0}.access-help{font-size:10px}.access-footer{grid-column:1;grid-row:2;font-size:10px;margin:0;text-align:left}
 #modal{width:min(920px,calc(100vw - 36px));max-height:calc(100dvh - 20px)}
 #modal .modal-inner{max-height:calc(100dvh - 20px);padding:14px 20px}
 #modal .modal-header{margin-bottom:9px;min-height:34px}#modal .modal-header h2{font-size:21px;margin:0}
 #modal .modal-body{max-height:none;min-height:0;flex:1;overflow:auto;font-size:13px;line-height:1.7}
 #modal .modal-footer{padding-top:9px;gap:9px}#modal .modal-footer button{min-height:40px;padding:7px 16px}
 #modal .settings-field{margin:4px 0;min-height:36px;padding-bottom:5px}#modal .settings-field input{width:180px}
 #modal .settings-field~.quiet{font-size:11px;line-height:1.6;margin:8px 0!important}
 #modal .reader-portrait{max-height:100px}
}
