/* Directional controls share a white luminous triangle, with generous hit areas. */
/* Shared arrow states; disabled controls retain their existing opacity. */
:is(.rail-prev,.rail-next,.dock-prev,.dock-next,.chapter-up,.chapter-down,.role-controls button,.godrop-role-controls button,#lore-prev,#lore-next,.ticket-scroll):not(:disabled){opacity:.7;transition:opacity .2s}
:is(.rail-prev,.rail-next,.dock-prev,.dock-next,.chapter-up,.chapter-down,.role-controls button,.godrop-role-controls button,#lore-prev,#lore-next,.ticket-scroll):hover:not(:disabled){opacity:1;background:transparent!important;border:0!important;box-shadow:none!important}
.ticket-scroll{background:transparent!important;border:0!important;box-shadow:none!important;color:white!important}
:is(.rail-prev,.rail-next,.dock-prev,.dock-next,.chapter-up,.chapter-down,.chapter-scroll,.role-controls button,.godrop-role-controls button,#lore-prev,#lore-next){font-size:0!important;color:white!important;background:transparent!important;border:0!important;box-shadow:none!important;display:grid;place-items:center;min-width:44px;min-height:44px;filter:drop-shadow(0 0 5px #ffffff80);cursor:pointer}
:is(.rail-prev,.rail-next,.dock-prev,.dock-next,.chapter-up,.chapter-down,.chapter-scroll,.role-controls button,.godrop-role-controls button,#lore-prev,#lore-next)::before{content:'';display:block;width:16px;height:24px;background:white;clip-path:polygon(0 0,100% 50%,0 100%);transition:filter .2s,scale .2s}
:is(.rail-prev,.dock-prev,#lore-prev,.godrop-role-controls button:first-child)::before{rotate:180deg}
.chapter-up::before,.role-controls button:first-child::before{rotate:-90deg}.chapter-down::before,.chapter-scroll::before,.role-controls button:last-child::before{rotate:90deg}
.horizontal-chapters .chapter-up::before{rotate:180deg}.horizontal-chapters :is(.chapter-down,.chapter-scroll)::before{rotate:0deg}
:is(.rail-prev,.rail-next,.dock-prev,.dock-next,.chapter-up,.chapter-down,.role-controls button,.godrop-role-controls button,#lore-prev,#lore-next,.ticket-scroll):hover:not(:disabled)::before{filter:drop-shadow(0 0 7px white)}
:is(.rail-prev,.rail-next,.chapter-up,.chapter-down):disabled{opacity:.18;cursor:default}.chapter-scroll span{display:none}.chapter-scroll{display:none!important}
.horizontal-chapters .chapter-meter{pointer-events:none}.horizontal-chapters .chapter-meter button{position:fixed!important;top:50%!important;bottom:auto!important;pointer-events:auto;width:64px;height:84px;transform:translateY(-50%)}
.horizontal-chapters .chapter-up{left:12px!important;right:auto!important}.horizontal-chapters .chapter-down{right:12px!important;left:auto!important}
.godrop-role-controls button:first-child{left:12px!important}.godrop-role-controls button:last-child{right:12px!important}
.godrop-detail .chapter-meter .chapter-up{position:fixed;top:105px;right:3%;bottom:auto}.godrop-detail .chapter-meter .chapter-down{position:fixed;bottom:28px;right:3%;top:auto}
.horizontal-chapters .role-controls{inset:110px 15% 38px auto!important;justify-content:space-between;pointer-events:none}.horizontal-chapters .role-controls button{pointer-events:auto}.horizontal-chapters .role-controls span{top:auto;bottom:70px}
.godrop-role-cards{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:1fr;left:5.5%;bottom:7%;width:31.5%;height:34%;gap:12px}
.godrop-role-cards button{background:var(--card-color);box-shadow:0 7px 18px #0007;transition:translate .2s,box-shadow .2s}.godrop-role-cards button img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important}
.godrop-role-cards button b{display:none}.godrop-role-cards button:after{border:0;box-shadow:inset 0 0 0 1px #ffffff40}.godrop-role-cards button[aria-pressed=true]{translate:0 -10px;box-shadow:0 0 0 2px white,0 10px 22px #0009}
.navigator-role-cards{height:31%;bottom:5%;gap:12px 8px}.navigator-role-cards button{background:linear-gradient(145deg,#071720 0%,var(--card-color) 160%);box-shadow:0 5px 16px #0007;border-color:#ffffff45}.navigator-role-cards button:before{content:'NAVIGATOR';position:absolute;z-index:1;left:4px;top:12%;writing-mode:vertical-rl;font-size:12px;letter-spacing:.12em;font-weight:900;color:#ffffff55}.navigator-role-cards button span{background:linear-gradient(100deg,#10202aee,var(--card-color));text-align:left;border-top:1px dashed #ffffff90;padding:8px 5px;font-weight:800}.navigator-role-cards button[aria-pressed=true]{box-shadow:0 0 0 1px white,0 6px 20px #0009}
@media(max-width:800px){.godrop-role-cards{width:72%;height:27%;gap:7px}.navigator-role-cards{width:78%;height:25%}.horizontal-chapters .chapter-meter button{width:40px}.godrop-role-controls button:first-child{left:0!important}.godrop-role-controls button:last-child{right:0!important}}
@media(prefers-reduced-motion:reduce){.godrop-role-cards button{transition:none}}
.godrop-role-cards .ticket-composed img{inset:auto!important;width:auto!important;height:230%!important;left:-145%!important;top:-35%!important;object-fit:contain!important}.godrop-role-cards .ticket-composed b{display:block;left:0;bottom:0;right:0;padding:15px 6px;background:linear-gradient(150deg,#39b6d1dd,#147ca4);font-size:15px}.godrop-role-cards .ticket-composed{background:linear-gradient(150deg,#caeff7,#39b6d1 60%,#147ca4)}
.horizontal-chapters .chapter-meter{transform:none!important;backdrop-filter:none!important}.godrop-role-controls{position:absolute;inset:0;pointer-events:none;z-index:60}.godrop-role-controls button{pointer-events:auto}.godrop-role-controls>span{pointer-events:none}
.chapter-site .chapter-scroll{display:none!important}.horizontal-chapters .chapter-meter{justify-content:flex-end;padding-bottom:30px}.godrop-role-cards .ticket-composed img{left:-70%!important;top:-22%!important;height:160%!important}.godrop-role-cards .ticket-composed b{z-index:2}
body :is(#unused-scroll-control,.chapter-scroll){display:none!important}.godrop-detail>.godrop-role-controls{position:fixed;z-index:60}.godrop-detail:not(:has(#characters.chapter-active))>.godrop-role-controls{display:none}.godrop-role-cards .ticket-composed img{left:-100%!important}.godrop-detail>.godrop-role-controls>span{right:13%;bottom:8%}
.chapter-site .lore-book #lore-prev,.chapter-site .lore-book #lore-next{position:absolute;top:50%;transform:translateY(-50%);z-index:4}.chapter-site .lore-book #lore-prev{left:4px}.chapter-site .lore-book #lore-next{right:4px}.chapter-site .lore-copy{position:static!important}.chapter-site .lore-copy .page-controls{justify-content:flex-start}.home-site .rail-prev{position:fixed;left:12px;top:50%;right:auto;bottom:auto}.home-site .rail-next{position:fixed;right:12px;top:50%;left:auto;bottom:auto}
.chapter-site .lore-copy{position:relative!important}.chapter-site .lore-book #lore-prev,.chapter-site .lore-book #lore-next{top:auto;bottom:8px;transform:none}.chapter-site .lore-copy .page-controls{justify-content:center}
/* Larger directional triangles: 3× original 16×24. */
:is(.rail-prev,.rail-next,.dock-prev,.dock-next,.chapter-up,.chapter-down,.role-controls button,.godrop-role-controls button,#lore-prev,#lore-next)::before{width:48px;height:72px}
:is(.rail-prev,.rail-next,.chapter-up,.chapter-down,.role-controls button,.godrop-role-controls button){min-width:84px;min-height:90px}.godrop-detail .chapter-meter .chapter-up{top:106px}.godrop-detail .chapter-meter .chapter-down{bottom:16px}
.godrop-role-cards button b,.navigator-role-cards button span{font-family:inherit;font-size:clamp(18px,1.4vw,30px);font-weight:800;letter-spacing:-.025em;line-height:1.05}
.godrop-role-cards button b{display:block;left:0;right:0;bottom:0;padding:10px 5px;background:linear-gradient(transparent,#101419ee);color:white;text-shadow:0 2px 6px #000}
.navigator-role-cards button.exported:before{display:none}.navigator-role-cards button.exported img{inset:0!important;top:0!important;left:0!important;width:100%!important;height:100%!important;object-fit:cover!important}.navigator-role-cards button.exported span{background:linear-gradient(transparent,#101419ee);border:0;color:white}
.godrop-detail .chapter-meter{justify-content:flex-end;padding-bottom:140px}.godrop-role-cards .ticket-composed b{font-size:clamp(18px,1.4vw,30px);font-family:inherit;font-weight:800}
.character-ticket-rail{position:absolute;left:5.5%;bottom:6%;width:33%;height:34%;z-index:25;padding:0 52px}
.character-ticket-rail :is(.navigator-role-cards,.godrop-role-cards){position:relative!important;inset:auto!important;width:100%!important;height:100%!important;display:flex!important;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;overscroll-behavior:contain;padding:8px 4px 26px;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#ffffff70 transparent;touch-action:pan-x}
.character-ticket-rail :is(.navigator-role-cards,.godrop-role-cards)>button{flex:0 0 auto;width:auto!important;height:calc(100% - 8px)!important;aspect-ratio:1/3;scroll-snap-align:start;overflow:hidden;translate:none!important}
.character-ticket-rail .navigator-role-cards>button.exported img,.character-ticket-rail .godrop-role-cards>button:not(.ticket-composed) img{object-fit:contain!important}
.ticket-scroll{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:90px;background:none;border:0;cursor:pointer;filter:drop-shadow(0 0 5px #ffffff80)}
.ticket-scroll:before{content:'';display:block;width:36px;height:54px;background:white;clip-path:polygon(0 0,100% 50%,0 100%)}
.ticket-scroll-prev{left:0}.ticket-scroll-prev:before{rotate:180deg}.ticket-scroll-next{right:0}.ticket-scroll:disabled{opacity:.15;cursor:default}
@media(max-width:800px){.character-ticket-rail{left:6%;width:76%;height:27%;bottom:5%;padding:0 40px}.ticket-scroll{width:36px}.ticket-scroll:before{width:28px;height:42px}}
.character-ticket-rail .navigator-role-cards button span,.character-ticket-rail .godrop-role-cards button b{font-size:clamp(14px,.85vw,22px);white-space:nowrap;letter-spacing:-.04em;padding:10px 3px;line-height:1.2}
.chapter-site header{padding-right:210px!important}
@media(max-width:900px){.chapter-site header{padding-right:105px!important}}
/* Ticket art already carries its own name; keep the selector uncluttered. */
.character-ticket-rail .navigator-role-cards button span,.character-ticket-rail .godrop-role-cards button b{display:none!important}
.character-ticket-rail{padding-left:70px;padding-right:70px}
.character-ticket-rail .ticket-scroll-prev{left:-14px}.character-ticket-rail .ticket-scroll-next{right:-14px}
.chapter-site .role-controls,.godrop-detail>.godrop-role-controls{display:none!important}
/* Website portrait selectors, independent of merchandise ticket designs. */
.character-ticket-rail :is(.navigator-role-cards,.godrop-role-cards)>button{border:0!important;aspect-ratio:1/2.8;background:linear-gradient(150deg,#111820 5%,color-mix(in srgb,var(--card-color) 55%,#15202b) 100%);box-shadow:0 8px 18px #0008;isolation:isolate}
.character-ticket-rail :is(.navigator-role-cards,.godrop-role-cards)>button:before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(120deg,transparent 48%,#ffffff10 48% 49%,transparent 49%),repeating-linear-gradient(0deg,transparent 0 29px,#ffffff05 29px 30px);writing-mode:initial}
.character-ticket-rail :is(.navigator-role-cards,.godrop-role-cards)>button img{inset:auto!important;left:var(--portrait-left)!important;top:var(--portrait-top)!important;width:var(--portrait-width)!important;height:var(--portrait-height)!important;object-fit:contain!important;transform:none!important;z-index:1}
.character-ticket-rail :is(.navigator-role-cards,.godrop-role-cards)>button:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;border:0;box-shadow:none;background:linear-gradient(0deg,#080d1766,transparent 25%)}
.character-ticket-rail :is(.navigator-role-cards,.godrop-role-cards)>button[aria-pressed=true]{box-shadow:0 0 0 2px #fff,0 8px 24px #0009}
.ticket-gallery{overflow-y:auto;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-rows:minmax(260px,1fr);align-content:start;gap:18px;overscroll-behavior:contain}
.ticket-gallery button{min-height:260px}.ticket-gallery img{object-fit:contain}
.godrop-detail.horizontal-chapters .chapter-meter .chapter-up{left:12px!important;right:auto!important;top:50%!important;bottom:auto!important}.godrop-detail.horizontal-chapters .chapter-meter .chapter-down{right:12px!important;left:auto!important;top:50%!important;bottom:auto!important}.godrop-detail.horizontal-chapters .chapter-meter{padding-bottom:30px}
/* Portrait selector refinement: generous gutters, colored depth and a quiet selection marker. */
.character-ticket-rail :is(.navigator-role-cards,.godrop-role-cards){gap:18px;padding:14px 10px 28px;scrollbar-color:#ffffff30 transparent}
.character-ticket-rail :is(.navigator-role-cards,.godrop-role-cards)>button{aspect-ratio:1/2.45;outline:0;box-shadow:0 8px 16px #0007;background:radial-gradient(ellipse at 55% 25%,color-mix(in srgb,var(--card-color) 48%,#20232d),#14191f 85%);transition:filter .22s,box-shadow .22s,translate .22s;filter:saturate(.78) brightness(.82)}
.character-ticket-rail :is(.navigator-role-cards,.godrop-role-cards)>button:before{background:linear-gradient(115deg,transparent 40%,#ffffff08 40% 41%,transparent 41% 70%,#0002 70%)}
.character-ticket-rail :is(.navigator-role-cards,.godrop-role-cards)>button:after{background:linear-gradient(0deg,color-mix(in srgb,var(--card-color) 35%,#0d121c) 0%,transparent 28%);box-shadow:none}
.character-ticket-rail :is(.navigator-role-cards,.godrop-role-cards)>button[aria-pressed=true]{translate:0 -5px!important;filter:none;box-shadow:0 10px 22px #000a,0 0 20px color-mix(in srgb,var(--card-color) 28%,transparent)}
.character-ticket-rail :is(.navigator-role-cards,.godrop-role-cards)>button[aria-pressed=true]:after{background:linear-gradient(90deg,transparent 20%,var(--card-color) 20% 80%,transparent 80%) bottom/100% 4px no-repeat,linear-gradient(0deg,color-mix(in srgb,var(--card-color) 38%,#0d121c),transparent 30%)}
.character-ticket-rail :is(.navigator-role-cards,.godrop-role-cards)>button:hover{filter:none;translate:0 -5px!important}
.character-ticket-rail :is(.navigator-role-cards,.godrop-role-cards)>button:focus-visible{outline:2px solid white;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.character-ticket-rail :is(.navigator-role-cards,.godrop-role-cards)>button{transition:none}}
