/* App shell: Alpha presentation retained; no gallery/review controls on player entry. */
html,body{height:100%;margin:0}body{display:grid;place-items:center;background:#c6c6c6;color:#080808}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #000dff;outline-offset:3px}
#app.phone{position:relative;isolation:isolate;width:100%;max-width:430px;height:100dvh;height:var(--app-height,100dvh);max-height:100dvh;border-radius:0;border:0;display:flex;overflow:hidden;box-shadow:0 0 60px #0002;background:var(--base)}
.fixture-label{background:#080808;color:#e0e0e0;font-size:10px;text-align:center;padding:7px 8px;flex-shrink:0;letter-spacing:.02em}.app-header{padding:12px 20px;flex-shrink:0;min-height:75px}.header-event{font-size:10px;letter-spacing:.08em;text-align:right}.header-event b{display:block;font-size:12px;margin-top:5px}.phone-content{min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px;gap:0;scrollbar-width:thin}.screen-title{font-size:34px;line-height:1.17;letter-spacing:-.045em;margin:10px 0 22px}.app-nav{position:static;flex-shrink:0;padding:10px 8px max(12px,env(safe-area-inset-bottom));min-height:62px;gap:4px}.app-nav:empty{display:none}.app-nav button{min-width:0;flex:1;font-size:11px;min-height:40px}.action{min-height:46px}.inline-note{line-height:1.7}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.team-card{border:1px solid #080808;border-radius:18px;background:#d4d4d4;text-align:left;padding:18px;display:flex;flex-direction:column;gap:12px}.team-card strong{font-size:56px;line-height:1}.team-card small{font-size:11px}.team-card.selected{background:var(--orange);box-shadow:inset 0 0 0 2px #080808}.asset-slot{aspect-ratio:var(--ratio);background:repeating-linear-gradient(135deg,#c9c9c9 0 16px,#d0d0d0 16px 32px);border:1px dashed #666;border-radius:16px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:18px;text-align:center;margin-bottom:18px;max-height:320px;min-height:92px}.asset-slot strong{font-size:15px}.asset-slot small{font-size:10px}.slot-symbol{font-size:35px;font-weight:300}.asset-image{max-width:100%;object-fit:contain}.info-panel{border:1px solid #080808;border-radius:17px;padding:16px;margin-bottom:18px}.info-panel h2{font-size:18px;margin:0 0 10px}.info-panel p{font-size:13px;line-height:1.7}.info-panel .action:last-child{margin-bottom:0}.clock-card{background:#080808;color:#e0e0e0;padding:22px;border-radius:20px;display:flex;flex-direction:column;gap:9px}.clock-card>span,.clock-card small{font-size:11px}.clock-card strong{font-size:61px;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.route-strip{display:flex;gap:6px;margin:16px 0 24px}.route-strip>span{flex:1;border:1px solid #080808;border-radius:11px;padding:12px 8px;font-weight:700}.route-strip small{display:block;font-size:9px;font-weight:400;margin-bottom:6px}.route-strip .current{background:var(--orange)}.rule-card{background:var(--orange);border:1px solid #080808;border-radius:20px;min-height:280px;padding:24px;margin-bottom:20px}.rule-number{font-size:12px}.rule-card h2{font-size:30px;line-height:1.25;margin:35px 0 20px}.rule-card p{font-size:15px;line-height:1.8}.rule-controls{display:flex;gap:9px}.rule-controls>*{flex:1;min-width:0}.roster-row{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #aaa;font-size:12px}.roster-row div{flex:1}.roster-row small{display:block;font-size:10px;margin-top:4px}.member-number{border:1px solid #080808;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}.task-row{display:flex;justify-content:space-between;border-bottom:1px solid #aaa;padding:12px 0;font-size:12px}.role-tag{font-size:11px;margin:-5px 0 18px}.votes{border:0;padding:0;margin:12px 0 20px}.votes legend{font-size:13px;margin-bottom:10px}.votes label{display:block;padding:12px;border-bottom:1px solid #aaa;font-size:13px}.chat-tabs{display:flex;gap:6px;margin-bottom:20px}.chat-tabs button{flex:1;border:1px solid #080808;border-radius:24px;background:transparent;padding:10px}.chat-tabs [aria-pressed=true]{background:#080808;color:#e0e0e0}.message-banner{width:100%;text-align:left}.messages{min-height:150px}.field textarea{resize:vertical;border:1px solid #080808;background:transparent;border-radius:13px;padding:12px;width:100%;box-sizing:border-box}.large-time{font-size:40px}.connection-banner{padding:10px 16px;background:#ffcf74;font-size:12px;flex-shrink:0}.connection-banner button{border:0;background:transparent;text-decoration:underline}.connection-banner:empty{display:none}
#overlay-root:not(:empty){position:absolute;inset:0;z-index:50;background:#0008;display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden}.modal{background:var(--base);border:2px solid #080808;border-radius:22px;max-height:100%;width:100%;overflow:auto;padding:20px;box-sizing:border-box}.modal h2{font-size:24px;margin:0 0 14px}.modal p{font-size:13px;line-height:1.7}.modal .close{float:right;border:0;background:transparent;min-width:36px;min-height:36px;font-size:20px}.modal img,.modal video{max-width:100%;max-height:270px}.feedback{padding:12px;border:1px solid #080808;border-radius:10px;font-size:12px;margin:12px 0;background:#12ff80}.phone-content [hidden]{display:none!important}
@media(min-width:600px){#app.phone{height:min(900px,96dvh);border:1px solid #080808;border-radius:24px}.fixture-label{padding-top:10px}}@media(max-width:350px){.phone-content{padding:16px}.screen-title{font-size:30px}.clock-card strong{font-size:52px}.team-card{padding:14px}}
/* Sacred Cow entrance composition, updated with Halloween's own characters. */
.auth-billboard.event-art-card{padding:0;min-height:0;flex-shrink:0;margin-bottom:20px;border:1px solid #080808;border-radius:18px;overflow:hidden;background:#080808}.event-art-card>img,.night-art.event-art-poster>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;opacity:1;transform:none}.night-art.event-art-poster{min-height:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.phone-content>.event-deck{padding-top:0}
.player-reference{font-size:10px;overflow-wrap:anywhere;color:#555;line-height:1.6}
.modal.profile-card-modal{position:relative;display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:14px}.profile-card-modal>.close{position:absolute;top:8px;right:8px}.profile-card-modal>h2{font-size:18px;min-height:36px;margin:0;padding:6px 40px 0 0;flex-shrink:0}.profile-card-stage{min-height:0;overflow:auto;overscroll-behavior:contain;flex:1 1 auto}.profile-card-stage>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:8px}.profile-card-modal>.character-card-actions{flex-shrink:0;margin:0}
.header-identity{display:flex;align-items:center;gap:12px}.profile-button{display:grid;place-items:center;border:0;background:transparent;padding:2px;width:44px;height:44px;border-radius:50%;flex-shrink:0}.profile-picture{display:inline-flex;width:40px;height:40px;flex-shrink:0;border:1px solid #080808;border-radius:50%;overflow:hidden;background:#c6c6c6;align-items:center;justify-content:center}.profile-picture img{display:block;width:100%;height:100%;object-fit:cover}.profile-picture svg{width:27px;height:27px}.profile-picture.roster-avatar{width:38px;height:38px}.mission-illustration{margin:0 0 18px;border-radius:16px;overflow:hidden;background:#080808}.mission-illustration img{display:block;width:100%;height:auto;object-fit:contain}.mission-illustration figcaption{font-size:9px;line-height:1.6;color:#e0e0e0;padding:7px 12px}.clock-card.mission-clock{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;padding:16px}.mission-clock strong{grid-column:2;grid-row:1/3;font-size:44px}.station-instructions{margin-bottom:18px!important}
.character-feature.character-card>img{height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}.character-card-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0 0 12px}.character-card-actions .card-download{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;width:auto;min-height:36px;margin:0;padding:7px 14px;border-radius:18px;font-size:11px;text-decoration:none;text-align:center;box-sizing:border-box}.card-open{text-align:left;font-size:10px;color:#080808;text-underline-offset:3px;padding:4px}.action.secondary-action{min-height:38px;font-size:11px;background:transparent}
.night-entry{--night-accent:#90ff00;display:flex;flex-direction:column;gap:16px}.night-art{position:relative;min-height:360px;border:1px solid #080808;border-radius:18px;overflow:hidden;background:#100f0d;color:#e0e0e0}.night-art>img{width:100%;height:390px;display:block;object-fit:cover;object-position:50% 35%;opacity:.85}.night-caption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(transparent 30%,#080808 100%);padding:22px 18px}.night-caption h1{font-size:38px;line-height:1;letter-spacing:-.055em;margin:12px 0}.night-caption .tiny-label{font-size:9px;color:#d3d3d3}.night-caption p{font-size:18px;color:#90ff00;margin:0}.night-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#080808;border:1px solid #080808;border-radius:13px;overflow:hidden}.night-facts>div{background:#e0e0e0;padding:12px}.night-facts>div:nth-child(2){background:#90ff00}.night-facts small{font-size:9px;display:block}.night-facts strong{font-size:30px;line-height:1.3;display:block;letter-spacing:-.05em}.entry-story{font-size:13px;line-height:1.8;margin:0}.action.night-action{background:#90ff00;color:#080808;border:1px solid #080808}.entry-foot{text-align:center;font-size:9px;letter-spacing:.09em;color:#555;margin:0 0 10px}.draw-format{border-top:1px solid #080808;border-bottom:1px solid #080808;display:flex;align-items:center;gap:12px;padding:12px 0;margin:0 0 20px}.draw-format b{font-size:20px}.draw-format span{font-size:11px;flex:1}.draw-format small{font-size:10px}.draw-grid .team-card{min-height:160px}.draw-grid .team-card.selected{background:#90ff00}.draw-grid em{font-size:10px;font-style:normal}.character-feature{position:relative;border:1px solid #080808;border-radius:18px;overflow:hidden;background:#0e0e0e;margin-bottom:18px;color:#e0e0e0}.character-feature>img{width:100%;aspect-ratio:1;max-height:360px;display:block;object-fit:contain}.character-feature>div{padding:15px 18px;border-top:1px solid #535353}.character-feature h2{font-size:24px;letter-spacing:-.04em;margin:3px 0 0}.character-feature small{font-size:10px;color:#bfbfbf}.character-feature.unlocked{border-color:#080808;box-shadow:0 0 0 2px #90ff00}.character-feature.unlocked small{color:#90ff00}.character-index{position:absolute;top:12px;left:12px;border:1px solid #e0e0e0;border-radius:20px;padding:5px 9px;font-size:10px;background:#0808089f}.character-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-bottom:20px}.character-picker button{position:relative;aspect-ratio:1;background:#131313;border:1px solid #080808;border-radius:10px;padding:0;overflow:hidden}.character-picker button>img{width:100%;height:100%;object-fit:contain;display:block;opacity:.7}.character-picker button.active{outline:2px solid #080808;outline-offset:2px}.character-picker button.active img,.character-picker button.unlocked img{opacity:1}.character-picker button.unlocked{border:2px solid #90ff00}.character-picker button>span{position:absolute;left:3px;top:2px;font-size:9px;color:#e0e0e0;text-shadow:0 1px 2px #000}.character-picker button>small{position:absolute;right:0;bottom:0;background:#080808c9;color:#e0e0e0;border-radius:5px 0 0 0;padding:1px 4px;font-size:8px}.character-picker button.unlocked small{background:#90ff00;color:#080808}.character-picker button.reserved img{opacity:.3}.character-grid-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:24px 0 14px}.character-grid-heading strong{font-size:12px}.character-grid-heading small{font-size:9px;color:#555}.character-feedback{font-size:12px;line-height:1.7;border:1px solid #080808;border-radius:11px;padding:12px;background:#c9f3a1}.character-feedback.error{background:#ffd7cb}.lobby-identity{display:flex;align-items:center;gap:15px;border:1px solid #080808;border-radius:16px;padding:13px;margin-bottom:20px;background:#ffe500}.lobby-identity img{width:76px;height:76px;border-radius:12px;object-fit:contain;background:#0e0e0e}.lobby-identity small{display:block;font-size:10px;margin-bottom:5px}.lobby-identity strong{font-size:17px}.instruction-modal>h2{font-size:15px}.instruction-carousel{touch-action:pan-y;outline:none}.instruction-art{position:relative;isolation:isolate;aspect-ratio:2 / 1;max-height:185px;border-radius:15px;background:#080808;color:#90ff00;border:1px solid #080808;overflow:hidden;display:flex;align-items:center;justify-content:center}.instruction-art:before,.instruction-art:after{content:'';position:absolute;border:1px solid #90ff0070;width:180px;height:180px;border-radius:50%;left:-55px;top:-90px}.instruction-art:after{left:auto;top:auto;right:-30px;bottom:-120px;width:250px;height:250px}.instruction-art>span{position:absolute;left:15px;bottom:8px;font-size:63px;font-weight:800;line-height:1;opacity:.35}.instruction-art i{font-size:65px;line-height:1;font-style:normal}.instruction-art.art-team{background:#ffe500;color:#080808}.instruction-art.art-confirm{background:#90ff00;color:#080808}.instruction-copy{padding:20px 0 0;min-height:190px}.instruction-copy h3{font-size:25px;line-height:1.25;letter-spacing:-.035em;margin:10px 0 12px;overflow-wrap:anywhere}.instruction-copy p{font-size:13px;line-height:1.9;margin:0}.instruction-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;font-size:11px}.instruction-progress>div{display:flex;gap:5px}.instruction-progress i{width:8px;height:8px;border:1px solid #080808;border-radius:50%}.instruction-progress i.active{background:#080808}.instruction-carousel .action{font-size:11px}.instruction-carousel .inline-note{font-size:9px;margin-bottom:0}@media(max-height:680px){.instruction-art{max-height:100px}.instruction-copy{min-height:0}.instruction-copy h3{font-size:21px}.instruction-copy p{font-size:12px}.instruction-modal{padding:16px}.night-art{min-height:270px}.night-art>img{height:300px}}@media(prefers-reduced-motion:no-preference){.character-feature.unlocked{animation:character-reveal .25s ease-out}@keyframes character-reveal{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}}

.station-map{margin:0 0 16px;border-radius:14px;overflow:hidden;background:#080808}.station-map img{display:block;width:100%;height:auto}.map-modal{display:flex;flex-direction:column;overflow:hidden!important}.map-modal>h2{flex-shrink:0;padding-right:30px}.map-modal>.close{position:absolute;right:22px;top:22px}.map-controls{display:flex;align-items:center;justify-content:center;gap:16px;flex-shrink:0}.map-controls button{width:44px;height:44px;border:1px solid #080808;border-radius:50%;background:transparent;font:inherit;font-size:22px}.map-controls output{min-width:60px;text-align:center}.map-viewport{overflow:auto;min-height:0;max-height:60dvh;overscroll-behavior:contain;border-radius:10px;background:#080808}.map-viewport img{display:block;width:100%;height:auto;max-width:none;max-height:none}.map-modal>.inline-note{flex-shrink:0}

.map-modal{position:relative}.map-modal>.close{right:10px;top:10px}

.station-map + .action{margin-bottom:18px}
