/* The career fills the available viewport. Ten large nodes form two rows of five. */
body[data-screen="CAREER"] .alpha-panel{inset:76px 16px 18px;padding:0;overflow:auto}
body[data-screen="CAREER"] .alpha-panel .menu{max-width:none;width:100%;min-height:100%;padding:22px 26px;border-radius:24px;background:linear-gradient(120deg,#102e2cf5,#061b20f5);box-sizing:border-box}
.career-screen .scr-head{margin-bottom:18px}.career-screen .scr-title h2{font-size:clamp(23px,2.6vw,40px);margin:6px 0 0;letter-spacing:-.045em}.career-screen .scr-title .chip{font-size:10px}
.world-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:20px}
.alpha-panel .world-tab{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:13px 14px 16px;min-width:0;overflow:hidden;text-align:left;border:1px solid #52716a55;border-radius:12px;background:#ffffff06;color:#b6c7c4}
.world-tab>span{font-size:10px;letter-spacing:.15em;color:#90aaa4}.world-tab b{font-size:13px;line-height:1.25;letter-spacing:0}.world-tab small{font-size:10px;letter-spacing:0;font-weight:500}.world-tab i{position:absolute;bottom:0;left:0;height:3px;background:#d4f26a}
.alpha-panel .world-tab.selected{background:#d4f26a16;border-color:#d4f26a;color:#f4f8df}.world-tab.selected>span{color:#d4f26a}
.career-screen .career-grid{grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:stretch}
.world-map{min-width:0;border:1px solid #67827844;border-radius:20px;padding:20px;background:radial-gradient(ellipse at 30% 0%,color-mix(in srgb,var(--chapter) 30%,transparent),transparent 70%),linear-gradient(135deg,#153b3677,#071d2377);position:relative;overflow:hidden}
.world-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.eyebrow{font-size:11px;letter-spacing:.22em;color:#d4f26a;font-weight:800}.world-heading h3{font-size:clamp(23px,2.3vw,36px);letter-spacing:-.035em;margin:7px 0}.world-heading p{font-size:12px;color:#a2bbb1;margin:0}.world-heading>strong{font-size:40px;letter-spacing:-.06em;color:#e6efd9}.world-heading>strong small{font-size:18px;color:#9aafa6}
.career-nodes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.alpha-panel .career-node{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;min-height:215px;padding:14px 7px 12px;gap:6px;border:1px solid #6a8b7955;border-radius:15px;background:linear-gradient(155deg,#244c43cc,#091f24);color:#edf2e8;transition:transform .16s,border-color .16s,background .16s;overflow:hidden;text-align:center}
.career-node img{width:clamp(68px,7.3vw,122px);height:clamp(68px,7.3vw,122px);object-fit:contain;filter:drop-shadow(0 8px 10px #0005);margin-top:7px}
.career-node b{font-size:clamp(11px,1vw,16px);line-height:1.15;letter-spacing:-.015em;min-height:2.3em;display:flex;align-items:center;justify-content:center}
.career-node small{font-size:9px;letter-spacing:0;color:#a7c0b3;line-height:1.35}.node-number{position:absolute;left:10px;top:9px;font-size:11px;color:#9cb5a8}.node-new{position:absolute;right:7px;top:10px;font-size:8px;letter-spacing:.08em;color:#b6cdff}
.node-state{margin-top:auto;font-size:8px;letter-spacing:.02em;font-style:normal;line-height:1.4;font-weight:800;border-radius:5px;padding:5px 3px;background:#ffffff09;width:100%}.node-last{font-size:7px;letter-spacing:.06em;color:#edd698}
.alpha-panel .career-node.locked{background:linear-gradient(160deg,#1c3033aa,#101d25aa);color:#b6c6c0}.career-node.locked img{filter:saturate(.5);opacity:.77}.career-node.locked .node-state{color:#97a9a9}
.career-node.done .node-state{color:#d4f26a}.career-node.available .node-state{color:#b6cdff}.alpha-panel .career-node.next{border-color:#d4f26a;background:linear-gradient(145deg,#46603b,#173c2f);box-shadow:0 0 22px #d4f26a18}.career-node.next .node-state{background:#d4f26a;color:#17291d}
.alpha-panel .career-node.selected{outline:2px solid #e6f5e7;outline-offset:3px}.alpha-panel .career-node:hover{transform:translateY(-3px);border-color:#e6f5e7}
.alpha-panel .career-node:focus-visible,.alpha-panel .world-tab:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #d4f26a55}
.map-caption{display:flex;justify-content:space-between;gap:14px;margin-top:20px;font-size:10px;color:#a7baad;line-height:1.5}
.opponent-detail{border-radius:20px;border:1px solid #71918655;background:linear-gradient(145deg,#193c36,#0b2427);padding:16px;min-width:0}.detail-state{display:block;font-size:9px;letter-spacing:.12em;color:#d4f26a;font-weight:800}.detail-state.locked{color:#afbfbc}
#careerPreview{height:200px;background:radial-gradient(ellipse at 50% 65%,#d4f26a20,transparent 65%);border-bottom:1px solid #6b8b7444;margin:0 -4px 10px}
.detail-title{display:flex;align-items:center;justify-content:space-between;gap:6px}.detail-title h3{font-size:22px;line-height:1.1;margin:0;letter-spacing:-.035em}.detail-style{font-size:10px;color:#d4f26a;margin:8px 0}.detail-bio{font-size:11px;color:#abc0b5;line-height:1.5;margin:8px 0 12px;min-height:32px}.opponent-detail .sline{grid-template-columns:68px 1fr 40px;gap:7px;font-size:11px;min-height:23px;margin:2px 0}.opponent-detail .sl-name{font-size:10px}.opponent-detail .sl-bar{height:5px}.opponent-detail .sline strong{font-size:11px}.detail-venue{font-size:10px;line-height:1.5;color:#abc0b5;border-top:1px solid #ffffff14;padding-top:12px;margin-top:12px}.detail-reward{font-size:14px;color:#e8cc7d;margin:12px 0;font-weight:800}.detail-reward span{margin:0 6px;color:#a1b4a5}.opponent-detail .cta{width:100%;font-size:12px;padding:13px}.detail-lock{font-size:12px;color:#bac9c0;line-height:1.5}
.career-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:16px 3px 0;border-top:1px solid #67827844}.career-bottom>div:first-child{flex:1;max-width:440px}.career-bottom b{display:block;font-size:14px}.career-bottom span{font-size:10px;color:#abc0b5;display:block;margin:5px 0 9px}.career-bottom .actions{margin:0;gap:8px}.career-bottom .quiet,.career-bottom .cta{font-size:11px;padding:11px 16px}.migration-note{color:#b5cbee;font-size:11px;line-height:1.5;margin:10px 0 0}
@media(min-width:1500px){.career-screen .career-grid{grid-template-columns:minmax(0,1fr) 340px}.career-node img{width:130px;height:130px}.alpha-panel .career-node{min-height:245px}.opponent-detail{padding:20px}#careerPreview{height:250px}.opponent-detail .sline{min-height:26px}}
@media(max-width:1150px){body[data-screen="CAREER"] .alpha-panel{inset:70px 10px 12px}body[data-screen="CAREER"] .alpha-panel .menu{padding:18px}.career-screen .career-grid{grid-template-columns:minmax(0,1fr) 250px;gap:12px}.world-map{padding:14px}.career-nodes{gap:9px}.alpha-panel .career-node{min-height:184px;padding:12px 4px 8px}.career-node img{width:65px;height:72px}.career-node b{font-size:11px}.career-node small{font-size:8px}.node-state{font-size:7px}.world-tab b{font-size:11px}.alpha-panel .world-tab{padding:10px 9px 13px}.world-tab small{font-size:9px}.opponent-detail{padding:12px}#careerPreview{height:172px}.detail-title h3{font-size:20px}.world-heading{margin-bottom:16px}.world-heading>strong{font-size:32px}}
@media(max-width:800px){.career-screen .career-grid{grid-template-columns:1fr}.world-tabs{grid-template-columns:repeat(3,1fr)}.career-nodes{grid-template-columns:repeat(5,minmax(0,1fr))}.career-node img{width:75px;height:80px}.career-bottom{flex-direction:column;align-items:stretch}.opponent-detail{display:block}#careerPreview{height:220px}.career-screen .scr-head{flex-wrap:wrap}.world-heading h3{font-size:25px}}
@media(max-width:520px){.career-nodes{grid-template-columns:repeat(2,minmax(0,1fr))}.career-node img{width:115px;height:115px}.alpha-panel .career-node{min-height:220px}.career-node b{font-size:14px}.node-state{font-size:9px}.career-screen .scr-title h2{font-size:23px}.map-caption{flex-direction:column}.world-tabs{gap:5px}}
@media(prefers-reduced-motion:reduce){.career-node{transition:none!important}.alpha-panel .career-node:hover{transform:none}}
.world-heading .eyebrow{background:transparent;padding:0;color:#d4f26a;margin:0}.opponent-detail .sline{grid-template-areas:"name bar val"}.opponent-detail .sl-name{white-space:nowrap}
@media(min-width:801px) and (max-height:850px){body[data-screen="CAREER"] .alpha-panel{inset:66px 10px 8px}body[data-screen="CAREER"] .alpha-panel .menu{padding:12px 16px}.career-screen .scr-head{margin-bottom:10px;min-height:44px}.career-screen .scr-title h2{font-size:25px;margin-top:4px}.career-screen .scr-title .chip{font-size:8px;padding:3px 7px}.world-tabs{margin-bottom:12px;gap:7px}.alpha-panel .world-tab{padding:8px 10px 10px;gap:3px}.world-tab b{font-size:11px}.world-tab>span,.world-tab small{font-size:8px}.career-screen .career-grid{grid-template-columns:minmax(0,1fr) 265px;gap:12px}.world-map{padding:12px}.world-heading{margin-bottom:12px}.world-heading h3{font-size:23px;margin:4px 0}.world-heading p{font-size:10px}.world-heading .eyebrow{font-size:9px}.world-heading>strong{font-size:27px}.career-nodes{gap:10px}.alpha-panel .career-node{min-height:153px;padding:8px 5px;gap:4px}.career-node img{width:65px;height:65px;margin-top:8px}.career-node b{font-size:11px;min-height:24px}.career-node small{font-size:8px}.node-state{font-size:7px;padding:4px 2px}.node-number{font-size:9px;top:6px;left:7px}.node-new{font-size:7px;top:7px}.node-last{font-size:6.5px}.map-caption{margin-top:12px;font-size:9px}.opponent-detail{padding:12px}#careerPreview{height:123px;margin-bottom:6px}.detail-title h3{font-size:18px}.detail-style{margin:5px 0;font-size:9px}.detail-bio{font-size:10px;min-height:0;margin:5px 0 8px}.opponent-detail .sline{min-height:19px;gap:5px;margin:1px 0}.detail-venue{font-size:9px;padding-top:7px;margin-top:7px}.detail-reward{margin:8px 0;font-size:12px}.opponent-detail .cta{padding:9px;font-size:10px}.detail-state{font-size:8px}.career-bottom{margin-top:10px;padding-top:8px}.career-bottom .cta,.career-bottom .quiet{padding:9px 12px;font-size:10px}.career-bottom span{font-size:9px;margin:3px 0 5px}.career-bottom .hero-progress{height:4px}.detail-lock{font-size:10px;margin:9px 0 0}}
#careerPreview canvas{height:100%!important;max-height:100%;display:block}.career-screen .opponent-detail .detail-style{font-size:10px;line-height:1.4;margin:6px 0}.career-screen .opponent-detail .detail-bio{font-size:11px;line-height:1.45;margin:8px 0 12px}.career-screen .opponent-detail .detail-lock{font-size:11px;line-height:1.45;margin:10px 0}
@media(min-width:801px) and (max-height:850px){.career-screen .opponent-detail .detail-style{font-size:9px;line-height:1.3;margin:5px 0}.career-screen .opponent-detail .detail-bio{display:none}.career-screen .opponent-detail .detail-lock{font-size:10px;line-height:1.4;margin:8px 0}#careerPreview{height:116px}}

/* 6.1: lock denotes an unbeaten opponent, independently of challenge availability. */
.node-padlock{position:absolute;left:9px;top:30px;display:grid;place-items:center;width:25px;height:27px;border:1px solid #aec5b44d;border-radius:8px;background:#102b2bdc;color:#d4dfd2;box-shadow:0 3px 8px #0003;z-index:1}.node-padlock svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.career-node.next .node-padlock{color:#e2f5a0;border-color:#d4f26a66;background:#284336}.career-node.available .node-padlock{color:#bfd2ff}
.career-screen,.career-screen .scr-title,.career-screen .world-heading>div,.career-screen .career-bottom>div,.career-screen .career-grid>*{min-width:0}.career-screen .world-heading>strong{flex-shrink:0;margin-left:8px}.career-screen .career-bottom .actions{flex-wrap:wrap}.career-screen .career-node b{overflow-wrap:anywhere}.audio-caption{position:fixed;top:142px;left:50%;transform:translateX(-50%);padding:8px 17px;border:1px solid #d4f26a66;border-radius:30px;background:#102b2bc9;color:#f2fadf;font:800 14px/1.2 system-ui;letter-spacing:.12em;z-index:15;pointer-events:none;text-shadow:0 2px 5px #0008}.audio-caption[hidden]{display:none}
@media(min-width:2100px){.career-screen .career-grid{grid-template-columns:minmax(0,1fr) minmax(340px,20%)}.career-nodes{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.career-node img{width:clamp(130px,7vw,190px);height:clamp(130px,7vw,190px)}.alpha-panel .career-node{min-height:275px}.career-node b{font-size:18px}.career-node small{font-size:12px}.node-state{font-size:11px}}
@media(max-width:520px){body[data-screen="CAREER"] .alpha-panel .menu{padding:12px}.world-heading{align-items:flex-start}.world-heading p{overflow-wrap:anywhere}.career-bottom .actions{display:grid;grid-template-columns:1fr 1fr}.audio-caption{top:133px;font-size:11px}}
