.picker-main{width:min(1312px,100%);max-width:none;margin:0 auto;padding:38px 28px 60px}
.picker-intro{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:28px}
.game-tag{font-size:12px;color:var(--tt-coral);font-weight:800;margin:0 0 8px}
.site .picker-intro h1{margin:0 0 13px;max-width:none;font-size:40px}
.picker-intro p:last-child{font-size:14px;color:var(--tt-muted);margin:0}
.picker-intro .tt-text-link{font-size:12px;white-space:nowrap;margin-bottom:4px}
.picker-stage{display:grid;grid-template-columns:340px minmax(0,1fr);min-height:430px;background:var(--tt-surface);border-radius:18px;overflow:hidden;border:1px solid #3b4563}
.picker-controls{padding:28px;display:flex;flex-direction:column}
.mode-switch{display:flex;padding:4px;background:#161c30;border-radius:9px;gap:4px}
.mode-switch button{flex:1;min-height:37px;border:0;border-radius:6px;background:transparent;color:var(--tt-muted);font-weight:700;font-size:12px}
.mode-switch button[aria-pressed=true]{color:#231d3f;background:var(--tt-accent)}
.site .picker-controls h2{font-size:25px;line-height:1.35;margin:25px 0 12px}
.picker-controls>p{color:var(--tt-muted);font-size:12px;line-height:1.8;margin:0 0 20px}
.picker-check{display:flex;align-items:flex-start;gap:11px;cursor:pointer;font-size:12px;font-weight:700;margin:10px 0}
.picker-check input{width:17px;height:17px;margin:3px 0;flex:none}
.picker-check small{display:block;color:var(--tt-muted);font-size:11px;font-weight:400;line-height:1.6;margin-top:5px}
.quiet-button{padding:6px 0;border:0;background:transparent;font-size:12px;font-weight:600;color:var(--tt-accent);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}
.quiet-button:hover{text-decoration-color:currentColor}
#reset-cycle{font-size:11px;margin-left:28px;color:var(--tt-muted)}
.pick-action{margin-top:auto;padding-top:24px}
.roll-button{width:100%;min-height:50px;font-size:14px}
.roll-button>span:first-child{font-size:24px;line-height:1}
#pool-count{color:var(--tt-muted);font-size:11px;text-align:center;margin:10px 0 0}
.picker-label{display:block;font-size:12px;font-weight:600;margin:5px 0 8px}
#squad-size{width:100%;height:42px;padding:0 12px;background:var(--tt-bg);color:var(--tt-ink);border:1px solid #586683;border-radius:8px;margin-bottom:10px;font-size:13px}
.control-hint{font-size:11px;line-height:1.7;color:var(--tt-muted);margin:14px 0 0}
.picker-status{font-size:12px!important;color:var(--tt-sky)!important;margin:12px 0 0!important}
.picker-status:empty{display:none}
.picker-status[data-error=true]{color:#ffb5b8!important}
.picker-result{position:relative;min-height:440px;isolation:isolate;overflow:hidden;background:#303854;border-left:1px solid #414a67}
.picker-result:before{content:'';position:absolute;inset:0;background:linear-gradient(130deg,transparent 54%,#b9acff10 54%,#b9acff10 75%,transparent 75%);pointer-events:none;z-index:-1}
.result-empty{height:100%;min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px;background:radial-gradient(ellipse at center,#56638a33,transparent 67%)}
.result-empty .empty-crosshair{font:300 96px/1 Geist;color:#b9acff88;border:1px solid #69769577;border-radius:50%;width:120px;height:120px;display:grid;place-items:center;margin-bottom:24px}
.site .result-empty h2{font-size:28px;margin:0 0 15px}
.result-empty p{max-width:30ch;font-size:13px;color:var(--tt-muted);margin:0}
.solo-result{position:relative;min-height:440px;height:100%;overflow:hidden}
.solo-art{position:absolute;width:660px;height:660px;object-fit:contain;right:-80px;bottom:-170px;filter:drop-shadow(0 14px 20px #11152a55);z-index:0}
.solo-copy{position:relative;z-index:1;padding:35px 32px;display:flex;flex-direction:column;min-height:440px;pointer-events:none}
.solo-copy>p{font-size:12px;color:#d5ccef;font-weight:600;margin:0 0 10px}
.solo-copy h2{font:700 clamp(40px,5vw,64px)/1.1 Geist,sans-serif!important;letter-spacing:-2px;margin:0 0 14px!important;max-width:12ch;text-shadow:0 2px 20px #22284199}
.agent-role{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;min-height:29px;padding:3px 11px;border-radius:6px;background:#1c253be0;border:1px solid #8293b466;width:max-content;color:var(--tt-sky)}
.agent-role:before{content:'';width:6px;height:6px;border-radius:2px;background:currentColor}
[data-role=Duelist] .agent-role{color:#ffb5b8}[data-role=Sentinel] .agent-role{color:#beeed4}[data-role=Controller] .agent-role{color:#d5c6ff}
.solo-copy .agent-caption{margin-top:auto;color:#d8dfef;max-width:28ch;font-size:12px;line-height:1.8;background:#232e4690;padding:11px 14px;border-radius:8px;width:fit-content}
.solo-result.reveal,.squad-results.reveal{animation:result-reveal .3s ease-out}
@keyframes result-reveal{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}
.recent-row{display:flex;align-items:center;gap:18px;min-height:60px;padding:15px 0;font-size:11px;color:var(--tt-muted);flex-wrap:wrap}
.recent-row>span{font-weight:700}
#history{display:flex;gap:7px;flex-wrap:wrap;align-items:center;flex:1}
#history span[data-agent]{border:1px solid var(--tt-line);padding:3px 10px;border-radius:15px;color:#d5ddee}
#copy-result{font-size:11px}
.roster-section{padding-top:26px}
.roster-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:23px}
.site .roster-heading h2{font-size:26px;margin:0 0 9px}
.roster-heading p{font-size:12px;color:var(--tt-muted);max-width:68ch;margin:0}
.roster-heading .tt-button{font-size:12px;flex:none}
.roster-toolbar{display:flex;align-items:center;gap:20px;justify-content:space-between}
.agent-search{flex:1;max-width:310px}
.agent-search input{width:100%;height:43px;background:var(--tt-surface);color:var(--tt-ink);border:1px solid #566480;border-radius:8px;padding:0 15px;font-size:13px}
.agent-search input::placeholder{color:var(--tt-muted)}
.role-filters{display:flex;gap:5px;flex-wrap:wrap}
.role-filters button{padding:9px 13px;border:1px solid transparent;background:transparent;color:var(--tt-muted);font-size:12px;font-weight:600;border-radius:7px}
.role-filters button[aria-pressed=true]{border-color:#73829f;background:#303b56;color:var(--tt-ink)}
.selection-tools{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:17px 0;font-size:11px;color:var(--tt-muted)}
.selection-tools>div{display:flex;gap:18px;flex-wrap:wrap}
.selection-tools button{font-size:11px}
.agent-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}
.agent-tile{position:relative;display:flex;flex-direction:column;align-items:center;padding:0 0 12px;overflow:hidden;background:#222d45;color:var(--tt-ink);border:1px solid #647293;border-radius:10px;min-width:0}
.agent-tile img{width:100%;height:115px;object-fit:contain;object-position:bottom;background:linear-gradient(160deg,#3b4665,#29334e);margin-bottom:10px;pointer-events:none}
.agent-tile strong{font-size:12px;font-weight:800}
.agent-tile small{font-size:10px;color:var(--tt-muted);margin-top:2px}
.agent-tile .selection-mark{position:absolute;top:7px;right:7px;width:19px;height:19px;border-radius:5px;background:var(--tt-accent);color:#231b3c;font-size:13px;line-height:19px;font-weight:800}
.agent-tile[aria-pressed=false]{border-color:#37425d;background:#1c253a}
.agent-tile[aria-pressed=false] img{opacity:.35;filter:grayscale(1)}
.agent-tile[aria-pressed=false] .selection-mark{background:#29334e;border:1px solid #6b7894;color:transparent}
.agent-tile[aria-pressed=false] strong{color:#a3afc5}
.agent-tile:hover{border-color:var(--tt-accent)}
.agent-tile.image-missing{min-height:167px;justify-content:flex-end}
.agent-tile.image-missing:before{content:'?';font:500 50px Geist;position:absolute;top:22px;color:#8290b3}
.catalog-status{font-size:11px;color:var(--tt-muted);margin-top:20px}
#manual-copy{display:block;width:100%;padding:12px 14px;background:var(--tt-surface);color:var(--tt-ink);border:1px solid #7c8ba8;border-radius:8px;margin-bottom:16px;font-size:13px}
.picker-fineprint{font-size:10px;color:#a0aec8;max-width:100ch;line-height:1.8;margin-top:30px;border-top:1px solid var(--tt-line);padding-top:20px}
.squad-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:22px;align-content:center;min-height:100%}
.squad-slot{background:#202a42;border:1px solid #606e90;border-radius:12px;overflow:hidden;position:relative;min-width:0}
.squad-slot input{display:block;background:#192239;color:var(--tt-ink);border:0;border-bottom:1px solid #485575;width:100%;height:34px;padding:7px 11px;font-size:11px}
.squad-slot input::placeholder{color:#d8def0}
.squad-slot img{width:100%;height:104px;object-fit:contain;background:linear-gradient(150deg,#4e5b7d,#303b55)}
.squad-slot h3{font:600 16px/1.3 Geist,sans-serif;margin:9px 12px 5px}
.squad-slot small{display:block;font-size:10px;color:var(--tt-muted);margin:0 12px 12px}
.slot-lock{position:absolute;right:7px;top:42px;width:29px;height:29px;border-radius:6px;border:1px solid #909db9;background:#192239e0;color:#d5ddee;font-size:15px}
.slot-lock[aria-pressed=true]{background:var(--tt-accent);color:#231b3c;border-color:var(--tt-accent)}
.squad-slot.locked{border-color:var(--tt-accent)}
.squad-note{grid-column:1/-1;font-size:11px;color:var(--tt-muted);margin:3px 0 0;line-height:1.7}
.reel-machine{min-height:440px;height:100%;display:flex;flex-direction:column;padding:23px 22px 26px;gap:24px;background:#26314b}
.reel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#d8dff0}
.reel-heading .reel-skip{font-size:11px;white-space:nowrap}
.reel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;align-content:center;flex:1}
.reel-column{min-width:0;text-align:center;--reel-height:190px}
.reel-player{font-size:11px;font-weight:700;color:#d8dff0;margin:0 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reel-window{height:var(--reel-height);overflow:hidden;position:relative;isolation:isolate;border-radius:11px;background:#202a42;outline:1px solid #7784a1;box-shadow:inset 0 0 0 1px #101728}
.reel-window:before,.reel-window:after{content:'';position:absolute;left:0;right:0;z-index:2;pointer-events:none}
.reel-window:before{top:0;height:32px;background:linear-gradient(#182238,transparent)}
.reel-window:after{bottom:0;height:25px;background:linear-gradient(transparent,#182238)}
.reel-track{will-change:transform}
.reel-cell{height:var(--reel-height);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 5px;overflow:hidden}
.reel-cell .reel-image{width:100%;height:120px;object-fit:contain;flex-shrink:0}
.reel-cell strong{font:600 15px/1.3 Geist,sans-serif;color:#f3f5fc;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reel-cell small{font-size:10px;line-height:1.2;color:#becbe2}
.reel-state{display:block;margin-top:11px;min-height:17px;color:#aab8d1;font-size:10px}
.reel-settled .reel-window{outline-color:#b9acff;box-shadow:0 0 0 2px #b9acff28}
.reel-settled .reel-state{color:#d6cbff;font-weight:700}
.reel-settled .reel-track{will-change:auto}
.reel-fixed .reel-window{outline-color:#7285a5;background:#29364e}
.reel-fixed .reel-state{color:#b6c7df}
.reel-fixed .reel-state:before{content:'●';font-size:9px;margin-right:6px;color:#b9acff}
.reel-machine-solo .reel-grid{grid-template-columns:minmax(0,285px);justify-content:center}
.reel-machine-solo .reel-column{--reel-height:285px}
.reel-machine-solo .reel-cell{gap:8px;padding:18px 10px}
.reel-machine-solo .reel-image{height:190px}
.reel-machine-solo .reel-cell strong{font-size:25px}
.reel-machine-solo .reel-cell small{font-size:11px}
.is-spinning .roll-button>span:first-child{color:#b9acff}
@media(min-width:1250px){.reel-machine:not(.reel-machine-solo) .reel-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.reel-machine:not(.reel-machine-solo) .reel-column{--reel-height:220px}.reel-machine:not(.reel-machine-solo) .reel-image{height:145px}}
@media(max-width:760px){.reel-machine{min-height:360px;padding:19px 18px;gap:17px}.reel-machine-solo .reel-grid{grid-template-columns:minmax(0,240px)}.reel-machine-solo .reel-column{--reel-height:240px}.reel-machine-solo .reel-image{height:155px}.reel-machine-solo .reel-cell strong{font-size:22px}}
@media(max-width:450px){.reel-machine:not(.reel-machine-solo) .reel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reel-heading{font-size:11px}.reel-heading .reel-skip{font-size:10px}.reel-column{--reel-height:175px}.reel-cell .reel-image{height:105px}.reel-machine-solo .reel-image{height:155px}}
@media(prefers-reduced-motion:reduce){.solo-result.reveal,.squad-results.reveal{animation:none}.reel-track{will-change:auto}}
@media(min-width:1250px){.picker-stage[data-mode=squad]{grid-template-columns:300px minmax(0,1fr)}.picker-stage[data-mode=squad] .squad-results{grid-template-columns:repeat(5,minmax(0,1fr));padding:25px 18px;gap:9px}.squad-slot img{height:165px}.squad-slot h3{font-size:15px;margin-left:10px}.squad-slot small{margin-left:10px}}
@media(max-width:1100px){.picker-stage{grid-template-columns:310px 1fr}.picker-controls{padding:24px}.agent-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.roster-toolbar{align-items:flex-start;gap:14px}.role-filters button{padding:9px}.solo-art{right:-175px}.picker-intro .tt-text-link{display:none}}
@media(max-width:760px){.picker-main{padding:28px 22px 45px}.site .picker-intro h1{font-size:32px}.picker-stage{grid-template-columns:1fr}.picker-controls{padding:22px}.picker-controls h2,#mode-description{display:none}.mode-switch{margin-bottom:15px}.picker-check{max-width:40ch}.pick-action{padding-top:14px}.picker-result{min-height:340px;border-left:0;border-top:1px solid #414a67}.result-empty{min-height:340px}.solo-result,.solo-copy{min-height:360px}.solo-art{height:580px;width:580px;right:-50px;bottom:-155px}.solo-copy{padding:27px}.solo-copy h2{font-size:46px!important}.agent-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.agent-tile img{height:95px}.roster-heading{align-items:flex-start;flex-direction:column;gap:16px}.roster-toolbar{flex-direction:column}.agent-search{width:100%;max-width:none}.role-filters{width:100%}.role-filters button{font-size:11px;padding:8px 10px}.selection-tools{align-items:flex-start;flex-direction:column;gap:4px}.squad-results{grid-template-columns:repeat(3,minmax(0,1fr));padding:18px}.squad-slot img{height:100px}.recent-row{gap:10px}.recent-row>span{flex-basis:100%}.roster-section{padding-top:20px}}
@media(max-width:450px){.agent-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.agent-tile img{height:105px}.role-filters button{font-size:10px;padding:8px}.solo-art{right:-163px}.solo-copy .agent-caption{max-width:24ch;font-size:11px}.squad-results{grid-template-columns:repeat(2,minmax(0,1fr))}.squad-slot img{height:105px}.selection-tools>div{gap:14px}.roster-heading .tt-button{font-size:11px}.picker-stage{border-radius:14px}}
