.otl-wrapper{display:flex;flex-direction:column;gap:8px;font-family:var(--ag-font, "Outfit", sans-serif);width:100%;padding-bottom:60px}.otl-modes{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.otl-mode-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--ag-text-muted, #94a3b8);font-family:var(--ag-font, "Outfit", sans-serif);font-size:.78rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:9px 24px;border-radius:8px;cursor:pointer;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}.otl-mode-btn:hover{background:#ffffff14;color:var(--ag-text-main, #e2e8f0);border-color:#ffffff26}.otl-mode-btn.active{background:#00f0ff1a;border-color:#00f0ff73;color:var(--ag-accent-1, #00f0ff);box-shadow:0 0 14px #00f0ff33,inset 0 0 8px #00f0ff12;text-shadow:0 0 10px rgba(0,240,255,.5)}.otl-table{display:grid;grid-template-columns:90px repeat(4,1fr);border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.07);border-top:1px solid rgba(255,255,255,.12);box-shadow:0 24px 56px #000000a6,0 0 0 1px #ffffff08;background:#0a0a0ef2}.otl-corner{background:#0006;border-right:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.otl-role-header{display:flex;align-items:center;justify-content:center;padding:14px 8px;background:#0006;border-bottom:1px solid rgba(255,255,255,.06);border-right:1px solid rgba(255,255,255,.04);font-size:.75rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--ag-text-muted, #94a3b8);text-align:center}.otl-role-header:last-child{border-right:none}.otl-ev-label{display:flex;align-items:center;justify-content:center;min-height:90px;border-right:2px solid rgba(0,0,0,.4);border-bottom:1px solid rgba(0,0,0,.25);position:relative;user-select:none}.otl-ev-num{font-size:1.6rem;font-weight:900;color:#000000bf;text-shadow:0 1px 2px rgba(255,255,255,.25),0 -1px 1px rgba(0,0,0,.5);letter-spacing:-1px}.otl-cell{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;min-height:90px;align-items:flex-start;align-content:flex-start;border-right:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04);background:#ffffff03;transition:background .2s}.otl-cell:last-child{border-right:none}.otl-table>.otl-ev-label:last-of-type,.otl-table>.otl-cell:nth-last-child(-n+4){border-bottom:none}.otl-cell:hover{background:#ffffff06}.otl-char{display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;cursor:pointer;flex-shrink:0;width:76px;transition:transform .2s cubic-bezier(.2,.8,.2,1),filter .2s;will-change:transform}.otl-char:hover{transform:translateY(-5px) scale(1.07);filter:brightness(1.1);z-index:10}.otl-char:hover .cc-char-name{color:#fff}.otl-char:hover .cc-char-badge{transform:scale(1.2)}.otl-badge{position:absolute;font-size:.48rem;font-weight:800;letter-spacing:.5px;line-height:1;padding:2px 5px;pointer-events:none;z-index:5}.otl-badge--nova{bottom:4px;left:50%;transform:translate(-50%);background:linear-gradient(90deg,#ff4e50,#f9d423);color:#000;border-radius:4px;white-space:nowrap}.otl-disclaimer{text-align:center;color:var(--ag-text-muted, #94a3b8);font-size:.75rem;font-style:italic;margin:0;opacity:.7}@media(max-width:768px){.otl-table{grid-template-columns:60px repeat(4,1fr)}.otl-ev-num{font-size:1.1rem}.otl-char{width:52px}.otl-cell{gap:5px;padding:7px 8px;min-height:68px}.otl-role-header{font-size:.62rem;letter-spacing:.5px;padding:10px 4px}.otl-mode-btn{padding:8px 14px;font-size:.7rem}.cc-char-circle-wrap,.cc-char-circle{width:52px;height:52px}}.cc-char-circle-wrap{position:relative;width:68px;height:68px;flex-shrink:0}.cc-char-circle{width:68px;height:68px;border-radius:50%;overflow:hidden;position:relative;border:2px solid rgba(255,255,255,.12);background:#0c0c16e6;box-shadow:0 4px 14px #0000008c,inset 0 1px #ffffff14;transition:border-color .2s,box-shadow .2s,background .2s}.cc-char-circle:before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(145deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.06) 40%,transparent 65%);pointer-events:none;z-index:3}.cc-char-circle img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.05);pointer-events:none}.cc-char-name{color:var(--ag-text-muted, #94a3b8);font-size:.58rem;font-weight:600;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;max-width:76px;pointer-events:none;letter-spacing:.2px;transition:color .2s}.cc-char-badge{position:absolute;width:20px;height:20px;border-radius:50%;object-fit:contain;background:#080812e6;border:1px solid rgba(255,255,255,.22);box-shadow:0 2px 8px #000000b3;pointer-events:none;z-index:10;padding:0;transition:transform .2s ease}.cc-char-badge--element{top:0;left:0}.cc-char-badge--path{top:0;right:0}.ctl-wrapper{display:flex;flex-direction:column;gap:20px;font-family:var(--ag-font, "Outfit", sans-serif);width:100%}.ctl-options{display:flex;align-items:center;gap:16px}.ctl-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.78rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--ag-text-muted, #94a3b8);user-select:none;transition:color .2s}.ctl-toggle:has(input:checked){color:var(--ag-accent-1, #00f0ff)}.ctl-toggle input{display:none}.ctl-toggle-track{display:inline-block;width:36px;height:20px;border-radius:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);position:relative;transition:background .2s,border-color .2s;flex-shrink:0}.ctl-toggle-track:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#ffffff80;top:2px;left:2px;transition:transform .2s,background .2s}.ctl-toggle input:checked+.ctl-toggle-track{background:#00f0ff33;border-color:#00f0ff80}.ctl-toggle input:checked+.ctl-toggle-track:after{transform:translate(16px);background:var(--ag-accent-1, #00f0ff)}.ctl-board{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.07);border-top:1px solid rgba(255,255,255,.12);box-shadow:0 24px 48px #0000008c;background:#0a0a0ef2}.ctl-row{display:flex;min-height:90px;border-bottom:1px solid rgba(255,255,255,.05);position:relative;transition:background .15s}.ctl-row:last-child{border-bottom:none}.ctl-row.drag-over{background:#00f0ff0d;outline:1px solid rgba(0,240,255,.3);outline-offset:-1px}.ctl-label{width:100px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-right:2px solid rgba(0,0,0,.35);box-shadow:inset -4px 0 16px #0000004d;cursor:default}.ctl-label-text{font-size:1.8rem;font-weight:900;color:#000000bf;text-shadow:0 1px 2px rgba(255,255,255,.2);letter-spacing:-1px;cursor:text;user-select:none}.ctl-label-input{width:75%;background:#00000059;border:1px solid rgba(255,255,255,.3);border-radius:4px;color:#fff;font-size:1.3rem;font-weight:900;font-family:var(--ag-font, "Outfit", sans-serif);text-align:center;padding:2px 4px;outline:none}.ctl-color-pick{width:16px;height:16px;border:none;border-radius:50%;padding:0;cursor:pointer;opacity:.55;transition:opacity .2s,transform .2s;background:none}.ctl-color-pick:hover{opacity:1;transform:scale(1.2)}.ctl-row-chars{flex:1;display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;align-items:flex-start;align-content:flex-start}.ctl-remove-row{position:absolute;top:5px;right:5px;width:20px;height:20px;background:#ff3c3c26;border:1px solid rgba(255,60,60,.25);border-radius:50%;color:#ff5050b3;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s,background .2s}.ctl-row:hover .ctl-remove-row{opacity:1}.ctl-remove-row:hover{background:#ff3c3c66;color:#fff}.ctl-char{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:grab;flex-shrink:0;width:76px;transition:transform .15s ease,filter .15s;user-select:none}.ctl-char:active{cursor:grabbing}.ctl-char:hover{transform:translateY(-4px) scale(1.07);filter:brightness(1.1)}.ctl-char:hover .cc-char-name{color:#fff}.ctl-char:hover .cc-char-badge{transform:scale(1.2)}.ctl-controls{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.ctl-btn{font-family:var(--ag-font, "Outfit", sans-serif);font-size:.78rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:9px 24px;border-radius:8px;cursor:pointer;transition:all .2s ease}.ctl-btn--add{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:var(--ag-text-muted, #94a3b8)}.ctl-btn--add:hover{background:#ffffff17;color:var(--ag-text-main, #e2e8f0);border-color:#ffffff2e}.ctl-btn--download{background:#00f0ff1a;border:1px solid rgba(0,240,255,.4);color:var(--ag-accent-1, #00f0ff);box-shadow:0 0 10px #00f0ff1a}.ctl-btn--download:hover{background:#00f0ff33;border-color:var(--ag-accent-1, #00f0ff);box-shadow:0 4px 18px #00f0ff40;color:#fff;transform:translateY(-2px)}.ctl-pool-section{display:flex;flex-direction:column;gap:8px}.ctl-pool-label{font-size:.7rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--ag-text-muted, #94a3b8);margin:0}.ctl-pool{display:flex;flex-wrap:wrap;gap:8px;padding:14px;min-height:90px;background:#ffffff05;border:1px dashed rgba(255,255,255,.1);border-radius:12px;transition:border-color .15s,background .15s;align-content:flex-start}.ctl-pool.drag-over{border-color:#00f0ff59;background:#00f0ff0a}.ctl-pool-empty{color:var(--ag-text-muted, #94a3b8);font-size:.8rem;font-style:italic;align-self:center;width:100%;text-align:center}.ctl-roles-header{display:flex;border-bottom:1px solid rgba(255,255,255,.07);background:#00000059}.ctl-roles-corner{width:100px;flex-shrink:0;border-right:2px solid rgba(0,0,0,.35)}.ctl-roles-col-header{flex:1;padding:10px 8px;text-align:center;font-size:.7rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--ag-text-muted, #94a3b8);border-right:1px solid rgba(255,255,255,.04)}.ctl-roles-col-header:last-child{border-right:none}.ctl-role-cell{flex:1;display:flex;flex-wrap:wrap;gap:8px;padding:10px;min-height:90px;align-items:flex-start;align-content:flex-start;border-right:1px solid rgba(255,255,255,.04);transition:background .15s}.ctl-role-cell:last-child{border-right:none}.ctl-role-cell.drag-over{background:#00f0ff0f;outline:1px solid rgba(0,240,255,.3);outline-offset:-1px}
