/* TESITURA 0.4.3 — sala única, pizarra profesional y colaborativa */
.tsa-stage.tsa-scene-mode{grid-template-rows:minmax(0,1fr)}
.tsa-stage.tsa-scene-mode>.tsa-participant-rail{display:none}
.tsa-stage.tsa-scene-mode>.tsa-panel-view{background:#f5f7fc}
.tsa-live-room{--ink:#111a33;--muted:#6c748c;--line:#dfe4ef;--blue:#4169ef;--violet:#8a4de8;--accent:linear-gradient(135deg,#4779f6,#8b4de8);position:relative;height:100%;min-height:600px;display:grid;grid-template-rows:minmax(300px,1fr) 230px 48px;overflow:hidden;background:#f5f7fc;color:var(--ink);isolation:isolate}
.tsa-live-room.poker-open{grid-template-rows:minmax(260px,1fr) auto 210px 48px}

/* Pizarra principal */
.tsa-room-board-zone{position:relative;z-index:5;min-height:0;padding:10px 12px 8px;background:#fff;border-bottom:1px solid var(--line)}
.tsa-room-board-zone .tsa-board-shell{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;padding:0}
.tsa-room-board-zone .tsa-board-toolbar{min-height:48px;display:flex;align-items:center;gap:7px;padding:5px 7px;border:1px solid #e2e6f0;border-radius:12px;background:#fff;box-shadow:0 7px 24px rgba(28,42,85,.07);overflow-x:auto;scrollbar-width:thin}
.tsa-board-title{flex:0 0 auto;display:flex;align-items:center;gap:9px;padding-right:8px;border-right:1px solid #e5e8f1}
.tsa-board-title>span{width:9px;height:9px;border-radius:50%;background:#4f76f4;box-shadow:0 0 0 4px rgba(79,118,244,.12)}
.tsa-board-title>div{display:grid;gap:1px}.tsa-board-title strong{font-size:11px;line-height:1.1}.tsa-board-title small{color:#7b8296;font-size:8px;white-space:nowrap}
.tsa-tool-group{flex:0 0 auto;display:flex;gap:3px;padding-right:6px;border-right:1px solid #e5e8f1}.tsa-tool-group.create{border:0}
.tsa-room-board-zone .tsa-tool{min-height:32px;padding:0 9px;border:1px solid transparent;border-radius:8px;background:#f6f7fb;color:#4e566c;font-size:9px;font-weight:750;white-space:nowrap;cursor:pointer}
.tsa-room-board-zone .tsa-tool:hover:not(:disabled){border-color:#ccd6fa;background:#f0f4ff;color:#3154d9}
.tsa-room-board-zone .tsa-tool.active{border-color:#b7c6fb;background:#eaf0ff;color:#284ecf;box-shadow:inset 0 0 0 1px rgba(65,105,239,.08)}
.tsa-room-board-zone .tsa-tool.danger{color:#c64a64}.tsa-room-board-zone .tsa-tool.subtle{background:#fff}.tsa-room-board-zone .tsa-tool:disabled{opacity:.42;cursor:not-allowed}
.tsa-room-board-zone .tsa-color{flex:0 0 auto;width:31px;height:31px;padding:3px;border:1px solid #dce1ed;border-radius:8px;background:#fff;cursor:pointer}
.tsa-board-zoom{flex:0 0 auto;display:flex;align-items:center;gap:3px;margin-left:auto;padding-left:3px}.tsa-board-zoom button{width:31px;height:31px;border:1px solid #dfe4ef;border-radius:8px;background:#fff;color:#35405b;font-weight:850;cursor:pointer}.tsa-board-zoom button:hover{border-color:#b7c6fb;background:#f2f5ff}.tsa-board-zoom strong{min-width:40px;text-align:center;color:#747c91;font-size:9px}
.tsa-room-board-zone .tsa-board-viewport{position:relative;min-height:0;overflow:auto;border:1px solid #dfe4ef;border-radius:13px;background:#f7f9fd;box-shadow:inset 0 1px 4px rgba(31,45,86,.05)}
.tsa-room-board-zone .tsa-board-viewport.note-drop-ready{border-color:#7959e9;box-shadow:inset 0 0 0 3px rgba(121,89,233,.15)}
.tsa-board-scale-layer{position:relative;transform-origin:0 0}
.tsa-room-board-zone .tsa-board-canvas{position:absolute;left:0;top:0;width:1600px;height:900px;transform-origin:0 0;background-color:#fbfcff;background-image:radial-gradient(#cdd5e6 1px,transparent 1px);background-size:20px 20px;touch-action:none;user-select:none}
.tsa-board-placeholder{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:410px;min-height:86px;padding:20px;border:1px dashed #cdd5e6;border-radius:14px;background:rgba(255,255,255,.88);color:#8a91a4;font-size:13px;text-align:center;transform:translate(-50%,-50%)}
.tsa-room-board-zone .tsa-board-object{color:#1b2440}.tsa-room-board-zone .tsa-board-object.selected{border-color:#4f76f4;box-shadow:0 0 0 3px rgba(79,118,244,.14)}
.tsa-room-board-zone .tsa-board-object.card{border:1px solid rgba(65,105,239,.14);background:#eef3ff;color:#1d2a50;box-shadow:0 10px 24px rgba(39,64,132,.13)}
.tsa-room-board-zone .tsa-board-object.debate_card{border:1px solid rgba(138,77,232,.18);background:#f4ecff;color:#352052;box-shadow:0 10px 24px rgba(99,61,153,.14)}
.tsa-room-board-zone .tsa-board-object.marker{opacity:.5;mix-blend-mode:multiply}
.tsa-live-room.board-expanded .tsa-room-board-zone{position:absolute;z-index:80;inset:0 0 48px;padding:12px;background:#f6f8fc}
.tsa-live-room.board-expanded .tsa-conference-scene,.tsa-live-room.board-expanded .tsa-inline-poker{display:none}

/* Poker como barra horizontal dentro de la sala */
.tsa-inline-poker{position:relative;z-index:10;display:grid;grid-template-columns:160px minmax(0,1fr);min-height:132px;max-height:238px;border-bottom:1px solid #dfe4ef;background:#fff;box-shadow:0 12px 30px rgba(39,53,100,.08);overflow:hidden;animation:tsa-strip-in .22s ease both}
.tsa-inline-poker>header{display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:15px;border-right:1px solid #e1e5ef;background:linear-gradient(160deg,#f8faff,#f2edff)}
.tsa-inline-poker>header>div{display:flex;align-items:center;gap:9px}.tsa-inline-poker>header>div>div{display:grid;gap:3px}.tsa-inline-poker>header small{color:#6c59d9;font-size:8px;font-weight:850;letter-spacing:.1em}.tsa-inline-poker>header strong{font-size:13px}
.tsa-pixel-card-mini{display:grid;place-items:center;width:34px;height:44px;border:3px solid #223054;background:#fff;box-shadow:3px 3px 0 #b9c5ea;color:#5b5ee7;font-size:18px;image-rendering:pixelated}
.tsa-inline-poker .tsa-poker-close{align-self:flex-start;width:31px;height:31px;border:1px solid #d8deeb;border-radius:8px;background:#fff;color:#4d566d;font-size:20px;cursor:pointer}
.tsa-inline-poker .tsa-poker-console-body{min-width:0;display:grid;align-content:center;padding:12px 16px;overflow:auto}
.tsa-inline-poker .tsa-round-start{display:grid;grid-template-columns:minmax(210px,1fr) minmax(270px,.9fr) auto;align-items:end;gap:9px;padding:0;background:transparent;border:0}
.tsa-inline-poker .tsa-round-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tsa-inline-poker .tsa-custom-deck{grid-column:1/-1}.tsa-inline-poker .tsa-field label{color:#687086}.tsa-inline-poker .tsa-input,.tsa-inline-poker .tsa-select{min-height:37px;background:#fff;color:#17213b;border-color:#dbe1ed}
.tsa-inline-poker .tsa-deck{display:flex;align-items:center;gap:7px;margin:9px 0 6px;overflow-x:auto;padding:4px 3px 7px;scrollbar-width:thin}
.tsa-inline-poker .tsa-poker-card{position:relative;flex:0 0 54px;width:54px;height:70px;display:grid;place-items:center;overflow:hidden;border:3px solid #263458;border-radius:3px;background:#fff;box-shadow:3px 4px 0 #c5cce0;color:#253255;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}
.tsa-inline-poker .tsa-poker-card:before{content:"";position:absolute;inset:5px;border:2px solid #6378ef;background:repeating-linear-gradient(45deg,transparent 0 6px,rgba(111,85,225,.07) 6px 8px)}
.tsa-inline-poker .tsa-poker-card strong{position:relative;z-index:2;font:900 19px/1 ui-monospace,Consolas,monospace}.tsa-inline-poker .tsa-poker-card.selected{transform:translateY(-4px);border-color:#654fe0;background:#f3f0ff;box-shadow:0 0 0 3px rgba(101,79,224,.15),4px 7px 0 #c8c0ef}.tsa-inline-poker .tsa-poker-card:disabled{cursor:default;opacity:.7}
.tsa-inline-poker .tsa-card-corner{position:absolute;z-index:2;left:6px;top:5px;font:800 7px/1 ui-monospace,monospace}.tsa-inline-poker .tsa-card-mark{position:absolute;z-index:2;right:6px;bottom:5px;color:#7257df;font:900 8px/1 ui-monospace,monospace}
.tsa-inline-poker .tsa-poker-round-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.tsa-inline-poker .tsa-poker-round-head small{color:#6755d7;font-size:8px;font-weight:800}.tsa-inline-poker .tsa-poker-round-head h3{margin:3px 0 0;font-size:15px}.tsa-inline-poker .tsa-vote-counter{min-width:65px;height:45px;display:grid;grid-template-columns:auto auto;place-content:center;align-items:baseline;column-gap:2px;border:1px solid #d9dfeb;border-radius:9px;background:#f6f8fc;color:#6b7388;font-size:11px}.tsa-inline-poker .tsa-vote-counter strong{color:#24304e;font-size:20px}.tsa-inline-poker .tsa-vote-counter small{grid-column:1/-1;font-size:6px}.tsa-inline-poker .tsa-vote-counter.ready{border-color:#bcb1ef;background:#f3efff;color:#694ed2}
.tsa-inline-poker .tsa-poker-actions{display:flex;justify-content:flex-end;gap:7px;margin:4px 0}.tsa-inline-poker .tsa-reveal-button.ready{box-shadow:0 0 0 3px rgba(112,78,220,.14);animation:tsa-ready-pulse 1.2s ease infinite}.tsa-inline-poker .tsa-revealed-results{display:flex;gap:6px;margin:4px 0}.tsa-inline-poker .tsa-stat{min-width:88px;padding:7px;border:1px solid #dfe4ef;background:#f8f9fc}.tsa-inline-poker .tsa-distribution{margin-top:5px}.tsa-inline-poker .tsa-poker-empty{display:grid;place-items:center;text-align:center}.tsa-inline-poker .tsa-poker-empty h3{margin:0 0 3px}.tsa-inline-poker .tsa-poker-empty p{margin:0;color:#737b90}

/* Sala de conferencia en pixel art */
.tsa-conference-scene{position:relative;z-index:2;min-height:210px;overflow:hidden;background:#f4f6fb;color:#17203a;image-rendering:pixelated}
.tsa-conference-scene:after{content:"";position:absolute;z-index:30;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(49,64,110,.018) 0 1px,transparent 1px 4px);opacity:.45}
.tsa-conference-wall{position:absolute;z-index:0;inset:0 0 38%;border-bottom:5px solid #d5dbe9;background:linear-gradient(180deg,#fff,#f1f4fa)}
.tsa-wall-panel{position:absolute;top:20%;width:24%;height:50%;border:4px solid #dce2ee;background:#f7f9fd;box-shadow:inset 0 0 0 4px #fff}.tsa-wall-panel.p1{left:7%}.tsa-wall-panel.p2{right:7%}
.tsa-wall-light{position:absolute;top:10%;width:18%;height:5px;background:#fff;box-shadow:0 4px 10px rgba(67,92,166,.17)}.tsa-wall-light.l1{left:18%}.tsa-wall-light.l2{right:18%}
.tsa-brand-plaque{position:absolute;left:50%;top:12%;display:grid;place-items:center;width:66px;height:52px;border:4px solid #25345a;background:linear-gradient(135deg,#4b7af4,#8a4de8);box-shadow:5px 5px 0 #cfd6e7;color:#fff;font:900 28px/1 ui-monospace,monospace;transform:translateX(-50%)}
.tsa-conference-floor{position:absolute;z-index:0;inset:62% 0 0;background:repeating-linear-gradient(90deg,transparent 0 12%,rgba(56,71,112,.06) 12% 12.35%),linear-gradient(#e6eaf3,#dce2ed)}
.tsa-table-wrap{position:absolute;z-index:5;left:21%;right:21%;top:31%;bottom:15%;filter:drop-shadow(0 16px 13px rgba(46,59,98,.2))}
.tsa-meeting-table{position:absolute;inset:0;border:5px solid #263351;background:linear-gradient(135deg,rgba(255,255,255,.6),transparent 30%),repeating-linear-gradient(90deg,#e2e7f2 0 70px,#d8deea 70px 140px);box-shadow:inset 0 0 0 4px #f7f9fc,inset 0 -10px #bfc8da;clip-path:polygon(11% 0,89% 0,100% 26%,94% 100%,6% 100%,0 26%)}
.tsa-meeting-table:before{content:"";position:absolute;left:14%;right:14%;top:49%;height:3px;background:#b9c3d6;box-shadow:0 4px #eef1f7}
.tsa-table-core{position:absolute;left:46%;top:27%;display:grid;place-items:center;width:8%;height:33%;border:3px solid #2c3b63;background:linear-gradient(135deg,#4c7bf5,#8d50e8);color:#fff;font:900 15px/1 ui-monospace,monospace;box-shadow:3px 4px 0 #aeb9d0}
.tsa-table-object{position:absolute;z-index:8;display:grid;place-items:center;gap:1px;width:58px;height:45px;padding:3px;border:3px solid #2a385d;background:#fff;color:#2c3a5e;box-shadow:3px 4px 0 #b7c1d5;cursor:pointer;image-rendering:pixelated}.tsa-table-object:hover{transform:translateY(-2px);box-shadow:4px 7px 0 #b7c1d5}.tsa-table-object b{font-size:15px;line-height:1}.tsa-table-object small{font:800 6px/1 ui-monospace,monospace}.tsa-table-object i{position:absolute;right:-7px;top:-8px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 3px;border:2px solid #fff;background:#7654df;color:#fff;font:900 7px/1 ui-monospace,monospace}.tsa-table-object.notes{right:14%;bottom:14%;transform:rotate(2deg)}.tsa-table-object.poker{left:14%;bottom:14%;color:#694fd7;transform:rotate(-2deg)}.tsa-table-object.board{left:calc(50% - 29px);top:7%;color:#3861d9}
.tsa-room-participants{position:absolute;z-index:12;inset:0;pointer-events:none}
.tsa-room-person{position:absolute;width:88px;min-height:82px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:0;border:0;background:transparent;color:#1d2744;pointer-events:auto;cursor:pointer;filter:drop-shadow(0 5px 3px rgba(36,48,82,.18));transition:transform .15s ease,filter .15s ease}
.tsa-room-person:hover:not(:disabled),.tsa-room-person:focus-visible:not(:disabled){transform:translateY(-3px);filter:drop-shadow(0 8px 5px rgba(45,58,100,.24));outline:0}.tsa-room-person:disabled{cursor:default}.tsa-room-person.offline{opacity:.45;filter:grayscale(.6)}
.tsa-room-person.slot-0{left:calc(50% - 44px);top:58%;z-index:19}.tsa-room-person.slot-1{left:calc(35% - 44px);top:57%;z-index:18}.tsa-room-person.slot-2{left:calc(65% - 44px);top:57%;z-index:18}.tsa-room-person.slot-3{left:calc(17% - 44px);top:43%;z-index:16}.tsa-room-person.slot-4{left:calc(83% - 44px);top:43%;z-index:16}.tsa-room-person.slot-5{left:calc(20% - 44px);top:7%;z-index:7}.tsa-room-person.slot-6{left:calc(80% - 44px);top:7%;z-index:7}.tsa-room-person.slot-7{left:calc(35% - 44px);top:1%;z-index:6}.tsa-room-person.slot-8{left:calc(65% - 44px);top:1%;z-index:6}.tsa-room-person.slot-9{left:calc(50% - 44px);top:0;z-index:5}
.tsa-room-person.overflow-seat{left:calc(2% + (var(--overflow) * 8.5%));top:1%;z-index:20;transform:scale(.68)}
.tsa-person-frame{position:relative;z-index:3;width:45px;height:45px;padding:4px;border:3px solid #2c395e;background:#fff;box-shadow:0 0 0 2px #bfc9dd,3px 4px 0 rgba(44,57,94,.18);clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px)}
.tsa-room-person.self .tsa-person-frame{box-shadow:0 0 0 2px #5a73ec,0 0 15px rgba(90,115,236,.3),3px 4px 0 rgba(44,57,94,.18)}
.tsa-person-frame .tsa-avatar{width:100%;height:100%;border:0;border-radius:1px;background:linear-gradient(135deg,#eaf0ff,#eee8ff);color:#3d50a6;font:900 11px/1 ui-monospace,monospace}.tsa-person-frame .tsa-online-dot{right:-7px;top:-7px;width:8px;height:8px;border:2px solid #fff;border-radius:0;background:#48c990;box-shadow:0 0 7px rgba(72,201,144,.7)}
.tsa-pixel-chair{position:absolute;z-index:1;top:29px;width:61px;height:38px;border:4px solid #34405f;background:#d7ddea;box-shadow:inset 0 0 0 3px #eef1f7,4px 5px 0 rgba(46,58,93,.16);clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% 100%,0 100%,0 7px)}
.tsa-room-person>strong{position:relative;z-index:5;max-width:88px;margin-top:1px;padding:3px 6px;border:1px solid #d8deea;border-radius:4px;background:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 8px/1 ui-monospace,monospace}.tsa-room-person>small{position:relative;z-index:5;max-width:84px;color:#7a8296;font:700 6px/1 ui-monospace,monospace;text-transform:uppercase}
.tsa-seat-vote{position:absolute;z-index:14;left:calc(50% + 9px);top:-20px;display:flex;align-items:center;justify-content:center;pointer-events:none}.tsa-seat-vote.voted{min-width:42px;height:21px;gap:3px;padding:0 4px;border:3px solid #2a385c;background:#e8f9f2;box-shadow:2px 3px 0 #a9d8c4;color:#19724e;animation:tsa-vote-pop .24s steps(3,end)}.tsa-seat-vote.voted i{font:900 10px/1 ui-monospace,monospace}.tsa-seat-vote.voted small{font:900 6px/1 ui-monospace,monospace}
.tsa-seat-vote.revealed,.tsa-seat-vote.missed{width:38px;height:50px;border:3px solid #29365a;background:#fff;box-shadow:0 0 0 2px #8b74ee,3px 4px 0 rgba(40,52,86,.2);color:#29365a;transform-origin:center bottom;animation:tsa-card-flip .62s cubic-bezier(.2,.7,.2,1)}.tsa-seat-vote.revealed:before{content:"";position:absolute;inset:4px;border:2px solid #6578eb;background:repeating-linear-gradient(45deg,transparent 0 5px,rgba(101,120,235,.08) 5px 7px)}.tsa-seat-vote.revealed i,.tsa-seat-vote.missed i{position:relative;z-index:2;font:900 15px/1 ui-monospace,monospace}.tsa-seat-vote.missed{background:#e7eaf0;color:#8a91a1;box-shadow:3px 4px 0 #c6ccd7}
.tsa-scene-status{position:absolute;z-index:20;left:9px;right:9px;bottom:6px;display:flex;justify-content:space-between;color:#737b90;font-size:8px}.tsa-scene-status span{display:flex;align-items:center;gap:5px}.tsa-scene-status i{width:7px;height:7px;border-radius:50%;background:#50c990;box-shadow:0 0 6px rgba(80,201,144,.6)}

/* Notas laterales y barra inferior */
.tsa-room-notes-drawer{position:absolute;z-index:70;right:0;top:0;bottom:48px;width:min(390px,100%);display:grid;grid-template-rows:auto auto minmax(0,1fr);border-left:1px solid #dce2ed;background:#fff;box-shadow:-18px 0 45px rgba(37,50,91,.15);animation:tsa-drawer-in .22s ease both;overflow:hidden}
.tsa-room-notes-drawer>header{display:flex;justify-content:space-between;gap:15px;padding:17px;border-bottom:1px solid #e1e5ee;background:linear-gradient(145deg,#fff,#f6f3ff)}.tsa-room-notes-drawer h2{margin:2px 0 3px;font-size:18px}.tsa-room-notes-drawer p{margin:0;color:#737c92;font-size:10px}.tsa-room-notes-drawer>header small{color:#7056dc;font-size:8px;font-weight:850;letter-spacing:.1em}.tsa-room-notes-drawer .tsa-poker-close{width:32px;height:32px;border:1px solid #dce1eb;border-radius:8px;background:#fff;color:#4c556b;font-size:20px;cursor:pointer}
.tsa-notes-compose{padding:13px;border-bottom:1px solid #e4e8f0;background:#fafbfe}.tsa-notes-compose form{display:grid;gap:8px}.tsa-notes-compose .tsa-textarea{min-height:72px}.tsa-room-note-list{display:grid;align-content:start;gap:8px;padding:12px;overflow:auto}.tsa-room-note-list .tsa-note{padding:12px;border:1px solid #e0e5ee;border-radius:11px;background:#fff;color:#1e2844;box-shadow:0 7px 18px rgba(44,58,99,.06)}.tsa-room-note-list .tsa-note.idea{border-color:#d9cff8;background:#fbf9ff}.tsa-room-note-list .tsa-note.draggable{cursor:grab}.tsa-room-note-list .tsa-note.dragging{opacity:.5}.tsa-room-note-list .tsa-note>p{color:#4e5870}.tsa-drag-hint{display:block;margin-top:7px;color:#7056dc;font-size:8px;font-weight:800}
.tsa-room-footer{position:relative;z-index:75;display:flex;align-items:center;justify-content:center;gap:12px;padding:4px 12px;border-top:1px solid #dfe4ed;background:#fff;color:#70798e;font-size:9px}.tsa-quick-reactions{display:flex;align-items:center;gap:4px}.tsa-quick-reactions>small{margin-right:4px;color:#8b91a2;font-size:7px;font-weight:850;letter-spacing:.1em}.tsa-quick-reactions button{min-height:34px;display:flex;align-items:center;gap:5px;padding:0 9px;border:1px solid transparent;border-radius:8px;background:#f6f7fb;color:#515a70;font-size:8px;font-weight:750;cursor:pointer}.tsa-quick-reactions button:hover:not(:disabled),.tsa-quick-reactions button.active{border-color:#cfc5f5;background:#f3efff;color:#6045ca}.tsa-quick-reactions button:disabled{opacity:.42;cursor:not-allowed}.tsa-quick-reactions button b{font-size:13px}.tsa-connection{position:absolute;right:12px;display:flex;align-items:center;gap:5px}.tsa-connection i{width:7px;height:7px;border-radius:50%;background:#4cc78f;box-shadow:0 0 6px rgba(76,199,143,.55)}

/* Revelación */
.tsa-global-reveal{position:fixed;z-index:220;inset:0;display:grid;place-items:center;overflow:hidden;pointer-events:none;background:rgba(28,36,66,0);opacity:0;transition:opacity .14s ease,background .18s ease}.tsa-global-reveal.visible{opacity:1;background:rgba(28,36,66,.35)}.tsa-global-reveal.leaving{opacity:0}.tsa-global-reveal>div{position:relative;z-index:2;display:grid;justify-items:center;gap:7px;padding:24px 38px;border:5px solid #2b385d;background:#fff;box-shadow:0 0 0 3px #8568e8,8px 10px 0 rgba(39,50,84,.24),0 0 75px rgba(119,88,225,.28);color:#202b49;transform:scale(.6) rotate(-2deg);animation:tsa-reveal-title .68s cubic-bezier(.16,.9,.2,1) forwards}.tsa-global-reveal small{color:#6c51d8;font:900 8px/1 ui-monospace,monospace;letter-spacing:.14em}.tsa-global-reveal strong{font:900 clamp(20px,4vw,44px)/1 ui-monospace,Consolas,monospace;text-align:center;letter-spacing:.04em}.tsa-global-reveal em{color:#687187;font:normal 10px/1.2 system-ui,sans-serif}.tsa-reveal-rays{position:absolute;width:80vmax;height:80vmax;background:repeating-conic-gradient(from 0deg,rgba(90,113,235,.2) 0 5deg,rgba(137,78,230,.05) 5deg 12deg);animation:tsa-rays 3s linear infinite;mask:radial-gradient(circle,#000 0 45%,transparent 72%)}
.tsa-live-room.is-revealing .tsa-meeting-table{animation:tsa-table-reveal .7s steps(4,end)}

@keyframes tsa-strip-in{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:none}}
@keyframes tsa-drawer-in{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
@keyframes tsa-vote-pop{0%{transform:scale(.3)}70%{transform:scale(1.18)}100%{transform:scale(1)}}
@keyframes tsa-card-flip{0%{transform:perspective(160px) rotateY(90deg) translateY(8px)}60%{transform:perspective(160px) rotateY(-8deg) translateY(-5px)}100%{transform:perspective(160px) rotateY(0) translateY(0)}}
@keyframes tsa-ready-pulse{50%{filter:brightness(1.05);transform:translateY(-1px)}}
@keyframes tsa-reveal-title{0%{transform:scale(.6) rotate(-2deg)}55%{transform:scale(1.08) rotate(1deg)}75%{transform:scale(.97)}100%{transform:scale(1)}}
@keyframes tsa-rays{to{transform:rotate(1turn)}}
@keyframes tsa-table-reveal{0%,100%{filter:brightness(1)}50%{filter:brightness(1.2);box-shadow:inset 0 0 0 4px #fff,0 0 38px #745be0}}

@media(max-width:1050px){
  .tsa-live-room{grid-template-rows:minmax(280px,1fr) 215px 48px}.tsa-live-room.poker-open{grid-template-rows:minmax(230px,1fr) auto 190px 48px}
  .tsa-board-title>div{display:none}.tsa-inline-poker{grid-template-columns:130px minmax(0,1fr)}.tsa-inline-poker .tsa-round-start{grid-template-columns:1fr auto}.tsa-inline-poker .tsa-round-options{grid-column:1/2}.tsa-inline-poker .tsa-start-vote{grid-column:2;grid-row:1/3}.tsa-inline-poker .tsa-custom-deck{grid-column:1/-1}
  .tsa-table-wrap{left:14%;right:14%}.tsa-room-person{transform:scale(.88)}.tsa-room-person:hover:not(:disabled){transform:scale(.88) translateY(-3px)}
}
@media(max-width:720px){
  .tsa-live-room{min-height:500px;grid-template-rows:minmax(270px,1fr) 188px 44px}.tsa-live-room.poker-open{grid-template-rows:minmax(220px,1fr) auto 170px 44px}
  .tsa-room-board-zone{padding:6px}.tsa-room-board-zone .tsa-board-toolbar{min-height:43px;padding:4px}.tsa-board-title{display:none}.tsa-room-board-zone .tsa-tool{min-height:30px;padding:0 8px}.tsa-tool-group{padding-right:3px}.tsa-board-zoom strong{display:none}
  .tsa-inline-poker{grid-template-columns:1fr;max-height:285px}.tsa-inline-poker>header{min-height:44px;flex-direction:row;align-items:center;padding:7px 10px;border-right:0;border-bottom:1px solid #e1e5ef}.tsa-inline-poker>header .tsa-pixel-card-mini{width:28px;height:34px;font-size:14px}.tsa-inline-poker .tsa-poker-console-body{padding:9px}.tsa-inline-poker .tsa-round-start{grid-template-columns:1fr}.tsa-inline-poker .tsa-round-options,.tsa-inline-poker .tsa-start-vote,.tsa-inline-poker .tsa-custom-deck{grid-column:auto;grid-row:auto}.tsa-inline-poker .tsa-deck{margin:6px 0}.tsa-inline-poker .tsa-poker-card{flex-basis:46px;width:46px;height:59px}.tsa-inline-poker .tsa-poker-card strong{font-size:15px}
  .tsa-conference-wall{bottom:40%}.tsa-wall-panel{display:none}.tsa-brand-plaque{top:9%;width:48px;height:38px;font-size:20px}.tsa-table-wrap{left:4%;right:4%;top:30%;bottom:17%}.tsa-table-object{transform:scale(.82)!important}.tsa-table-object.board{display:none}
  .tsa-room-person{width:70px;min-height:68px;transform:scale(.7)}.tsa-room-person:hover:not(:disabled){transform:scale(.7)}.tsa-room-person.slot-0{left:calc(50% - 35px)}.tsa-room-person.slot-1{left:calc(32% - 35px)}.tsa-room-person.slot-2{left:calc(68% - 35px)}.tsa-room-person.slot-3{left:calc(7% - 35px)}.tsa-room-person.slot-4{left:calc(93% - 35px)}.tsa-room-person.slot-5{left:calc(12% - 35px)}.tsa-room-person.slot-6{left:calc(88% - 35px)}.tsa-room-person.slot-7{left:calc(32% - 35px)}.tsa-room-person.slot-8{left:calc(68% - 35px)}.tsa-room-person.slot-9{left:calc(50% - 35px)}
  .tsa-room-footer{justify-content:flex-start;overflow-x:auto}.tsa-quick-reactions>small,.tsa-connection{display:none}.tsa-quick-reactions{margin:auto}.tsa-quick-reactions button{min-height:32px;padding:0 7px}.tsa-quick-reactions button span{display:none}.tsa-quick-reactions button b{font-size:15px}
  .tsa-room-notes-drawer{bottom:44px;width:100%}
}
@media(max-width:440px){
  .tsa-live-room{grid-template-rows:minmax(250px,1fr) 168px 44px}.tsa-live-room.poker-open{grid-template-rows:minmax(190px,1fr) auto 150px 44px}
  .tsa-room-board-zone .tsa-tool-group:first-of-type .tsa-tool:nth-child(n+6){display:none}.tsa-room-board-zone .tsa-tool-group.create .tsa-tool.subtle{display:none}.tsa-board-zoom button{width:29px;height:29px}
  .tsa-inline-poker .tsa-poker-round-head h3{font-size:12px}.tsa-inline-poker .tsa-vote-counter{min-width:55px}.tsa-inline-poker .tsa-revealed-results{overflow-x:auto}
  .tsa-room-person{transform:scale(.62)}.tsa-room-person:hover:not(:disabled){transform:scale(.62)}.tsa-table-object{width:51px;height:40px}.tsa-scene-status{font-size:7px}
}
@media(prefers-reduced-motion:reduce){.tsa-live-room,.tsa-global-reveal{scroll-behavior:auto!important}}

/* =========================================================
   TESITURA 0.4.1 — sala profesional, estable y co-work first
   ========================================================= */
.tsa-live-room{--ink:#272a31;--muted:#70737b;--line:#d7dae0;--blue:#5873cf;--violet:#7356c4;min-height:560px;grid-template-rows:minmax(310px,1fr) clamp(210px,27vh,250px) 52px;background:#eef0f3;color:var(--ink)}
.tsa-live-room.poker-open{grid-template-rows:minmax(260px,1fr) auto clamp(190px,24vh,225px) 52px}

/* Pizarra: papel cálido, toolbar tranquila, sin relampagueo visual */
.tsa-room-board-zone{padding:9px 10px 8px;border-bottom-color:#d6d9df;background:#f5f5f4}
.tsa-room-board-zone .tsa-board-shell{gap:7px}
.tsa-room-board-zone .tsa-board-toolbar{min-height:45px;gap:5px;padding:4px 5px;border-color:#d5d8de;border-radius:9px;background:#f9f9f8;box-shadow:0 1px 3px rgba(35,40,55,.04);scrollbar-color:#c9ccd2 transparent}
.tsa-board-title{gap:7px;padding:0 8px 0 4px;border-right-color:#dadde2}.tsa-board-title>span{width:7px;height:7px;background:#6178c9;box-shadow:none}.tsa-board-title strong{font-size:10px;font-weight:750}.tsa-board-title small{color:#787b83;font-size:7px}
.tsa-tool-group{gap:2px;padding-right:5px;border-right-color:#dcdfe4}
.tsa-room-board-zone .tsa-tool{min-height:31px;padding:0 8px;border-radius:6px;background:transparent;color:#565a63;font-size:8px;font-weight:700;transition:background .1s ease,color .1s ease,border-color .1s ease}
.tsa-room-board-zone .tsa-tool:hover:not(:disabled){border-color:#d0d5e5;background:#eceff7;color:#3e5398}.tsa-room-board-zone .tsa-tool.active{border-color:#c5cce4;background:#e6eaf5;color:#40549a;box-shadow:none}
.tsa-room-board-zone .tsa-tool.danger{color:#a85364}.tsa-room-board-zone .tsa-color{width:29px;height:29px;border-color:#d5d8de;border-radius:6px}
.tsa-board-zoom button{width:29px;height:29px;border-color:#d6d9df;border-radius:6px;background:#f8f8f7;color:#454851}.tsa-board-zoom strong{color:#71747b;font-size:8px}
.tsa-room-board-zone .tsa-board-viewport{border-color:#d2d5da;border-radius:8px;background:#e9ebee;box-shadow:inset 0 1px 2px rgba(37,40,50,.04)}
.tsa-room-board-zone .tsa-board-canvas{background-color:#fffefb;background-image:radial-gradient(#d9dbe0 .8px,transparent .8px);background-size:20px 20px;will-change:transform;contain:layout paint style}
.tsa-board-placeholder{border-color:#d4d6da;background:rgba(255,254,251,.94);color:#83858b;box-shadow:0 3px 14px rgba(35,40,55,.04)}
.tsa-room-board-zone .tsa-board-object{will-change:left,top;transition:box-shadow .1s ease,border-color .1s ease}.tsa-room-board-zone .tsa-board-object.card{border-color:#d5dced;background:#f2f5fb;color:#29364f;box-shadow:0 4px 12px rgba(50,61,90,.1)}.tsa-room-board-zone .tsa-board-object.debate_card{border-color:#ddd5ec;background:#f4f0f8;color:#3f3255;box-shadow:0 4px 12px rgba(73,60,91,.1)}
.tsa-room-board-zone .tsa-board-object.rect,.tsa-room-board-zone .tsa-board-object.circle{background:transparent!important;border-width:3px;border-style:solid;box-shadow:none}
.tsa-room-board-zone .tsa-board-object.selected{border-color:#5873cf;box-shadow:0 0 0 2px rgba(88,115,207,.13)}
.tsa-live-room.board-expanded .tsa-room-board-zone{inset:0 0 52px;padding:10px;background:#eef0f3}

/* Sala: menos "pixel pesado", más maqueta de reunión ordenada */
.tsa-conference-scene{min-height:205px;background:#ebecef;color:#2a2d34;image-rendering:auto}
.tsa-conference-scene:after{opacity:.16;background:repeating-linear-gradient(0deg,rgba(55,58,68,.018) 0 1px,transparent 1px 5px)}
.tsa-conference-wall{inset:0 0 40%;border-bottom:3px solid #d2d3d5;background:linear-gradient(180deg,#f5f4f1,#e9e9e7)}
.tsa-wall-panel{top:18%;height:48%;border:2px solid #d9d9d7;background:#efefec;box-shadow:inset 0 0 0 2px #f8f8f5}.tsa-wall-light{height:3px;background:#f7f6f2;box-shadow:0 2px 5px rgba(45,48,57,.08)}
.tsa-brand-plaque{top:11%;width:52px;height:42px;border:2px solid #666c7c;border-radius:5px;background:#f2f2f0;box-shadow:0 3px 7px rgba(45,48,57,.1);color:#596ab0;font-size:22px}
.tsa-conference-floor{inset:60% 0 0;background:repeating-linear-gradient(90deg,transparent 0 12%,rgba(62,64,70,.035) 12% 12.2%),linear-gradient(#dedede,#d5d5d4)}
.tsa-table-wrap{left:18%;right:18%;top:29%;bottom:14%;filter:drop-shadow(0 10px 8px rgba(43,45,51,.14))}
.tsa-meeting-table{border:3px solid #6b6d72;background:linear-gradient(125deg,rgba(255,255,255,.28),transparent 31%),repeating-linear-gradient(90deg,#c7b9a7 0 68px,#c1b29f 68px 136px);box-shadow:inset 0 0 0 2px #ded6ca,inset 0 -7px rgba(94,80,64,.16);clip-path:polygon(10% 0,90% 0,100% 24%,95% 100%,5% 100%,0 24%)}
.tsa-meeting-table:before{left:12%;right:12%;top:49%;height:1px;background:rgba(93,80,66,.24);box-shadow:0 3px rgba(255,255,255,.22)}
.tsa-table-core{left:47%;top:31%;width:6%;height:28%;border:1px solid #7c8090;border-radius:3px;background:#e8e8e6;color:#5b69a8;font-size:11px;box-shadow:0 2px 4px rgba(40,42,48,.12)}
.tsa-table-detail{position:absolute;inset:0;pointer-events:none}.tsa-table-laptop{position:absolute;left:30%;top:26%;width:36px;height:24px;border:2px solid #6d717b;border-radius:2px;background:#d9dbe0;transform:rotate(-3deg);box-shadow:inset 0 0 0 2px #eef0f3}.tsa-table-laptop:after{content:"";position:absolute;left:-3px;right:-3px;bottom:-5px;height:3px;background:#777b84}.tsa-table-cup{position:absolute;width:13px;height:13px;border:2px solid #7d6f62;border-radius:50%;background:#eee6db;box-shadow:2px 2px 0 rgba(81,68,56,.12)}.tsa-table-cup:after{content:"";position:absolute;right:-6px;top:2px;width:5px;height:6px;border:2px solid #7d6f62;border-left:0;border-radius:0 5px 5px 0}.tsa-table-cup.c1{right:30%;top:28%}.tsa-table-cup.c2{left:23%;bottom:23%;transform:scale(.85)}.tsa-table-pad{position:absolute;right:22%;bottom:18%;width:30px;height:22px;border:1px solid #9c958a;border-radius:2px;background:repeating-linear-gradient(0deg,#f6f1e7 0 5px,#ddd4c8 5px 6px);transform:rotate(3deg)}
.tsa-table-object{width:54px;height:41px;padding:3px;border:1px solid #aeb1b8;border-radius:6px;background:#f6f6f4;color:#50545e;box-shadow:0 2px 5px rgba(43,46,53,.13);image-rendering:auto;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.tsa-table-object:hover{border-color:#878da3;transform:translateY(-2px);box-shadow:0 5px 10px rgba(43,46,53,.14)}.tsa-table-object b{width:18px;height:18px;display:grid;place-items:center}.tsa-table-object b svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tsa-table-object small{font:750 6px/1 system-ui,sans-serif;letter-spacing:.04em}.tsa-table-object i{right:-5px;top:-7px;min-width:16px;height:16px;border:2px solid #f6f6f4;border-radius:8px;background:#6e59b6;font:800 7px/1 system-ui,sans-serif}.tsa-table-object.notes{right:13%;bottom:13%;transform:none}.tsa-table-object.poker{left:13%;bottom:13%;transform:none;color:#6752ad}.tsa-table-object.board{left:calc(50% - 27px);top:6%;color:#4f67b5}

/* Participantes y gamificación: visible pero limpia */
.tsa-room-person{width:92px;min-height:91px;gap:2px;filter:drop-shadow(0 3px 2px rgba(38,41,48,.12));transition:transform .12s ease,filter .12s ease}.tsa-room-person:hover:not(:disabled),.tsa-room-person:focus-visible:not(:disabled){transform:translateY(-2px);filter:drop-shadow(0 5px 4px rgba(42,45,54,.16))}.tsa-room-person.interaction-target,.tsa-live-room.interaction-armed .tsa-room-person:not(:disabled){cursor:crosshair}
.tsa-person-frame{width:43px;height:43px;padding:3px;border:2px solid #777b86;border-radius:7px;background:#f6f6f4;box-shadow:0 0 0 1px #c8cbd1,0 2px 3px rgba(40,43,50,.11);clip-path:none}.tsa-room-person.self .tsa-person-frame{box-shadow:0 0 0 2px rgba(88,115,207,.55),0 2px 3px rgba(40,43,50,.12)}.tsa-person-frame .tsa-avatar{border-radius:5px;background:linear-gradient(135deg,#e8edf7,#eee9f5)}.tsa-person-frame .tsa-online-dot{right:-5px;top:-5px;border:2px solid #f6f6f4;border-radius:50%}
.tsa-pixel-chair{top:28px;width:57px;height:35px;border:2px solid #777b83;border-radius:5px 5px 2px 2px;background:#c8c9cb;box-shadow:inset 0 0 0 2px #e1e1df,0 3px 4px rgba(40,42,48,.1);clip-path:none}.tsa-room-person>strong{max-width:90px;margin-top:2px;padding:2px 5px;border-color:#d2d4d8;border-radius:5px;background:rgba(248,248,246,.94);font:750 8px/1.1 system-ui,sans-serif}.tsa-room-person>small{max-width:88px;color:#74777e;font:650 6px/1.1 system-ui,sans-serif;text-transform:none}
.tsa-seat-stats{position:relative;z-index:7;display:flex;gap:3px;max-width:92px}.tsa-seat-stats em{min-width:0;padding:2px 4px;border:1px solid #d0d3d9;border-radius:5px;background:rgba(247,247,245,.95);color:#656871;font:700 6px/1 system-ui,sans-serif;font-style:normal;white-space:nowrap}.tsa-seat-stats .xp{border-color:#ccd3e8;color:#4f61a4}.tsa-seat-stats .hp{border-color:#dfd1d4;color:#985263}
.tsa-seat-vote.voted{border-width:2px;border-color:#6f7b87;border-radius:5px;background:#e9f2ed;box-shadow:0 2px 4px rgba(41,49,45,.1);animation:none}.tsa-seat-vote.revealed,.tsa-seat-vote.missed{border-width:2px;border-radius:5px;box-shadow:0 0 0 1px #8f83c8,0 3px 6px rgba(40,43,51,.12)}
.tsa-scene-status{left:10px;right:10px;bottom:6px;color:#666970;font-size:8px}.tsa-scene-status b{font-weight:650}.tsa-scene-status i{width:6px;height:6px;box-shadow:none}

/* Co-work bar: diferenciador principal, no un grupo de botones perdidos */
.tsa-room-footer{min-height:52px;gap:12px;padding:5px 12px;border-top-color:#d5d8dd;background:#f7f7f6;color:#62656d;box-shadow:0 -1px 3px rgba(42,45,53,.03)}.tsa-cowork-label{display:grid;gap:0;padding-right:10px;border-right:1px solid #d9dce1}.tsa-cowork-label strong{color:#4f5f9f;font-size:8px;letter-spacing:.12em}.tsa-cowork-label span{color:#85878e;font-size:7px;white-space:nowrap}.tsa-quick-reactions{gap:5px}.tsa-quick-reactions button{min-height:36px;gap:6px;padding:0 10px;border:1px solid #dbdde2;border-radius:8px;background:#fbfbfa;color:#50535b;font-size:8px;box-shadow:0 1px 2px rgba(36,40,50,.03);transition:transform .1s ease,background .1s ease,border-color .1s ease,color .1s ease}.tsa-quick-reactions button:hover:not(:disabled){border-color:#c5c9d8;background:#f0f1f5;color:#47568e;transform:translateY(-1px)}.tsa-quick-reactions button.active{border-color:#9da8d1;background:#e7eaf5;color:#435394;box-shadow:0 0 0 2px rgba(83,99,165,.09)}.tsa-quick-reactions button b{font-size:15px}.tsa-connection{right:12px;color:#74777e}.tsa-connection i{width:6px;height:6px;box-shadow:none}
.tsa-reaction-menu{border-color:#d3d6dc;border-radius:10px;background:#fbfbfa;box-shadow:0 12px 35px rgba(40,43,53,.17)}.tsa-reaction-grid button{border-color:#d9dce1;border-radius:7px;background:#f4f4f3;color:#454850}.tsa-reaction-grid button:hover{border-color:#c7cadd;background:#eceef5;color:#4b5893}
.tsa-reaction-burst{position:absolute;z-index:80;left:50%;top:2px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #d5d8df;border-radius:50%;background:#fffefc;box-shadow:0 5px 14px rgba(42,45,54,.18);font-size:19px;opacity:0;transform:translate(-50%,8px) scale(.72);pointer-events:none;transition:opacity .14s ease,transform .55s cubic-bezier(.18,.8,.24,1)}.tsa-reaction-burst.visible{opacity:1;transform:translate(-50%,-30px) scale(1)}.tsa-reaction-burst.attack{background:#fff4f0}.tsa-reaction-burst.applaud{background:#fff9e9}.tsa-reaction-burst.tribute{background:#f6f1ff}.tsa-reaction-burst.fire{background:#fff3e8}

/* Poker y notas: menos panel brillante */
.tsa-inline-poker{border-bottom-color:#d6d9df;background:#f8f8f7;box-shadow:0 2px 7px rgba(42,45,55,.06);animation:none}.tsa-inline-poker>header{border-right-color:#dadde2;background:#f0f1f4}.tsa-pixel-card-mini{border-width:2px;border-color:#6d7280;border-radius:5px;background:#fafaf8;box-shadow:0 2px 4px rgba(40,44,52,.1);color:#6658a6}.tsa-inline-poker .tsa-poker-card{border-width:2px;border-color:#747985;border-radius:5px;box-shadow:0 3px 6px rgba(40,44,52,.1)}.tsa-inline-poker .tsa-poker-card.selected{border-color:#6659a9;background:#efecf7;box-shadow:0 0 0 2px rgba(102,89,169,.12),0 4px 8px rgba(40,44,52,.1)}
.tsa-room-notes-drawer{bottom:52px;border-left-color:#d5d8de;background:#f9f9f8;box-shadow:-10px 0 28px rgba(40,43,52,.1);animation:none}.tsa-room-notes-drawer>header{background:#f2f2f1}.tsa-notes-compose{background:#f5f5f4}

/* Escalado intermedio: 4K, notebooks y ventanas reducidas */
@media(min-width:1500px){.tsa-live-room{grid-template-rows:minmax(350px,1fr) 270px 54px}.tsa-table-wrap{left:22%;right:22%}.tsa-room-person{transform:scale(1.04);transform-origin:center}.tsa-room-person:hover:not(:disabled){transform:scale(1.04) translateY(-2px)}}
@media(max-width:1180px){.tsa-live-room{grid-template-rows:minmax(285px,1fr) 215px 52px}.tsa-live-room.poker-open{grid-template-rows:minmax(235px,1fr) auto 195px 52px}.tsa-table-wrap{left:14%;right:14%}.tsa-cowork-label span{display:none}}
@media(max-width:900px){.tsa-board-title>div{display:none}.tsa-table-wrap{left:9%;right:9%}.tsa-wall-panel{opacity:.6}.tsa-room-person{transform:scale(.86)}.tsa-room-person:hover:not(:disabled){transform:scale(.86) translateY(-2px)}.tsa-seat-stats{display:none}.tsa-cowork-label{display:none}}

/* Móvil: pizarra utilizable, mesa legible y acciones siempre accesibles */
@media(max-width:720px){
  .tsa-live-room{min-height:0;grid-template-rows:minmax(250px,1.15fr) minmax(155px,.85fr) 50px}.tsa-live-room.poker-open{grid-template-rows:minmax(210px,1fr) auto minmax(145px,.7fr) 50px}
  .tsa-room-board-zone{padding:5px}.tsa-room-board-zone .tsa-board-shell{gap:5px}.tsa-room-board-zone .tsa-board-toolbar{min-height:40px;gap:3px;padding:3px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.tsa-tool-group{scroll-snap-align:start}.tsa-room-board-zone .tsa-tool{min-height:30px;padding:0 7px;font-size:8px}.tsa-board-title{display:none}.tsa-board-zoom{position:sticky;right:0;padding-left:5px;background:linear-gradient(90deg,rgba(249,249,248,0),#f9f9f8 14px)}.tsa-board-zoom strong{display:none}.tsa-room-board-zone .tsa-board-viewport{border-radius:6px}
  .tsa-conference-wall{bottom:42%}.tsa-wall-panel,.tsa-wall-light{display:none}.tsa-brand-plaque{top:8%;width:38px;height:31px;border-width:1px;font-size:17px}.tsa-table-wrap{left:5%;right:5%;top:28%;bottom:17%}.tsa-table-detail{opacity:.7}.tsa-table-laptop{transform:scale(.75)}.tsa-table-object{width:45px;height:36px}.tsa-table-object b,.tsa-table-object b svg{width:15px;height:15px}.tsa-table-object small{font-size:5px}.tsa-table-object.board{display:grid;left:calc(50% - 23px);top:5%}
  .tsa-room-person{width:66px;min-height:66px;transform:scale(.72);transform-origin:center top}.tsa-room-person:hover:not(:disabled){transform:scale(.72)}.tsa-person-frame{width:38px;height:38px}.tsa-pixel-chair{top:25px;width:50px;height:31px}.tsa-room-person>strong{max-width:68px;font-size:7px}.tsa-room-person>small,.tsa-seat-stats{display:none}.tsa-room-person.slot-0{left:calc(50% - 33px)}.tsa-room-person.slot-1{left:calc(32% - 33px)}.tsa-room-person.slot-2{left:calc(68% - 33px)}.tsa-room-person.slot-3{left:calc(8% - 33px)}.tsa-room-person.slot-4{left:calc(92% - 33px)}.tsa-room-person.slot-5{left:calc(14% - 33px)}.tsa-room-person.slot-6{left:calc(86% - 33px)}.tsa-room-person.slot-7{left:calc(32% - 33px)}.tsa-room-person.slot-8{left:calc(68% - 33px)}.tsa-room-person.slot-9{left:calc(50% - 33px)}
  .tsa-room-footer{min-height:50px;justify-content:center;padding:4px 6px;overflow-x:auto;scrollbar-width:none}.tsa-room-footer::-webkit-scrollbar{display:none}.tsa-quick-reactions{margin:0;gap:4px}.tsa-quick-reactions button{min-width:48px;min-height:38px;justify-content:center;padding:0 7px}.tsa-quick-reactions button span{display:none}.tsa-quick-reactions button b{font-size:17px}.tsa-connection{display:none}.tsa-room-notes-drawer{bottom:50px;width:100%}
}
@media(max-width:480px){
  .tsa-live-room{grid-template-rows:minmax(235px,1fr) minmax(145px,.72fr) 48px}.tsa-live-room.poker-open{grid-template-rows:minmax(185px,1fr) auto minmax(128px,.6fr) 48px}.tsa-room-board-zone .tsa-tool-group:first-of-type .tsa-tool:nth-child(n+7){display:none}.tsa-room-board-zone .tsa-tool{font-size:7px}.tsa-table-detail{display:none}.tsa-table-object{width:42px;height:33px}.tsa-room-person{transform:scale(.64)}.tsa-room-person:hover:not(:disabled){transform:scale(.64)}.tsa-scene-status{font-size:7px}.tsa-room-footer{min-height:48px}.tsa-quick-reactions button{min-width:44px;min-height:36px}
}
@media(max-height:650px) and (min-width:721px){.tsa-live-room{grid-template-rows:minmax(210px,1fr) 165px 48px}.tsa-live-room.poker-open{grid-template-rows:minmax(180px,1fr) auto 150px 48px}.tsa-table-wrap{top:24%;bottom:11%}.tsa-room-person{transform:scale(.76)}.tsa-room-person:hover:not(:disabled){transform:scale(.76) translateY(-2px)}.tsa-seat-stats{display:none}}
@media(prefers-reduced-motion:reduce){.tsa-reaction-burst,.tsa-room-board-zone .tsa-board-object,.tsa-table-object,.tsa-quick-reactions button{transition:none!important}}

/* =========================================================
   TESITURA 0.4.3 — Pizarra profesional / toolbar contextual
========================================================= */
.tsa-room-board-zone .tsa-board-shell{grid-template-rows:auto auto minmax(0,1fr);gap:5px}
.tsa-board-commandbar{position:relative;z-index:25;min-height:44px;display:flex;align-items:center;gap:7px;padding:4px 5px;border:1px solid #d5d8de;border-radius:9px;background:#fafaf9;box-shadow:0 1px 3px rgba(35,40,55,.04)}
.tsa-board-primary-tools{min-width:0;display:flex;align-items:center;gap:2px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tsa-board-primary-tools::-webkit-scrollbar{display:none}
.tsa-board-primary{flex:0 0 auto;min-height:34px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:#5a5d66;font-size:8px;font-weight:760;white-space:nowrap;cursor:pointer}.tsa-board-primary:hover:not(:disabled){background:#f0f1f4;color:#46517f}.tsa-board-primary.active{border-color:#cbd2ea;background:#e9ecf5;color:#435898;box-shadow:inset 0 0 0 1px rgba(72,90,153,.04)}.tsa-board-primary:disabled{opacity:.35;cursor:not-allowed}.tsa-board-primary b{display:grid;place-items:center;width:17px;height:17px}.tsa-board-primary svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tsa-board-readonly-badge{flex:0 0 auto;padding:3px 7px;border:1px solid #d7dbe5;border-radius:999px;background:#f1f2f5;color:#747984;font-size:7px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.tsa-board-context{position:relative;z-index:20;min-height:38px;display:flex;align-items:center;gap:5px;padding:3px 6px;border:1px solid #daddE3;border-radius:8px;background:#f4f4f2;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.tsa-board-context-label{flex:0 0 auto;padding-right:7px;border-right:1px solid #d7d9de;color:#4e5360;font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.tsa-board-context-help{flex:0 0 auto;color:#7b7f88;font-size:8px;white-space:nowrap}.tsa-board-context-message{display:flex;align-items:center;gap:8px;color:#747780;font-size:8px}.tsa-board-context-message strong{color:#535863}
.tsa-context-button{flex:0 0 auto;min-height:29px;padding:0 8px;border:1px solid #d5d8df;border-radius:6px;background:#fbfbfa;color:#555961;font-size:8px;font-weight:720;cursor:pointer;white-space:nowrap}.tsa-context-button:hover:not(:disabled),.tsa-context-button.active{border-color:#bfc7e0;background:#e9edf7;color:#43558f}.tsa-context-button.danger{color:#a85264}.tsa-context-button:disabled{opacity:.4;cursor:not-allowed}
.tsa-board-color-control,.tsa-board-number,.tsa-board-range{flex:0 0 auto;display:flex;align-items:center;gap:5px;padding:0 5px;color:#777b84;font-size:7px;white-space:nowrap}.tsa-board-color-control input{width:28px;height:28px;padding:2px;border:1px solid #d1d5dd;border-radius:6px;background:#fff;cursor:pointer}.tsa-board-number select{min-height:28px;padding:0 5px;border:1px solid #d3d6dc;border-radius:6px;background:#fff;color:#4f535c;font-size:8px}.tsa-board-range input{width:82px;accent-color:#6175bd}.tsa-board-range b{min-width:17px;color:#555a65;font-size:8px;text-align:center}
.tsa-context-zoom{display:flex;align-items:center;gap:3px;margin-left:auto}.tsa-context-zoom button{min-width:29px;height:29px;padding:0 7px;border:1px solid #d3d6dd;border-radius:6px;background:#fbfbfa;color:#4e525a;font-size:9px;font-weight:800;cursor:pointer}.tsa-context-zoom strong{min-width:38px;color:#666b76;font-size:8px;text-align:center}
.tsa-board-details{position:relative;z-index:50;flex:0 0 auto;margin-left:auto}.tsa-board-details>summary{list-style:none;width:34px;height:34px;display:grid;place-items:center;border:1px solid #d5d8df;border-radius:7px;background:#fbfbfa;color:#555a65;cursor:pointer}.tsa-board-details>summary::-webkit-details-marker{display:none}.tsa-board-details>summary svg{width:18px;height:18px;fill:currentColor;stroke:none}.tsa-board-details[open]>summary{border-color:#bbc4df;background:#eaedf6;color:#46588f}.tsa-board-details-menu{position:absolute;right:0;top:39px;width:220px;display:grid;gap:7px;padding:10px;border:1px solid #d0d4dc;border-radius:10px;background:#fbfbfa;box-shadow:0 13px 35px rgba(43,47,59,.16)}.tsa-board-details-menu>strong{font-size:10px}.tsa-details-caption{margin-top:-5px;color:#858891;font-size:7px}.tsa-details-section{display:grid;gap:4px;padding-top:7px;border-top:1px solid #e0e2e6}.tsa-details-section small{color:#858892;font-size:6px;font-weight:850;letter-spacing:.1em}.tsa-details-section button{min-height:29px;padding:0 8px;border:1px solid transparent;border-radius:6px;background:#f0f1f3;color:#555a64;font-size:8px;text-align:left;cursor:pointer}.tsa-details-section button:hover,.tsa-details-section button.active{border-color:#c8cfe2;background:#e9edf6;color:#46568b}.tsa-details-section.danger button{border-color:#ead6dc;background:#fbf2f4;color:#a44c61}
.tsa-room-board-zone .tsa-board-viewport{overscroll-behavior:contain;touch-action:none;-webkit-overflow-scrolling:touch}
.tsa-room-board-zone .tsa-board-canvas{touch-action:none;cursor:crosshair}.tsa-room-board-zone .tsa-board-canvas[data-board-tool="hand"]{cursor:grab}.tsa-room-board-zone .tsa-board-canvas[data-board-tool="hand"].panning{cursor:grabbing}.tsa-room-board-zone .tsa-board-canvas[data-board-tool="select"]{cursor:default}.tsa-room-board-zone .tsa-board-canvas[data-board-tool="erase"]{cursor:not-allowed}.tsa-room-board-zone .tsa-board-canvas[data-board-tool="text"],.tsa-room-board-zone .tsa-board-canvas[data-board-tool="card"]{cursor:copy}
.tsa-room-board-zone .tsa-board-canvas.bg-dots{background-color:#fffefb;background-image:radial-gradient(#d9dbe0 .8px,transparent .8px);background-size:20px 20px}.tsa-room-board-zone .tsa-board-canvas.bg-grid{background-color:#fffefb;background-image:linear-gradient(#e6e7ea 1px,transparent 1px),linear-gradient(90deg,#e6e7ea 1px,transparent 1px);background-size:28px 28px}.tsa-room-board-zone .tsa-board-canvas.bg-clean{background:#fffefb;background-image:none}
.tsa-room-board-zone .tsa-board-object.pen,.tsa-room-board-zone .tsa-board-object.marker,.tsa-room-board-zone .tsa-board-object.line,.tsa-room-board-zone .tsa-board-object.arrow{pointer-events:none;border-color:transparent!important;box-shadow:none!important}.tsa-room-board-zone .tsa-board-object.pen svg,.tsa-room-board-zone .tsa-board-object.marker svg,.tsa-room-board-zone .tsa-board-object.line svg,.tsa-room-board-zone .tsa-board-object.arrow svg{pointer-events:none}.tsa-room-board-zone .tsa-board-object polyline[data-board-id]{pointer-events:stroke;cursor:pointer}
.tsa-room-board-zone .tsa-board-object.optimistic{opacity:.92}
.tsa-board-permission-card{display:grid;gap:10px}.tsa-permission-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tsa-permission-person{position:relative;cursor:pointer}.tsa-permission-person>input{position:absolute;opacity:0;pointer-events:none}.tsa-permission-person>span{min-height:46px;display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;column-gap:7px;align-items:center;padding:6px;border:1px solid #d9dde5;border-radius:8px;background:#f7f7f6}.tsa-permission-person .tsa-avatar{grid-row:1/3;width:30px;height:30px}.tsa-permission-person b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.tsa-permission-person small{color:#81858e;font-size:7px}.tsa-permission-person>input:checked+span{border-color:#aeb9dc;background:#e9edf7;box-shadow:inset 0 0 0 1px rgba(75,92,151,.06)}

@media(max-width:900px){.tsa-board-title{display:none}.tsa-board-commandbar{padding-left:4px}.tsa-board-primary{padding-inline:6px}.tsa-board-primary span{display:none}.tsa-board-primary b,.tsa-board-primary svg{width:18px;height:18px}.tsa-board-context-help{display:none}.tsa-permission-members{grid-template-columns:1fr}}
@media(max-width:720px){
  .tsa-live-room.board-expanded .tsa-room-board-zone{inset:0 0 50px;padding:4px;background:#eef0f3}
  .tsa-room-board-zone .tsa-board-shell{gap:3px}.tsa-board-commandbar{min-height:39px;padding:2px 3px;border-radius:6px}.tsa-board-primary-tools{gap:1px}.tsa-board-primary{width:36px;min-height:34px;justify-content:center;padding:0}.tsa-board-primary b,.tsa-board-primary svg{width:19px;height:19px}.tsa-board-details>summary{width:34px;height:34px}.tsa-board-context{min-height:36px;padding:2px 4px;border-radius:6px}.tsa-board-context-label{padding-right:5px}.tsa-context-button{min-height:28px;padding-inline:7px}.tsa-board-range input{width:68px}.tsa-context-zoom{margin-left:0}.tsa-board-details-menu{position:fixed;z-index:100;right:7px;top:105px;width:min(245px,calc(100vw - 14px));max-height:calc(100dvh - 170px);overflow:auto}.tsa-room-board-zone .tsa-board-viewport{border-radius:5px}.tsa-board-placeholder{width:min(330px,75vw);min-height:70px;padding:14px;font-size:10px}
}
@media(max-width:480px){
  .tsa-board-commandbar{min-height:37px}.tsa-board-primary{width:34px;min-height:32px}.tsa-board-primary b,.tsa-board-primary svg{width:18px;height:18px}.tsa-board-context{min-height:34px}.tsa-board-context-label{font-size:7px}.tsa-board-color-control>span,.tsa-board-number>span,.tsa-board-range>span{display:none}.tsa-board-range input{width:58px}.tsa-context-zoom strong{display:none}.tsa-details-section button{min-height:34px}.tsa-board-details-menu{top:101px}
}

/* =========================================================
   TESITURA 0.4.3 — Board render/sync + mobile workspace
========================================================= */
.tsa-room-board-zone .tsa-board-canvas{contain:layout paint style}
.tsa-room-board-zone .tsa-board-object.pen,
.tsa-room-board-zone .tsa-board-object.marker,
.tsa-room-board-zone .tsa-board-object.line,
.tsa-room-board-zone .tsa-board-object.arrow{contain:layout paint;transform:translateZ(0)}
.tsa-room-board-zone .tsa-board-object.optimistic{opacity:.82}
.tsa-board-title small{font-variant-numeric:tabular-nums}
.tsa-board-primary:focus-visible,.tsa-context-button:focus-visible,.tsa-board-details>summary:focus-visible{outline:2px solid rgba(79,109,245,.45);outline-offset:1px}

@media(max-width:720px){
  .tsa-room-board-zone .tsa-board-shell{position:relative;grid-template-rows:auto minmax(0,1fr);gap:3px}
  .tsa-room-board-zone .tsa-board-viewport{grid-row:2;min-height:0}
  .tsa-board-commandbar{z-index:46;min-height:38px}
  .tsa-board-primary-tools{padding-right:2px}
  .tsa-board-primary{width:34px;min-height:32px}
  .tsa-board-context{position:absolute;z-index:45;left:5px;right:5px;bottom:calc(5px + env(safe-area-inset-bottom,0px));min-height:36px;max-height:48px;padding:3px 5px;border-color:rgba(196,200,210,.96);background:rgba(249,249,248,.95);box-shadow:0 7px 24px rgba(37,40,50,.17);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);scrollbar-width:none}
  .tsa-board-context::-webkit-scrollbar{display:none}
  .tsa-board-context-label,.tsa-board-context-help{display:none}
  .tsa-board-context-message{font-size:8px;white-space:nowrap}
  .tsa-context-button{min-height:30px;padding-inline:8px}
  .tsa-board-range{min-height:30px}
  .tsa-board-range input{width:72px}
  .tsa-board-color-control,.tsa-board-number{min-height:30px}
  .tsa-context-zoom{gap:3px}
  .tsa-context-zoom button{min-height:30px}
  .tsa-board-details-menu{position:fixed;z-index:120;right:5px;top:49px;width:min(255px,calc(100vw - 10px));max-height:calc(100dvh - 108px - env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain}
  .tsa-live-room.board-expanded .tsa-room-board-zone{inset:0 0 50px;padding:3px}
}

@media(max-width:480px){
  .tsa-live-room.board-expanded .tsa-room-board-zone{padding:2px}
  .tsa-board-commandbar{min-height:36px;padding:2px}
  .tsa-board-primary{width:32px;min-height:31px}
  .tsa-board-primary b,.tsa-board-primary svg{width:17px;height:17px}
  .tsa-board-details>summary{width:32px;height:32px}
  .tsa-board-context{left:3px;right:3px;bottom:calc(3px + env(safe-area-inset-bottom,0px));min-height:34px;max-height:44px;padding:2px 3px}
  .tsa-context-button,.tsa-context-zoom button,.tsa-board-color-control,.tsa-board-number,.tsa-board-range{min-height:28px}
  .tsa-board-range input{width:60px}
  .tsa-board-details-menu{right:3px;top:43px;width:calc(100vw - 6px);max-height:calc(100dvh - 96px - env(safe-area-inset-bottom,0px));border-radius:8px}
}

/* =========================================================
   TESITURA 0.4.4 — Professional board interactions
========================================================= */
.tsa-room-board-zone .tsa-board-shell{grid-template-rows:auto auto minmax(0,1fr)}
.tsa-board-stage{position:relative;min-width:0;min-height:0;overflow:hidden}
.tsa-board-stage>.tsa-board-viewport{width:100%;height:100%;min-height:0}
.tsa-board-floating-details{position:absolute;z-index:90;top:8px;right:8px;pointer-events:none}
.tsa-board-floating-details .tsa-board-details{pointer-events:auto;margin:0}
.tsa-board-details>summary{width:auto;min-width:76px;height:34px;grid-template-columns:auto 18px;gap:6px;padding:0 8px;background:rgba(251,251,250,.96);box-shadow:0 3px 13px rgba(43,47,59,.10);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.tsa-board-details-label{font-size:8px;font-weight:800;letter-spacing:.04em}
.tsa-board-details>summary svg{width:16px;height:16px}
.tsa-board-details-menu{top:40px;width:232px}

.tsa-room-board-zone .tsa-board-object.marker{opacity:1;mix-blend-mode:normal}
.tsa-room-board-zone .tsa-board-object.marker svg{opacity:.94}
.tsa-room-board-zone .tsa-board-object.highlighter{opacity:1;mix-blend-mode:multiply}
.tsa-room-board-zone .tsa-board-object.highlighter svg{opacity:.32}
.tsa-room-board-zone .tsa-board-object.pen,
.tsa-room-board-zone .tsa-board-object.marker,
.tsa-room-board-zone .tsa-board-object.highlighter,
.tsa-room-board-zone .tsa-board-object.line,
.tsa-room-board-zone .tsa-board-object.arrow{pointer-events:none;border-color:transparent!important;box-shadow:none!important;contain:layout paint;transform:translateZ(0)}
.tsa-room-board-zone .tsa-board-object.pen svg,
.tsa-room-board-zone .tsa-board-object.marker svg,
.tsa-room-board-zone .tsa-board-object.highlighter svg,
.tsa-room-board-zone .tsa-board-object.line svg,
.tsa-room-board-zone .tsa-board-object.arrow svg{pointer-events:none}
.tsa-room-board-zone .tsa-board-object polyline[data-board-id]{pointer-events:stroke;cursor:grab}
.tsa-room-board-zone .tsa-board-object.selected{overflow:visible!important;z-index:auto}
.tsa-room-board-zone .tsa-board-object.dragging,.tsa-room-board-zone .tsa-board-object.resizing{transition:none!important;will-change:transform,width,height,left,top}

.tsa-board-resize-handle{position:absolute;z-index:30;width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:#5570d4;box-shadow:0 0 0 1px rgba(57,76,139,.55),0 2px 5px rgba(39,47,78,.22);pointer-events:auto!important;touch-action:none}
.tsa-board-resize-handle.nw{left:-7px;top:-7px;cursor:nwse-resize}
.tsa-board-resize-handle.ne{right:-7px;top:-7px;cursor:nesw-resize}
.tsa-board-resize-handle.sw{left:-7px;bottom:-7px;cursor:nesw-resize}
.tsa-board-resize-handle.se{right:-7px;bottom:-7px;cursor:nwse-resize}
.tsa-board-object.pen .tsa-board-resize-handle,.tsa-board-object.marker .tsa-board-resize-handle,.tsa-board-object.highlighter .tsa-board-resize-handle,.tsa-board-object.line .tsa-board-resize-handle,.tsa-board-object.arrow .tsa-board-resize-handle{pointer-events:auto!important}

.tsa-board-eraser-preview{position:absolute;z-index:99998;border:1.5px solid rgba(70,80,101,.66);border-radius:50%;background:rgba(255,255,255,.44);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);pointer-events:none;transform:translateZ(0)}
.tsa-room-board-zone .tsa-board-canvas[data-board-tool="erase"]{cursor:crosshair}
.tsa-room-board-zone .tsa-board-object.text{align-items:flex-start;overflow:hidden;line-height:1.18;word-break:break-word}
.tsa-room-board-zone .tsa-board-object.card,.tsa-room-board-zone .tsa-board-object.debate_card{overflow:hidden;word-break:break-word}

@media(max-width:720px){
  .tsa-room-board-zone .tsa-board-shell{grid-template-rows:auto minmax(0,1fr)}
  .tsa-board-stage{grid-row:2}
  .tsa-room-board-zone .tsa-board-viewport{grid-row:auto}
  .tsa-board-floating-details{top:5px;right:5px}
  .tsa-board-details>summary{min-width:34px;width:34px;height:34px;padding:0;display:grid;grid-template-columns:1fr}
  .tsa-board-details-label{display:none}
  .tsa-board-details-menu{position:fixed;z-index:140;right:5px;top:49px;width:min(265px,calc(100vw - 10px));max-height:calc(100dvh - 108px - env(safe-area-inset-bottom,0px));overflow:auto}
  .tsa-board-resize-handle{width:16px;height:16px}
  .tsa-board-resize-handle.nw{left:-9px;top:-9px}.tsa-board-resize-handle.ne{right:-9px;top:-9px}.tsa-board-resize-handle.sw{left:-9px;bottom:-9px}.tsa-board-resize-handle.se{right:-9px;bottom:-9px}
}
@media(max-width:480px){
  .tsa-board-floating-details{top:3px;right:3px}
  .tsa-board-details>summary{width:32px;min-width:32px;height:32px}
  .tsa-board-details-menu{right:3px;top:43px;width:calc(100vw - 6px)}
}

/* ===== Board text + eraser refinement v0.4.5 ===== */
.tsa-room-board-zone .tsa-board-object.text{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  word-break:normal;
  padding:2px 3px;
  transform-origin:0 0;
}
.tsa-text-format{display:flex;align-items:center;gap:3px;flex:0 0 auto}
.tsa-format-toggle{min-width:30px!important;padding:0 8px!important;justify-content:center;font-size:11px!important}
.tsa-format-toggle strong,.tsa-format-toggle em,.tsa-format-toggle u{font-size:12px;line-height:1;text-decoration-thickness:1.5px}
.tsa-font-family select,.tsa-text-align select{min-width:74px}
.tsa-char-counter{display:flex;justify-content:flex-end;gap:2px;margin-top:5px;color:#7a7f8a;font-size:11px;font-variant-numeric:tabular-nums}
.tsa-char-counter span{font-weight:800;color:#505665}

/* Los trazos libres son tinta: no presentan affordance de selección/resize. */
.tsa-room-board-zone .tsa-board-object.pen polyline[data-board-id],
.tsa-room-board-zone .tsa-board-object.marker polyline[data-board-id],
.tsa-room-board-zone .tsa-board-object.highlighter polyline[data-board-id]{cursor:crosshair}
.tsa-room-board-zone .tsa-board-object.line polyline[data-board-id],
.tsa-room-board-zone .tsa-board-object.arrow polyline[data-board-id]{cursor:grab}
.tsa-room-board-zone .tsa-board-object.line.selected polyline[data-board-id],
.tsa-room-board-zone .tsa-board-object.arrow.selected polyline[data-board-id]{cursor:move}

/* Evita transiciones visuales durante edición/borrado: el estado final se aplica atómicamente. */
.tsa-room-board-zone .tsa-board-object.pen,
.tsa-room-board-zone .tsa-board-object.marker,
.tsa-room-board-zone .tsa-board-object.highlighter{transition:none!important}
.tsa-room-board-zone .tsa-board-canvas[data-board-tool="erase"] .tsa-board-object.line,
.tsa-room-board-zone .tsa-board-canvas[data-board-tool="erase"] .tsa-board-object.arrow,
.tsa-room-board-zone .tsa-board-canvas[data-board-tool="erase"] .tsa-board-object.rect,
.tsa-room-board-zone .tsa-board-canvas[data-board-tool="erase"] .tsa-board-object.circle,
.tsa-room-board-zone .tsa-board-canvas[data-board-tool="erase"] .tsa-board-object.text,
.tsa-room-board-zone .tsa-board-canvas[data-board-tool="erase"] .tsa-board-object.card,
.tsa-room-board-zone .tsa-board-canvas[data-board-tool="erase"] .tsa-board-object.debate_card{transition:none!important}

@media(max-width:720px){
  .tsa-text-format{gap:2px}
  .tsa-format-toggle{min-width:28px!important;width:28px;padding:0!important}
  .tsa-font-family select,.tsa-text-align select{min-width:68px;max-width:78px}
}

/* ===== Board interaction stability v0.4.6 ===== */
/* Cursor de borrador visible tanto sobre fondo blanco como sobre grillas/fondos oscuros. */
.tsa-board-eraser-preview{
  border:2px solid rgba(35,43,62,.92)!important;
  background:rgba(91,108,153,.10)!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.92),inset 0 0 0 1px rgba(35,43,62,.12)!important;
}
.tsa-board-eraser-preview>span{
  position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;
  background:#26314d;transform:translate(-50%,-50%);box-shadow:0 0 0 2px rgba(255,255,255,.9)
}
/* Durante el borrado clásico no hay fades ni transiciones: el trazo desaparece donde pasa el cursor. */
.tsa-room-board-zone .tsa-board-canvas.is-live-erasing .tsa-board-object.pen,
.tsa-room-board-zone .tsa-board-canvas.is-live-erasing .tsa-board-object.marker,
.tsa-room-board-zone .tsa-board-canvas.is-live-erasing .tsa-board-object.highlighter{transition:none!important;animation:none!important}

/* Edición de notas: acciones compactas y consistentes con la pizarra. */
.tsa-note-actions{display:flex;flex-wrap:wrap;gap:5px;align-items:center}

@media(max-width:720px){
  .tsa-board-eraser-preview>span{width:7px;height:7px}
}

/* ===== Board polish v0.4.7 ===== */
.tsa-room-board-zone .tsa-board-object.card,.tsa-room-board-zone .tsa-board-object.debate_card{transition:box-shadow .1s ease,border-color .1s ease,background-color .08s linear;color .08s linear}
.tsa-char-counter{font-variant-numeric:tabular-nums}
.tsa-char-counter.near-limit{font-weight:800;color:#9a621d}
.tsa-char-counter.at-limit{font-weight:850;color:#b43d52}

/* ===== Engagement / campo de debate v0.5.0 ===== */
/* La mesa conserva el lenguaje de sala profesional, pero gana lectura de "campo de debate" sin convertirse en videojuego pesado. */
.tsa-meeting-table:after{
  content:"";position:absolute;z-index:1;left:18%;right:18%;top:18%;bottom:18%;pointer-events:none;
  border:1px dashed rgba(72,76,86,.18);border-radius:45%;
  background:
    linear-gradient(90deg,transparent calc(50% - .5px),rgba(69,73,83,.16) calc(50% - .5px),rgba(69,73,83,.16) calc(50% + .5px),transparent calc(50% + .5px)),
    linear-gradient(0deg,transparent calc(50% - .5px),rgba(69,73,83,.13) calc(50% - .5px),rgba(69,73,83,.13) calc(50% + .5px),transparent calc(50% + .5px));
  box-shadow:inset 0 0 0 10px rgba(255,255,255,.035)
}
.tsa-table-core{z-index:3}.tsa-table-detail,.tsa-table-object{z-index:4}

/* Avatares: 4 presets pixel + foto propia. */
.tsa-avatar-top{font-weight:900;color:#596ab0}
.tsa-avatar-picker{display:grid;gap:12px}.tsa-avatar-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.tsa-avatar-choice{display:grid;place-items:center;gap:5px;min-height:102px;padding:8px;border:1px solid #d8dbe1;border-radius:10px;background:#f5f5f3;color:#555961;cursor:pointer;transition:transform .1s ease,border-color .1s ease,box-shadow .1s ease,background .1s ease}
.tsa-avatar-choice:hover{transform:translateY(-1px);border-color:#b9bfd0;background:#fafaf8}.tsa-avatar-choice.active{border-color:#6a79b8;background:#eef0f8;box-shadow:0 0 0 2px rgba(82,101,169,.11)}
.tsa-avatar-choice img{width:54px;height:54px;border:1px solid #c7cad2;border-radius:5px;background:#fff;image-rendering:pixelated}.tsa-avatar-choice span{font-size:8px;font-weight:800;letter-spacing:.04em}
.tsa-avatar-upload{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px dashed #cdd0d7;border-radius:10px;background:#fafaf8;color:#62666f;font-size:9px;font-weight:750}.tsa-avatar-upload input{max-width:230px;font-size:9px}
.tsa-avatar-preview{display:grid;place-items:center;padding:8px}.tsa-avatar-preview .tsa-avatar.large{width:82px;height:82px;border-radius:12px;box-shadow:0 0 0 3px #fff,0 0 0 4px #cfd3dc,0 8px 20px rgba(42,45,54,.11)}
.tsa-avatar img[src^="data:image/svg+xml"]{image-rendering:pixelated}

/* Menú directo: click en participante = cuatro acciones inequívocas. */
.tsa-direct-menu{width:274px!important;padding:9px!important;border:1px solid #cfd3da!important;background:#f8f8f6!important;box-shadow:0 15px 42px rgba(39,42,50,.2)!important}
.tsa-reaction-head{display:grid;gap:2px;padding:2px 3px 8px}.tsa-reaction-head span{color:#6e7590;font-size:7px;font-weight:900;letter-spacing:.13em}.tsa-reaction-head strong{margin:0!important;color:#343840;font-size:10px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tsa-direct-menu .tsa-reaction-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tsa-direct-menu .tsa-reaction-grid button{display:flex;align-items:center;gap:8px;min-height:54px;padding:7px 8px;text-align:left;border:1px solid #d8dbe1!important;border-radius:8px!important;background:#fff!important;color:#444850!important;transition:transform .1s ease,border-color .1s ease,background .1s ease}
.tsa-direct-menu .tsa-reaction-grid button:hover{transform:translateY(-1px);border-color:#aeb5c8!important;background:#f2f3f7!important}.tsa-direct-menu .tsa-reaction-grid button>b{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border:1px solid #d5d8df;border-radius:7px;background:#f4f4f2;font-size:17px}.tsa-direct-menu .tsa-reaction-grid button>span{display:grid;gap:2px;font-size:9px;font-weight:850}.tsa-direct-menu .tsa-reaction-grid small{color:#858991;font-size:7px;font-weight:650}
.tsa-direct-menu [data-reaction="attack"]>b{color:#a34d58;background:#fff1f2}.tsa-direct-menu [data-reaction="restore"]>b{color:#41866c;background:#edf8f1}.tsa-direct-menu [data-reaction="fire"]>b{color:#b46432;background:#fff4e9}.tsa-direct-menu [data-reaction="ovation"]>b{color:#7860b0;background:#f4f0ff}

/* Barra de acciones grupales: compacta y siempre disponible sin invadir el trabajo. */
.tsa-cowork-label strong{color:#5265a9}.tsa-quick-reactions button{position:relative;overflow:hidden}.tsa-quick-reactions button b{min-width:18px;text-align:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.tsa-quick-reactions button[data-group-action="ki"] b{font-size:18px;color:#6754ae}.tsa-quick-reactions button[data-group-action="agree"] b{color:#3d8169}.tsa-quick-reactions button[data-group-action="sleep"] b{color:#70737c;font-size:12px}.tsa-quick-reactions button[data-group-action="hand"].active:after{content:"";position:absolute;left:6px;right:6px;bottom:2px;height:2px;border-radius:3px;background:#6556ad;animation:tsa-hand-line 1.1s ease-in-out infinite}

/* Estado de mano levantada en avatar. */
.tsa-seat-signal{position:absolute;z-index:25;left:50%;top:-31px;display:grid;place-items:center;width:25px;height:25px;border:1px solid #d0d3db;border-radius:7px;background:#fffdf8;box-shadow:0 4px 10px rgba(40,43,51,.14);font-size:15px;transform:translateX(-50%);pointer-events:none}.tsa-seat-signal.hand{animation:tsa-hand-bob 1.2s ease-in-out infinite}.tsa-person>.tsa-seat-signal{top:5px;left:22px}
.tsa-room-person.signal-hand .tsa-person-frame,.tsa-person.signal-hand{box-shadow:0 0 0 2px rgba(94,86,173,.2),0 5px 16px rgba(72,65,140,.12)}

/* Burst directo. Las partículas son CSS: cero assets/red. */
.tsa-reaction-burst{width:39px;height:39px;overflow:visible;border:1px solid #cfd3db!important;box-shadow:0 7px 18px rgba(39,42,51,.18)!important}.tsa-reaction-burst b{position:relative;z-index:2}.tsa-reaction-burst i{position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:1px;background:currentColor;opacity:0}.tsa-reaction-burst.visible i{animation:tsa-fx-particle .7s ease-out forwards}.tsa-reaction-burst.visible i:nth-of-type(1){--fx-x:-25px;--fx-y:-15px}.tsa-reaction-burst.visible i:nth-of-type(2){--fx-x:24px;--fx-y:-17px;animation-delay:.04s}.tsa-reaction-burst.visible i:nth-of-type(3){--fx-x:1px;--fx-y:-31px;animation-delay:.08s}
.tsa-reaction-burst.attack{color:#a33f50;background:#fff0f1!important}.tsa-reaction-burst.restore{color:#338364;background:#effaf3!important}.tsa-reaction-burst.fire{color:#c5652e;background:#fff1e5!important}.tsa-reaction-burst.ovation{color:#7456b5;background:#f4efff!important}
.tsa-room-person.fx-attack .tsa-person-frame,.tsa-person.fx-attack{animation:tsa-fx-hit .34s steps(4,end)}.tsa-room-person.fx-restore .tsa-person-frame,.tsa-person.fx-restore{animation:tsa-fx-heal .9s ease}.tsa-room-person.fx-fire .tsa-person-frame,.tsa-person.fx-fire{animation:tsa-fx-fire .82s ease}.tsa-room-person.fx-ovation .tsa-person-frame,.tsa-person.fx-ovation{animation:tsa-fx-ovation .85s ease}

/* Acciones grupales proyectadas en el centro de la escena. */
.tsa-group-effect{position:absolute;z-index:44;left:50%;top:48%;display:grid;grid-template-columns:48px auto;align-items:center;gap:9px;min-width:150px;padding:8px 13px 8px 8px;border:1px solid #c9cdd6;border-radius:11px;background:rgba(250,250,248,.96);box-shadow:0 10px 32px rgba(38,41,49,.18);color:#41454d;opacity:0;transform:translate(-50%,-35%) scale(.82);pointer-events:none;backdrop-filter:blur(3px);transition:opacity .13s ease,transform .32s cubic-bezier(.18,.82,.25,1)}.tsa-group-effect.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.tsa-group-effect strong{display:grid;place-items:center;width:48px;height:48px;border:1px solid #d6d9df;border-radius:9px;background:#f1f2f5;font-size:24px}.tsa-group-effect span{font-size:9px;font-weight:850;letter-spacing:.02em;white-space:nowrap}.tsa-group-effect>i{position:absolute;width:5px;height:5px;border-radius:50%;background:#6a70a5;opacity:0}.tsa-group-effect.visible>i{animation:tsa-group-particle .9s ease-out forwards}.tsa-group-effect>i:nth-of-type(1){left:15%;top:80%;--gx:-35px;--gy:18px}.tsa-group-effect>i:nth-of-type(2){left:40%;top:25%;--gx:-12px;--gy:-31px}.tsa-group-effect>i:nth-of-type(3){right:30%;top:25%;--gx:20px;--gy:-28px}.tsa-group-effect>i:nth-of-type(4){right:10%;top:70%;--gx:38px;--gy:12px}
.tsa-group-effect.hand strong{background:#fff9e8}.tsa-group-effect.clap strong{background:#fff5e7}.tsa-group-effect.ki strong{background:#f1edff;color:#7257bb;box-shadow:0 0 0 5px rgba(111,84,185,.07)}.tsa-group-effect.agree strong{background:#ebf8f1;color:#3d8267}.tsa-group-effect.sleep strong{background:#f0f1f3;color:#70737d}
.tsa-room-person.fx-ki .tsa-person-frame,.tsa-person.fx-ki{animation:tsa-fx-ki 1.05s ease}.tsa-room-person.fx-agree .tsa-person-frame,.tsa-person.fx-agree{animation:tsa-fx-agree .7s ease}.tsa-room-person.fx-sleep .tsa-person-frame,.tsa-person.fx-sleep{animation:tsa-fx-sleep 1.15s ease}.tsa-room-person.fx-clap .tsa-person-frame,.tsa-person.fx-clap{animation:tsa-fx-clap .55s ease}

/* Barras de progreso: HP como estado de debate y XP por nivel. */
.tsa-person-bars .tsa-bar{position:relative}.tsa-person-bars .tsa-bar:first-child i{background:linear-gradient(90deg,#4f9d76,#65bd91)}.tsa-person-bars .tsa-bar.xp i{background:linear-gradient(90deg,#5269b1,#7b66bc)}
.tsa-seat-stats .level{border-color:#d8d0e8;color:#66559d}

/* Preferencias locales de feedback. */
.tsa-personal-feedback{display:grid;gap:9px}.tsa-personal-feedback>p{margin:0 0 2px}.tsa-personal-feedback label,.tsa-card-panel label{color:#5a5e67;font-size:10px;line-height:1.8}.tsa-personal-feedback input:disabled+span{opacity:.5}.tsa-audio-switch{display:flex;align-items:center;gap:7px}.tsa-audio-switch input{accent-color:#625bc2}.tsa-audio-volume{display:grid!important;gap:4px;padding:7px 9px;border:1px solid #dfe1e7;border-radius:8px;background:#f8f8fa}.tsa-audio-volume>span{display:flex;align-items:center;justify-content:space-between;font-size:9px;font-weight:750}.tsa-audio-volume output{color:#5e58b5;font:800 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.tsa-audio-volume input{width:100%;accent-color:#625bc2}.tsa-audio-preview{justify-self:start;min-height:32px!important}

@keyframes tsa-hand-line{50%{opacity:.35;transform:scaleX(.55)}}
@keyframes tsa-hand-bob{0%,100%{transform:translateX(-50%) translateY(0) rotate(-4deg)}50%{transform:translateX(-50%) translateY(-3px) rotate(5deg)}}
@keyframes tsa-fx-particle{0%{opacity:.9;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(calc(-50% + var(--fx-x)),calc(-50% + var(--fx-y))) scale(.2)}}
@keyframes tsa-group-particle{0%{opacity:.75;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--gx),var(--gy)) scale(.15)}}
@keyframes tsa-fx-hit{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
@keyframes tsa-fx-heal{0%{box-shadow:0 0 0 0 rgba(57,150,105,.0)}45%{box-shadow:0 0 0 8px rgba(57,150,105,.18),0 0 22px rgba(57,150,105,.22)}100%{box-shadow:0 0 0 0 rgba(57,150,105,0)}}
@keyframes tsa-fx-fire{0%,100%{filter:none}25%{filter:drop-shadow(0 -4px 4px rgba(224,105,37,.42)) brightness(1.08)}55%{filter:drop-shadow(0 -8px 7px rgba(231,130,45,.48)) brightness(1.12)}}
@keyframes tsa-fx-ovation{0%{transform:scale(1)}45%{transform:scale(1.09) rotate(-2deg);box-shadow:0 0 0 7px rgba(117,87,181,.12)}100%{transform:scale(1)}}
@keyframes tsa-fx-ki{0%,100%{box-shadow:none;filter:none}45%{box-shadow:0 0 0 9px rgba(101,82,176,.10),0 0 0 16px rgba(101,82,176,.05);filter:brightness(1.08)}}
@keyframes tsa-fx-agree{50%{box-shadow:0 0 0 7px rgba(57,139,102,.12);transform:translateY(-2px)}}
@keyframes tsa-fx-sleep{0%,100%{filter:none;transform:translateY(0)}50%{filter:saturate(.55);transform:translateY(2px)}}
@keyframes tsa-fx-clap{0%,100%{transform:translateX(0)}33%{transform:translateX(-2px) rotate(-1deg)}66%{transform:translateX(2px) rotate(1deg)}}

@media(max-width:720px){
  .tsa-avatar-presets{grid-template-columns:repeat(2,1fr)}.tsa-avatar-choice{min-height:88px}.tsa-avatar-choice img{width:48px;height:48px}
  .tsa-direct-menu{width:min(274px,calc(100vw - 16px))!important;left:8px!important}.tsa-group-effect{top:42%;max-width:calc(100vw - 24px)}
  .tsa-cowork-label{display:none}.tsa-quick-reactions{width:max-content}.tsa-quick-reactions button{min-width:51px}.tsa-quick-reactions button[data-group-action="hand"]:after{bottom:1px}
}
@media(max-width:480px){
  .tsa-direct-menu .tsa-reaction-grid button{min-height:50px}.tsa-group-effect{grid-template-columns:41px auto;padding:7px 10px 7px 7px}.tsa-group-effect strong{width:41px;height:41px;font-size:20px}.tsa-group-effect span{font-size:8px}
}
@media(prefers-reduced-motion:reduce){
  .tsa-seat-signal{animation:none!important}
}
.tsa-engagement-icon{display:block;width:18px;height:18px;fill:currentColor;stroke:none}.tsa-seat-signal .tsa-engagement-icon{width:15px;height:15px}.tsa-reaction-burst .tsa-engagement-icon{width:20px;height:20px}.tsa-group-effect strong .tsa-engagement-icon{width:25px;height:25px}.tsa-quick-reactions .tsa-engagement-icon{width:16px;height:16px;margin:auto}


/* ===== Engagement visual refresh v0.5.1 ===== */
.tsa-direct-menu{width:292px!important;padding:10px!important;border:1px solid rgba(118,129,155,.36)!important;border-radius:14px!important;background:linear-gradient(180deg,rgba(12,16,24,.96),rgba(8,12,18,.95))!important;box-shadow:0 18px 48px rgba(0,0,0,.34)!important;color:#eef2ff!important;backdrop-filter:blur(10px)}
.tsa-direct-menu:before{content:"";position:absolute;left:26px;bottom:-8px;width:14px;height:14px;background:rgba(8,12,18,.95);border-right:1px solid rgba(118,129,155,.36);border-bottom:1px solid rgba(118,129,155,.36);transform:rotate(45deg)}
.tsa-reaction-head{padding:0 2px 8px}.tsa-reaction-head span{color:#7f91be;font-size:7px;letter-spacing:.16em}.tsa-reaction-head strong{color:#f5f7ff!important;font-size:11px!important}
.tsa-direct-target{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:center;margin:0 0 10px;padding:9px;border:1px solid rgba(123,135,160,.24);border-radius:11px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02))}
.tsa-direct-avatar .tsa-avatar{width:42px;height:42px;border-radius:8px;box-shadow:0 0 0 2px rgba(255,255,255,.06),0 0 0 4px rgba(88,110,176,.18)}
.tsa-direct-meta{display:flex;flex-wrap:wrap;gap:6px}.tsa-direct-meta em{padding:2px 6px;border:1px solid rgba(121,132,159,.24);border-radius:999px;background:rgba(255,255,255,.04);font-style:normal;font-size:7px;font-weight:850;color:#cad3ee}
.tsa-direct-bars{display:grid;gap:6px;margin-top:6px}.tsa-direct-bars .tsa-bar{height:6px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.tsa-direct-bars .tsa-bar i{display:block;height:100%}.tsa-direct-bars .tsa-bar.hp i{background:linear-gradient(90deg,#4dd48c,#8de9b8)}.tsa-direct-bars .tsa-bar.xp i{background:linear-gradient(90deg,#6f86ff,#a071ff)}
.tsa-direct-menu .tsa-reaction-grid button{min-height:58px;border:1px solid rgba(125,136,163,.22)!important;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03))!important;color:#e8edff!important;box-shadow:none!important}.tsa-direct-menu .tsa-reaction-grid button:hover{border-color:rgba(145,160,196,.42)!important;background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.05))!important}.tsa-direct-menu .tsa-reaction-grid button>b{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.07)!important}.tsa-direct-menu .tsa-reaction-grid small{color:#abb7d9!important}
.tsa-direct-menu [data-reaction="attack"]>b{color:#ff807f;background:rgba(255,102,120,.12)!important}.tsa-direct-menu [data-reaction="restore"]>b{color:#63d99a;background:rgba(76,217,146,.12)!important}.tsa-direct-menu [data-reaction="fire"]>b{color:#ffb060;background:rgba(255,149,0,.12)!important}.tsa-direct-menu [data-reaction="ovation"]>b{color:#c7a3ff;background:rgba(157,101,255,.13)!important}

.tsa-quick-reactions button{border-color:rgba(121,130,148,.26)!important;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.03))!important;color:#e9edf7!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 6px 18px rgba(0,0,0,.18)}
.tsa-quick-reactions button:hover:not(:disabled){background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.05))!important;border-color:rgba(153,166,194,.4)!important;color:#fff!important;transform:translateY(-1px)}
.tsa-quick-reactions button.active{border-color:rgba(120,137,190,.62)!important;background:linear-gradient(180deg,rgba(84,106,181,.28),rgba(76,95,156,.16))!important;color:#fff!important;box-shadow:0 0 0 2px rgba(90,109,175,.18),0 10px 24px rgba(0,0,0,.2)}
.tsa-quick-reactions button[data-group-action="hand"] b{color:#ffd36d}.tsa-quick-reactions button[data-group-action="clap"] b{color:#ffbe66}.tsa-quick-reactions button[data-group-action="ki"] b{color:#8fa0ff}.tsa-quick-reactions button[data-group-action="agree"] b{color:#7fe0b6}.tsa-quick-reactions button[data-group-action="sleep"] b{color:#b6bdd1}

.tsa-reaction-burst{width:52px;height:52px;top:-5px;border-radius:16px;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.98),rgba(243,246,255,.92) 58%,rgba(236,239,249,.86) 100%)!important;box-shadow:0 12px 30px rgba(0,0,0,.25),0 0 0 1px rgba(255,255,255,.1)!important}.tsa-reaction-burst.visible{transform:translate(-50%,-46px) scale(1)}.tsa-reaction-burst b{display:grid;place-items:center;width:28px;height:28px}.tsa-reaction-burst small{position:absolute;right:-5px;bottom:-5px;z-index:2;padding:2px 6px;border-radius:999px;background:#0a0d14;color:#fff;font-size:7px;font-weight:900;letter-spacing:.08em;box-shadow:0 6px 16px rgba(0,0,0,.25)}.tsa-reaction-burst i{width:6px;height:6px;border-radius:2px}.tsa-reaction-burst .tsa-fx-ring{position:absolute;inset:4px;border:2px solid currentColor;border-radius:14px;opacity:.26;animation:tsa-fx-ring 1s ease-out forwards}.tsa-reaction-burst .tsa-fx-ring.second{inset:-2px;opacity:.18;animation-delay:.08s}
.tsa-reaction-burst.attack{color:#ff6c7e;background:radial-gradient(circle at 50% 38%,rgba(255,246,246,.98),rgba(255,235,240,.93) 58%,rgba(255,226,232,.88) 100%)!important}.tsa-reaction-burst.restore{color:#4bd191;background:radial-gradient(circle at 50% 38%,rgba(244,255,249,.98),rgba(227,252,238,.93) 58%,rgba(218,247,230,.88) 100%)!important}.tsa-reaction-burst.fire{color:#ff9b41;background:radial-gradient(circle at 50% 38%,rgba(255,250,242,.98),rgba(255,238,221,.93) 58%,rgba(255,229,203,.88) 100%)!important}.tsa-reaction-burst.ovation{color:#b57dff;background:radial-gradient(circle at 50% 38%,rgba(250,247,255,.98),rgba(239,230,255,.94) 58%,rgba(228,217,255,.89) 100%)!important}

.tsa-effect-beam{position:absolute;z-index:42;height:4px;transform-origin:left center;pointer-events:none;opacity:0}.tsa-effect-beam:before,.tsa-effect-beam:after{content:"";position:absolute;inset:0;border-radius:999px}.tsa-effect-beam:before{background:linear-gradient(90deg,rgba(255,255,255,0),currentColor 38%,rgba(255,255,255,0));opacity:.8}.tsa-effect-beam:after{inset:-4px 0;height:12px;top:-4px;background:linear-gradient(90deg,rgba(255,255,255,0),currentColor 42%,rgba(255,255,255,0));filter:blur(7px);opacity:.35}.tsa-effect-beam.visible{opacity:1;animation:tsa-beam-fade .55s ease-out forwards}.tsa-effect-beam.attack{color:#ff6d81}.tsa-effect-beam.restore{color:#58d69e}.tsa-effect-beam.fire{color:#ff9c47}.tsa-effect-beam.ovation{color:#b589ff}

.tsa-scene-announce{position:absolute;z-index:45;left:50%;top:64%;display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;min-width:220px;max-width:min(540px,calc(100% - 40px));padding:10px 16px 10px 10px;border:1px solid rgba(123,136,162,.32);border-radius:16px;background:linear-gradient(180deg,rgba(7,10,16,.94),rgba(10,13,20,.9));box-shadow:0 20px 48px rgba(0,0,0,.38);backdrop-filter:blur(8px);pointer-events:none;opacity:0;transform:translate(-50%,14px) scale(.92);transition:opacity .14s ease,transform .3s cubic-bezier(.19,.84,.26,1)}.tsa-scene-announce.visible{opacity:1;transform:translate(-50%,0) scale(1)}.tsa-scene-announce b{display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.08);color:#fff}.tsa-scene-announce>div{display:grid;gap:2px}.tsa-scene-announce span{color:#7f91bf;font-size:7px;font-weight:900;letter-spacing:.18em}.tsa-scene-announce strong{color:#fff;font-size:22px;line-height:.95;font-weight:1000;letter-spacing:.02em;text-shadow:0 0 18px rgba(255,255,255,.16),0 3px 10px rgba(0,0,0,.35)}.tsa-scene-announce small{color:#cbd4ef;font-size:9px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tsa-scene-announce>i{position:absolute;width:6px;height:6px;border-radius:2px;background:currentColor;opacity:0}.tsa-scene-announce.visible>i{animation:tsa-scene-spark .9s ease-out forwards}.tsa-scene-announce>i:nth-of-type(1){left:14px;bottom:10px;--sx:-20px;--sy:18px}.tsa-scene-announce>i:nth-of-type(2){right:20px;top:10px;--sx:18px;--sy:-20px;animation-delay:.05s}.tsa-scene-announce>i:nth-of-type(3){left:76px;top:8px;--sx:0;--sy:-24px;animation-delay:.09s}.tsa-scene-announce>i:nth-of-type(4){right:62px;bottom:12px;--sx:24px;--sy:16px;animation-delay:.12s}
.tsa-scene-announce.attack{color:#ff7285}.tsa-scene-announce.restore{color:#64db9e}.tsa-scene-announce.fire{color:#ff9f44}.tsa-scene-announce.ovation{color:#be93ff}.tsa-scene-announce.hand{color:#ffd36e}.tsa-scene-announce.clap{color:#ffbf6b}.tsa-scene-announce.ki{color:#8ea0ff}.tsa-scene-announce.agree{color:#79e2b3}.tsa-scene-announce.sleep{color:#b7bfd6}

.tsa-group-effect{left:50%;top:47%;min-width:170px;padding:10px 16px 10px 10px;border-color:rgba(121,132,160,.28);border-radius:14px;background:linear-gradient(180deg,rgba(11,15,22,.92),rgba(8,11,18,.9));box-shadow:0 16px 42px rgba(0,0,0,.34);color:#eef3ff}.tsa-group-effect strong{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border-color:rgba(255,255,255,.08)}.tsa-group-effect span{font-size:10px;letter-spacing:.04em}

.tsa-room-person .tsa-person-frame{transition:transform .14s ease,box-shadow .16s ease,filter .16s ease}.tsa-room-person:hover .tsa-person-frame{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.22)}
.tsa-room-person.fx-attack .tsa-person-frame,.tsa-person.fx-attack{animation:tsa-fx-hit .38s steps(5,end)}.tsa-room-person.fx-restore .tsa-person-frame,.tsa-person.fx-restore{animation:tsa-fx-heal .95s ease}.tsa-room-person.fx-fire .tsa-person-frame,.tsa-person.fx-fire{animation:tsa-fx-fire 1s ease}.tsa-room-person.fx-ovation .tsa-person-frame,.tsa-person.fx-ovation{animation:tsa-fx-ovation .95s ease}.tsa-room-person.fx-ki .tsa-person-frame,.tsa-person.fx-ki{animation:tsa-fx-ki 1.08s ease}.tsa-room-person.fx-agree .tsa-person-frame,.tsa-person.fx-agree{animation:tsa-fx-agree .76s ease}.tsa-room-person.fx-sleep .tsa-person-frame,.tsa-person.fx-sleep{animation:tsa-fx-sleep 1.18s ease}.tsa-room-person.fx-clap .tsa-person-frame,.tsa-person.fx-clap{animation:tsa-fx-clap .62s ease}.tsa-room-person.fx-hand .tsa-person-frame,.tsa-person.fx-hand{animation:tsa-fx-hand .8s ease}

@keyframes tsa-fx-ring{0%{opacity:.35;transform:scale(.68)}100%{opacity:0;transform:scale(1.18)}}
@keyframes tsa-beam-fade{0%{opacity:0;filter:blur(0)}20%{opacity:1}100%{opacity:0;filter:blur(3px)}}
@keyframes tsa-scene-spark{0%{opacity:.85;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(.2)}}
@keyframes tsa-fx-hand{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:720px){.tsa-direct-menu{width:min(292px,calc(100vw - 16px))!important}.tsa-scene-announce{top:58%;grid-template-columns:46px minmax(0,1fr);padding:8px 12px 8px 8px}.tsa-scene-announce b{width:46px;height:46px}.tsa-scene-announce strong{font-size:18px}.tsa-scene-announce small{font-size:8px}.tsa-group-effect{top:42%}}
@media(max-width:480px){.tsa-scene-announce{top:56%;max-width:calc(100% - 16px)}.tsa-scene-announce strong{font-size:16px}.tsa-direct-target{grid-template-columns:40px minmax(0,1fr)}.tsa-direct-avatar .tsa-avatar{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.tsa-scene-announce{animation:none!important;transition:none!important}}


/* ===== Engagement / progreso / avatar / mesa v0.5.2 ===== */
/* Ranking compacto: visible sólo si el host lo habilita. */
.tsa-engagement-ranking{position:absolute;z-index:26;right:10px;top:9px;width:198px;padding:8px;border:1px solid rgba(105,116,143,.24);border-radius:12px;background:rgba(250,250,248,.88);box-shadow:0 8px 22px rgba(38,41,50,.1);backdrop-filter:blur(7px);color:#3e424c}.tsa-engagement-ranking header{display:grid;gap:1px;margin-bottom:6px;padding:0 2px 5px;border-bottom:1px solid rgba(105,116,143,.14)}.tsa-engagement-ranking header span{font-size:6px;font-weight:900;letter-spacing:.14em;color:#6d7aa4}.tsa-engagement-ranking header strong{font-size:9px}.tsa-ranking-row{display:grid;grid-template-columns:19px 28px minmax(0,1fr) auto;gap:5px;align-items:center;padding:4px 3px;border-radius:7px}.tsa-ranking-row+.tsa-ranking-row{margin-top:2px}.tsa-ranking-row>b{display:grid;place-items:center;width:19px;height:19px;border-radius:6px;background:#e8e9ed;color:#5b606b;font-size:7px}.tsa-ranking-row.rank-1>b{background:#fff0b9;color:#745f22}.tsa-ranking-row.rank-2>b{background:#eef0f5;color:#596170}.tsa-ranking-row.rank-3>b{background:#f4dfcf;color:#7a563f}.tsa-ranking-row .tsa-avatar{width:27px;height:27px;border-radius:6px}.tsa-ranking-row>span{min-width:0;display:grid;gap:1px}.tsa-ranking-row>span strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px}.tsa-ranking-row>span small{color:#7b8190;font-size:6px}.tsa-ranking-row>em{font-style:normal;font-size:6px;font-weight:900;color:#5969a6;white-space:nowrap}

/* Estados de avatar: lectura instantánea sin saturar la mesa. */
.tsa-avatar-state{position:absolute;z-index:8;left:-5px;bottom:-5px;width:10px;height:10px;border:2px solid #f7f7f4;border-radius:50%;background:#6ac69a;box-shadow:0 2px 5px rgba(35,39,48,.18)}.tsa-avatar-state.pressure{background:#e7b357}.tsa-avatar-state.critical{background:#dd6c76;animation:tsa-health-critical 1.45s ease-in-out infinite}.tsa-room-person.health-pressure .tsa-person-frame,.tsa-person.health-pressure .tsa-avatar{box-shadow:0 0 0 2px rgba(219,170,82,.15),0 4px 12px rgba(80,63,32,.08)}.tsa-room-person.health-critical .tsa-person-frame,.tsa-person.health-critical .tsa-avatar{box-shadow:0 0 0 2px rgba(217,92,107,.18),0 0 18px rgba(217,92,107,.12)}
.tsa-room-person.tier-presence .tsa-person-frame{border-color:#888c95}.tsa-room-person.tier-contribution .tsa-person-frame{border-color:#6c82b5}.tsa-room-person.tier-momentum .tsa-person-frame{border-color:#7468b7}.tsa-room-person.tier-catalyst .tsa-person-frame{border-color:#9a6eaf}.tsa-room-person.tier-reference .tsa-person-frame{border-color:#b79045;box-shadow:0 0 0 1px rgba(192,150,67,.18),0 4px 12px rgba(90,66,24,.12)}
.tsa-seat-stats .level{position:relative}.tsa-room-person.tier-reference .tsa-seat-stats .level{border-color:#dfca93;background:#fff9e8;color:#7b622e}

/* Level-up: recompensa visible pero breve. */
.tsa-level-up{position:absolute;z-index:48;left:50%;top:35%;display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:10px;min-width:230px;padding:9px 14px 9px 9px;border:1px solid rgba(169,136,68,.35);border-radius:14px;background:linear-gradient(180deg,rgba(22,19,12,.94),rgba(11,12,16,.94));color:#ffe6a4;box-shadow:0 20px 44px rgba(0,0,0,.34);opacity:0;transform:translate(-50%,14px) scale(.9);pointer-events:none;transition:opacity .15s ease,transform .3s cubic-bezier(.19,.84,.26,1)}.tsa-level-up.visible{opacity:1;transform:translate(-50%,0) scale(1)}.tsa-level-up>b{display:grid;place-items:center;width:50px;height:50px;border:1px solid rgba(255,218,132,.32);border-radius:13px;background:radial-gradient(circle,#665024,#2a2419);font-size:16px;box-shadow:0 0 22px rgba(255,207,100,.16)}.tsa-level-up>div{display:grid;gap:2px}.tsa-level-up span{font-size:6px;font-weight:900;letter-spacing:.16em;color:#d9b969}.tsa-level-up strong{font-size:14px;color:#fff}.tsa-level-up small{font-size:8px;color:#e8d39d}.tsa-level-up>i{position:absolute;width:5px;height:5px;background:#ffd677;opacity:0}.tsa-level-up.visible>i{animation:tsa-level-spark .9s ease-out forwards}.tsa-level-up>i:nth-of-type(1){left:15%;bottom:20%;--lx:-25px;--ly:18px}.tsa-level-up>i:nth-of-type(2){right:18%;top:16%;--lx:22px;--ly:-18px;animation-delay:.05s}.tsa-level-up>i:nth-of-type(3){left:48%;top:8%;--lx:0;--ly:-24px;animation-delay:.1s}

/* Mesa pixel-art final: más profundidad, detalle y lectura de campo de debate. */
.tsa-table-wrap{filter:drop-shadow(0 12px 10px rgba(38,37,36,.16))}.tsa-meeting-table{border:3px solid #5f5d5d;background:
  linear-gradient(90deg,transparent 49.7%,rgba(80,72,66,.12) 49.7% 50.3%,transparent 50.3%),
  linear-gradient(0deg,transparent 49.7%,rgba(80,72,66,.1) 49.7% 50.3%,transparent 50.3%),
  linear-gradient(125deg,rgba(255,255,255,.24),transparent 32%),
  repeating-linear-gradient(90deg,#c9bba9 0 34px,#c3b39f 34px 68px,#bfae9b 68px 102px,#c6b7a4 102px 136px);
  box-shadow:inset 0 0 0 2px #dfd7cb,inset 0 -8px rgba(75,62,50,.17),inset 0 8px rgba(255,255,255,.08)}
.tsa-meeting-table:before{left:10%;right:10%;top:49%;height:2px;background:linear-gradient(90deg,transparent,#7d746b 10%,#7d746b 90%,transparent);box-shadow:0 4px rgba(255,255,255,.15)}
.tsa-meeting-table:after{left:16%;right:16%;top:16%;bottom:16%;border:1px dashed rgba(78,80,95,.2);border-radius:42%;background:
  radial-gradient(circle at 50% 50%,rgba(89,106,168,.08) 0 2px,transparent 3px),
  linear-gradient(90deg,transparent calc(50% - .5px),rgba(77,84,105,.16) calc(50% - .5px),rgba(77,84,105,.16) calc(50% + .5px),transparent calc(50% + .5px)),
  linear-gradient(0deg,transparent calc(50% - .5px),rgba(77,84,105,.13) calc(50% - .5px),rgba(77,84,105,.13) calc(50% + .5px),transparent calc(50% + .5px));box-shadow:inset 0 0 0 8px rgba(255,255,255,.025),0 0 0 1px rgba(255,255,255,.05)}
.tsa-table-core{left:46.5%;top:29%;width:7%;height:32%;border:1px solid #747887;background:linear-gradient(180deg,#f0f0ee,#dadbdc);color:#5669b0;font-size:12px;box-shadow:inset 0 0 0 2px #f9f9f6,0 3px 5px rgba(35,37,44,.14)}.tsa-table-core:before,.tsa-table-core:after{content:"";position:absolute;left:50%;width:4px;height:4px;border-radius:1px;background:#6978b2;transform:translateX(-50%)}.tsa-table-core:before{top:4px}.tsa-table-core:after{bottom:4px;background:#7fb493}
.tsa-table-laptop{box-shadow:inset 0 0 0 2px #eef0f3,0 2px 5px rgba(42,44,50,.14)}.tsa-table-laptop:before{content:"";position:absolute;inset:4px;background:repeating-linear-gradient(90deg,#9aa7c6 0 2px,#dde2ee 2px 4px);opacity:.65}.tsa-table-pad{box-shadow:0 2px 4px rgba(65,57,49,.1)}.tsa-table-cup:before{content:"";position:absolute;left:3px;right:3px;top:-5px;height:4px;border-left:1px solid rgba(126,111,93,.35);border-right:1px solid rgba(126,111,93,.22);opacity:.7}
.tsa-pixel-chair{background:linear-gradient(180deg,#d2d2d0 0 55%,#b9babd 55%);box-shadow:inset 0 0 0 2px #e7e7e4,inset 0 -5px rgba(73,75,82,.08),0 3px 4px rgba(40,42,48,.11)}

/* Mobile: feedback táctil y visual más legible. */
@media(max-width:720px){
  .tsa-direct-menu{position:fixed!important;left:8px!important;right:8px!important;top:auto!important;bottom:58px!important;width:auto!important;max-height:calc(100dvh - 82px);overflow:auto;border-radius:16px 16px 12px 12px!important}.tsa-direct-menu:before{display:none}.tsa-direct-target{position:sticky;top:0;z-index:2;background:rgba(10,14,20,.96)}
  .tsa-quick-reactions{min-width:max-content;gap:3px}.tsa-quick-reactions button{min-width:54px;min-height:44px;display:grid!important;grid-template-rows:20px auto;place-items:center;gap:2px;padding:3px 5px!important}.tsa-quick-reactions button span{display:block!important;font-size:6px!important;line-height:1!important}.tsa-quick-reactions button b{font-size:16px!important}
  .tsa-engagement-ranking{right:6px;top:6px;width:168px;padding:6px}.tsa-ranking-row{grid-template-columns:17px 24px minmax(0,1fr);gap:4px}.tsa-ranking-row>em{display:none}.tsa-ranking-row .tsa-avatar{width:23px;height:23px}.tsa-ranking-row>span small{display:none}.tsa-level-up{top:31%;min-width:210px;max-width:calc(100vw - 20px)}
}
@media(max-width:480px){.tsa-engagement-ranking{display:none}.tsa-room-person .tsa-avatar-state{width:9px;height:9px}.tsa-level-up{grid-template-columns:42px minmax(0,1fr);padding:8px}.tsa-level-up>b{width:42px;height:42px;font-size:13px}.tsa-level-up strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.tsa-avatar-state.critical,.tsa-level-up>i{animation:none!important}}
@keyframes tsa-health-critical{0%,100%{box-shadow:0 2px 5px rgba(35,39,48,.18),0 0 0 0 rgba(221,108,118,.2)}50%{box-shadow:0 2px 5px rgba(35,39,48,.18),0 0 0 5px rgba(221,108,118,0)}}
@keyframes tsa-level-spark{0%{opacity:.9;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--lx),var(--ly)) scale(.2)}}

/* ===== Interacciones ancladas + arena pixel art moderna v0.5.3 ===== */
/* Los anuncios centrales quedan anulados: la lectura sucede en el participante. */
.tsa-scene-announce,.tsa-group-effect,.tsa-level-up{display:none!important}

/* Traza breve actor -> objetivo. */
.tsa-effect-beam{z-index:28;height:2px;overflow:visible;opacity:0;image-rendering:pixelated}
.tsa-effect-beam:before{inset:0;background:repeating-linear-gradient(90deg,transparent 0 5px,currentColor 5px 11px,transparent 11px 15px);border-radius:0;opacity:.78}
.tsa-effect-beam:after{inset:-2px 0;height:6px;top:-2px;background:linear-gradient(90deg,transparent,currentColor 35% 65%,transparent);filter:blur(4px);opacity:.22}
.tsa-effect-beam.visible{animation:tsa-avatar-beam .48s steps(6,end) forwards}

/* Contenedor único de efecto. Ningún texto narrativo invade la mesa. */
.tsa-avatar-effect{position:absolute;z-index:38;left:50%;top:-15px;width:78px;height:78px;display:block;overflow:visible;pointer-events:none;opacity:0;transform:translate(-50%,7px) scale(.82);transition:opacity .08s linear,transform .18s steps(3,end);color:#6d72ff;image-rendering:pixelated}
.tsa-avatar-effect.visible{opacity:1;transform:translate(-50%,0) scale(1)}
.tsa-avatar-effect.fx-attack{color:#f05f73}.tsa-avatar-effect.fx-restore{color:#32bd83}.tsa-avatar-effect.fx-fire{color:#f08336}.tsa-avatar-effect.fx-ovation{color:#8d65e8}.tsa-avatar-effect.fx-hand{color:#d49a2d}.tsa-avatar-effect.fx-clap{color:#e69a31}.tsa-avatar-effect.fx-ki{color:#6278f2}.tsa-avatar-effect.fx-agree{color:#32a875}.tsa-avatar-effect.fx-sleep{color:#747d98}
.tsa-avatar-effect .tsa-engagement-icon{width:24px;height:24px}
.tsa-fx-deltas{position:absolute;z-index:9;left:50%;bottom:-2px;display:flex;gap:3px;transform:translateX(-50%);white-space:nowrap}
.tsa-fx-delta{display:block;padding:3px 5px;border:2px solid #f8f8f5;background:#fff;box-shadow:2px 2px 0 rgba(23,31,57,.2);font:900 7px/1 ui-monospace,Consolas,monospace;font-style:normal;letter-spacing:.01em}
.tsa-fx-delta.positive{color:#15764f}.tsa-fx-delta.negative{color:#bd334b}
.tsa-fx-glyph{position:absolute;z-index:5;left:50%;top:18px;display:grid;place-items:center;width:36px;height:36px;border:3px solid currentColor;background:#fff;box-shadow:3px 3px 0 rgba(25,34,61,.2);transform:translateX(-50%);clip-path:polygon(5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px),0 5px)}

/* Ataque: dos cortes y fragmentos exactamente sobre el objetivo. */
.tsa-fx-slash{position:absolute;z-index:6;left:10px;top:34px;width:58px;height:5px;background:#fff;box-shadow:0 -2px currentColor,0 2px currentColor,3px 3px 0 rgba(31,39,61,.22);transform-origin:center;opacity:0}
.tsa-fx-slash.first{transform:rotate(-37deg) scaleX(.2)}.tsa-fx-slash.second{transform:rotate(38deg) scaleX(.2)}
.tsa-avatar-effect.visible .tsa-fx-slash.first{animation:tsa-slash-one .28s steps(4,end) .03s forwards}.tsa-avatar-effect.visible .tsa-fx-slash.second{animation:tsa-slash-two .28s steps(4,end) .1s forwards}
.tsa-fx-impact{position:absolute;inset:0}.tsa-fx-impact i{position:absolute;left:50%;top:48%;width:5px;height:5px;background:currentColor;opacity:0}.tsa-avatar-effect.visible .tsa-fx-impact i{animation:tsa-impact-pixel .46s steps(4,end) .13s forwards}.tsa-fx-impact i:nth-child(1){--ix:-29px;--iy:-20px}.tsa-fx-impact i:nth-child(2){--ix:27px;--iy:-15px}.tsa-fx-impact i:nth-child(3){--ix:-24px;--iy:22px}.tsa-fx-impact i:nth-child(4){--ix:31px;--iy:18px}

/* Restaurar: halo limpio y cruces pixeladas. */
.tsa-fx-halo{position:absolute;left:50%;top:50%;width:42px;height:42px;border:3px solid currentColor;opacity:0;transform:translate(-50%,-50%) scale(.45)}.tsa-fx-halo.h2{width:60px;height:60px;border-width:2px}.tsa-avatar-effect.visible .tsa-fx-halo{animation:tsa-heal-halo .72s steps(6,end) forwards}.tsa-avatar-effect.visible .tsa-fx-halo.h2{animation-delay:.08s}
.tsa-fx-pixels i{position:absolute;width:5px;height:5px;background:currentColor;box-shadow:5px 0 currentColor,0 5px currentColor,5px 5px currentColor;opacity:0}.tsa-fx-pixels i:nth-child(1){left:9px;top:17px}.tsa-fx-pixels i:nth-child(2){right:13px;top:8px}.tsa-fx-pixels i:nth-child(3){left:17px;bottom:9px}.tsa-fx-pixels i:nth-child(4){right:9px;bottom:17px}.tsa-avatar-effect.visible .tsa-fx-pixels i{animation:tsa-rise-pixel .78s steps(5,end) forwards}.tsa-avatar-effect.visible .tsa-fx-pixels i:nth-child(2){animation-delay:.06s}.tsa-avatar-effect.visible .tsa-fx-pixels i:nth-child(3){animation-delay:.12s}.tsa-avatar-effect.visible .tsa-fx-pixels i:nth-child(4){animation-delay:.18s}

/* Incendiar: llama propia, pequeña y localizada. */
.tsa-fx-flames{position:absolute;z-index:5;left:50%;top:8px;width:58px;height:55px;transform:translateX(-50%)}.tsa-fx-flames i{position:absolute;bottom:3px;width:19px;height:42px;background:linear-gradient(90deg,#ffb03b 0 38%,#f05e45 38% 70%,#7d54de 70%);clip-path:polygon(46% 0,75% 24%,67% 42%,100% 66%,85% 100%,10% 100%,0 64%,27% 35%);transform-origin:center bottom;opacity:0}.tsa-fx-flames i:nth-child(1){left:3px;height:32px}.tsa-fx-flames i:nth-child(2){left:20px}.tsa-fx-flames i:nth-child(3){right:3px;height:35px}.tsa-avatar-effect.visible .tsa-fx-flames i{animation:tsa-flame-pixel .74s steps(6,end) forwards}.tsa-avatar-effect.visible .tsa-fx-flames i:nth-child(2){animation-delay:.06s}.tsa-avatar-effect.visible .tsa-fx-flames i:nth-child(3){animation-delay:.11s}
.tsa-fx-embers i{position:absolute;width:4px;height:4px;background:#ff9a35;opacity:0}.tsa-fx-embers i:nth-child(1){left:13px;top:42px;--ex:-5px;--ey:-36px}.tsa-fx-embers i:nth-child(2){left:30px;top:34px;--ex:3px;--ey:-41px}.tsa-fx-embers i:nth-child(3){right:16px;top:43px;--ex:7px;--ey:-33px}.tsa-fx-embers i:nth-child(4){right:29px;top:49px;--ex:-2px;--ey:-29px}.tsa-avatar-effect.visible .tsa-fx-embers i{animation:tsa-ember .9s steps(6,end) .15s forwards}

/* Ovación: corona y estrellas, sin cartel explicativo. */
.tsa-fx-crown{position:absolute;z-index:6;left:50%;top:4px;width:42px;height:26px;background:linear-gradient(90deg,#f3c853,#fff1a7 50%,#b477ef);box-shadow:0 3px 0 #7650ab,0 0 14px rgba(130,87,215,.3);clip-path:polygon(0 24%,22% 56%,38% 0,55% 55%,76% 7%,100% 32%,88% 100%,10% 100%);font-size:0;opacity:0;transform:translateX(-50%) translateY(8px)}.tsa-avatar-effect.visible .tsa-fx-crown{animation:tsa-crown-drop .4s steps(4,end) forwards}
.tsa-fx-stars i{position:absolute;color:#9a63e7;font:900 13px/1 ui-monospace,monospace;opacity:0}.tsa-fx-stars i:nth-child(1){left:5px;top:25px;--sx:-7px;--sy:-11px}.tsa-fx-stars i:nth-child(2){right:6px;top:19px;--sx:7px;--sy:-12px}.tsa-fx-stars i:nth-child(3){left:16px;bottom:11px;--sx:-7px;--sy:9px}.tsa-fx-stars i:nth-child(4){right:14px;bottom:12px;--sx:8px;--sy:7px}.tsa-avatar-effect.visible .tsa-fx-stars i{animation:tsa-avatar-star .7s steps(5,end) .12s forwards}

/* Acciones sociales sobre el actor. */
.tsa-fx-wave{position:absolute;left:50%;top:48%;width:42px;height:42px;border:3px solid currentColor;border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.35)}.tsa-fx-wave.w2{width:62px;height:62px;border-width:2px}.tsa-avatar-effect.visible .tsa-fx-wave{animation:tsa-social-wave .68s steps(6,end) forwards}.tsa-avatar-effect.visible .tsa-fx-wave.w2{animation-delay:.08s}
.tsa-fx-aura{position:absolute;left:50%;bottom:9px;width:47px;height:60px;border:3px solid #6781ff;clip-path:polygon(50% 0,63% 12%,75% 5%,80% 26%,96% 23%,87% 49%,100% 64%,78% 73%,74% 100%,50% 87%,25% 100%,21% 75%,0 65%,13% 48%,5% 25%,24% 27%,27% 6%,39% 14%);opacity:0;transform:translateX(-50%) scale(.65)}.tsa-fx-aura.a2{width:61px;height:70px;border-color:#a66bff;opacity:.35}.tsa-avatar-effect.visible .tsa-fx-aura{animation:tsa-ki-aura .86s steps(7,end) forwards}.tsa-avatar-effect.visible .tsa-fx-aura.a2{animation-delay:.08s}
.tsa-fx-core{position:absolute;left:50%;top:31px;width:10px;height:10px;background:#fff;box-shadow:0 0 0 3px #6680f4,0 0 13px #8c66ed;transform:translateX(-50%)}
.tsa-fx-check{position:absolute;z-index:6;left:50%;top:15px;display:grid;place-items:center;width:42px;height:42px;border:3px solid #2aa170;background:#f2fff9;box-shadow:3px 3px 0 rgba(37,106,78,.2);color:#249765;font:1000 27px/1 ui-monospace,monospace;opacity:0;transform:translateX(-50%) scale(.5)}.tsa-avatar-effect.visible .tsa-fx-check{animation:tsa-check-pop .52s steps(5,end) forwards}
.tsa-fx-z b{position:absolute;color:#68728f;text-shadow:2px 2px 0 #fff;font:1000 20px/1 ui-monospace,monospace;opacity:0}.tsa-fx-z b:nth-child(1){left:22px;top:37px}.tsa-fx-z b:nth-child(2){left:41px;top:20px;font-size:15px}.tsa-fx-z b:nth-child(3){left:55px;top:7px;font-size:11px}.tsa-avatar-effect.visible .tsa-fx-z b{animation:tsa-sleep-z 1.1s steps(7,end) forwards}.tsa-avatar-effect.visible .tsa-fx-z b:nth-child(2){animation-delay:.1s}.tsa-avatar-effect.visible .tsa-fx-z b:nth-child(3){animation-delay:.2s}

/* Fuente de la acción y nivel: ambos quedan pegados al participante. */
.tsa-room-person.fx-source .tsa-person-frame{box-shadow:0 0 0 3px rgba(91,113,233,.22),0 0 18px rgba(99,83,225,.2),3px 4px 0 rgba(44,57,94,.18)}
.tsa-avatar-level-up{position:absolute;z-index:41;left:50%;top:-26px;display:block;padding:5px 8px;border:2px solid #7650ba;background:linear-gradient(90deg,#fff5ba,#eee5ff);box-shadow:3px 3px 0 rgba(58,44,100,.22);color:#5d3c9e;font:1000 9px/1 ui-monospace,monospace;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,7px) scale(.7);transition:opacity .08s linear,transform .18s steps(3,end)}.tsa-avatar-level-up.visible{opacity:1;transform:translate(-50%,0) scale(1)}.tsa-avatar-level-up i{position:absolute;width:4px;height:4px;background:#9b67ea;animation:tsa-level-avatar-pixel .75s steps(5,end) forwards}.tsa-avatar-level-up i:nth-child(1){left:-5px;top:3px;--lx:-9px;--ly:-7px}.tsa-avatar-level-up i:nth-child(2){right:-5px;top:4px;--lx:10px;--ly:-8px}.tsa-avatar-level-up i:nth-child(3){left:50%;bottom:-4px;--lx:0;--ly:10px}

/* Señal persistente de mano claramente asociada al actor. */
.tsa-seat-signal.hand{z-index:34;top:-21px;left:calc(50% - 30px);width:29px;height:29px;border:2px solid #b67c18;border-radius:2px;background:#fff7d9;box-shadow:3px 3px 0 rgba(101,74,24,.18);color:#c18820;animation:tsa-hand-persist 1.35s steps(4,end) infinite}.tsa-seat-signal.hand .tsa-engagement-icon{width:18px;height:18px}

/* Sala clara y amable; el contraste fuerte se concentra sólo en la arena. */
.tsa-conference-scene{background:#eef1f6;color:#202a44}
.tsa-conference-wall{border-bottom:4px solid #d3d9e4;background:linear-gradient(180deg,#f8f9fb 0,#eef1f5 72%,#e7ebf1 72%);box-shadow:inset 0 -12px 22px rgba(61,73,105,.05)}
.tsa-wall-panel{border:3px solid #d1d8e5;background:linear-gradient(180deg,#f9fafc,#e9edf4);box-shadow:inset 0 0 0 3px #fff,5px 6px 0 rgba(65,75,102,.06)}
.tsa-wall-panel:after{content:"";position:absolute;left:10%;right:10%;bottom:12%;height:4px;background:repeating-linear-gradient(90deg,#5f7ff0 0 13%,transparent 13% 19%,#8a62e5 19% 31%,transparent 31% 38%);opacity:.45}
.tsa-brand-plaque{border-color:#243155;background:linear-gradient(135deg,#4c7cf2,#8357df);box-shadow:4px 4px 0 #c7cfdd,0 0 20px rgba(88,95,221,.14)}
.tsa-conference-floor{background:repeating-linear-gradient(90deg,transparent 0 8%,rgba(61,73,105,.045) 8% 8.25%),linear-gradient(#e2e6ed,#d8dee7)}

/* Mesa de reunión convertida en campo táctico de ideas. */
.tsa-table-wrap{left:19%;right:19%;top:28%;bottom:11%;filter:drop-shadow(0 15px 11px rgba(31,39,62,.2))}
.tsa-meeting-table{overflow:visible;border:4px solid #27324d;background:
  linear-gradient(90deg,transparent 49.7%,rgba(85,96,125,.16) 49.7% 50.3%,transparent 50.3%),
  linear-gradient(135deg,rgba(255,255,255,.72),transparent 33%),
  repeating-linear-gradient(90deg,#e9ecf1 0 30px,#dfe4ec 30px 60px,#e6e9ef 60px 90px);
  box-shadow:inset 0 0 0 3px #f9fafb,inset 0 -9px #b8c0cf,inset 0 -13px #8994aa,0 4px 0 rgba(31,39,62,.14);clip-path:polygon(10% 0,90% 0,100% 24%,96% 100%,4% 100%,0 24%)}
.tsa-meeting-table:before{left:8%;right:8%;top:8px;height:3px;background:repeating-linear-gradient(90deg,#587cf0 0 8px,transparent 8px 14px,#9160e4 14px 20px,transparent 20px 31px);box-shadow:none;opacity:.48}
.tsa-meeting-table:after{display:none}
.tsa-debate-arena{position:absolute;z-index:2;left:23%;right:23%;top:18%;bottom:17%;overflow:hidden;border:3px solid #313e62;background:
  radial-gradient(circle at 50% 50%,rgba(126,93,238,.24) 0 2px,transparent 3px),
  linear-gradient(90deg,transparent calc(50% - 1px),rgba(91,126,238,.32) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),
  linear-gradient(0deg,transparent calc(50% - 1px),rgba(139,86,224,.24) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),
  repeating-linear-gradient(0deg,transparent 0 11px,rgba(125,145,210,.09) 11px 12px),
  repeating-linear-gradient(90deg,#101a34 0 12px,#14203c 12px 24px);
  box-shadow:inset 0 0 0 2px #202c4b,inset 0 0 24px rgba(77,103,220,.18),3px 4px 0 rgba(38,47,73,.2);clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px)}
.tsa-debate-arena .lane{position:absolute;top:18%;bottom:18%;width:31%;border:1px dashed rgba(119,146,247,.4)}.tsa-debate-arena .lane.left{left:8%}.tsa-debate-arena .lane.right{right:8%;border-color:rgba(158,103,234,.38)}
.tsa-debate-arena .axis{position:absolute;left:50%;top:8%;bottom:8%;width:2px;background:repeating-linear-gradient(0deg,#5c7df0 0 4px,transparent 4px 8px);opacity:.65}.tsa-debate-arena .pulse{position:absolute;left:50%;top:50%;width:30px;height:30px;border:2px solid #885ee3;border-radius:50%;box-shadow:0 0 0 6px rgba(86,117,235,.08),0 0 14px rgba(125,83,229,.25);transform:translate(-50%,-50%)}
.tsa-turn-node{position:absolute;z-index:3;width:7px;height:7px;border:2px solid #f7f8fa;background:#6585f4;box-shadow:0 0 7px rgba(73,104,230,.45)}.tsa-turn-node.n1{left:29%;top:24%}.tsa-turn-node.n2{left:29%;bottom:24%}.tsa-turn-node.n3{left:49%;top:16%;background:#8a5de2}.tsa-turn-node.n4{right:29%;top:24%;background:#8a5de2}.tsa-turn-node.n5{right:29%;bottom:24%}.tsa-turn-node.n6{left:49%;bottom:16%}
.tsa-table-led{position:absolute;z-index:3;top:48%;width:10%;height:3px;background:repeating-linear-gradient(90deg,#547cf1 0 5px,transparent 5px 9px);box-shadow:0 0 7px rgba(76,110,236,.3)}.tsa-table-led.left{left:7%}.tsa-table-led.right{right:7%;background:repeating-linear-gradient(90deg,#9061e5 0 5px,transparent 5px 9px)}
.tsa-table-core{z-index:5;left:46.5%;top:31%;width:7%;height:34%;border:2px solid #dce3f0;background:linear-gradient(180deg,#15213d,#202d50);color:#fff;font-size:12px;box-shadow:inset 0 0 0 2px #314164,3px 4px 0 rgba(35,42,65,.28),0 0 13px rgba(103,87,221,.22)}.tsa-table-core:before{background:#6785f3;box-shadow:0 0 5px #6785f3}.tsa-table-core:after{background:#9b65e9;box-shadow:0 0 5px #9b65e9}
.tsa-table-detail{z-index:4}.tsa-table-laptop{border-color:#394766;background:#e8ebf2;box-shadow:inset 0 0 0 2px #f8f9fb,3px 3px 0 rgba(31,40,63,.18)}.tsa-table-laptop:before{background:repeating-linear-gradient(90deg,#667ff0 0 2px,#cad2e7 2px 4px);opacity:.72}.tsa-table-pad{border-color:#5c6780;background:linear-gradient(90deg,#dfe4ec 0 78%,#7c63df 78%);box-shadow:2px 3px 0 rgba(31,40,63,.13)}.tsa-table-cup{border-color:#59657f;background:#f8f9fb;box-shadow:2px 3px 0 rgba(31,40,63,.14)}
.tsa-table-object{border:2px solid #303d5d;background:#f8f9fb;box-shadow:3px 4px 0 #9ba6ba;color:#32405f;transition:transform .1s steps(2,end),box-shadow .1s steps(2,end)}.tsa-table-object:hover{box-shadow:4px 6px 0 #8f9ab0}.tsa-table-object.poker{color:#684ed5}.tsa-table-object.board{color:#3863da}
.tsa-pixel-chair{border-color:#313d5c;background:linear-gradient(180deg,#e7e9ed 0 52%,#b9c1ce 52%);box-shadow:inset 0 0 0 2px #f7f8fa,inset 0 -6px rgba(48,58,84,.1),3px 4px 0 rgba(31,40,63,.16)}
.tsa-meeting-table.fx-clap-echo .tsa-debate-arena{animation:tsa-table-clap .58s steps(5,end)}

/* Controles sociales presentes pero discretos. */
.tsa-room-footer{border-top-color:#d9dee8;background:rgba(247,248,250,.97);box-shadow:0 -7px 18px rgba(35,44,67,.05)}
.tsa-quick-reactions button{border:1px solid #d9deea!important;background:#f3f5f8!important;color:#4e5871!important;box-shadow:none!important}.tsa-quick-reactions button:hover:not(:disabled){border-color:#b7c3ed!important;background:#eef1fb!important;color:#4e55bf!important;box-shadow:2px 2px 0 #cbd2e3!important}.tsa-quick-reactions button.active{border-color:#8d78e0!important;background:#eee9ff!important;color:#6348c9!important;box-shadow:2px 2px 0 #c7bbed!important}

@media(max-width:900px){
  .tsa-table-wrap{left:8%;right:8%}.tsa-debate-arena{left:21%;right:21%}.tsa-table-object{transform:scale(.9)}
}
@media(max-width:720px){
  .tsa-table-wrap{left:4%;right:4%;top:27%;bottom:14%}.tsa-debate-arena{left:18%;right:18%;top:16%;bottom:15%}.tsa-turn-node{width:6px;height:6px}.tsa-table-core{width:8%;left:46%}.tsa-table-led{width:7%}
  .tsa-avatar-effect{top:-20px;width:88px;height:88px}.tsa-fx-deltas{bottom:1px}.tsa-fx-delta{font-size:8px;padding:4px 6px}
  .tsa-avatar-level-up{top:-31px;font-size:10px}.tsa-seat-signal.hand{top:-25px}
  .tsa-quick-reactions{max-width:calc(100vw - 18px);overflow-x:auto;padding:2px 1px;scrollbar-width:none}.tsa-quick-reactions::-webkit-scrollbar{display:none}.tsa-quick-reactions>small{display:none}.tsa-quick-reactions button{min-width:50px!important}
}
@media(max-width:480px){
  .tsa-debate-arena{left:15%;right:15%}.tsa-debate-arena .lane{display:none}.tsa-turn-node.n1,.tsa-turn-node.n2{left:23%}.tsa-turn-node.n4,.tsa-turn-node.n5{right:23%}
  .tsa-table-detail{opacity:.55}.tsa-table-object{width:42px;height:34px}.tsa-table-object.notes{right:8%}.tsa-table-object.poker{left:8%}
  .tsa-fx-deltas{bottom:4px}.tsa-fx-delta{font-size:8px}.tsa-effect-beam{display:block}
}
@media(prefers-reduced-motion:reduce){
  .tsa-seat-signal.hand{animation:none!important;transition:none!important}
}

@keyframes tsa-avatar-beam{0%{opacity:0}18%{opacity:1}70%{opacity:.62}100%{opacity:0}}
@keyframes tsa-slash-one{0%{opacity:0;transform:rotate(-37deg) scaleX(.2)}45%{opacity:1}100%{opacity:0;transform:rotate(-37deg) scaleX(1)}}
@keyframes tsa-slash-two{0%{opacity:0;transform:rotate(38deg) scaleX(.2)}45%{opacity:1}100%{opacity:0;transform:rotate(38deg) scaleX(1)}}
@keyframes tsa-impact-pixel{0%{opacity:0;transform:translate(0,0)}25%{opacity:1}100%{opacity:0;transform:translate(var(--ix),var(--iy))}}
@keyframes tsa-heal-halo{0%{opacity:.8;transform:translate(-50%,-50%) scale(.4)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.25)}}
@keyframes tsa-rise-pixel{0%{opacity:0;transform:translateY(9px)}30%{opacity:1}100%{opacity:0;transform:translateY(-16px)}}
@keyframes tsa-flame-pixel{0%{opacity:0;transform:scaleY(.35)}24%{opacity:.95}55%{transform:scaleY(1) translateX(2px)}78%{transform:scaleY(.82) translateX(-2px)}100%{opacity:0;transform:scaleY(.7)}}
@keyframes tsa-ember{0%{opacity:0;transform:translate(0,0)}24%{opacity:1}100%{opacity:0;transform:translate(var(--ex),var(--ey))}}
@keyframes tsa-crown-drop{0%{opacity:0;transform:translateX(-50%) translateY(9px) scale(.65)}65%{opacity:1;transform:translateX(-50%) translateY(-2px) scale(1.08)}100%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}
@keyframes tsa-avatar-star{0%{opacity:0;transform:translate(0,0) scale(.4)}28%{opacity:1}100%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(1.2)}}
@keyframes tsa-social-wave{0%{opacity:.65;transform:translate(-50%,-50%) scale(.3)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.15)}}
@keyframes tsa-ki-aura{0%{opacity:0;transform:translateX(-50%) scale(.6)}28%{opacity:.82}65%{transform:translateX(-50%) scale(1.03)}100%{opacity:0;transform:translateX(-50%) scale(.9)}}
@keyframes tsa-check-pop{0%{opacity:0;transform:translateX(-50%) scale(.45)}52%{opacity:1;transform:translateX(-50%) scale(1.12)}100%{opacity:0;transform:translateX(-50%) scale(1)}}
@keyframes tsa-sleep-z{0%{opacity:0;transform:translate(0,7px)}25%{opacity:1}75%{opacity:.8}100%{opacity:0;transform:translate(7px,-16px)}}
@keyframes tsa-level-avatar-pixel{0%{opacity:1;transform:translate(0,0)}100%{opacity:0;transform:translate(var(--lx),var(--ly))}}
@keyframes tsa-hand-persist{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes tsa-table-clap{0%,100%{box-shadow:inset 0 0 0 2px #202c4b,inset 0 0 24px rgba(77,103,220,.18),3px 4px 0 rgba(38,47,73,.2)}50%{box-shadow:inset 0 0 0 3px #8c69e9,inset 0 0 30px rgba(106,129,245,.45),3px 4px 0 rgba(38,47,73,.2)}}

/* ===== Mesa dinámica, efectos exteriores y energía de nivel v0.5.4 ===== */
/* La captura real 0.5.3 mostró una mesa demasiado plana. Este corte recupera
   profundidad, perímetro para participantes y espacio exterior para partículas. */
.tsa-live-room{grid-template-rows:minmax(260px,1fr) clamp(270px,34vh,360px) 52px}
.tsa-live-room.poker-open{grid-template-rows:minmax(235px,1fr) auto clamp(255px,31vh,330px) 52px}
.tsa-conference-scene{min-height:270px;overflow:hidden;background:linear-gradient(180deg,#f5f6f8 0,#eceff4 62%,#dce1e9 62%)}
.tsa-conference-wall{inset:0 0 35%;background:
  linear-gradient(90deg,transparent 0 15%,rgba(118,128,151,.045) 15% 15.2%,transparent 15.2% 84.8%,rgba(118,128,151,.045) 84.8% 85%,transparent 85%),
  linear-gradient(180deg,#fafbfc,#edf0f4 76%,#e4e8ef 76%)}
.tsa-conference-floor{inset:65% 0 0;background:linear-gradient(90deg,rgba(77,89,117,.055) 1px,transparent 1px),linear-gradient(#e1e5ec,#d6dce5);background-size:8.333% 100%,100% 100%}
.tsa-wall-panel{top:10%;height:39%;opacity:.82}.tsa-wall-light{top:5%}.tsa-brand-plaque{top:6%;width:56px;height:45px;border-width:2px;font-size:23px}

/* Superficie de mesa: no es una pantalla; tiene tapa, arena embutida y canto frontal. */
.tsa-table-wrap{left:15%;right:15%;top:18%;bottom:10%;filter:drop-shadow(0 18px 13px rgba(28,37,59,.25))}
.tsa-meeting-table{border:4px solid #27334f;background:
  linear-gradient(90deg,transparent 49.75%,rgba(62,76,110,.13) 49.75% 50.25%,transparent 50.25%),
  linear-gradient(150deg,rgba(255,255,255,.92) 0 22%,rgba(255,255,255,.2) 22% 34%,transparent 34%),
  repeating-linear-gradient(90deg,#eef0f4 0 38px,#e2e6ed 38px 76px,#e9ecf1 76px 114px);
  box-shadow:inset 0 0 0 3px #fafbfc,inset 0 -16px #aeb8c8,inset 0 -21px #66738b,0 5px 0 rgba(31,42,67,.2);clip-path:polygon(9% 0,91% 0,100% 20%,96% 100%,4% 100%,0 20%)}
.tsa-meeting-table:before{left:7%;right:7%;top:7px;height:3px;opacity:.6}
.tsa-meeting-table:after{content:"";display:block;position:absolute;z-index:1;left:4%;right:4%;bottom:0;height:16%;border-top:2px solid #758198;background:
  repeating-linear-gradient(90deg,rgba(107,132,244,.85) 0 8px,transparent 8px 17px,rgba(142,91,224,.8) 17px 24px,transparent 24px 40px),
  linear-gradient(180deg,#b6bfcd,#8f9bad);background-size:auto 3px,auto;box-shadow:inset 0 5px 0 rgba(255,255,255,.18);clip-path:polygon(2% 0,98% 0,94% 100%,6% 100%)}
.tsa-debate-arena{left:19%;right:19%;top:14%;bottom:28%;border:3px solid #344568;border-radius:34% 34% 28% 28%/42% 42% 35% 35%;background:
  radial-gradient(circle at 50% 50%,rgba(149,104,245,.3) 0 3px,transparent 4px),
  linear-gradient(90deg,transparent calc(50% - 1px),rgba(92,127,240,.32) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),
  linear-gradient(0deg,transparent calc(50% - 1px),rgba(151,92,226,.24) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),
  repeating-linear-gradient(0deg,transparent 0 13px,rgba(132,155,226,.085) 13px 14px),
  repeating-linear-gradient(90deg,#101b36 0 14px,#152240 14px 28px);
  box-shadow:inset 0 0 0 2px #243353,inset 0 0 28px rgba(91,119,229,.22),0 3px 0 rgba(35,46,72,.24);clip-path:none}
.tsa-debate-arena .lane{top:20%;bottom:20%;width:32%;border-color:rgba(117,148,252,.34);border-radius:45%}.tsa-debate-arena .lane.right{border-color:rgba(166,107,239,.34)}
.tsa-debate-arena .axis{top:10%;bottom:10%}.tsa-debate-arena .pulse{width:35px;height:35px}
.tsa-table-core{left:47%;top:27%;width:6%;height:40%;border-width:2px;box-shadow:inset 0 0 0 2px #344569,2px 3px 0 rgba(35,42,65,.28),0 0 15px rgba(103,87,221,.25)}
.tsa-table-led{top:43%}.tsa-turn-node{z-index:4}

/* Objetos integrados y mejor proporcionados respecto a la tapa. */
.tsa-table-object{width:52px;height:40px;border-width:2px;box-shadow:2px 3px 0 #929eb3}.tsa-table-object:hover{box-shadow:3px 5px 0 #8995aa}.tsa-table-object.notes{right:8%;bottom:25%}.tsa-table-object.poker{left:8%;bottom:25%}.tsa-table-object.board{left:calc(50% - 26px);top:2%}
.tsa-table-detail{transform:scale(1.08);transform-origin:center}.tsa-table-laptop{left:27%;top:15%}.tsa-table-pad{right:27%;bottom:23%}.tsa-table-cup.c1{left:17%;bottom:25%}.tsa-table-cup.c2{right:17%;top:24%}

/* Distribución alrededor del perímetro, no encima del monitor central. */
.tsa-room-person{width:100px;min-height:96px;overflow:visible;filter:drop-shadow(0 6px 4px rgba(31,41,65,.17));transform-origin:center top}
.tsa-room-person.slot-0{left:calc(50% - 50px);top:66%;z-index:23}.tsa-room-person.slot-1{left:calc(35% - 50px);top:66%;z-index:22}.tsa-room-person.slot-2{left:calc(65% - 50px);top:66%;z-index:22}
.tsa-room-person.slot-3{left:calc(12% - 50px);top:43%;z-index:18}.tsa-room-person.slot-4{left:calc(88% - 50px);top:43%;z-index:18}
.tsa-room-person.slot-5{left:calc(17% - 50px);top:15%;z-index:15}.tsa-room-person.slot-6{left:calc(83% - 50px);top:15%;z-index:15}
.tsa-room-person.slot-7{left:calc(34% - 50px);top:8%;z-index:14}.tsa-room-person.slot-8{left:calc(66% - 50px);top:8%;z-index:14}.tsa-room-person.slot-9{left:calc(50% - 50px);top:6%;z-index:13}
.tsa-person-frame{width:52px;height:52px;padding:3px;border:2px solid #66728a;background:#f7f8fa;box-shadow:0 0 0 2px #d2d8e2,3px 4px 0 rgba(36,47,73,.17);clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px)}
.tsa-person-frame .tsa-avatar{border-radius:2px}.tsa-pixel-chair{top:34px;width:68px;height:43px;border-width:3px;background:linear-gradient(180deg,#e2e5eb 0 48%,#aeb8c8 48%);box-shadow:inset 0 0 0 2px #f6f7f9,inset 0 -7px rgba(48,58,84,.12),3px 5px 0 rgba(31,40,63,.16)}
.tsa-room-person>strong{max-width:98px;margin-top:2px;padding:3px 7px;border-color:#cfd5e0;background:rgba(250,251,252,.96);font-size:8px;box-shadow:1px 2px 0 rgba(39,49,73,.08)}
.tsa-room-person>small{max-width:96px;font-size:6px}.tsa-seat-stats{margin-top:2px}

/* Ranking compacto: acompaña la sala sin competir con la mesa. */
.tsa-engagement-ranking{right:10px;top:8px;width:166px;padding:6px;border-radius:9px;background:rgba(250,251,252,.9);box-shadow:0 6px 16px rgba(38,41,50,.08)}
.tsa-engagement-ranking header{margin-bottom:3px;padding-bottom:3px}.tsa-engagement-ranking header strong{font-size:8px}.tsa-ranking-row{grid-template-columns:17px 22px minmax(0,1fr) auto;padding:2px;gap:4px}.tsa-ranking-row>b{width:17px;height:17px}.tsa-ranking-row .tsa-avatar{width:21px;height:21px}.tsa-ranking-row>span strong,.tsa-ranking-row>em{font-size:6px}.tsa-ranking-row>span small{font-size:5px}

/* Aura persistente: energía propia de TESITURA, creciente por nivel. */
.tsa-level-aura{--aura:#79a8ff;--aura-soft:rgba(102,150,246,.22);position:absolute;z-index:2;left:50%;top:-22px;width:112px;height:118px;overflow:visible;pointer-events:none;opacity:var(--aura-power);transform:translateX(-50%) scale(var(--aura-scale));transform-origin:center 66%;image-rendering:pixelated}
.tsa-level-aura .shell,.tsa-level-aura .core{position:absolute;left:50%;bottom:29px;transform:translateX(-50%);clip-path:polygon(50% 0,61% 13%,73% 5%,79% 25%,94% 19%,88% 43%,100% 59%,82% 70%,78% 98%,57% 86%,50% 100%,41% 85%,21% 98%,18% 71%,0 60%,13% 43%,6% 21%,25% 26%,28% 5%,40% 14%)}
.tsa-level-aura .shell{width:88px;height:101px;border:3px solid var(--aura);background:linear-gradient(90deg,transparent 0 18%,var(--aura-soft) 18% 25%,transparent 25% 74%,var(--aura-soft) 74% 82%,transparent 82%);box-shadow:0 0 0 2px var(--aura-soft),0 0 15px var(--aura-soft)}
.tsa-level-aura .core{width:72px;height:86px;background:linear-gradient(90deg,transparent 0 15%,var(--aura-soft) 15% 26%,transparent 26% 73%,var(--aura-soft) 73% 84%,transparent 84%);opacity:.8}
.tsa-level-aura .spark{position:absolute;width:4px;height:8px;background:var(--aura);box-shadow:0 0 5px var(--aura);opacity:0}.tsa-level-aura .s1{left:14px;top:51px;--asx:-5px;--asy:-34px}.tsa-level-aura .s2{right:15px;top:46px;--asx:6px;--asy:-38px}.tsa-level-aura .s3{left:30px;top:28px;--asx:-2px;--asy:-26px}.tsa-level-aura .s4{right:30px;top:23px;--asx:2px;--asy:-30px}
.tsa-room-person.tier-presence .tsa-level-aura{--aura:#78aef3;--aura-soft:rgba(104,161,238,.18);opacity:var(--aura-power);filter:opacity(.42)}
.tsa-room-person.tier-contribution .tsa-level-aura{--aura:#4c8df2;--aura-soft:rgba(69,133,237,.22);opacity:var(--aura-power);filter:opacity(.62)}
.tsa-room-person.tier-momentum .tsa-level-aura{--aura:#706eef;--aura-soft:rgba(105,92,235,.25);opacity:var(--aura-power);filter:opacity(.78)}
.tsa-room-person.tier-catalyst .tsa-level-aura{--aura:#a455ea;--aura-soft:rgba(153,74,226,.28);opacity:var(--aura-power);filter:opacity(.9)}
.tsa-room-person.tier-reference .tsa-level-aura{--aura:#f2c85b;--aura-soft:rgba(164,99,235,.3);opacity:var(--aura-power)}
.tsa-room-person.tier-contribution .tsa-level-aura .shell,.tsa-room-person.tier-momentum .tsa-level-aura .shell,.tsa-room-person.tier-catalyst .tsa-level-aura .shell,.tsa-room-person.tier-reference .tsa-level-aura .shell{animation:tsa-level-aura-breathe 2.4s steps(6,end) infinite}
.tsa-room-person.tier-momentum .tsa-level-aura .spark,.tsa-room-person.tier-catalyst .tsa-level-aura .spark,.tsa-room-person.tier-reference .tsa-level-aura .spark{animation:tsa-level-aura-spark 1.55s steps(7,end) infinite}.tsa-level-aura .s2{animation-delay:.28s!important}.tsa-level-aura .s3{animation-delay:.55s!important}.tsa-level-aura .s4{animation-delay:.82s!important}
.tsa-room-person.tier-catalyst .tsa-level-aura .core,.tsa-room-person.tier-reference .tsa-level-aura .core{animation:tsa-level-core-pulse 1.45s steps(5,end) infinite}

/* Efectos transitorios ocupan una capa de juego alrededor del miembro completo. */
.tsa-avatar-effect{left:50%;top:-50px;width:150px;height:145px;transform:translate(-50%,10px) scale(.78);z-index:42}
.tsa-avatar-effect.visible{transform:translate(-50%,0) scale(1)}
.tsa-room-person.slot-5 .tsa-avatar-effect,.tsa-room-person.slot-6 .tsa-avatar-effect,.tsa-room-person.slot-7 .tsa-avatar-effect,.tsa-room-person.slot-8 .tsa-avatar-effect,.tsa-room-person.slot-9 .tsa-avatar-effect{top:-14px}
.tsa-avatar-effect .tsa-fx-glyph{left:50%;top:38px;width:42px;height:42px;border:0;background:transparent;box-shadow:none;filter:drop-shadow(2px 3px 0 rgba(255,255,255,.9)) drop-shadow(0 0 8px currentColor);clip-path:none}
.tsa-avatar-effect .tsa-fx-glyph .tsa-engagement-icon{width:38px;height:38px}
.tsa-fx-deltas{bottom:20px;gap:5px}.tsa-fx-delta{padding:4px 7px;border-width:2px;font-size:8px;box-shadow:2px 3px 0 rgba(23,31,57,.2)}

/* Golpe de ideas: cortes largos por fuera de la foto y chispas radiales. */
.tsa-fx-slash{left:17px;top:64px;width:116px;height:7px;box-shadow:0 -3px currentColor,0 3px currentColor,4px 4px 0 rgba(31,39,61,.2)}
.tsa-fx-impact i{width:7px;height:7px}.tsa-fx-impact i:nth-child(1){--ix:-62px;--iy:-35px}.tsa-fx-impact i:nth-child(2){--ix:58px;--iy:-30px}.tsa-fx-impact i:nth-child(3){--ix:-54px;--iy:39px}.tsa-fx-impact i:nth-child(4){--ix:63px;--iy:34px}
.tsa-avatar-effect.fx-attack:before,.tsa-avatar-effect.fx-attack:after{content:"";position:absolute;left:50%;top:50%;width:76px;height:76px;border:3px solid currentColor;border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.35)}.tsa-avatar-effect.fx-attack.visible:before{animation:tsa-impact-ring .55s steps(5,end) .08s forwards}.tsa-avatar-effect.fx-attack.visible:after{animation:tsa-impact-ring .65s steps(5,end) .18s forwards}

/* Restauración: cruz libre, anillos amplios y energía ascendente. */
.tsa-fx-halo{width:84px;height:84px}.tsa-fx-halo.h2{width:122px;height:122px}.tsa-fx-pixels i:nth-child(1){left:20px;top:53px}.tsa-fx-pixels i:nth-child(2){right:25px;top:23px}.tsa-fx-pixels i:nth-child(3){left:38px;bottom:25px}.tsa-fx-pixels i:nth-child(4){right:18px;bottom:45px}

/* Fuego rodea al miembro: centro despejado y llamas laterales. */
.tsa-fx-flames{top:19px;width:112px;height:102px}.tsa-fx-flames i{bottom:8px;width:30px;height:72px;filter:drop-shadow(0 -4px 5px rgba(241,100,53,.28))}.tsa-fx-flames i:nth-child(1){left:0;height:61px}.tsa-fx-flames i:nth-child(2){left:41px;height:82px;opacity:.72}.tsa-fx-flames i:nth-child(3){right:0;height:66px}.tsa-fx-embers i{width:6px;height:6px}.tsa-fx-embers i:nth-child(1){left:23px;top:76px;--ex:-18px;--ey:-70px}.tsa-fx-embers i:nth-child(2){left:62px;top:60px;--ex:4px;--ey:-82px}.tsa-fx-embers i:nth-child(3){right:25px;top:75px;--ex:19px;--ey:-66px}.tsa-fx-embers i:nth-child(4){right:57px;top:88px;--ex:-5px;--ey:-58px}

/* Ovación y sociales también se leen fuera del marco. */
.tsa-fx-crown{top:1px;width:64px;height:38px}.tsa-fx-stars i{font-size:19px}.tsa-fx-stars i:nth-child(1){left:10px;top:48px;--sx:-18px;--sy:-25px}.tsa-fx-stars i:nth-child(2){right:12px;top:37px;--sx:19px;--sy:-28px}.tsa-fx-stars i:nth-child(3){left:28px;bottom:28px;--sx:-17px;--sy:20px}.tsa-fx-stars i:nth-child(4){right:26px;bottom:30px;--sx:18px;--sy:18px}
.tsa-fx-wave{width:86px;height:86px}.tsa-fx-wave.w2{width:132px;height:132px}.tsa-fx-aura{bottom:16px;width:88px;height:110px;border-width:4px}.tsa-fx-aura.a2{width:122px;height:132px}.tsa-fx-core{top:65px;width:14px;height:14px}.tsa-fx-check{top:32px;width:68px;height:68px;border:0;background:transparent;box-shadow:none;color:#24a06c;font-size:52px;text-shadow:3px 3px 0 #fff,0 0 12px rgba(42,177,121,.32)}
.tsa-fx-z b:nth-child(1){left:45px;top:74px;font-size:27px}.tsa-fx-z b:nth-child(2){left:83px;top:43px;font-size:21px}.tsa-fx-z b:nth-child(3){left:111px;top:14px;font-size:15px}
/* El impacto puede mover el marco; curación/fuego/ovación/ki ocurren fuera de él. */
.tsa-room-person.fx-restore .tsa-person-frame,.tsa-room-person.fx-fire .tsa-person-frame,.tsa-room-person.fx-ovation .tsa-person-frame,.tsa-room-person.fx-ki .tsa-person-frame,.tsa-room-person.fx-agree .tsa-person-frame,.tsa-room-person.fx-sleep .tsa-person-frame{animation:none!important}

/* Subida de nivel: explosión localizada de energía y cambio de color por rango. */
.tsa-avatar-level-up.power-up{--level-aura:#6c9cff;--level-soft:rgba(91,143,246,.28);left:50%;top:-61px;width:164px;height:166px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--level-aura);opacity:0;transform:translate(-50%,12px) scale(.7);overflow:visible;white-space:normal}
.tsa-avatar-level-up.power-up.visible{opacity:1;transform:translate(-50%,0) scale(1)}
.tsa-avatar-level-up.power-up.tier-contribution{--level-aura:#438cf1;--level-soft:rgba(55,132,239,.3)}.tsa-avatar-level-up.power-up.tier-momentum{--level-aura:#7268f2;--level-soft:rgba(103,85,237,.32)}.tsa-avatar-level-up.power-up.tier-catalyst{--level-aura:#b252ed;--level-soft:rgba(169,68,230,.34)}.tsa-avatar-level-up.power-up.tier-reference{--level-aura:#f2c756;--level-soft:rgba(155,84,229,.36)}
.tsa-avatar-level-up.power-up i{border-radius:0;background:transparent;box-shadow:none;animation:none}
.tsa-level-up-aura i{position:absolute;left:50%;bottom:23px;transform:translateX(-50%);clip-path:polygon(50% 0,61% 13%,73% 5%,79% 25%,94% 19%,88% 43%,100% 59%,82% 70%,78% 98%,57% 86%,50% 100%,41% 85%,21% 98%,18% 71%,0 60%,13% 43%,6% 21%,25% 26%,28% 5%,40% 14%);opacity:0}.tsa-level-up-aura i:nth-child(1){width:118px;height:140px;border:5px solid var(--level-aura);box-shadow:0 0 0 4px var(--level-soft),0 0 28px var(--level-soft)}.tsa-level-up-aura i:nth-child(2){width:91px;height:122px;background:linear-gradient(90deg,transparent 0 18%,var(--level-soft) 18% 29%,transparent 29% 72%,var(--level-soft) 72% 83%,transparent 83%)}.tsa-level-up-aura i:nth-child(3){width:67px;height:103px;border-left:5px solid #fff;border-right:5px solid #fff;opacity:.7}
.tsa-avatar-level-up.visible .tsa-level-up-aura i{animation:tsa-level-up-flare 1.65s steps(10,end) forwards}.tsa-avatar-level-up.visible .tsa-level-up-aura i:nth-child(2){animation-delay:.07s}.tsa-avatar-level-up.visible .tsa-level-up-aura i:nth-child(3){animation-delay:.14s}
.tsa-level-up-rings i{position:absolute;left:50%;top:53%;width:58px;height:24px;border:4px solid var(--level-aura);border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.3)}.tsa-level-up-rings i:nth-child(2){width:106px;height:42px}.tsa-avatar-level-up.visible .tsa-level-up-rings i{animation:tsa-level-up-ring .9s steps(7,end) .18s forwards}.tsa-avatar-level-up.visible .tsa-level-up-rings i:nth-child(2){animation-delay:.34s}
.tsa-level-up-sparks i{position:absolute;left:50%;top:55%;width:6px;height:12px;background:var(--level-aura);box-shadow:0 0 7px var(--level-aura);opacity:0}.tsa-level-up-sparks i:nth-child(1){--lux:-73px;--luy:-56px}.tsa-level-up-sparks i:nth-child(2){--lux:71px;--luy:-48px}.tsa-level-up-sparks i:nth-child(3){--lux:-65px;--luy:44px}.tsa-level-up-sparks i:nth-child(4){--lux:69px;--luy:47px}.tsa-level-up-sparks i:nth-child(5){--lux:-22px;--luy:-81px}.tsa-level-up-sparks i:nth-child(6){--lux:25px;--luy:-77px}.tsa-avatar-level-up.visible .tsa-level-up-sparks i{animation:tsa-level-up-spark 1.1s steps(8,end) .2s forwards}
.tsa-avatar-level-up.power-up>b{position:absolute;z-index:5;left:50%;top:41%;display:block;width:auto;height:auto;padding:5px 9px;border:2px solid #fff;background:#17203a;box-shadow:3px 3px 0 rgba(28,36,62,.22),0 0 13px var(--level-soft);color:#fff;font:1000 12px/1 ui-monospace,monospace;transform:translate(-50%,-50%)}
.tsa-avatar-level-up.power-up>small{position:absolute;z-index:5;left:50%;top:58%;padding:3px 6px;background:rgba(248,249,251,.94);color:#4e5873;font:900 7px/1 ui-monospace,monospace;text-transform:uppercase;transform:translateX(-50%);white-space:nowrap}
.tsa-room-person.slot-5 .tsa-avatar-level-up,.tsa-room-person.slot-6 .tsa-avatar-level-up,.tsa-room-person.slot-7 .tsa-avatar-level-up,.tsa-room-person.slot-8 .tsa-avatar-level-up,.tsa-room-person.slot-9 .tsa-avatar-level-up{top:-18px}

@media(min-width:1500px){
  .tsa-live-room{grid-template-rows:minmax(330px,1fr) clamp(320px,35vh,390px) 54px}.tsa-table-wrap{left:17%;right:17%}.tsa-room-person{transform:scale(1.04)}
}
@media(max-width:1050px){
  .tsa-table-wrap{left:9%;right:9%}.tsa-room-person{transform:scale(.86)}.tsa-room-person:hover:not(:disabled){transform:scale(.86) translateY(-2px)}
  .tsa-engagement-ranking{width:150px}.tsa-ranking-row>em{display:none}
}
@media(max-width:720px){
  .tsa-live-room{grid-template-rows:minmax(250px,1fr) 265px 54px}.tsa-live-room.poker-open{grid-template-rows:minmax(220px,1fr) auto 245px 54px}
  .tsa-table-wrap{left:2%;right:2%;top:22%;bottom:10%}.tsa-debate-arena{left:16%;right:16%;bottom:30%}.tsa-table-object{transform:scale(.78)!important}.tsa-table-detail{opacity:.55}
  .tsa-room-person{width:76px;min-height:76px;transform:scale(.72)}.tsa-room-person:hover:not(:disabled){transform:scale(.72)}.tsa-room-person.slot-0{left:calc(50% - 38px);top:67%}.tsa-room-person.slot-1{left:calc(34% - 38px);top:67%}.tsa-room-person.slot-2{left:calc(66% - 38px);top:67%}.tsa-room-person.slot-3{left:calc(6% - 38px);top:44%}.tsa-room-person.slot-4{left:calc(94% - 38px);top:44%}.tsa-room-person.slot-5{left:calc(13% - 38px);top:16%}.tsa-room-person.slot-6{left:calc(87% - 38px);top:16%}.tsa-room-person.slot-7{left:calc(32% - 38px);top:9%}.tsa-room-person.slot-8{left:calc(68% - 38px);top:9%}.tsa-room-person.slot-9{left:calc(50% - 38px);top:7%}
  .tsa-person-frame{width:45px;height:45px}.tsa-pixel-chair{top:30px;width:59px;height:37px}.tsa-level-aura{width:104px;height:108px;top:-24px}.tsa-avatar-effect{width:155px;height:148px;top:-54px}.tsa-avatar-level-up.power-up{width:166px;height:168px}
  .tsa-engagement-ranking{display:none}
}
@media(max-width:480px){
  .tsa-table-wrap{left:0;right:0}.tsa-debate-arena{left:15%;right:15%}.tsa-table-object.board{display:none}.tsa-table-object.notes{right:5%}.tsa-table-object.poker{left:5%}
  .tsa-room-person.slot-3{left:calc(3% - 38px)}.tsa-room-person.slot-4{left:calc(97% - 38px)}
  .tsa-avatar-effect{transform:translate(-50%,8px) scale(.9)}.tsa-avatar-effect.visible{transform:translate(-50%,0) scale(.94)}
}
@media(prefers-reduced-motion:reduce){
  .tsa-level-aura *{animation:none!important}.tsa-level-aura .spark{display:none}.tsa-avatar-level-up.power-up.visible .tsa-level-up-aura i:first-child{opacity:.72}
}

@keyframes tsa-level-aura-breathe{0%,100%{transform:translateX(-50%) scale(.96);filter:brightness(.92)}50%{transform:translateX(-50%) scale(1.04);filter:brightness(1.13)}}
@keyframes tsa-level-aura-spark{0%{opacity:0;transform:translate(0,8px)}25%{opacity:.9}100%{opacity:0;transform:translate(var(--asx),var(--asy))}}
@keyframes tsa-level-core-pulse{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes tsa-impact-ring{0%{opacity:.75;transform:translate(-50%,-50%) scale(.3)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.45)}}
@keyframes tsa-level-up-flare{0%{opacity:0;transform:translateX(-50%) scale(.42)}18%{opacity:1}58%{opacity:.95;transform:translateX(-50%) scale(1.06)}100%{opacity:0;transform:translateX(-50%) scale(.93)}}
@keyframes tsa-level-up-ring{0%{opacity:.8;transform:translate(-50%,-50%) scale(.25)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.55)}}
@keyframes tsa-level-up-spark{0%{opacity:0;transform:translate(0,0) scale(.4)}20%{opacity:1}100%{opacity:0;transform:translate(var(--lux),var(--luy)) scale(1.2)}}

/* ===== Efectos fluidos y progresión de siete niveles v0.5.5 ===== */
/* Transitorios consistentes: conservan el acabado pixel art, pero el movimiento
   usa interpolación fluida para evitar la apariencia de imagen que aparece. */
.tsa-avatar-effect{will-change:opacity,transform;transition:opacity .16s ease-out,transform .34s cubic-bezier(.16,.84,.28,1.18)}
.tsa-avatar-effect.visible{opacity:1}
.tsa-avatar-effect.fx-fire{height:166px;top:-66px}
.tsa-avatar-effect.fx-fire.visible{transform:translate(-50%,0) scale(1.04)}
.tsa-avatar-effect.visible .tsa-fx-slash.first{animation:tsa-slash-fluid-one .5s cubic-bezier(.16,.84,.32,1) .03s forwards}
.tsa-avatar-effect.visible .tsa-fx-slash.second{animation:tsa-slash-fluid-two .52s cubic-bezier(.16,.84,.32,1) .13s forwards}
.tsa-avatar-effect.visible .tsa-fx-impact i{animation:tsa-impact-fluid .72s cubic-bezier(.12,.72,.28,1) .16s forwards}
.tsa-avatar-effect.visible .tsa-fx-halo{animation:tsa-heal-fluid 1.04s cubic-bezier(.13,.72,.24,1) forwards}
.tsa-avatar-effect.visible .tsa-fx-halo.h2{animation-delay:.14s}
.tsa-avatar-effect.visible .tsa-fx-pixels i{animation:tsa-rise-fluid 1.08s ease-out forwards}
.tsa-avatar-effect.visible .tsa-fx-crown{animation:tsa-crown-fluid .7s cubic-bezier(.17,.89,.32,1.28) forwards}
.tsa-avatar-effect.visible .tsa-fx-stars i{animation:tsa-star-fluid 1.08s cubic-bezier(.14,.72,.26,1) .18s forwards}
.tsa-avatar-effect.visible .tsa-fx-wave{animation:tsa-social-wave-fluid 1.02s cubic-bezier(.12,.72,.28,1) forwards}
.tsa-avatar-effect.visible .tsa-fx-wave.w2{animation-delay:.14s}
.tsa-avatar-effect.visible .tsa-fx-aura{animation:tsa-ki-fluid 1.3s cubic-bezier(.16,.8,.22,1) forwards}
.tsa-avatar-effect.visible .tsa-fx-aura.a2{animation-delay:.1s}
.tsa-avatar-effect.visible .tsa-fx-check{animation:tsa-check-fluid .8s cubic-bezier(.15,.86,.26,1.2) forwards}
.tsa-avatar-effect.visible .tsa-fx-z b{animation:tsa-sleep-fluid 1.38s ease-out forwards}

/* Incendio envolvente: cinco llamas, base luminosa y seis brasas. */
.tsa-fx-fire-ground{position:absolute;z-index:2;left:50%;bottom:25px;width:118px;height:30px;border:4px solid #ff9b3f;border-radius:50%;background:radial-gradient(ellipse,rgba(255,188,72,.34),rgba(241,94,62,.12) 48%,transparent 70%);box-shadow:0 0 13px rgba(255,124,55,.45),0 0 26px rgba(126,77,223,.22);opacity:0;transform:translateX(-50%) scale(.28)}
.tsa-avatar-effect.visible .tsa-fx-fire-ground{animation:tsa-fire-ground 1.42s cubic-bezier(.14,.75,.28,1) forwards}
.tsa-fx-flames{top:8px;width:132px;height:130px}
.tsa-fx-flames i{bottom:9px;width:29px;height:88px;opacity:0;filter:drop-shadow(0 -5px 6px rgba(241,100,53,.36));will-change:transform,opacity}
.tsa-fx-flames i:nth-child(1){left:1px;height:67px}.tsa-fx-flames i:nth-child(2){left:28px;height:98px}.tsa-fx-flames i:nth-child(3){left:53px;height:116px}.tsa-fx-flames i:nth-child(4){right:27px;height:91px}.tsa-fx-flames i:nth-child(5){right:0;height:69px}
.tsa-avatar-effect.visible .tsa-fx-flames i{animation:tsa-fire-grow 1.48s cubic-bezier(.15,.72,.23,1) forwards}
.tsa-avatar-effect.visible .tsa-fx-flames i:nth-child(2){animation-delay:.05s}.tsa-avatar-effect.visible .tsa-fx-flames i:nth-child(3){animation-delay:.1s}.tsa-avatar-effect.visible .tsa-fx-flames i:nth-child(4){animation-delay:.15s}.tsa-avatar-effect.visible .tsa-fx-flames i:nth-child(5){animation-delay:.2s}
.tsa-fx-embers i{width:6px;height:6px;box-shadow:0 0 7px #ff9336}.tsa-fx-embers i:nth-child(1){left:15px;top:104px;--ex:-24px;--ey:-93px}.tsa-fx-embers i:nth-child(2){left:42px;top:84px;--ex:-8px;--ey:-111px}.tsa-fx-embers i:nth-child(3){left:69px;top:72px;--ex:7px;--ey:-117px}.tsa-fx-embers i:nth-child(4){right:35px;top:88px;--ex:13px;--ey:-104px}.tsa-fx-embers i:nth-child(5){right:11px;top:107px;--ex:28px;--ey:-88px}.tsa-fx-embers i:nth-child(6){left:73px;top:111px;--ex:-19px;--ey:-76px}
.tsa-avatar-effect.visible .tsa-fx-embers i{animation:tsa-ember-fluid 1.28s ease-out .2s forwards}.tsa-avatar-effect.visible .tsa-fx-embers i:nth-child(2){animation-delay:.28s}.tsa-avatar-effect.visible .tsa-fx-embers i:nth-child(3){animation-delay:.36s}.tsa-avatar-effect.visible .tsa-fx-embers i:nth-child(4){animation-delay:.44s}.tsa-avatar-effect.visible .tsa-fx-embers i:nth-child(5){animation-delay:.52s}.tsa-avatar-effect.visible .tsa-fx-embers i:nth-child(6){animation-delay:.6s}

/* Trayectoria compartida por escritorio y móvil, con pulso que viaja. */
.tsa-effect-beam{display:block!important;z-index:40;height:3px;opacity:0;overflow:visible;will-change:opacity}
.tsa-effect-beam.visible{animation:tsa-beam-fluid .88s ease-out forwards}
.tsa-effect-beam:before{background:linear-gradient(90deg,transparent 0,currentColor 9%,currentColor 88%,transparent 100%);opacity:.48;transform-origin:left center;animation:tsa-beam-draw .52s cubic-bezier(.12,.78,.26,1) forwards}
.tsa-effect-beam:after{inset:-4px 0;height:11px;top:-4px;background:linear-gradient(90deg,transparent,currentColor 22% 78%,transparent);filter:blur(5px);opacity:.22}
.tsa-effect-beam-pulse,.tsa-effect-beam-head{position:absolute;z-index:2;left:0;top:50%;display:block;pointer-events:none;transform:translate(-50%,-50%)}
.tsa-effect-beam-pulse{width:22px;height:8px;background:linear-gradient(90deg,transparent,currentColor 45%,#fff 70%,transparent);filter:drop-shadow(0 0 5px currentColor);animation:tsa-beam-travel .68s cubic-bezier(.18,.72,.24,1) .06s forwards}
.tsa-effect-beam-head{width:8px;height:8px;border:2px solid #fff;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 35%,transparent),0 0 11px currentColor;opacity:0;animation:tsa-beam-head .68s cubic-bezier(.18,.72,.24,1) .06s forwards}

/* Aplauso: la energía nace en el actor y se propaga sobre la mesa completa. */
.tsa-table-wrap{overflow:visible}
.tsa-table-clap-wave{position:absolute;z-index:31;left:50%;top:50%;width:92%;height:78%;pointer-events:none;opacity:0;transform:translate(-50%,-50%);overflow:visible}
.tsa-table-clap-wave.visible{opacity:1}
.tsa-table-clap-wave .ring{position:absolute;left:50%;top:50%;display:block;width:36%;height:34%;border:4px solid #7b79f1;border-radius:50%;box-shadow:0 0 8px rgba(95,125,244,.5),inset 0 0 9px rgba(161,102,240,.24);opacity:0;transform:translate(-50%,-50%) scale(.22)}
.tsa-table-clap-wave.visible .ring{animation:tsa-table-wave 1.08s cubic-bezier(.08,.72,.22,1) forwards}.tsa-table-clap-wave.visible .r2{animation-delay:.13s}.tsa-table-clap-wave.visible .r3{animation-delay:.26s}
.tsa-table-clap-sparks b{position:absolute;left:50%;top:50%;width:7px;height:7px;background:#fff;box-shadow:0 0 0 2px #7088f2,0 0 9px #9b65eb;opacity:0}.tsa-table-clap-sparks b:nth-child(1){--tcx:-42%;--tcy:-28%}.tsa-table-clap-sparks b:nth-child(2){--tcx:44%;--tcy:-25%}.tsa-table-clap-sparks b:nth-child(3){--tcx:-47%;--tcy:18%}.tsa-table-clap-sparks b:nth-child(4){--tcx:46%;--tcy:21%}.tsa-table-clap-sparks b:nth-child(5){--tcx:-12%;--tcy:-41%}.tsa-table-clap-sparks b:nth-child(6){--tcx:15%;--tcy:39%}
.tsa-table-clap-wave.visible .tsa-table-clap-sparks b{animation:tsa-table-spark .92s cubic-bezier(.12,.72,.25,1) .08s forwards}
.tsa-meeting-table.fx-clap-echo{animation:tsa-table-resonance .96s cubic-bezier(.16,.72,.24,1)}
.tsa-meeting-table.fx-clap-echo .tsa-debate-arena{animation:tsa-table-clap-glow .96s ease-out}
.tsa-quick-reactions button[data-group-action="clap"] .tsa-engagement-icon{width:19px;height:19px;filter:drop-shadow(0 1px 0 rgba(126,76,22,.16))}

/* Siete estados de energía: color e intensidad cambian en cada nivel. */
.tsa-room-person .tsa-level-aura{filter:none;opacity:var(--aura-power);will-change:transform,filter}
.tsa-room-person.level-1 .tsa-level-aura,.tsa-room-person.tier-presence .tsa-level-aura{--aura:#8aa4c8;--aura-soft:rgba(119,151,198,.18)}
.tsa-room-person.level-2 .tsa-level-aura,.tsa-room-person.tier-participation .tsa-level-aura{--aura:#58b8ee;--aura-soft:rgba(73,178,235,.22)}
.tsa-room-person.level-3 .tsa-level-aura,.tsa-room-person.tier-contribution .tsa-level-aura{--aura:#4e82f2;--aura-soft:rgba(67,119,237,.25)}
.tsa-room-person.level-4 .tsa-level-aura,.tsa-room-person.tier-momentum .tsa-level-aura{--aura:#7967f2;--aura-soft:rgba(113,91,237,.3);filter:drop-shadow(0 0 7px rgba(112,88,234,.32))}
.tsa-room-person.level-5 .tsa-level-aura,.tsa-room-person.tier-catalyst .tsa-level-aura{--aura:#c052ed;--aura-soft:rgba(183,65,230,.34);filter:drop-shadow(0 0 9px rgba(179,65,226,.35))}
.tsa-room-person.level-6 .tsa-level-aura,.tsa-room-person.tier-reference .tsa-level-aura{--aura:#f2bf4d;--aura-soft:rgba(160,86,231,.38);filter:drop-shadow(0 0 11px rgba(235,173,55,.36))}
.tsa-room-person.level-7 .tsa-level-aura,.tsa-room-person.tier-resonance .tsa-level-aura{--aura:#fff1a8;--aura-soft:rgba(151,94,244,.45);filter:drop-shadow(0 0 7px #fff) drop-shadow(0 0 15px rgba(130,82,237,.52))}
.tsa-room-person.level-2 .tsa-level-aura .shell,.tsa-room-person.level-3 .tsa-level-aura .shell,.tsa-room-person.level-4 .tsa-level-aura .shell,.tsa-room-person.level-5 .tsa-level-aura .shell,.tsa-room-person.level-6 .tsa-level-aura .shell,.tsa-room-person.level-7 .tsa-level-aura .shell{animation:tsa-level-aura-fluid 2.5s ease-in-out infinite}
.tsa-room-person.level-4 .tsa-level-aura .spark,.tsa-room-person.level-5 .tsa-level-aura .spark,.tsa-room-person.level-6 .tsa-level-aura .spark,.tsa-room-person.level-7 .tsa-level-aura .spark{animation:tsa-level-spark-fluid 1.65s ease-out infinite}
.tsa-room-person.level-5 .tsa-level-aura .core,.tsa-room-person.level-6 .tsa-level-aura .core,.tsa-room-person.level-7 .tsa-level-aura .core{animation:tsa-level-core-fluid 1.5s ease-in-out infinite}
.tsa-avatar-level-up.power-up.tier-participation{--level-aura:#58b8ee;--level-soft:rgba(73,178,235,.3)}.tsa-avatar-level-up.power-up.tier-resonance{--level-aura:#fff1a8;--level-soft:rgba(151,94,244,.46)}

@media(max-width:720px){
  .tsa-effect-beam{height:3px}.tsa-effect-beam-pulse{width:18px}.tsa-effect-beam-head{width:7px;height:7px}
  .tsa-table-clap-wave{width:98%;height:82%}.tsa-avatar-effect.fx-fire{top:-61px;transform:translate(-50%,8px) scale(.88)}.tsa-avatar-effect.fx-fire.visible{transform:translate(-50%,0) scale(.94)}
}
@media(max-width:480px){
  .tsa-effect-beam{display:block!important;height:2px}.tsa-effect-beam:after{height:8px;top:-3px}.tsa-table-clap-wave{width:104%;height:86%}
}
@media(prefers-reduced-motion:reduce){
  /* Se detienen sólo los bucles persistentes. Los eventos breves conservan una
     transición única para que la acción nunca se convierta en una imagen fija. */
  .tsa-level-aura .shell,.tsa-level-aura .core,.tsa-level-aura .spark{animation:none!important}
  .tsa-avatar-effect{transition-duration:.16s!important}.tsa-meeting-table.fx-clap-echo{animation-duration:.62s!important}
  .tsa-table-clap-wave.visible .ring{animation-duration:.72s!important}.tsa-table-clap-wave.visible .tsa-table-clap-sparks b{display:none}
}

@keyframes tsa-slash-fluid-one{0%{opacity:0;transform:rotate(-37deg) scaleX(.08)}28%{opacity:1}68%{opacity:1;transform:rotate(-37deg) scaleX(1.08)}100%{opacity:0;transform:rotate(-37deg) scaleX(1.18)}}
@keyframes tsa-slash-fluid-two{0%{opacity:0;transform:rotate(38deg) scaleX(.08)}28%{opacity:1}68%{opacity:1;transform:rotate(38deg) scaleX(1.08)}100%{opacity:0;transform:rotate(38deg) scaleX(1.18)}}
@keyframes tsa-impact-fluid{0%{opacity:0;transform:translate(0,0) scale(.2)}22%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--ix),var(--iy)) scale(.45)}}
@keyframes tsa-heal-fluid{0%{opacity:0;transform:translate(-50%,-50%) scale(.22)}22%{opacity:.92}100%{opacity:0;transform:translate(-50%,-50%) scale(1.48)}}
@keyframes tsa-rise-fluid{0%{opacity:0;transform:translateY(16px) scale(.6)}22%{opacity:1}100%{opacity:0;transform:translateY(-28px) scale(1)}}
@keyframes tsa-crown-fluid{0%{opacity:0;transform:translateX(-50%) translateY(17px) scale(.55)}58%{opacity:1;transform:translateX(-50%) translateY(-4px) scale(1.12)}100%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}
@keyframes tsa-star-fluid{0%{opacity:0;transform:translate(0,0) scale(.25)}26%{opacity:1}100%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(1.25)}}
@keyframes tsa-social-wave-fluid{0%{opacity:.75;transform:translate(-50%,-50%) scale(.18)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.55)}}
@keyframes tsa-ki-fluid{0%{opacity:0;transform:translateX(-50%) scale(.42)}24%{opacity:.9}62%{opacity:1;transform:translateX(-50%) scale(1.12)}100%{opacity:0;transform:translateX(-50%) scale(.94)}}
@keyframes tsa-check-fluid{0%{opacity:0;transform:translateX(-50%) scale(.25) rotate(-8deg)}58%{opacity:1;transform:translateX(-50%) scale(1.14) rotate(2deg)}100%{opacity:0;transform:translateX(-50%) scale(1) rotate(0)}}
@keyframes tsa-sleep-fluid{0%{opacity:0;transform:translate(0,12px) scale(.7)}22%,72%{opacity:1}100%{opacity:0;transform:translate(13px,-29px) scale(1.12)}}
@keyframes tsa-fire-ground{0%{opacity:0;transform:translateX(-50%) scale(.2)}24%{opacity:.9;transform:translateX(-50%) scale(.72)}55%{opacity:1;transform:translateX(-50%) scale(1.05)}100%{opacity:0;transform:translateX(-50%) scale(1.2)}}
@keyframes tsa-fire-grow{0%{opacity:0;transform:scaleY(.1) translateY(20px)}18%{opacity:.94}42%{opacity:1;transform:scaleY(.9) translateY(1px)}64%{opacity:1;transform:scaleY(1.16) translateX(3px)}82%{opacity:.9;transform:scaleY(.94) translateX(-3px)}100%{opacity:0;transform:scaleY(.64) translateY(-12px)}}
@keyframes tsa-ember-fluid{0%{opacity:0;transform:translate(0,0) scale(.4)}18%{opacity:1}100%{opacity:0;transform:translate(var(--ex),var(--ey)) scale(.15)}}
@keyframes tsa-beam-fluid{0%{opacity:0}12%{opacity:1}72%{opacity:.9}100%{opacity:0}}
@keyframes tsa-beam-draw{0%{transform:scaleX(0);opacity:0}20%{opacity:.68}100%{transform:scaleX(1);opacity:.35}}
@keyframes tsa-beam-travel{0%{left:0;opacity:0}16%{opacity:1}88%{opacity:1}100%{left:100%;opacity:0}}
@keyframes tsa-beam-head{0%{left:0;opacity:0;transform:translate(-50%,-50%) scale(.35)}16%{opacity:1}88%{opacity:1}100%{left:100%;opacity:0;transform:translate(-50%,-50%) scale(1.25)}}
@keyframes tsa-table-wave{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}18%{opacity:.9}100%{opacity:0;transform:translate(-50%,-50%) scale(2.7)}}
@keyframes tsa-table-spark{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}18%{opacity:1}100%{left:calc(50% + var(--tcx));top:calc(50% + var(--tcy));opacity:0;transform:translate(-50%,-50%) scale(1.1)}}
@keyframes tsa-table-resonance{0%,100%{transform:translateY(0) scale(1)}20%{transform:translateY(-2px) scale(1.006)}36%{transform:translateY(1px) scale(.998)}52%{transform:translateY(-1px) scale(1.004)}70%{transform:translateY(0) scale(1)}}
@keyframes tsa-table-clap-glow{0%,100%{filter:none}22%{filter:brightness(1.35) saturate(1.3);box-shadow:inset 0 0 0 3px #8f82f1,inset 0 0 42px rgba(99,124,243,.62),0 0 22px rgba(141,82,230,.35)}64%{filter:brightness(1.1)}}
@keyframes tsa-level-aura-fluid{0%,100%{transform:translateX(-50%) scale(.97);filter:brightness(.96)}50%{transform:translateX(-50%) scale(1.055);filter:brightness(1.18)}}
@keyframes tsa-level-spark-fluid{0%{opacity:0;transform:translate(0,9px) scale(.5)}20%{opacity:.95}100%{opacity:0;transform:translate(var(--asx),var(--asy)) scale(1)}}
@keyframes tsa-level-core-fluid{0%,100%{opacity:.48}50%{opacity:1}}

/* ===== Cargar Ki / microideas v0.5.6 ===== */
.tsa-ki-idea-center{position:absolute;z-index:12;left:22%;right:22%;top:15%;bottom:29%;display:grid;grid-template-rows:16px minmax(0,1fr);gap:3px;padding:4px 6px;border:2px solid rgba(118,139,240,.72);border-radius:9px;background:linear-gradient(180deg,rgba(16,27,55,.95),rgba(20,30,58,.93));box-shadow:inset 0 0 0 1px rgba(181,196,255,.12),0 0 16px rgba(91,105,227,.24);color:#f7f8ff;overflow:hidden;pointer-events:auto}
.tsa-ki-idea-center.empty{left:43%;right:43%;top:36%;bottom:38%;display:grid;place-items:center;padding:0;border-color:rgba(126,117,230,.5);background:rgba(18,28,55,.78);pointer-events:none}
.tsa-ki-idea-center.empty>span{display:grid;place-items:center;line-height:1}.tsa-ki-idea-center.empty b{color:#d8cdff;font:1000 11px/1 ui-monospace,monospace}.tsa-ki-idea-center.empty small{margin-top:2px;color:#8393c6;font:900 4px/1 ui-monospace,monospace;letter-spacing:.1em}
.tsa-ki-center-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px;border-bottom:1px solid rgba(156,174,245,.2)}.tsa-ki-center-head span{color:#aebdf2;font:900 6px/1 ui-monospace,monospace;letter-spacing:.12em}.tsa-ki-center-head b{display:grid;place-items:center;min-width:14px;height:12px;border-radius:4px;background:#7365df;color:#fff;font:1000 6px/1 ui-monospace,monospace}
.tsa-ki-card-grid{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;overflow:hidden}.tsa-ki-idea-card{position:relative;min-width:0;min-height:0;padding:3px 4px;border:1px solid rgba(180,193,247,.28);border-radius:5px;background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.035));box-shadow:inset 2px 0 #7c70ed;color:#f9faff;overflow:hidden}.tsa-ki-idea-card header{display:grid;grid-template-columns:13px minmax(0,1fr) auto;gap:3px;align-items:center}.tsa-ki-idea-card .tsa-avatar{width:13px;height:13px;border-radius:3px}.tsa-ki-idea-card header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#bac7f4;font:900 5px/1 ui-monospace,monospace}.tsa-ki-idea-card header em{color:#80e6b7;font:900 5px/1 ui-monospace,monospace;font-style:normal}.tsa-ki-idea-card p{display:-webkit-box;margin:3px 0 0;overflow:hidden;color:#fff;font:850 7px/1.22 ui-monospace,monospace;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tsa-ki-idea-card button{position:absolute;right:2px;bottom:2px;display:flex;align-items:center;gap:2px;min-height:14px;padding:1px 4px;border:1px solid rgba(176,188,245,.45);border-radius:4px;background:#2d3f77;color:#e8ecff;font:900 5px/1 ui-monospace,monospace;cursor:pointer}.tsa-ki-idea-card button:hover{background:#6e5fda;color:#fff}.tsa-ki-idea-card button:disabled{opacity:.45}.tsa-ki-more{position:absolute;right:7px;top:5px;color:#b6c1ea;font:800 5px/1 ui-monospace,monospace}
.tsa-ki-input{min-height:88px!important;font-size:14px!important}.tsa-ki-limit{display:flex;justify-content:space-between;margin-top:5px;color:#717a91;font-size:10px}.tsa-ki-limit b{color:#6853d5}.tsa-ki-input.invalid{border-color:#d36a78!important;box-shadow:0 0 0 2px rgba(211,106,120,.12)!important}
.tsa-note.ki-idea{border-color:#8b7ce4;background:linear-gradient(145deg,#f8f5ff,#edf1ff)}.tsa-note.ki-idea:before{background:#7867dc}.tsa-note.ki-idea .tsa-note-head span{color:#6650ce}

/* La microidea sale del participante y aterriza en el centro de la mesa. */
.tsa-ki-contribution-flight{position:absolute;z-index:64;display:block;width:92px;min-height:31px;padding:7px 7px 5px;border:2px solid #9b8df0;border-radius:6px;background:linear-gradient(145deg,#fff,#eeeaff);box-shadow:3px 4px 0 rgba(35,43,75,.25),0 0 16px rgba(117,92,230,.34);color:#394261;font:900 7px/1.18 ui-monospace,monospace;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.35) rotate(-7deg);transform-origin:center;will-change:transform,opacity}.tsa-ki-contribution-flight i,.tsa-ki-contribution-flight b{position:absolute;left:50%;top:50%;display:block;border-radius:50%;pointer-events:none}.tsa-ki-contribution-flight i{width:48px;height:48px;border:3px solid #756ce9;box-shadow:0 0 13px rgba(111,97,231,.48);transform:translate(-50%,-50%)}.tsa-ki-contribution-flight b{width:8px;height:8px;background:#fff;box-shadow:0 0 0 3px #6f83ed,0 0 12px #875fdf;transform:translate(-50%,-50%)}.tsa-ki-contribution-flight span{position:relative;z-index:2;display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tsa-ki-contribution-flight.visible{animation:tsa-ki-card-flight 1.34s cubic-bezier(.18,.72,.2,1) forwards}.tsa-ki-contribution-flight.visible i{animation:tsa-ki-flight-ring .7s ease-out forwards}.tsa-ki-contribution-flight.visible b{animation:tsa-ki-flight-core .55s ease-in-out infinite alternate}

/* El anfitrión toma la carta y la proyecta hacia la pizarra. */
.tsa-ki-board-flight{position:fixed;z-index:999999;display:block;max-width:180px;min-height:34px;padding:7px;border:2px solid #7768dc;border-radius:6px;background:#f7f4ff;box-shadow:4px 5px 0 rgba(34,42,72,.24),0 0 18px rgba(111,88,224,.38);color:#35405d;font:900 7px/1.2 ui-monospace,monospace;opacity:0;pointer-events:none;transform:translate(0,0) scale(1);will-change:transform,opacity}.tsa-ki-board-flight.visible{animation:tsa-ki-to-board .9s cubic-bezier(.18,.76,.23,1) forwards}

.tsa-quick-reactions button[data-group-action="ki"]{min-width:106px!important}.tsa-quick-reactions button[data-group-action="ki"] span{white-space:nowrap}

@media(max-width:900px){.tsa-ki-idea-center{left:20%;right:20%}.tsa-ki-idea-card header em{display:none}.tsa-ki-idea-card p{font-size:6px}}
@media(max-width:720px){
  .tsa-ki-idea-center{left:18%;right:18%;top:13%;bottom:31%;padding:3px 4px}.tsa-ki-center-head{height:13px}.tsa-ki-card-grid{display:flex;gap:3px;overflow-x:auto;scrollbar-width:none}.tsa-ki-card-grid::-webkit-scrollbar{display:none}.tsa-ki-idea-card{flex:0 0 45%;padding:3px}.tsa-ki-idea-card:nth-child(n+3){display:none}.tsa-ki-idea-card header{grid-template-columns:11px minmax(0,1fr)}.tsa-ki-idea-card .tsa-avatar{width:11px;height:11px}.tsa-ki-idea-card p{font-size:6px}.tsa-ki-idea-card button span{display:none}.tsa-ki-idea-center.empty{left:42%;right:42%}.tsa-quick-reactions button[data-group-action="ki"]{min-width:51px!important}
}
@media(max-width:480px){
  .tsa-ki-idea-center{left:16%;right:16%;top:12%;bottom:33%}.tsa-ki-center-head span{font-size:5px}.tsa-ki-idea-card{flex-basis:48%}.tsa-ki-idea-card p{-webkit-line-clamp:2;font-size:5.5px}.tsa-ki-contribution-flight{width:78px;font-size:6px}
}
@media(prefers-reduced-motion:reduce){.tsa-ki-contribution-flight.visible{animation-duration:.72s!important}.tsa-ki-contribution-flight.visible b{animation:none!important}.tsa-ki-board-flight.visible{animation-duration:.55s!important}}

@keyframes tsa-ki-card-flight{0%{opacity:0;transform:translate(-50%,-50%) scale(.28) rotate(-8deg)}16%{opacity:1;transform:translate(-50%,-62%) scale(.92) rotate(3deg)}48%{opacity:1;transform:translate(calc(-50% + var(--ki-flight-x-half)),calc(-62% + var(--ki-flight-y-half))) scale(1.04) rotate(-2deg)}82%{opacity:1;transform:translate(calc(-50% + var(--ki-flight-x)),calc(-50% + var(--ki-flight-y))) scale(.9) rotate(0)}100%{opacity:0;transform:translate(calc(-50% + var(--ki-flight-x)),calc(-50% + var(--ki-flight-y))) scale(.62)}}
@keyframes tsa-ki-flight-ring{0%{opacity:.8;transform:translate(-50%,-50%) scale(.3)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.1)}}
@keyframes tsa-ki-flight-core{from{filter:brightness(.9);transform:translate(-50%,-50%) scale(.75)}to{filter:brightness(1.35);transform:translate(-50%,-50%) scale(1.25)}}
@keyframes tsa-ki-to-board{0%{opacity:0;transform:translate(0,0) scale(.8) rotate(-2deg)}15%{opacity:1;transform:translate(0,-8px) scale(1.04) rotate(2deg)}82%{opacity:1;transform:translate(var(--ki-board-x),var(--ki-board-y)) scale(.5) rotate(-4deg)}100%{opacity:0;transform:translate(var(--ki-board-x),var(--ki-board-y)) scale(.18) rotate(0)}}

/* ===== Arena, auras y notas v0.5.7 ===== */
/* Fuego más concentrado: ocupa menos ancho, pero suma núcleo abrasador,
   distorsión térmica, humo y una secuencia más larga de brasas. */
.tsa-avatar-effect.fx-fire{height:174px;top:-72px}
.tsa-fx-fire-heat{position:absolute;z-index:1;left:50%;bottom:21px;width:92px;height:126px;border-radius:48% 48% 34% 34%;background:radial-gradient(ellipse at 50% 72%,rgba(255,214,100,.38),rgba(247,96,47,.2) 36%,rgba(122,71,222,.09) 58%,transparent 72%);filter:blur(5px);opacity:0;transform:translateX(-50%) scale(.42)}
.tsa-fx-fire-core{position:absolute;z-index:4;left:50%;bottom:27px;width:40px;height:73px;background:linear-gradient(90deg,rgba(255,232,132,.2),#fff2a4 31%,#ffb23e 58%,#ef5e3e 79%,rgba(126,71,216,.15));clip-path:polygon(48% 0,65% 18%,60% 36%,83% 57%,72% 100%,23% 100%,13% 58%,37% 31%);filter:drop-shadow(0 -3px 7px rgba(255,116,47,.7));opacity:0;transform:translateX(-50%) scaleY(.25);transform-origin:center bottom}
.tsa-fx-fire-ground{bottom:24px;width:88px;height:24px;border-width:3px;box-shadow:0 0 14px rgba(255,102,42,.58),0 0 25px rgba(126,77,223,.18)}
.tsa-fx-flames{left:50%;top:15px;width:96px;height:137px}
.tsa-fx-flames i{bottom:13px;width:25px;filter:drop-shadow(0 -5px 7px rgba(241,87,43,.5))}
.tsa-fx-flames i:nth-child(1){left:1px;height:61px}.tsa-fx-flames i:nth-child(2){left:19px;height:91px}.tsa-fx-flames i:nth-child(3){left:36px;height:119px}.tsa-fx-flames i:nth-child(4){right:18px;height:88px}.tsa-fx-flames i:nth-child(5){right:0;height:64px}
.tsa-fx-embers i:nth-child(1){left:28px;top:112px;--ex:-17px;--ey:-100px}.tsa-fx-embers i:nth-child(2){left:47px;top:91px;--ex:-4px;--ey:-121px}.tsa-fx-embers i:nth-child(3){left:66px;top:80px;--ex:8px;--ey:-127px}.tsa-fx-embers i:nth-child(4){right:39px;top:96px;--ex:15px;--ey:-109px}.tsa-fx-embers i:nth-child(5){right:22px;top:116px;--ex:20px;--ey:-92px}.tsa-fx-embers i:nth-child(6){left:68px;top:121px;--ex:-12px;--ey:-83px}
.tsa-fx-fire-smoke{position:absolute;z-index:2;left:50%;top:1px;width:78px;height:74px;transform:translateX(-50%);pointer-events:none}.tsa-fx-fire-smoke i{position:absolute;bottom:0;width:18px;height:18px;border:3px solid rgba(96,80,113,.5);border-radius:50%;background:rgba(225,220,231,.22);filter:blur(.4px);opacity:0}.tsa-fx-fire-smoke i:nth-child(1){left:13px}.tsa-fx-fire-smoke i:nth-child(2){left:31px;bottom:12px}.tsa-fx-fire-smoke i:nth-child(3){right:10px;bottom:3px}
.tsa-avatar-effect.visible .tsa-fx-fire-heat{animation:tsa-fire-heat-057 1.76s ease-out forwards}.tsa-avatar-effect.visible .tsa-fx-fire-core{animation:tsa-fire-core-057 1.66s cubic-bezier(.16,.76,.24,1) forwards}.tsa-avatar-effect.visible .tsa-fx-fire-smoke i{animation:tsa-fire-smoke-057 1.18s ease-out .58s forwards}.tsa-avatar-effect.visible .tsa-fx-fire-smoke i:nth-child(2){animation-delay:.72s}.tsa-avatar-effect.visible .tsa-fx-fire-smoke i:nth-child(3){animation-delay:.86s}.tsa-avatar-effect.visible .tsa-fx-flames i{animation-duration:1.68s}

/* Escritorio recibe la misma respiración continua que hace legible el aura en
   móvil. Se anima el conjunto completo y se refuerza cada nivel sin tapar foto. */
@media(min-width:721px) and (prefers-reduced-motion:no-preference){
  .tsa-room-person.level-2 .tsa-level-aura,.tsa-room-person.level-3 .tsa-level-aura,.tsa-room-person.level-4 .tsa-level-aura,.tsa-room-person.level-5 .tsa-level-aura,.tsa-room-person.level-6 .tsa-level-aura,.tsa-room-person.level-7 .tsa-level-aura{animation:tsa-desktop-aura-057 2.35s ease-in-out infinite}
  .tsa-room-person.level-3 .tsa-level-aura .core,.tsa-room-person.level-4 .tsa-level-aura .core{animation:tsa-level-core-fluid 1.7s ease-in-out infinite}
  .tsa-room-person.level-3 .tsa-level-aura .spark{animation:tsa-level-spark-fluid 1.9s ease-out infinite}
}
@media(min-width:721px){
  .tsa-room-person.level-1 .tsa-level-aura{opacity:.26}.tsa-room-person.level-2 .tsa-level-aura{opacity:.42}.tsa-room-person.level-3 .tsa-level-aura{opacity:.6}.tsa-room-person.level-4 .tsa-level-aura{opacity:.78}.tsa-room-person.level-5 .tsa-level-aura{opacity:.86}.tsa-room-person.level-6 .tsa-level-aura{opacity:.92}.tsa-room-person.level-7 .tsa-level-aura{opacity:1}

  /* La superficie usa todo el ancho disponible y mantiene lectura táctica aun
     cuando no hay cartas: perímetro, carriles, centro y nodos siguen activos. */
  .tsa-table-wrap{left:clamp(8%,10vw,12%);right:clamp(8%,10vw,12%);top:13%;bottom:7%;filter:drop-shadow(0 22px 15px rgba(31,39,62,.26))}
  .tsa-meeting-table{border-width:5px;background:
    radial-gradient(ellipse at 50% 43%,rgba(111,91,226,.11),transparent 31%),
    linear-gradient(90deg,transparent 49.82%,rgba(69,82,117,.17) 49.82% 50.18%,transparent 50.18%),
    linear-gradient(150deg,rgba(255,255,255,.96) 0 18%,rgba(255,255,255,.3) 18% 31%,transparent 31%),
    repeating-linear-gradient(90deg,#f0f2f6 0 34px,#e4e8ef 34px 68px,#eceff4 68px 102px);box-shadow:inset 0 0 0 3px #fff,inset 0 -18px #a9b3c4,inset 0 -24px #5d6a83,0 7px 0 rgba(31,42,67,.22)}
  .tsa-debate-arena{left:20%;right:20%;top:12%;bottom:25%;border:3px solid #35476c;background:
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.95) 0 2px,#9b78f1 3px 5px,transparent 6px),
    repeating-radial-gradient(ellipse at 50% 50%,transparent 0 23px,rgba(105,124,230,.075) 24px 25px),
    linear-gradient(35deg,transparent 0 47%,rgba(99,129,239,.12) 47% 49%,transparent 49% 100%),
    linear-gradient(-35deg,transparent 0 47%,rgba(158,91,230,.1) 47% 49%,transparent 49% 100%),
    repeating-linear-gradient(0deg,transparent 0 14px,rgba(132,155,226,.08) 14px 15px),
    repeating-linear-gradient(90deg,#0e1932 0 15px,#14213e 15px 30px);box-shadow:inset 0 0 0 2px #233354,inset 0 0 39px rgba(86,111,231,.28),0 4px 0 rgba(35,46,72,.27),0 0 0 1px rgba(143,104,236,.24)}
  .tsa-debate-arena:before,.tsa-debate-arena:after{content:"";position:absolute;z-index:0;top:50%;width:34%;height:2px;opacity:.62}.tsa-debate-arena:before{left:9%;background:linear-gradient(90deg,transparent,#6489f3 35%,#fff 100%);transform:rotate(-7deg);transform-origin:right}.tsa-debate-arena:after{right:9%;background:linear-gradient(90deg,#fff,#a363ec 65%,transparent);transform:rotate(7deg);transform-origin:left}
  .tsa-debate-arena .lane{border-width:2px;opacity:.86}.tsa-debate-arena .axis{width:3px;box-shadow:0 0 8px rgba(99,126,239,.32)}.tsa-debate-arena .pulse{width:42px;height:42px;box-shadow:0 0 0 8px rgba(86,117,235,.09),0 0 0 15px rgba(144,82,229,.05),0 0 19px rgba(125,83,229,.35);animation:tsa-arena-pulse-057 2.8s ease-in-out infinite}
  .tsa-turn-node{box-shadow:0 0 0 2px rgba(255,255,255,.72),0 0 9px currentColor;animation:tsa-turn-node-057 2.4s ease-in-out infinite}.tsa-turn-node.n2,.tsa-turn-node.n5{animation-delay:.35s}.tsa-turn-node.n3,.tsa-turn-node.n6{animation-delay:.7s}

  /* Las ideas son cartas; no existe otro panel oscuro encima de la mesa. */
  .tsa-ki-idea-center{left:26%;right:26%;top:16%;bottom:28%;grid-template-rows:14px minmax(0,1fr);gap:4px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
  .tsa-ki-idea-center.empty{display:none}
  .tsa-ki-center-head{padding:0 3px;border:0}.tsa-ki-center-head span{color:#a9b7ef;text-shadow:0 1px 2px #111b34}.tsa-ki-center-head b{height:11px;background:#685bd3;box-shadow:0 0 7px rgba(115,91,220,.42)}
  .tsa-ki-card-grid{gap:6px;overflow:visible}.tsa-ki-idea-card{padding:5px 6px;border:2px solid #a9b5e5;border-radius:4px;background:linear-gradient(145deg,#fff,#edf0ff);box-shadow:3px 4px 0 rgba(27,37,66,.35),inset 3px 0 #7767dd;color:#273451;transform:rotate(-1deg);transition:transform .16s ease,box-shadow .16s ease}.tsa-ki-idea-card:nth-child(even){transform:rotate(1deg)}.tsa-ki-idea-card:hover{z-index:2;transform:translateY(-3px) rotate(0);box-shadow:4px 7px 0 rgba(27,37,66,.3),0 0 14px rgba(117,93,222,.28)}
  .tsa-ki-idea-card header strong{color:#536287}.tsa-ki-idea-card header em{color:#6b52d4}.tsa-ki-idea-card p{color:#26334f;font-size:7px}.tsa-ki-idea-card button{border-color:#afa4e9;background:#eeeaff;color:#5f4bc2}.tsa-ki-idea-card button:hover{background:#6857d6;color:#fff}
}

/* Notas largas e ideas Ki dejan de compartir una lista indiferenciada. */
.tsa-note-sections{min-height:0;display:grid;grid-template-rows:minmax(150px,1fr) minmax(130px,.8fr);overflow:auto;background:#f7f8fb}.tsa-note-section{min-height:0;border-bottom:1px solid #e1e5ee}.tsa-note-section>header{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-bottom:1px solid #e3e6ef;background:rgba(248,249,252,.96);backdrop-filter:blur(8px)}.tsa-note-section>header div{display:grid;gap:2px}.tsa-note-section>header small{color:#6350c9;font-size:8px;font-weight:900;letter-spacing:.1em}.tsa-note-section>header strong{color:#7b8498;font-size:9px}.tsa-note-section>header>b{display:grid;place-items:center;min-width:22px;height:20px;border:1px solid #d9deeb;border-radius:6px;background:#fff;color:#53607a;font-size:9px}.tsa-note-section .tsa-room-note-list{overflow:visible}.tsa-note-section.ki{background:linear-gradient(180deg,#f8f6ff,#f5f7fc)}.tsa-note-section.ki>header small{color:#7557d8}
.tsa-notes-separated{min-width:0;display:grid;gap:14px}.tsa-notes-separated>section>h3{display:flex;align-items:center;gap:7px;margin:0 0 8px;color:#4b5670;font-size:12px}.tsa-notes-separated>section>h3 small{display:grid;place-items:center;min-width:20px;height:18px;border-radius:6px;background:#eeeafd;color:#6a52d1;font-size:8px}.tsa-notes-separated .tsa-note-list{grid-template-columns:repeat(2,minmax(0,1fr))}

@media(max-width:720px){
  .tsa-note-sections{grid-template-rows:minmax(160px,1fr) minmax(135px,.8fr)}
  .tsa-fx-fire-heat{width:82px}.tsa-fx-fire-ground{width:80px}.tsa-fx-flames{width:88px;transform:translateX(-50%) scale(.94)}
}
@media(max-width:480px){.tsa-notes-separated .tsa-note-list{grid-template-columns:1fr}}

@keyframes tsa-fire-heat-057{0%{opacity:0;transform:translateX(-50%) scale(.28)}18%{opacity:.78}58%{opacity:1;transform:translateX(-50%) scale(1.04)}100%{opacity:0;transform:translateX(-50%) scale(.88) translateY(-8px)}}
@keyframes tsa-fire-core-057{0%{opacity:0;transform:translateX(-50%) scaleY(.2)}20%{opacity:1}48%{transform:translateX(-50%) scaleY(1.08) scaleX(.92)}72%{transform:translateX(-50%) scaleY(.88) scaleX(1.05)}100%{opacity:0;transform:translateX(-50%) scaleY(.72) translateY(-13px)}}
@keyframes tsa-fire-smoke-057{0%{opacity:0;transform:translate(0,12px) scale(.45)}25%{opacity:.58}100%{opacity:0;transform:translate(-5px,-34px) scale(1.35)}}
@keyframes tsa-desktop-aura-057{0%,100%{transform:translateX(-50%) scale(var(--aura-scale)) translateY(1px);filter:brightness(.95) saturate(.96)}50%{transform:translateX(-50%) scale(calc(var(--aura-scale) + .055)) translateY(-3px);filter:brightness(1.22) saturate(1.18)}}
@keyframes tsa-arena-pulse-057{0%,100%{transform:translate(-50%,-50%) scale(.92);filter:brightness(.9)}50%{transform:translate(-50%,-50%) scale(1.08);filter:brightness(1.28)}}
@keyframes tsa-turn-node-057{0%,100%{opacity:.54;filter:brightness(.9)}50%{opacity:1;filter:brightness(1.35)}}

/* ===== Progresión visible, acta y XP sin vida v0.5.7 ===== */
/* Nivel 1 no tiene aura. Desde nivel 2 la energía aumenta de tamaño,
   saturación y actividad hasta la mezcla morado + dorado del nivel 7. */
.tsa-room-person.level-1 .tsa-level-aura{display:none!important}
.tsa-room-person.level-2 .tsa-level-aura{--aura:#fbfdff;--aura-soft:rgba(235,242,255,.32);filter:drop-shadow(0 0 5px rgba(255,255,255,.44))}
.tsa-room-person.level-3 .tsa-level-aura{--aura:#a8dcff;--aura-soft:rgba(119,194,255,.29);filter:drop-shadow(0 0 7px rgba(126,196,255,.42))}
.tsa-room-person.level-4 .tsa-level-aura{--aura:#718dff;--aura-soft:rgba(93,119,247,.34);filter:drop-shadow(0 0 9px rgba(91,113,244,.46))}
.tsa-room-person.level-5 .tsa-level-aura{--aura:#ad7bff;--aura-soft:rgba(154,102,244,.39);filter:drop-shadow(0 0 11px rgba(154,92,239,.5))}
.tsa-room-person.level-6 .tsa-level-aura{--aura:#6967ff;--aura-soft:rgba(102,84,239,.45);filter:drop-shadow(0 0 13px rgba(83,98,244,.58))}
.tsa-room-person.level-7 .tsa-level-aura{--aura:#b442f4;--aura-soft:rgba(166,55,232,.5);filter:drop-shadow(0 0 10px rgba(183,54,239,.72)) drop-shadow(0 0 17px rgba(244,190,62,.48))}
.tsa-room-person.level-7 .tsa-level-aura .core{background:linear-gradient(90deg,transparent 0 13%,rgba(244,190,62,.46) 16% 28%,rgba(172,55,235,.12) 31% 69%,rgba(255,211,83,.5) 72% 85%,transparent 88%)}
.tsa-room-person.level-7 .tsa-level-aura .spark:nth-of-type(even){background:#ffd65e;box-shadow:0 0 7px #f5b938}

/* El brillo del marco sólo aparece en los niveles altos y mantiene el avatar
   legible: blanco en 5, azul en 6 y magenta en 7. */
.tsa-room-person.level-5 .tsa-person-frame{--frame-glow:#fff;animation:tsa-frame-glow-057 2.25s ease-in-out infinite}
.tsa-room-person.level-6 .tsa-person-frame{--frame-glow:#4d8dff;animation:tsa-frame-glow-057 1.95s ease-in-out infinite}
.tsa-room-person.level-7 .tsa-person-frame{--frame-glow:#ed3cff;animation:tsa-frame-glow-057 1.62s ease-in-out infinite}

/* Forzar la respiración en navegador de escritorio corrige equipos que
   informan una preferencia de movimiento reducida aunque el usuario no la haya
   elegido. Los efectos breves siguen evitando animaciones de layout costosas. */
@media(min-width:721px){
  .tsa-room-person.level-2 .tsa-level-aura,.tsa-room-person.level-3 .tsa-level-aura,.tsa-room-person.level-4 .tsa-level-aura,.tsa-room-person.level-5 .tsa-level-aura,.tsa-room-person.level-6 .tsa-level-aura,.tsa-room-person.level-7 .tsa-level-aura{animation:tsa-desktop-aura-057 2.35s ease-in-out infinite!important}
  .tsa-room-person.level-2 .tsa-level-aura .shell,.tsa-room-person.level-3 .tsa-level-aura .shell,.tsa-room-person.level-4 .tsa-level-aura .shell,.tsa-room-person.level-5 .tsa-level-aura .shell,.tsa-room-person.level-6 .tsa-level-aura .shell,.tsa-room-person.level-7 .tsa-level-aura .shell{animation:tsa-level-aura-fluid 2.5s ease-in-out infinite!important}
  .tsa-room-person.level-4 .tsa-level-aura .spark,.tsa-room-person.level-5 .tsa-level-aura .spark,.tsa-room-person.level-6 .tsa-level-aura .spark,.tsa-room-person.level-7 .tsa-level-aura .spark{animation:tsa-level-spark-fluid 1.65s ease-out infinite!important}
  .tsa-room-person.level-5 .tsa-level-aura .core,.tsa-room-person.level-6 .tsa-level-aura .core,.tsa-room-person.level-7 .tsa-level-aura .core{animation:tsa-level-core-fluid 1.5s ease-in-out infinite!important}
}

/* El cajón replica la jerarquía de la referencia: acta común e ideas son modos,
   no listas mezcladas. La superficie conserva el blanco cálido de TESITURA. */
.tsa-room-notes-drawer{width:min(470px,100%);grid-template-rows:auto 48px minmax(0,1fr);background:#f8f8f7}
.tsa-notes-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px;border-bottom:1px solid #dfe3eb;background:#f3f4f6}
.tsa-notes-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:35px;border:1px solid transparent;border-radius:8px;background:transparent;color:#59647b;font-size:10px;font-weight:850;cursor:pointer}
.tsa-notes-tabs button:hover{background:#fff}.tsa-notes-tabs button.active{border-color:#d3d9e5;background:#fff;color:#2d3852;box-shadow:0 2px 8px rgba(43,54,88,.07)}
.tsa-notes-tabs b{display:grid;place-items:center;min-width:18px;height:18px;border-radius:9px;background:#e8eaf0;color:#5d6780;font-size:8px}
.tsa-minutes-panel{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) 62px;background:#fbfbfa}
.tsa-minutes-panel[hidden],.tsa-notes-ideas-panel[hidden]{display:none}
.tsa-minutes-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-bottom:1px solid #e0e3e9;background:#f5f5f4}
.tsa-minutes-toolbar button{min-height:29px;padding:0 9px;border:1px solid #d8dce4;border-radius:7px;background:#fff;color:#49536a;font-size:9px;font-weight:800;cursor:pointer}.tsa-minutes-toolbar button:hover{border-color:#a99bea;background:#f6f3ff;color:#6650c9}
.tsa-minutes-editor{width:100%;min-height:0;padding:20px 22px;border:0;outline:0;resize:none;background:#fbfbfa;color:#30394e;font:13px/1.68 system-ui,-apple-system,"Segoe UI",sans-serif;caret-color:#6d55d7}.tsa-minutes-editor::placeholder{color:#9299a8}.tsa-minutes-editor[readonly]{color:#545d70}
.tsa-minutes-panel>footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid #e0e3e9;background:#f4f4f3;color:#7b8392;font-size:9px}.tsa-minutes-panel>footer>span:first-child{font-variant-numeric:tabular-nums}.tsa-minutes-panel>footer>span:nth-child(2){justify-self:end;font-weight:850}.tsa-minutes-panel>footer .saved{color:#2f9c6b}.tsa-minutes-panel>footer .unsaved{color:#9a6b25}.tsa-minutes-panel>footer .saving{color:#6650c9}.tsa-minutes-panel>footer .error{color:#b44359}
.tsa-notes-ideas-panel{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.tsa-notes-ideas-panel .tsa-notes-compose{padding:12px}.tsa-notes-ideas-panel .tsa-note-sections{overflow:auto}

/* Sólo XP queda visible. Los perfiles siguen aceptando el campo de salud por
   compatibilidad de datos, pero la experiencia ya no lo presenta ni lo premia. */
.tsa-seat-stats .hp,.tsa-avatar-state,.tsa-direct-bars .hp{display:none!important}.tsa-person-bars{grid-template-rows:4px}.tsa-direct-bars{grid-template-columns:1fr}

@media(max-width:720px){
  .tsa-room-notes-drawer{width:100%}.tsa-minutes-editor{padding:17px 16px;font-size:14px}.tsa-minutes-panel>footer{grid-template-columns:auto 1fr}.tsa-minutes-panel>footer .tsa-button{grid-column:1/-1;width:100%}
}
@media(max-width:420px){.tsa-minutes-toolbar button{flex:1 1 auto}.tsa-notes-tabs button{font-size:9px}}

@keyframes tsa-frame-glow-057{0%,100%{box-shadow:0 0 0 2px rgba(255,255,255,.92),0 0 4px var(--frame-glow)}50%{box-shadow:0 0 0 3px var(--frame-glow),0 0 13px var(--frame-glow);filter:brightness(1.08)}}

/* ===== Cartas sobre mesa y geometría responsive v0.5.9 ===== */
/* La sala usa la altura real disponible: pizarra flexible, escena medida y
   barra social estable. Se elimina el mínimo histórico de 600 px. */
.tsa-live-room{--tsa-scene-height:clamp(270px,34dvh,380px);min-height:0;grid-template-rows:minmax(210px,1fr) var(--tsa-scene-height) 52px}
.tsa-live-room.poker-open{grid-template-rows:minmax(185px,1fr) auto clamp(245px,31dvh,345px) 52px}
.tsa-conference-scene{min-height:0}
.tsa-table-wrap{left:max(8%,calc(50% - 750px));right:max(8%,calc(50% - 750px));top:13%;bottom:7%}

/* Mazo compacto: la superficie de la mesa sigue visible. */
.tsa-ki-idea-center{position:absolute;z-index:34;left:50%;right:auto;top:58%;bottom:auto;width:min(292px,42%);height:48px;display:block;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#273451;overflow:visible;pointer-events:none;transform:translate(-50%,-50%)}
.tsa-ki-idea-center.empty{display:none}
.tsa-ki-card-grid{height:100%;min-height:0;display:flex;align-items:flex-end;justify-content:center;gap:7px;overflow:visible}
.tsa-ki-idea-card{position:relative;flex:0 0 54px;width:54px;height:41px;min-width:0;min-height:0;padding:0;border:0;border-radius:4px;background:transparent;box-shadow:none;color:#273451;overflow:visible;pointer-events:auto;transform:rotate(-2deg);transition:transform .16s ease,filter .16s ease}
.tsa-ki-idea-card:nth-child(even){transform:translateY(-2px) rotate(2deg)}.tsa-ki-idea-card:nth-child(3){transform:translateY(1px) rotate(-1deg)}.tsa-ki-idea-card:nth-child(4){transform:translateY(-1px) rotate(1deg)}
.tsa-ki-idea-card:hover,.tsa-ki-idea-card:focus-within{z-index:38;transform:translateY(-4px) rotate(0);filter:drop-shadow(0 7px 5px rgba(31,40,67,.2))}
.tsa-ki-idea-card.is-open{z-index:60;transform:translateY(-5px) rotate(0)}
.tsa-ki-card-toggle{position:relative!important;inset:auto!important;width:54px;height:41px;min-height:0!important;display:grid!important;grid-template-columns:16px minmax(0,1fr) 9px;grid-template-rows:16px 1fr;align-items:center;gap:1px 3px;padding:4px 4px 3px!important;border:2px solid #8394d3!important;border-radius:4px!important;background:linear-gradient(145deg,#fff 0 58%,#e9edff 58%)!important;box-shadow:2px 3px 0 rgba(31,41,70,.28),inset 3px 0 #7461d7!important;color:#354261!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;cursor:pointer!important;overflow:hidden!important}
.tsa-ki-card-toggle:hover,.tsa-ki-card-toggle:focus-visible{border-color:#6e58d4!important;background:linear-gradient(145deg,#fff,#eae6ff)!important;outline:2px solid rgba(105,88,211,.25);outline-offset:2px}
.tsa-ki-card-fold{position:absolute;right:-1px;top:-1px;width:11px;height:11px;border-left:1px solid #9ba8d6;border-bottom:1px solid #9ba8d6;background:linear-gradient(225deg,#dce3ff 0 48%,#fff 49%);clip-path:polygon(0 0,100% 100%,0 100%)}
.tsa-ki-card-avatar{grid-row:1/3;display:grid;place-items:center}.tsa-ki-card-avatar .tsa-avatar{width:15px;height:15px;border:1px solid #aab5dc;border-radius:3px;background:#eef1fb;font-size:5px}
.tsa-ki-card-toggle>b{align-self:end;color:#6352c8;font:1000 6px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.tsa-ki-card-toggle>small{grid-column:2/4;align-self:start;overflow:hidden;color:#66728d;font:800 5px/1.1 ui-monospace,SFMono-Regular,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}.tsa-ki-card-toggle>em{align-self:end;color:#6856cf;font:1000 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;font-style:normal}

/* La idea completa sólo aparece por decisión del usuario. */
.tsa-ki-card-detail{position:absolute;z-index:70;left:50%;bottom:calc(100% + 9px);width:clamp(205px,17vw,255px);min-height:90px;display:grid;grid-template-rows:auto minmax(34px,auto) auto;gap:7px;padding:10px;border:2px solid #7283c7;border-radius:7px;background:linear-gradient(155deg,#fff,#f0f2ff);box-shadow:5px 7px 0 rgba(27,37,66,.3),0 12px 30px rgba(31,42,78,.2),inset 4px 0 #725ed8;color:#283450;opacity:0;transform:translate(-50%,8px) scale(.92);transform-origin:center bottom;pointer-events:none}
.tsa-ki-card-detail[hidden]{display:none!important}.tsa-ki-idea-card.is-open .tsa-ki-card-detail{opacity:1;transform:translate(-50%,0) scale(1);pointer-events:auto;animation:tsa-ki-detail-open-059 .22s cubic-bezier(.16,.84,.3,1.18) both}
.tsa-ki-card-detail:after{content:"";position:absolute;left:50%;bottom:-8px;width:13px;height:13px;border-right:2px solid #7283c7;border-bottom:2px solid #7283c7;background:#f0f2ff;transform:translateX(-50%) rotate(45deg)}
.tsa-ki-card-detail header{display:grid;grid-template-columns:25px minmax(0,1fr);gap:7px;align-items:center}.tsa-ki-card-detail header .tsa-avatar{width:25px;height:25px;border-radius:5px}.tsa-ki-card-detail header span{display:grid;gap:2px}.tsa-ki-card-detail header small{color:#745cd4;font:900 6px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.11em}.tsa-ki-card-detail header strong{overflow:hidden;color:#45516c;font:850 8px/1.1 system-ui,sans-serif;text-overflow:ellipsis;white-space:nowrap}
.tsa-ki-idea-card .tsa-ki-card-detail>p{display:block;margin:0;overflow:visible;color:#25314d;font:850 9px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;-webkit-line-clamp:unset;-webkit-box-orient:initial;white-space:normal}
.tsa-ki-card-detail footer{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:6px;border-top:1px solid #d9def1}.tsa-ki-card-detail footer>span{color:#8991a5;font:750 6px/1 ui-monospace,SFMono-Regular,Consolas,monospace}
.tsa-ki-idea-card .tsa-ki-card-detail [data-ki-promote]{position:relative!important;right:auto!important;bottom:auto!important;min-height:23px!important;padding:3px 7px!important;border:1px solid #9c8ee4!important;border-radius:5px!important;background:#ece8ff!important;color:#5d49bd!important;font:900 6px/1 ui-monospace,SFMono-Regular,Consolas,monospace!important}.tsa-ki-idea-card .tsa-ki-card-detail [data-ki-promote]:hover{background:#6653d0!important;color:#fff!important}
.tsa-ki-deck-count{position:absolute;right:-15px;bottom:5px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border:2px solid #fff;border-radius:9px;background:#6254c8;box-shadow:1px 2px 0 rgba(31,40,67,.23);color:#fff;font:1000 6px/1 ui-monospace,SFMono-Regular,Consolas,monospace;pointer-events:none}.tsa-ki-more{position:absolute;right:-24px;top:0;padding:2px 3px;border-radius:3px;background:#29395f;color:#dce3ff;font:900 5px/1 ui-monospace,SFMono-Regular,Consolas,monospace;pointer-events:none}

/* Portátil y tablet horizontal. */
@media(min-width:1024px) and (max-width:1279px){
  .tsa-live-room{--tsa-scene-height:clamp(265px,34dvh,335px)}.tsa-live-room.poker-open{grid-template-rows:minmax(175px,1fr) auto clamp(230px,30dvh,305px) 50px}
  .tsa-table-wrap{left:6%;right:6%;top:14%;bottom:8%}.tsa-room-person{transform:scale(.9)}.tsa-room-person:hover:not(:disabled){transform:scale(.9) translateY(-2px)}.tsa-engagement-ranking{width:148px}.tsa-ranking-row>em{display:none}
}

/* Tablet vertical y ventanas estrechas de escritorio. */
@media(min-width:721px) and (max-width:1023px){
  .tsa-live-room{--tsa-scene-height:clamp(270px,36dvh,340px);grid-template-rows:minmax(190px,1fr) var(--tsa-scene-height) 50px}.tsa-live-room.poker-open{grid-template-rows:minmax(160px,1fr) auto clamp(220px,31dvh,300px) 50px}
  .tsa-table-wrap{left:3%;right:3%;top:16%;bottom:8%}.tsa-room-person{transform:scale(.82)}.tsa-room-person:hover:not(:disabled){transform:scale(.82) translateY(-2px)}.tsa-seat-stats{display:none}.tsa-engagement-ranking{width:142px}.tsa-ranking-row>em{display:none}
  .tsa-ki-idea-center{width:min(270px,44%)}.tsa-ki-card-detail{width:220px}
}

/* Móvil: dos cartas recientes, mesa completa y blancos táctiles cómodos. */
@media(max-width:720px){
  .tsa-live-room{--tsa-scene-height:clamp(235px,38dvh,310px);grid-template-rows:minmax(155px,1fr) var(--tsa-scene-height) 50px}.tsa-live-room.poker-open{grid-template-rows:minmax(135px,1fr) auto clamp(210px,34dvh,280px) 50px}
  .tsa-table-wrap{left:1%;right:1%;top:21%;bottom:8%}.tsa-debate-arena{left:15%;right:15%;top:12%;bottom:26%}
  .tsa-room-person{width:76px;min-height:76px;transform:scale(.7)}.tsa-room-person:hover:not(:disabled){transform:scale(.7)}
  .tsa-ki-idea-center{top:58%;width:130px;height:45px}.tsa-ki-card-grid{gap:7px}.tsa-ki-idea-card{flex-basis:52px;width:52px;height:40px}.tsa-ki-idea-card:nth-child(n+3){display:none}.tsa-ki-card-toggle{width:52px;height:40px}.tsa-ki-card-detail{width:min(225px,calc(100vw - 36px));min-height:86px;padding:9px}.tsa-ki-deck-count{right:-12px}.tsa-ki-more{right:-21px}
}

@media(max-width:480px){
  .tsa-live-room{--tsa-scene-height:clamp(220px,36dvh,275px);grid-template-rows:minmax(135px,1fr) var(--tsa-scene-height) 48px}.tsa-live-room.poker-open{grid-template-rows:minmax(115px,1fr) auto clamp(195px,32dvh,250px) 48px}
  .tsa-table-wrap{left:0;right:0;top:22%;bottom:7%}.tsa-room-person{transform:scale(.62)}.tsa-room-person:hover:not(:disabled){transform:scale(.62)}
  .tsa-ki-idea-center{top:56%;width:124px}.tsa-ki-card-detail{width:min(215px,calc(100vw - 28px));font-size:8px}.tsa-ki-card-detail footer>span{display:none}.tsa-ki-card-detail [data-ki-promote] span{display:inline}
}

/* Pantallas amplias: la mesa deja de estirarse y todos los asientos mantienen
   relación visual con su perímetro. */
@media(min-width:1800px){
  .tsa-live-room{--tsa-scene-height:clamp(350px,37dvh,440px)}.tsa-table-wrap{left:calc(50% - 750px);right:calc(50% - 750px)}.tsa-room-participants{left:calc(50% - 820px);right:calc(50% - 820px)}.tsa-room-person{transform:scale(1.07)}.tsa-room-person:hover:not(:disabled){transform:scale(1.07) translateY(-2px)}
}

/* Equipos con poca altura: prioriza funcionalidad sin cortar la mesa. */
@media(max-height:700px) and (min-width:721px){
  .tsa-live-room{--tsa-scene-height:clamp(205px,34dvh,250px);grid-template-rows:minmax(150px,1fr) var(--tsa-scene-height) 46px}.tsa-live-room.poker-open{grid-template-rows:minmax(120px,1fr) auto clamp(180px,30dvh,220px) 46px}
  .tsa-table-wrap{top:16%;bottom:6%}.tsa-room-person{transform:scale(.76)}.tsa-room-person:hover:not(:disabled){transform:scale(.76) translateY(-2px)}.tsa-seat-stats{display:none}.tsa-ki-idea-center{top:57%}
}

/* Teléfono horizontal. La pizarra conserva una franja útil y puede ampliarse. */
@media(max-height:520px) and (max-width:900px){
  .tsa-live-room{--tsa-scene-height:138px;grid-template-rows:minmax(78px,1fr) var(--tsa-scene-height) 42px}.tsa-live-room.poker-open{grid-template-rows:minmax(68px,1fr) auto 126px 42px}
  .tsa-table-wrap{left:3%;right:3%;top:13%;bottom:4%}.tsa-room-person{transform:scale(.55)}.tsa-room-person:hover:not(:disabled){transform:scale(.55)}.tsa-room-person>small,.tsa-seat-stats,.tsa-table-detail,.tsa-engagement-ranking{display:none}.tsa-ki-idea-center{top:55%;transform:translate(-50%,-50%) scale(.82)}.tsa-ki-card-detail{bottom:calc(100% + 5px)}
}

@media(prefers-reduced-motion:reduce){.tsa-ki-idea-card,.tsa-ki-card-detail{transition:none!important}.tsa-ki-idea-card.is-open .tsa-ki-card-detail{animation:none!important}}
@keyframes tsa-ki-detail-open-059{0%{opacity:0;transform:translate(-50%,7px) scale(.9)}100%{opacity:1;transform:translate(-50%,0) scale(1)}}

/* =========================================================
   TESITURA 0.6.0 — presencia, recompensa y proporciones
   ========================================================= */

/* El XP social aparece sobre quien lo recibe. El emisor no muestra recompensa. */
.tsa-xp-received{position:absolute;z-index:96;left:50%;top:-20px;min-width:47px;padding:4px 7px;border:2px solid #6753ca;border-radius:5px;background:linear-gradient(145deg,#fff,#eeeaff);box-shadow:2px 3px 0 rgba(45,38,91,.24),0 0 15px rgba(117,87,220,.24);color:#5c45bd;font:1000 7px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,8px) scale(.72)}
.tsa-xp-received.visible{animation:tsa-xp-received-060 1.42s cubic-bezier(.18,.86,.25,1) both}
.tsa-room-person.fx-reward-received .tsa-person-frame{animation:tsa-reward-frame-060 .72s ease-in-out 2}

/* Una geometría base explícita evita que las reglas históricas de ancho y alto
   compitan entre sí. Pizarra, Poker, escena y barra comparten siempre el alto real. */
.tsa-live-room{
  --tsa-footer-size:52px;
  --tsa-scene-size:clamp(285px,34dvh,390px);
  --tsa-poker-size:clamp(148px,18dvh,205px);
  --tsa-board-floor:170px;
  grid-template-rows:minmax(var(--tsa-board-floor),1fr) var(--tsa-scene-size) var(--tsa-footer-size);
}
.tsa-live-room.poker-open{grid-template-rows:minmax(var(--tsa-board-floor),1fr) var(--tsa-poker-size) var(--tsa-scene-size) var(--tsa-footer-size)}
.tsa-room-board-zone,.tsa-room-board-zone .tsa-board-shell,.tsa-board-stage,.tsa-room-board-zone .tsa-board-viewport{min-height:0}
.tsa-inline-poker{height:100%;min-height:0;max-height:none}
.tsa-inline-poker .tsa-poker-console-body{min-height:0}
.tsa-conference-scene{min-height:0}
.tsa-room-footer{min-height:var(--tsa-footer-size)}

/* La mesa se escala por su contenedor, no por márgenes acumulativos. Mantiene
   el centro táctico y los asientos alineados incluso en monitores ultrawide. */
.tsa-table-wrap{left:50%;right:auto;top:13%;bottom:7%;width:min(86%,1500px);transform:translateX(-50%)}
.tsa-meeting-table{min-width:0}

/* Escritorio amplio. */
@media(min-width:1800px){
  .tsa-live-room{--tsa-scene-size:clamp(355px,37dvh,460px);--tsa-poker-size:clamp(165px,18dvh,220px);--tsa-board-floor:220px}
  .tsa-table-wrap{width:min(82%,1500px);top:12%;bottom:7%}
  .tsa-room-participants{left:50%;right:auto;width:min(100%,1640px);transform:translateX(-50%)}
  .tsa-inline-poker{grid-template-columns:176px minmax(0,1fr)}
  .tsa-inline-poker .tsa-poker-card{flex-basis:58px;width:58px;height:74px}
}

/* Escritorio y portátil estándar. */
@media(min-width:1280px) and (max-width:1799px){
  .tsa-live-room{--tsa-scene-size:clamp(285px,34dvh,390px);--tsa-poker-size:clamp(148px,18dvh,200px);--tsa-board-floor:160px}
  .tsa-table-wrap{width:min(88%,1360px)}
}
@media(min-width:1024px) and (max-width:1279px){
  .tsa-live-room{--tsa-scene-size:clamp(270px,34dvh,345px);--tsa-poker-size:clamp(142px,19dvh,190px);--tsa-board-floor:145px}
  .tsa-table-wrap{width:92%;top:14%;bottom:8%}
  .tsa-inline-poker{grid-template-columns:132px minmax(0,1fr)}
  .tsa-inline-poker .tsa-poker-card{flex-basis:50px;width:50px;height:65px}
}

/* Tablet, ventana dividida y escritorio estrecho. */
@media(min-width:721px) and (max-width:1023px){
  .tsa-live-room{--tsa-scene-size:clamp(255px,36dvh,335px);--tsa-poker-size:clamp(140px,20dvh,188px);--tsa-board-floor:135px}
  .tsa-table-wrap{width:96%;top:16%;bottom:8%}
  .tsa-inline-poker{grid-template-columns:122px minmax(0,1fr)}
  .tsa-inline-poker>header{padding:10px}
  .tsa-inline-poker .tsa-poker-console-body{padding:8px 10px}
  .tsa-inline-poker .tsa-poker-card{flex-basis:47px;width:47px;height:61px}
}

/* Teléfono vertical: la pizarra conserva una franja útil y el Poker obtiene
   una altura controlada con scroll propio, sin empujar la mesa fuera de vista. */
@media(max-width:720px){
  .tsa-live-room{--tsa-footer-size:50px;--tsa-scene-size:clamp(235px,38dvh,310px);--tsa-poker-size:clamp(174px,24dvh,218px);--tsa-board-floor:122px}
  .tsa-live-room.poker-open{grid-template-rows:minmax(var(--tsa-board-floor),1fr) var(--tsa-poker-size) var(--tsa-scene-size) var(--tsa-footer-size)}
  .tsa-room-board-zone{padding:4px 5px}
  .tsa-room-board-zone .tsa-board-shell{gap:3px}
  .tsa-board-commandbar{min-height:38px}
  .tsa-board-context{min-height:34px}
  .tsa-inline-poker{grid-template-columns:1fr;grid-template-rows:42px minmax(0,1fr)}
  .tsa-inline-poker>header{min-height:0;height:42px;padding:4px 8px}
  .tsa-inline-poker .tsa-poker-console-body{padding:6px 8px;align-content:start}
  .tsa-inline-poker .tsa-poker-card{flex-basis:44px;width:44px;height:57px}
  .tsa-inline-poker .tsa-poker-card strong{font-size:14px}
  .tsa-table-wrap{width:100%;top:19%;bottom:7%}
  .tsa-room-footer{min-height:var(--tsa-footer-size)}
}

@media(max-width:480px){
  .tsa-live-room{--tsa-footer-size:48px;--tsa-scene-size:clamp(220px,36dvh,275px);--tsa-poker-size:clamp(160px,23dvh,196px);--tsa-board-floor:108px}
  .tsa-table-wrap{width:100%;top:20%;bottom:6%}
  .tsa-inline-poker .tsa-poker-card{flex-basis:41px;width:41px;height:54px}
  .tsa-inline-poker .tsa-deck{gap:5px}
}

/* Alturas de portátil: se prioriza una pizarra operativa y se reduce la escena
   de manera proporcionada, sin ocultar controles ni recortar los avatares. */
@media(max-height:800px) and (min-width:721px){
  .tsa-live-room{--tsa-footer-size:48px;--tsa-scene-size:clamp(235px,33dvh,285px);--tsa-poker-size:clamp(130px,18dvh,158px);--tsa-board-floor:112px}
  .tsa-table-wrap{top:14%;bottom:6%}
  .tsa-inline-poker .tsa-poker-card{flex-basis:44px;width:44px;height:58px}
  .tsa-inline-poker .tsa-deck{margin:5px 0 3px}
}

/* Teléfono horizontal: Poker vuelve a dos columnas para no desperdiciar alto. */
@media(max-height:520px) and (max-width:900px){
  .tsa-live-room{--tsa-footer-size:42px;--tsa-scene-size:118px;--tsa-poker-size:108px;--tsa-board-floor:64px}
  .tsa-inline-poker{grid-template-columns:108px minmax(0,1fr);grid-template-rows:1fr}
  .tsa-inline-poker>header{height:auto;min-height:0;flex-direction:column;align-items:flex-start;padding:5px;border-right:1px solid #dadde2;border-bottom:0}
  .tsa-inline-poker>header>div{gap:4px}.tsa-inline-poker>header strong{font-size:9px}.tsa-inline-poker>header small{font-size:6px}.tsa-inline-poker>header .tsa-pixel-card-mini{width:23px;height:29px;font-size:11px}
  .tsa-inline-poker .tsa-poker-console-body{padding:3px 6px;align-content:center}
  .tsa-inline-poker .tsa-poker-card{flex-basis:37px;width:37px;height:48px}
  .tsa-inline-poker .tsa-poker-card strong{font-size:12px}
  .tsa-inline-poker .tsa-poker-round-head h3{font-size:9px}.tsa-inline-poker .tsa-vote-counter{height:31px;min-width:48px}.tsa-inline-poker .tsa-vote-counter strong{font-size:14px}
  .tsa-table-wrap{width:96%;top:12%;bottom:3%}
}

@media(prefers-reduced-motion:reduce){
  .tsa-xp-received.visible{animation:tsa-xp-received-reduced-060 1.42s ease both}
  .tsa-room-person.fx-reward-received .tsa-person-frame{animation:none}
}

@keyframes tsa-xp-received-060{
  0%{opacity:0;transform:translate(-50%,9px) scale(.68)}
  18%{opacity:1;transform:translate(-50%,-5px) scale(1.08)}
  42%{transform:translate(-50%,-9px) scale(1)}
  78%{opacity:1;transform:translate(-50%,-13px) scale(1)}
  100%{opacity:0;transform:translate(-50%,-22px) scale(.94)}
}
@keyframes tsa-xp-received-reduced-060{0%,100%{opacity:0}16%,78%{opacity:1}}
@keyframes tsa-reward-frame-060{0%,100%{filter:none}50%{filter:brightness(1.16);box-shadow:0 0 0 3px #fff,0 0 16px #a58bf0,3px 4px 0 rgba(44,57,94,.18)}}

/* =========================================================
   TESITURA 0.7.0 — pizarra directa, amplia y predecible
========================================================= */
.tsa-room-board-zone .tsa-board-shell{grid-template-rows:auto auto minmax(0,1fr);gap:5px}
.tsa-board-commandbar{min-height:42px;padding:3px 5px;background:#fafaf8;border-color:#d9dce3;box-shadow:0 1px 2px rgba(35,40,55,.035)}
.tsa-board-primary-tools{flex:1;justify-content:center}
.tsa-board-primary{min-height:33px;padding-inline:7px}
.tsa-board-context{min-height:35px;background:#f6f6f3;border-color:#dedfe4}
.tsa-board-context-help{font-size:8px;color:#777d88}
.tsa-board-stage{isolation:isolate}
.tsa-room-board-zone .tsa-board-viewport{background:#e9ebef;scrollbar-color:#b9bec9 #eef0f3;scrollbar-width:thin}
.tsa-room-board-zone .tsa-board-canvas{width:1920px;height:1080px;background-color:#fffefb;box-shadow:0 1px 9px rgba(39,44,58,.1)}
.tsa-room-board-zone .tsa-board-canvas[data-board-tool="select"]{cursor:grab}
.tsa-room-board-zone .tsa-board-canvas[data-board-tool="select"].panning,
.tsa-room-board-zone .tsa-board-canvas.panning{cursor:grabbing}
.tsa-room-board-zone .tsa-board-canvas.space-pan{cursor:grab}
.tsa-room-board-zone .tsa-board-object:not(.is-inline-editing){cursor:move}
.tsa-room-board-zone .tsa-board-object.text:not(.is-inline-editing),
.tsa-room-board-zone .tsa-board-object.card:not(.is-inline-editing),
.tsa-room-board-zone .tsa-board-object.debate_card:not(.is-inline-editing){cursor:text}

.tsa-board-navigator{position:absolute;z-index:92;right:12px;bottom:12px;display:flex;align-items:center;gap:3px;padding:4px;border:1px solid rgba(188,193,204,.92);border-radius:10px;background:rgba(250,250,248,.94);box-shadow:0 8px 25px rgba(38,43,58,.15);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.tsa-board-navigator button{display:grid;place-items:center;min-width:32px;height:32px;padding:0 7px;border:1px solid transparent;border-radius:7px;background:transparent;color:#535a68;font-size:15px;font-weight:850;cursor:pointer}
.tsa-board-navigator button:hover,.tsa-board-navigator button.active{border-color:#c9d0e8;background:#e9edf8;color:#425aaf}
.tsa-board-navigator button:focus-visible{outline:2px solid rgba(79,109,245,.45);outline-offset:1px}
.tsa-board-navigator svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tsa-board-navigator .tsa-board-fit{min-width:48px;font-size:8px}
.tsa-board-navigator .tsa-board-fit strong{font-size:8px;font-variant-numeric:tabular-nums}
.tsa-board-shortcuts{position:absolute;z-index:89;left:12px;bottom:12px;padding:6px 9px;border:1px solid rgba(202,205,213,.82);border-radius:8px;background:rgba(250,250,248,.88);box-shadow:0 5px 16px rgba(40,44,57,.08);color:#6e7480;font-size:8px;pointer-events:none;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}

.tsa-room-board-zone .tsa-board-object.is-inline-editing{overflow:visible!important;cursor:text;box-shadow:0 0 0 3px rgba(79,109,245,.2),0 9px 28px rgba(39,47,72,.14)}
.tsa-board-inline-editor{display:block;width:100%;height:100%;min-width:0;min-height:0;padding:0;border:0;outline:0;resize:none;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:inherit;text-decoration:inherit;white-space:pre-wrap;overflow:auto;overscroll-behavior:contain;touch-action:auto;user-select:text}
.tsa-board-object.card .tsa-board-inline-editor,.tsa-board-object.debate_card .tsa-board-inline-editor{padding:0}

@media(max-width:1100px){
  .tsa-board-primary span{display:none}
  .tsa-board-primary{width:36px;justify-content:center;padding-inline:0}
  .tsa-board-primary b,.tsa-board-primary svg{width:18px;height:18px}
  .tsa-board-title{display:none}
}

@media(max-width:720px){
  .tsa-room-board-zone .tsa-board-shell{grid-template-rows:auto auto minmax(0,1fr);gap:3px}
  .tsa-board-commandbar{grid-row:1;min-height:38px;padding:2px 3px}
  .tsa-board-primary-tools{justify-content:flex-start}
  .tsa-board-primary{width:34px;min-height:32px}
  .tsa-board-context{position:relative;z-index:45;grid-row:2;left:auto;right:auto;bottom:auto;min-height:34px;max-height:40px;padding:2px 4px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .tsa-board-stage{grid-row:3}
  .tsa-board-shortcuts{display:none}
  .tsa-board-navigator{right:7px;bottom:7px;padding:3px;border-radius:9px}
  .tsa-board-navigator button{min-width:34px;height:34px}
  .tsa-board-navigator .tsa-board-fit{min-width:45px}
  .tsa-board-floating-details{top:5px;right:5px}
  .tsa-board-details-menu{top:45px;max-height:calc(100dvh - 102px - env(safe-area-inset-bottom,0px))}
  .tsa-room-board-zone .tsa-board-canvas{width:1920px;height:1080px}
}

@media(max-width:420px){
  .tsa-board-primary{width:32px;min-height:31px}
  .tsa-board-primary-tools{gap:0}
  .tsa-board-navigator{right:4px;bottom:4px}
  .tsa-board-navigator button{min-width:32px;height:32px}
  .tsa-board-navigator .tsa-board-fit{min-width:41px}
}

@media(max-height:520px) and (max-width:900px){
  .tsa-board-commandbar{min-height:34px}
  .tsa-board-primary{width:31px;min-height:29px}
  .tsa-board-context{min-height:31px;max-height:35px}
  .tsa-board-navigator{bottom:4px}
  .tsa-board-navigator button{height:30px;min-width:30px}
}
