:root{color:#edf4ee;font-synthesis:none;text-rendering:optimizelegibility;background:#0f1411;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{color:#16140d;cursor:pointer;font:inherit;background:#f2c453;border:1px solid #ffffff2e;border-radius:8px;padding:.75rem 1rem;font-weight:800}button:hover{background:#ffdb75}.app-shell{min-height:100vh;padding:1rem}.simulation-area{grid-template-rows:auto minmax(420px,1fr);gap:.85rem;min-width:0;display:grid}.stage{min-height:560px;position:relative}.arena-loading{color:#dbe7dd;letter-spacing:0;background:#111713;border:1px solid #ffffff1f;justify-content:center;align-items:center;min-height:560px;font-size:.95rem;font-weight:800;display:flex;position:absolute;inset:0}.canvas-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.header-actions,.player-bar{align-items:center;gap:.65rem;display:flex}.player-bar{background:#171d19;border:1px solid #ffffff1f;border-radius:8px;padding:.45rem .55rem}.player-bar strong{color:#f2c453;white-space:nowrap}.player-bar span,.credits-line small,.influence-panel small,.bet-row small,.result-row small,.bot-summary small,.arena-bot-card small{color:#9ea9a1;font-size:.78rem}h1,h2,p{margin:0}h1{font-size:clamp(1.45rem,2vw,2.2rem)}h2{font-size:1rem}.canvas-header p,.bot-panel p{color:#9ea9a1;margin-top:.25rem}.battle-canvas{cursor:crosshair;background:#122017;border:1px solid #ffffff1f;border-radius:8px;width:100%;height:100%;min-height:560px}.hud{pointer-events:none;z-index:3;gap:.6rem;display:flex;position:absolute}.top-left{top:1rem;left:1rem}.metric,.bot-panel,.event-log,.sponsor-panel,.match-summary,.influence-panel,.bets-overlay,.post-influence-panel{background:#171d19;border:1px solid #ffffff1f;border-radius:8px;padding:1rem}.hud .metric{background:#121c16c7;min-width:86px;padding:.72rem .8rem}.metric span,.summary-heading span,dt,time{color:#9ea9a1;text-transform:uppercase;font-size:.78rem;display:block}.metric strong{margin-top:.25rem;font-size:1.55rem;display:block}.story-feed{pointer-events:none;z-index:3;background:#0e1410d1;border:1px solid #ffffff1f;border-radius:8px;gap:.5rem;max-width:360px;padding:.85rem;display:grid;position:absolute;top:1rem;right:1rem}.ecology-overlay{pointer-events:none;z-index:3;background:#0e1410d1;border:1px solid #ffffff1f;border-radius:8px;gap:.45rem;max-width:310px;padding:.8rem;display:grid;position:absolute;top:6rem;left:1rem}.ecology-overlay h2{color:#f2c453;text-transform:uppercase;font-size:.82rem}.ecology-overlay p,.ecology-overlay small,.ecology-metrics span{color:#dbe5df;font-size:.78rem}.ecology-metrics{flex-wrap:wrap;gap:.45rem;display:flex}.compact-events{gap:.35rem;margin-top:0}.compact-events .event-row{padding-top:.35rem}.story-feed h2{color:#f2c453;text-transform:uppercase;font-size:.82rem}.story-feed p,.story-row span{color:#dbe5df;font-size:.86rem;line-height:1.35}.story-row{border-top:1px solid #ffffff14;gap:.2rem;padding-top:.45rem;display:grid}.story-row.betrayal span,.story-row.kill span{color:#fed7aa}.story-row.alliance span{color:#bfdbfe}.story-row.player span{color:#fde68a}.betting-panel{width:min(920px,100%);max-height:min(820px,100vh - 2rem);overflow:auto}.credits-line,.panel-title-row,.result-row,.bet-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.credits-line strong,.potential-payout strong{color:#f2c453}.bet-form{grid-template-columns:1fr 1fr 120px 130px auto;align-items:end;gap:.7rem;display:grid}label{color:#9ea9a1;text-transform:uppercase;gap:.28rem;font-size:.72rem;display:grid}select,input{color:#edf4ee;font:inherit;background:#101611;border:1px solid #ffffff29;border-radius:8px;min-width:0;padding:.65rem .7rem}.potential-payout{gap:.2rem;display:grid}.potential-payout span{color:#dbe5df}.previously-card{background:#ffffff0a;border-radius:8px;padding:.7rem .85rem}.previously-card strong{color:#f2c453}.previously-card ul{gap:.35rem;margin:.45rem 0 0;padding-left:1.1rem;display:grid}.previously-card li{color:#dbe5df;line-height:1.35}.previously-card p{color:#dbe5df;margin-top:.45rem;line-height:1.4}.creator-modal{gap:.9rem;width:min(780px,100%);display:grid}.creator-grid,.stat-editor{gap:.65rem;display:grid}.creator-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-editor{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-editor .credits-line{grid-column:1/-1}.creator-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}textarea{color:#edf4ee;font:inherit;resize:vertical;background:#101611;border:1px solid #ffffff29;border-radius:8px;min-height:82px;padding:.65rem .7rem}.arena-bot-grid,.draft-grid,.stable-slots{gap:.65rem;display:grid}.arena-bot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.arena-bot-card,.draft-card,.stable-card{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;gap:.35rem;min-width:0;padding:.65rem;display:grid}.arena-bot-card strong,.bot-summary strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.arena-bot-card span,.bot-summary span{color:#dbe5df;font-size:.84rem}.arena-bot-card em{color:#f2c453;font-style:normal;font-weight:800}.drafted-card,.drafted-summary-row{box-shadow:inset 3px 0 #7dd3fcb8;border-color:#7dd3fc94!important}.bet-list,.result-list{gap:.42rem;display:grid}.bet-row,.result-row{background:#ffffff0a;border-radius:8px;padding:.48rem .58rem}.bet-row span,.result-row span{color:#edf4ee;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.result-row.won strong{color:#86efac}.result-row.lost strong{color:#fca5a5}.influence-overlay{z-index:4;width:min(360px,100% - 2rem);position:absolute;bottom:1rem;right:1rem}.influence-panel,.bets-overlay{background:#0e1410db}.nudge-controls{grid-template-columns:1fr 1fr auto;gap:.5rem;margin-top:.65rem;display:grid}.nudge-controls select:nth-child(3){grid-column:1/3}.bets-overlay{z-index:3;width:min(330px,100% - 2rem);position:absolute;top:13.25rem;left:1rem}.bets-overlay h2,.post-influence-panel h2{color:#f2c453;text-transform:uppercase;margin-bottom:.55rem;font-size:.82rem}.sponsor-overlay{z-index:4;width:min(310px,100% - 2rem);position:absolute;bottom:1rem;left:1rem}.sponsor-overlay .sponsor-panel{background:#0e1410d1}.bot-popover{pointer-events:auto;z-index:5;width:292px;position:absolute;transform:translate(20px,-52%)}.bot-popover .bot-panel{background:#0f1611e6;box-shadow:0 18px 45px #0000005c}.profile-open-button{width:100%;margin-top:.55rem;padding:.55rem .7rem}.bot-panel.compact{padding:.85rem}.bot-panel.compact dl{gap:.45rem}.bot-panel.compact dt,.bot-panel.compact dd{font-size:.76rem}.summary-overlay{z-index:6;width:min(1080px,100% - 2rem);max-width:1080px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.summary-overlay .match-summary,.summary-overlay .post-influence-panel{background:#0f1611f0;box-shadow:0 24px 60px #0006}.end-stack{grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);gap:.85rem;max-height:calc(100vh - 2rem);display:grid;overflow:auto}.post-influence-panel{gap:.8rem;display:grid}.draft-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:280px;overflow:auto}.intro-overlay,.modal-backdrop{z-index:8;background:#050806db;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.story-intro,.profile-modal{background:#0f1611f5;border:1px solid #ffffff24;border-radius:8px;width:min(620px,100%);box-shadow:0 28px 70px #00000073}.story-intro{gap:.9rem;padding:1.2rem;display:grid}.story-intro span,.modal-title-row span,.profile-block h3,.timeline-block h3{color:#f2c453;text-transform:uppercase;font-size:.78rem}.story-intro h2{font-size:1.55rem}.story-intro ul{gap:.55rem;margin:0;padding-left:1.1rem;display:grid}.story-intro li,.story-intro p{color:#dbe5df;line-height:1.4}.profile-modal{max-height:min(760px,100vh - 2rem);padding:1rem;overflow:auto}.stable-modal{width:min(760px,100%)}.stable-slots{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.empty-slot{color:#9ea9a1;align-items:center;min-height:92px}.bot-summary{gap:.25rem;min-width:0;display:grid}.modal-title-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.secondary-button{color:#edf4ee;background:#26312b}.secondary-button:hover{background:#344139}.app-shell{padding:0}.simulation-area{grid-template-rows:minmax(100vh,1fr)}.stage{min-height:100vh;overflow:hidden}.three-arena{width:100%;height:100vh;position:absolute;inset:0}.arena-top-left,.arena-top-right,.view-switcher,.match-log-overlay,.match-action-dock,.match-highlight,.bot-inspector,.spectator-top,.current-bot-list,.selected-bot-dock,.intermission-overlay,.post-match-overlay{z-index:4;position:absolute}.view-switcher{z-index:8;gap:.4rem;display:flex;top:1rem;left:50%;transform:translate(-50%)}.view-switcher button{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#edf4ee;background:#0c120fc7;min-height:34px;padding:.5rem .85rem}.view-switcher button.active{color:#16140d;background:#f2c453}.spectator-top{align-items:center;gap:.6rem;display:flex;top:1rem;left:1rem}.spectator-top select,.match-action-dock select,.match-action-dock input{color:#edf4ee;font:inherit;background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;min-width:112px;min-height:34px;padding:.38rem .48rem;font-size:.78rem}.spectator-top .active{color:#08111a;background:#38bdf8}.spectator-top .metric,.current-bot-list,.match-action-dock,.selected-bot-overlay,.selected-bot-details,.intermission-overlay,.post-match-overlay{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0c120fc7;border:1px solid #ffffff1f;border-radius:8px}.spectator-top .metric{min-width:92px;padding:.72rem .8rem}.spectator-top .metric strong{text-transform:capitalize;font-size:1.25rem}.spectator-top button,.selected-bot-overlay,.intermission-overlay button{padding:.58rem .78rem}.current-bot-list{gap:.65rem;width:min(330px,100% - 2rem);max-height:calc(100vh - 14rem);padding:.85rem;display:grid;top:1rem;right:1rem}.live-event-list{gap:.42rem;margin-top:.55rem;display:grid}.live-event-row{background:#ffffff0b;border:1px solid #ffffff14;border-radius:8px;gap:.22rem;padding:.48rem .58rem;display:grid}.live-event-row div{justify-content:space-between;align-items:center;gap:.6rem;min-width:0;display:flex}.live-event-row strong{color:#f2c453;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.72rem;overflow:hidden}.live-event-row time{white-space:nowrap;font-size:.66rem}.live-event-row span{color:#dbe5df;font-size:.8rem;line-height:1.3}.live-event-row.kill span,.live-event-row.first_blood span,.live-event-row.kill_streak span{color:#fed7aa}.live-event-row.weapon_pickup span,.live-event-row.near_death_escape span,.live-event-row.sponsor_drop span{color:#bbf7d0}.live-event-row.low_hp span{color:#fecaca}.live-event-row.important{background:#f2c4531f;border-color:#f2c4536b;box-shadow:inset 3px 0 #f2c453d1}.match-action-dock{gap:.75rem;width:min(390px,100% - 2rem);padding:.9rem;display:grid;bottom:1rem;left:1rem}.action-dock-header,.betting-card,.sponsor-strip{gap:.6rem;display:grid}.action-dock-header{grid-template-columns:minmax(0,1fr) auto;align-items:center}.action-dock-header div,.betting-card-title div{gap:.12rem;min-width:0;display:grid}.action-dock-header span,.betting-card-title span{color:#9ea9a1;text-transform:uppercase;font-size:.72rem;font-weight:900}.action-dock-header strong{color:#f2c453;font-size:1rem}.betting-card{background:#f2c45314;border:1px solid #f2c45352;border-radius:8px;padding:.75rem}.betting-card-title,.betting-meta{justify-content:space-between;align-items:center;gap:.7rem;min-width:0;display:flex}.betting-card-title strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:1.18rem;overflow:hidden}.odds-pill{color:#16140d;white-space:nowrap;background:#f2c453;border-radius:8px;padding:.42rem .55rem;font-size:1.05rem;font-weight:900}.dock-field-row{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.amount-row{grid-template-columns:repeat(3,auto) minmax(0,1fr);align-items:center;gap:.42rem;display:grid}.amount-row button{min-width:48px}.amount-row button.active{color:#08111a;background:#38bdf8}.primary-bet-button{width:100%;min-height:42px;font-size:.95rem}.betting-meta span{color:#dbe5df;font-size:.76rem}.match-action-dock button{min-height:34px;padding:.42rem .62rem}.match-action-dock small{color:#9ea9a1;font-size:.74rem}.sponsor-quick-grid{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.match-highlight{pointer-events:none;text-align:center;z-index:6;background:#080d0bc7;border:1px solid #f2c45380;border-radius:8px;gap:.22rem;width:max-content;max-width:min(520px,100% - 2rem);padding:.95rem 1.15rem;animation:2.6s forwards match-highlight-pop;display:grid;top:5.2rem;left:50%;transform:translate(-50%);box-shadow:0 22px 60px #00000070}.narrative-toasts{pointer-events:none;z-index:7;gap:.5rem;width:min(330px,100% - 2rem);display:grid;position:absolute;top:10.4rem;right:1rem}.narrative-toast{background:#0c120fd1;border:1px solid #ffffff24;border-radius:8px;gap:.12rem;padding:.72rem .82rem;animation:3.6s forwards narrative-toast-in;display:grid}.narrative-toast strong{color:#f8fafc;font-size:.88rem}.narrative-toast span{color:#cbd5d1;font-size:.76rem;line-height:1.3}.narrative-toast.danger{border-color:#f8717173}.narrative-toast.epic{border-color:#facc157a}@keyframes narrative-toast-in{0%{opacity:0;transform:translate(12px)}12%,78%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(8px)}}.match-highlight span{color:#f2c453;text-transform:uppercase;font-size:.84rem;font-weight:900}.match-highlight strong{color:#fff;font-size:1.35rem;line-height:1.05}.match-highlight small{color:#dbe5df;font-size:.78rem;line-height:1.3}@keyframes match-highlight-pop{0%{opacity:0;transform:translate(-50%,-10px)scale(.97)}12%,72%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-8px)scale(.99)}}.overlay-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.overlay-heading h2,.recent-winners h2{color:#f2c453;text-transform:uppercase;margin:0;font-size:.78rem}.overlay-heading span,.recent-winners span,.selected-bot-overlay span,.intermission-overlay span{color:#9ea9a1;text-transform:uppercase;font-size:.72rem}.bot-list-scroll{gap:.38rem;max-height:min(42vh,430px);padding-right:.15rem;display:grid;overflow:auto}.bot-list-row{color:#dbe5df;text-align:left;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;grid-template-columns:minmax(0,1fr);align-items:center;gap:.45rem;padding:.28rem;font-size:.8rem;font-weight:700;display:grid}.bot-list-row:hover{background:#ffffff14}.bot-list-row.selected{color:#edf4ee;background:#38bdf82e;border-color:#7dd3fcb8}.bot-list-row.dead{opacity:.58}.bot-list-main{color:inherit;font-size:inherit;font-weight:inherit;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) 54px 48px 34px;align-items:center;gap:.45rem;min-height:34px;padding:.24rem .26rem;display:grid}.bot-list-main:hover{background:0 0}.bot-list-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-winners{border-top:1px solid #ffffff1a;gap:.34rem;padding-top:.65rem;display:grid}.selected-bot-dock{z-index:5;justify-items:center;gap:.55rem;width:max-content;max-width:calc(100% - 2rem);display:grid;bottom:1rem;left:50%;transform:translate(-50%)}.selected-bot-dock.expanded{width:min(520px,100% - 2rem)}.selected-bot-overlay{color:#edf4ee;text-align:left;justify-content:center;align-items:center;gap:.85rem;width:100%;max-width:100%;min-height:58px;display:flex}.selected-bot-overlay:hover{background:#141e19e0}.selected-bot-overlay:disabled{color:#edf4ee;cursor:default;background:#0c120fc7}.selected-bot-overlay:disabled:hover{background:#0c120fc7}.selected-bot-overlay div{gap:.16rem;min-width:72px;display:grid}.selected-bot-overlay strong{color:#edf4ee;white-space:nowrap;font-size:.92rem}.selected-bot-details{gap:.65rem;width:100%;max-height:42vh;padding:.85rem;display:grid;overflow:hidden}.overlay-tabs{align-items:center;gap:.42rem;display:flex}.overlay-tabs button{color:#dbe5df;letter-spacing:0;text-transform:uppercase;background:#ffffff0d;min-height:34px;padding:.42rem .62rem;font-size:.74rem}.overlay-tabs button.active{color:#16140d;background:#f2c453;border-color:#ffffff47}.overlay-tabs button:disabled{cursor:default;opacity:.42}.match-table-tabs{border-bottom:1px solid #ffffff1a;padding-bottom:.45rem}.queue-list-row{gap:.16rem;padding:.42rem .5rem}.queue-list-row small{color:#9ea9a1;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;line-height:1.25;overflow:hidden}.queue-list-main{grid-template-columns:36px minmax(0,1fr) 46px 52px;min-height:28px;padding:0}.queue-position{color:#f2c453}.bot-detail-grid,.stat-bars{gap:.48rem;display:grid}.bot-detail-row{background:#ffffff0b;border:1px solid #ffffff14;border-radius:8px;gap:.16rem;min-width:0;padding:.52rem .6rem;display:grid}.bot-detail-row span,.stat-bar span,.empty-panel-note{color:#9ea9a1;text-transform:uppercase;font-size:.72rem}.bot-detail-row strong{color:#edf4ee;overflow-wrap:anywhere;font-size:.88rem}.bot-detail-row small{color:#cbd5d1;font-size:.76rem;line-height:1.25}.stat-bar{gap:.24rem;display:grid}.stat-bar div{justify-content:space-between;align-items:center;display:flex}.stat-bar strong{color:#edf4ee;font-size:.78rem}.stat-bar meter{width:100%;height:8px}.intermission-overlay{text-align:center;z-index:7;gap:.75rem;width:min(420px,100% - 2rem);padding:1.2rem;display:grid;top:50%;left:50%;transform:translate(-50%,-50%)}.intermission-overlay h2{font-size:1.35rem}.intermission-overlay p{color:#dbe5df}.post-match-overlay{z-index:9;gap:.9rem;width:min(760px,100% - 2rem);max-height:calc(100vh - 2rem);padding:1rem;display:grid;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.post-match-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.post-match-header span,.post-match-metrics span,.post-match-overlay h3{color:#f2c453;text-transform:uppercase;font-size:.74rem;font-weight:900}.post-match-header h2{margin-top:.12rem;font-size:clamp(1.7rem,4vw,3rem);line-height:.98}.post-match-header p,.post-match-metrics small,.placements-panel small,.your-fighters-panel span,.bet-results-panel span{color:#b8c4bc;font-size:.8rem}.post-match-metrics,.career-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.post-match-metrics article,.career-metric{background:#ffffff0e;border:1px solid #ffffff17;border-radius:8px;gap:.18rem;padding:.75rem;display:grid}.post-match-metrics strong,.career-metric strong{font-size:1.35rem}.your-fighters-panel,.placements-panel,.bet-results-panel{gap:.5rem;display:grid}.your-fighters-panel article,.placements-list article,.bet-results-panel article,.journal-entry{background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;gap:.2rem;padding:.65rem .75rem;display:grid}.placements-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.placements-list article.owned,.bet-results-panel article.won,.journal-entry.victory{border-color:#f2c4536b;box-shadow:inset 3px 0 #f2c453d1}.bet-results-panel article.lost,.journal-entry.setback{border-color:#f8717157}.ludus-shell{min-height:100vh;padding:clamp(1rem,2vw,1.6rem);position:relative;overflow:hidden}.ludus-shell:before{content:"";z-index:-1;background:radial-gradient(circle at 15% 15%,#f2c45329,#0000 28rem),radial-gradient(circle at 82% 8%,#38bdf821,#0000 24rem),linear-gradient(135deg,#0a0e0c 0%,#172018 48%,#101412 100%);position:fixed;inset:0}.ludus-hero,.ludus-layout,.ludus-profile,.ludus-roster,.ludus-card,.bot-profile-hero{min-width:0}.ludus-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;max-width:1280px;margin:0 auto 1rem;display:grid}.ludus-hero span,.bot-profile-hero span,.credit-tile span,.roster-heading span,.career-metric span,.ludus-stat-line span,.psychology-grid span,.doctrine-summary span{color:#9ea9a1;text-transform:uppercase;font-size:.72rem;font-weight:900}.ludus-hero h1{letter-spacing:-.06em;max-width:820px;font-size:clamp(2rem,5vw,4.5rem);line-height:.9}.ludus-hero p,.ludus-card p,.doctrine-card p{color:#b8c4bc;line-height:1.45}.ludus-hero-actions{align-items:center;gap:.55rem;display:flex}.credit-tile{color:inherit;cursor:pointer;font:inherit;text-align:left;background:#f2c4531a;border:1px solid #f2c45347;border-radius:8px;gap:.1rem;padding:.58rem .72rem;display:grid}.credit-tile:hover,.credit-tile:focus-visible{background:#f2c45329;border-color:#f2c45380}.credit-tile strong{color:#f2c453}.ludus-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:1rem;max-width:1280px;margin:0 auto;display:grid}.ludus-roster,.ludus-profile,.ludus-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c120fc7;border:1px solid #ffffff1c;border-radius:14px}.ludus-roster{align-content:start;gap:1rem;max-height:calc(100vh - 9rem);padding:.9rem;display:grid;overflow:auto}.roster-section,.ludus-roster-list,.ludus-profile,.ludus-card,.doctrine-card{gap:.65rem;display:grid}.roster-heading{justify-content:space-between;align-items:center;display:flex}.ludus-roster-card{color:#edf4ee;text-align:left;background:#ffffff0b;gap:.18rem;width:100%;padding:.7rem;display:grid}.ludus-roster-card.selected{border-color:#f2c45394;box-shadow:inset 3px 0 #f2c453}.ludus-roster-card span,.ludus-roster-card small,.preference-list span{color:#b8c4bc;font-size:.78rem}.ludus-profile{padding:1rem}.bot-profile-hero{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;display:grid}.bot-sigil{color:#171107;background:linear-gradient(135deg,#f2c453,#a16207);border-radius:18px;place-items:center;width:74px;height:74px;font-size:2.2rem;font-weight:1000;display:grid}.bot-profile-hero h2{letter-spacing:-.04em;font-size:clamp(1.6rem,4vw,3rem)}.ludus-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.ludus-tabs button.active{color:#08111a;background:#38bdf8}.ludus-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.ludus-card{padding:.9rem}.ludus-card h3{margin:0}.ludus-stat-line{gap:.3rem;display:grid}.ludus-stat-line div,.journal-entry div{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.ludus-stat-line meter{width:100%}.psychology-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.psychology-grid div{background:#ffffff0b;border-radius:8px;justify-content:space-between;align-items:center;padding:.45rem .55rem;display:flex}.preference-list{gap:.35rem;display:grid}.journal-card{max-height:58vh;overflow:auto}.journal-entry.training,.journal-entry.growth{border-color:#38bdf857}.journal-entry time{color:#9ea9a1;font-size:.72rem}.doctrine-card textarea{color:#edf4ee;font:inherit;resize:vertical;background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;min-height:140px;padding:.8rem}.doctrine-summary{background:#38bdf81a;border:1px solid #38bdf83d;border-radius:8px;gap:.16rem;padding:.75rem;display:grid}.spectator-top,.current-bot-list,.match-action-dock,.selected-bot-overlay,.selected-bot-details,.intermission-overlay,.post-match-overlay{pointer-events:auto}.arena-top-left{gap:.6rem;display:flex;top:1rem;left:1rem}.arena-top-left .metric{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c120fc2;min-width:86px;padding:.72rem .8rem}.arena-top-right{place-items:flex-end end;gap:.6rem;display:grid;top:1rem;right:1rem}.arena-top-right .player-bar,.camera-controls,.arena-actions,.mini-status,.match-log-overlay,.bot-inspector,.nameplate,.loot-label{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mini-status,.camera-controls,.arena-actions{align-items:center;gap:.45rem;display:flex}.mini-status{color:#dbe5df;background:#0e1410b8;border:1px solid #ffffff1f;border-radius:8px;padding:.48rem .62rem;font-size:.78rem}.camera-controls button,.arena-actions button,.inspector-actions button{text-transform:capitalize;padding:.5rem .7rem}.camera-controls .active{color:#08111a;background:#38bdf8}.match-log-overlay{background:#0a0f0dbf;border:1px solid #ffffff1f;border-radius:8px;width:min(390px,100% - 2rem);max-height:32vh;padding:.85rem;bottom:1rem;right:1rem;overflow:hidden}.match-log-overlay h2{color:#f2c453;text-transform:uppercase;margin-bottom:.55rem;font-size:.78rem}.match-log-list{gap:.45rem;margin-top:.55rem;display:grid}.log-line{border-top:1px solid #ffffff14;gap:.15rem;padding-top:.4rem;display:grid}.log-line span{color:#dbe5df;font-size:.82rem;line-height:1.3}.log-line.damage span,.log-line.kill span{color:#fed7aa}.log-line.loot span,.log-line.sponsor span{color:#bbf7d0}.log-line.thought span{color:#d9f99d}.bot-inspector{width:min(330px,100% - 2rem);bottom:1rem;right:1rem}.bot-inspector .bot-panel{background:#0c120fd1}.inspector-actions{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.55rem;display:grid}.nameplate,.loot-label,.damage-number,.creature-label,.arena-marker-label{color:#edf4ee;pointer-events:none;white-space:nowrap;border-radius:8px;box-shadow:0 10px 24px #00000047}.nameplate{text-align:center;background:#080d0bc7;border:1px solid #ffffff29;gap:.08rem;min-width:88px;padding:.26rem .42rem;display:grid}.nameplate strong{font-size:.72rem}.nameplate span{color:#cbd5d1;font-size:.62rem}.loot-label{color:#e5e7eb;background:#0c120fbd;border:1px solid #ffffff1f;padding:.2rem .36rem;font-size:.62rem}.loot-label.rare,.loot-label.legendary{color:#fde68a}.creature-label{text-align:center;background:#450a0ad1;border:1px solid #f8717161;gap:.05rem;min-width:84px;padding:.22rem .36rem;display:grid}.creature-label strong{color:#fecaca;font-size:.66rem}.creature-label span{color:#fee2e2;font-size:.58rem}.arena-marker-label{text-align:center;white-space:normal;background:#090c0ed1;border:1px solid #facc1566;gap:.08rem;max-width:190px;padding:.32rem .44rem;display:grid}.arena-marker-label.critical{border-color:#fb71859e}.arena-marker-label strong{color:#f8fafc;font-size:.66rem;line-height:1.1}.arena-marker-label span{color:#cbd5d1;font-size:.56rem;line-height:1.2}.damage-number{color:#fee2e2;background:#7f1d1dd1;border:1px solid #fecaca52;padding:.18rem .35rem;font-size:.82rem;font-weight:900;transition:opacity 80ms linear,transform 80ms linear}.damage-number.loot,.damage-number.winner{color:#dcfce7;background:#14532ddb;border-color:#bbf7d059}.influence-overlay{bottom:1rem;right:22rem}.sponsor-overlay{bottom:calc(32vh + 2rem);left:1rem}.bets-overlay{top:13.5rem;left:auto;right:1rem}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem;display:grid}.profile-block{background:#171d19;border:1px solid #ffffff1a;border-radius:8px;padding:.85rem}.profile-details{gap:.55rem;margin-top:.75rem;display:grid}.profile-details div,.recap-grid div{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.profile-details p,.timeline-block p{color:#dbe5df;font-size:.86rem;line-height:1.35}.timeline-block{background:#171d19;border:1px solid #ffffff1a;border-radius:8px;gap:.6rem;margin-top:.9rem;padding:.85rem;display:grid}.timeline-row{border-top:1px solid #ffffff14;gap:.18rem;padding-top:.55rem;display:grid}.timeline-row span{color:#dbe5df;line-height:1.35}.summary-heading strong{margin-top:.35rem;font-size:1.5rem;display:block}.summary-heading small{color:#c7d0ca;margin-top:.25rem;display:block}.recap-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:1rem;display:grid}.learning-recap{background:#ffffff0a;border-radius:8px;gap:.35rem;margin-top:1rem;padding:.7rem;display:grid}.learning-recap h3{color:#f2c453;text-transform:uppercase;margin:0;font-size:.78rem}.learning-recap p{color:#dbe5df;font-size:.86rem;line-height:1.35}.recap-grid div{background:#ffffff0a;border-radius:8px;padding:.55rem}.recap-grid span{color:#9ea9a1;text-transform:uppercase;font-size:.72rem}.recap-grid strong{color:#edf4ee;text-align:right;font-size:.84rem}.bot-panel dl{gap:.58rem;margin:1rem 0 0;display:grid}.bot-panel dl div{justify-content:space-between;align-items:center;gap:1rem;display:flex}dd{text-align:right;text-transform:capitalize;margin:0}.psychology-grid{gap:.45rem;margin-top:1rem;display:grid}.psychology-grid div{grid-template-columns:118px 1fr;align-items:center;gap:.5rem;display:grid}.psychology-grid span,.recent-results h3{color:#9ea9a1;text-transform:uppercase;font-size:.75rem}meter{width:100%}.recent-results{gap:.35rem;margin-top:1rem;display:grid}.recent-results p{color:#dbe5df;font-size:.86rem;line-height:1.35}.event-log{min-height:0}.sponsor-grid{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.85rem;display:grid}.sponsor-grid button{padding:.65rem .7rem}button:disabled{color:#87918b;cursor:not-allowed;background:#39403b}.summary-table{gap:.2rem;margin-top:1rem;display:grid}.summary-row{grid-template-columns:minmax(82px,1fr) 32px 48px 68px;align-items:center;gap:.5rem;padding:.35rem 0;display:grid}.summary-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.summary-row span:not(:first-child){color:#dbe5df;text-align:right}.summary-header span{color:#9ea9a1;text-transform:uppercase;font-size:.72rem}.event-list{gap:.7rem;margin-top:.85rem;display:grid}.event-row{border-top:1px solid #ffffff14;gap:.2rem;padding-top:.7rem;display:grid}.event-row span{color:#e3e9e5;line-height:1.35}@media (width<=900px){.battle-canvas,.stage{min-height:420px}.story-feed{max-width:280px}.ecology-overlay{display:none}.bot-popover{width:260px}.profile-grid,.recap-grid,.arena-bot-grid,.draft-grid,.end-stack,.creator-grid,.stat-editor{grid-template-columns:1fr}.bet-form{grid-template-columns:1fr 1fr}.influence-overlay{width:calc(100% - 1.5rem);bottom:.75rem;left:.75rem;right:auto}}@media (width<=560px){.app-shell{padding:.75rem}.canvas-header,.header-actions,.player-bar{flex-direction:column;align-items:stretch}button{width:100%}.hud{flex-direction:column}.story-feed{top:8.25rem;left:.75rem;right:.75rem}.sponsor-overlay{width:calc(100% - 1.5rem);bottom:.75rem;left:.75rem}.bot-popover{width:calc(100% - 1.5rem);bottom:7.8rem;transform:none;top:auto!important;left:.75rem!important}.bet-form,.stable-slots,.nudge-controls{grid-template-columns:1fr}.nudge-controls select:nth-child(3){grid-column:auto}}@media (width<=900px){.stage,.three-arena{min-height:100vh}.spectator-top,.arena-top-left{flex-wrap:wrap;top:.75rem;left:.75rem;right:.75rem}.arena-top-right{align-items:stretch;top:6.75rem;left:.75rem;right:.75rem}.arena-top-right .player-bar,.camera-controls,.arena-actions{justify-content:stretch}.match-log-overlay{width:calc(58% - 1rem);max-height:24vh;bottom:.75rem;right:.75rem}.match-action-dock{width:min(390px,48% - 1rem);bottom:.75rem;left:.75rem}.bot-inspector{width:calc(42% - 1rem);bottom:.75rem;right:.75rem}.influence-overlay{width:min(360px,100% - 1.5rem);bottom:calc(24vh + 1.5rem);left:.75rem;right:auto}.sponsor-overlay{display:none}.ludus-hero,.ludus-layout,.ludus-grid,.post-match-metrics,.placements-list{grid-template-columns:1fr}.ludus-hero-actions,.bot-profile-hero,.post-match-header{grid-template-columns:1fr;align-items:stretch}.ludus-roster{max-height:none}}@media (width<=560px){.app-shell{padding:0}.spectator-top select,.spectator-top button{flex:118px}.arena-top-left .metric{min-width:72px}.match-log-overlay{width:calc(100% - 1.5rem);max-height:24vh;bottom:.75rem;left:.75rem;right:.75rem}.match-action-dock{width:calc(100% - 1.5rem);bottom:13.5rem;left:.75rem;right:.75rem}.amount-row{grid-template-columns:repeat(3,minmax(0,1fr))}.amount-row input{grid-column:1/-1}.match-highlight{width:calc(100% - 1.5rem);top:7.4rem}.view-switcher{top:.75rem;left:auto;right:.75rem;transform:none}.bot-inspector{width:auto;bottom:.75rem;left:.75rem;right:.75rem}.influence-overlay{bottom:14rem}.intro-overlay,.modal-backdrop{align-items:flex-start;overflow:auto}.post-match-overlay{align-content:start;height:calc(100vh - 1.5rem);max-height:none;top:.75rem;transform:translate(-50%)}.ludus-shell{padding:.75rem}.ludus-hero-actions{display:grid}body{overflow:hidden}.stage,.three-arena{height:100svh;min-height:100svh}.spectator-top{scrollbar-width:none;flex-wrap:nowrap;gap:.4rem;padding-bottom:.2rem;top:.5rem;left:.5rem;right:6.8rem;overflow-x:auto}.spectator-top::-webkit-scrollbar{display:none}.spectator-top .metric{flex:none;min-width:64px;padding:.45rem .52rem}.spectator-top .metric:nth-of-type(4){display:none}.spectator-top .metric span{font-size:.58rem}.spectator-top .metric strong{font-size:.86rem}.spectator-top select,.spectator-top button{flex:none;width:auto;min-width:94px;min-height:30px;padding:.32rem .42rem;font-size:.72rem}.view-switcher{gap:.28rem;width:4.6rem;display:grid;top:3.55rem;left:.5rem;right:auto}.view-switcher button{width:4.6rem;min-width:4.6rem;min-height:30px;padding:.36rem .5rem}.current-bot-list,.match-log-overlay,.narrative-toasts{display:none}.match-action-dock{gap:.45rem;width:calc(100% - 1rem);max-width:none;max-height:38svh;padding:.55rem;bottom:.5rem;left:.5rem;right:.5rem;overflow:hidden auto}.action-dock-header{gap:.45rem}.action-dock-header strong,.betting-card-title strong{font-size:.9rem}.action-dock-header span,.betting-card-title span{font-size:.62rem}.action-dock-header button{width:auto;min-height:30px;padding:.34rem .5rem}.betting-card{gap:.42rem;padding:.5rem}.odds-pill{padding:.28rem .38rem;font-size:.8rem}.dock-field-row,.sponsor-quick-grid{gap:.35rem}.amount-row{flex-wrap:wrap;gap:.35rem;display:flex}.amount-row button{flex:1 1 0}.amount-row button:nth-of-type(3){display:none}.amount-row input{flex:1 0 100%}.match-action-dock button,.match-action-dock select,.match-action-dock input{min-width:0;min-height:30px;padding:.32rem .42rem;font-size:.72rem}.primary-bet-button{min-height:34px}.betting-meta,.match-action-dock small,.sponsor-strip{display:none}.selected-bot-dock{max-width:calc(100% - 1rem);bottom:calc(38svh + .9rem)}.selected-bot-overlay{gap:.45rem;width:auto;min-height:42px;padding:.44rem .55rem;overflow-x:auto}.selected-bot-overlay div{flex:none;min-width:52px}.selected-bot-overlay span{font-size:.58rem}.selected-bot-overlay strong{font-size:.78rem}.selected-bot-details{max-height:24svh;overflow:auto}.match-highlight{top:3.8rem}.modal-backdrop{position:fixed}}
