@font-face{font-family:NewsreaderCast;src:url('/fonts/print/NewsreaderDisplay-Regular.ttf') format('truetype');font-display:swap}
.cast-page{max-width:1480px;margin:0 auto;padding:52px 32px 90px;font-feature-settings:"cv08" 1}.cast-heading{max-width:1000px;margin-bottom:36px}.cast-heading h1{font-family:NewsreaderCast,serif;font-size:clamp(2.2rem,4.1vw,4rem);font-weight:400;line-height:1.05;letter-spacing:-.02em}.cast-heading p{font-size:1.15rem;margin-top:18px}.cast-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:44px;align-items:start}.cast-tools{display:flex;justify-content:space-between;gap:20px;margin-bottom:28px;align-items:end}.cast-modes{display:flex;gap:10px}.cast-page button{font:inherit;color:var(--text);cursor:pointer}.cast-modes button,.cast-regions button{min-height:48px;padding:10px 22px;border:1px solid var(--border);border-radius:4px;background:var(--bg-card)}.cast-modes [aria-pressed=true],.cast-regions [aria-pressed=true]{background:var(--text);color:var(--bg-0)}.cast-search{display:grid;gap:6px;font-size:.9rem}.cast-search input{font:inherit;color:var(--text);background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:12px;min-height:48px;width:260px}.cast-map{position:relative;aspect-ratio:1;isolation:isolate;margin-bottom:12px}.cast-quadrants{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.cast-quadrants span{padding:14px;font-weight:700;font-size:1.1rem;background:#fbe0e0;color:#8b3434}.cast-quadrants span:nth-child(2){background:#fbedd2;color:#79541e;text-align:right}.cast-quadrants span:nth-child(3){background:#dae9f4;color:#345d7e}.cast-quadrants span:nth-child(4){background:#dcf0df;color:#35643d;text-align:right}[data-theme=dark] .cast-quadrants span{background:#422a2d;color:#f0b6b6}[data-theme=dark] .cast-quadrants span:nth-child(2){background:#413622;color:#e9cf9c}[data-theme=dark] .cast-quadrants span:nth-child(3){background:#253c4c;color:#b3d4ec}[data-theme=dark] .cast-quadrants span:nth-child(4){background:#293e2e;color:#b4d6bc}.cast-face{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:84px;background:transparent;border:0;padding:0;text-align:center;z-index:1}.cast-face .cast-ring{display:block;width:52px;height:52px;margin:auto;border-radius:50%;padding:3px;background:var(--ring)}.cast-face[aria-pressed=true] .cast-ring{outline:3px solid var(--text);outline-offset:3px}.cast-face .cast-name{font-size:13px;line-height:1.2;display:block;padding:8px 2px 2px;border-radius:3px}.cast-face[data-type=DISC] .cast-name{background:var(--bg-0)}.cast-face .cast-code{font-weight:700;display:block;font-feature-settings:"cv08" 1}.cast-axis-top,.cast-axis-bottom{text-align:center;font-size:14px;margin:12px 0}.cast-axis-sides{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px}.cast-legend,.cast-note{font-size:.9rem;color:var(--text-secondary);line-height:1.6}.cast-note{margin-top:32px;max-width:800px}.cast-profile{padding:28px;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;min-width:0}.cast-profile img{width:160px;height:160px;border-radius:50%;object-fit:cover;margin:0 auto 24px;display:block}.cast-profile h2{font-family:NewsreaderCast,serif;font-size:2.25rem;font-weight:400;line-height:1.1;margin:0 0 12px}.cast-profile p{line-height:1.65;margin:16px 0}.cast-profile .cast-type{font-size:1rem;margin:12px 0}.cast-profile .cast-profile-link{display:block;margin-top:24px;border-radius:4px;padding:14px;background:var(--text);color:var(--bg-0);text-align:center;text-decoration:none}.cast-profile audio{display:block;max-width:100%;width:100%;margin-top:20px}.cast-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cast-person{display:flex;align-items:center;gap:14px;min-height:96px;padding:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;text-align:left}.cast-person img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none}.cast-person strong{font-size:1.05rem;display:block;font-weight:500}.cast-person small{display:block;font-size:.85rem;margin-top:6px;line-height:1.4}.cast-person[aria-pressed=true]{border:2px solid var(--text);padding:13px}.cast-selected{font-size:.8rem;display:block;margin-top:5px}.cast-regions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.cast-region-label{font-size:1.05rem;font-weight:600;margin-bottom:14px}.cast-page :focus-visible{outline:3px solid var(--accent);outline-offset:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;clip-path:inset(50%);white-space:nowrap}[hidden]{display:none!important}
@media(max-width:1099px){.cast-page{padding:34px 24px 90px}.cast-layout{grid-template-columns:1fr;gap:24px}.cast-tools{align-items:stretch;flex-direction:column}.cast-search input{width:100%}.cast-modes button{flex:1}.cast-modes{width:100%}.cast-profile{grid-row:1}.cast-profile img{width:120px;height:120px;margin-left:0}.cast-people{grid-template-columns:1fr}.cast-regions{display:grid}.cast-face{width:80px}.cast-face .cast-name{font-size:13px}.cast-map[data-zoom=true]{min-height:450px;aspect-ratio:auto}.cast-map[data-zoom=true] .cast-quadrants{display:block}.cast-map[data-zoom=true] .cast-quadrants span{display:block;position:absolute;inset:0;background:var(--region-bg-light);color:var(--text)}.cast-map[data-zoom=true] .cast-quadrants span:not(.current-region){display:none}.cast-map[data-zoom=true] .cast-face{width:100px}.cast-map[data-zoom=true] .cast-face .cast-ring{width:62px;height:62px}.cast-map[data-zoom=false]{min-width:630px}.cast-map-wrap-all{overflow-x:auto;padding:10px 6px}.cast-heading{margin-bottom:26px}}
@media(min-width:1100px){.cast-regions{display:none!important}.cast-search{margin-left:auto}.cast-profile{position:sticky;top:100px}.cast-people{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.cast-page *{scroll-behavior:auto!important}}
.cast-page section{padding:0}.cast-page section+section{margin-top:0}

.cast-searching .cast-layout{grid-template-columns:1fr}.cast-searching .cast-profile{display:none}.cast-searching .cast-map-wrap-all{min-height:0}

[data-theme=dark] .cast-map[data-zoom=true] .cast-quadrants span{background:var(--bg-card);color:var(--text)}.cast-profile{scroll-margin-top:95px}
/* Tournament C: preserve the approved cast layout with a shorter heading and a compact selected profile. */
.cast-heading h1{font-size:clamp(2.2rem,3.3vw,3.2rem)}.cast-heading{margin-bottom:24px}.cast-profile img{width:104px;height:104px;margin-left:0}.cast-profile{padding:20px}@media(min-width:1100px){.cast-layout{grid-template-columns:minmax(0,1fr) 380px;gap:32px}}
.cast-face .cast-ring{position:relative}



.cast-avatar{display:block;width:46px;height:46px;border-radius:50%;background-size:cover;background-position:center}.cast-map[data-zoom=true] .cast-avatar{width:56px;height:56px}
/* CAST-MAP-NAMING-LINE-1011: the naming rule under the title, and the tip on each paradox label (site/js/type-tip.js draws the
   tip as one floating box on <body>, so nothing on the map clips it). */
.cast-heading p.cast-naming{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin-top:12px;max-width:760px}
.type-tip{display:inline-block}.type-tip__code{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:help;text-decoration:underline dotted;text-underline-offset:3px}
.type-tip-float{position:fixed;z-index:1000;left:0;top:0;width:max-content;max-width:min(260px,calc(100vw - 16px));padding:10px 12px;border-radius:6px;background:var(--text);color:var(--bg-0);font-size:.85rem;font-weight:400;line-height:1.45;text-align:left;box-shadow:0 6px 18px rgba(0,0,0,.18);pointer-events:none}.type-tip-float[hidden]{display:none}
/* CAST-MAP-YOU-1011: the person's own dot and the line above the map (site/js/cast-map.js). The dot is drawn in the text color with
   a ring in the page color, so it reads on every quadrant in both themes; it never takes a tap from the face under it. */
.cast-you-line{font-size:1rem;line-height:1.6;margin:-8px 0 22px;max-width:760px}.cast-you-line a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.cast-you-show{display:inline-block;margin-left:8px;min-height:44px;padding:8px 16px;border:1px solid var(--border);border-radius:4px;background:var(--bg-card)}
.cast-you{position:absolute;left:var(--x);top:var(--y);width:0;height:0;z-index:4;pointer-events:none}
.cast-you__dot{position:absolute;left:-9px;top:-9px;width:18px;height:18px;box-sizing:border-box;border-radius:50%;background:var(--text);border:3px solid var(--bg-0);box-shadow:0 0 0 2px var(--text),0 3px 10px rgba(0,0,0,.25)}
.cast-you__label{position:absolute;left:0;top:13px;transform:translateX(-50%);padding:2px 8px;border-radius:999px;background:var(--text);color:var(--bg-0);font-size:12px;font-weight:700;line-height:1.4;white-space:nowrap}
.cast-you[data-side=right] .cast-you__label{left:14px;top:0;transform:translateY(-50%)}.cast-you[data-side=left] .cast-you__label{left:-14px;top:0;transform:translate(-100%,-50%)}.cast-you[data-side=above] .cast-you__label{left:0;top:-13px;transform:translate(-50%,-100%)}
/* CAST-MAP-PHONE-SIDEWAYS-1011: the map column may shrink below the 630 px whole map, so the map scrolls inside its own box and the
   page never scrolls sideways on a phone (before this, Show all made the page 666 px wide on a 390 px screen). */
#cast-browser{min-width:0}
/* The five center types (DISC and the four paradox types) are drawn smaller on the whole map, so they fit beside the center. */
.cast-face[data-small]{width:68px}.cast-face[data-small] .cast-ring{width:40px;height:40px;padding:2px}.cast-face[data-small] .cast-avatar{width:36px;height:36px}.cast-face[data-small] .cast-name{font-size:11.5px;padding-top:5px}
.cast-profile .cast-seat-line{font-size:.95rem;color:var(--text-secondary);margin:-4px 0 12px}.cast-you-off,.cast-you-spread{display:block;margin-top:6px;color:var(--text-secondary)}
