:root{color-scheme:light dark;--bg: #14171c;--panel: #1e232b;--panel-2: #262c36;--panel-frame: #484f5d;--border: #383f4a;--text: #eef1f5;--text-dim: #9aa4b2;--accent: #d9a441;--accent-2: #6ea8fe;--danger: #e55a5a;--good: #5ac98a;--radius: 10px;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:url(/background/box-art.webp) center / cover no-repeat;opacity:.5;z-index:-2}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top,rgba(28,33,41,.55),var(--bg) 85%);z-index:-1}button{-moz-appearance:none;appearance:none;-webkit-appearance:none;font-family:inherit;font-size:.95rem;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem 1rem;text-align:center;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.active{background:var(--accent);color:#201703;border-color:var(--accent)}.eminence-flash{animation:eminence-pulse .5s ease-in-out 3;border-color:var(--accent)}@keyframes eminence-pulse{0%,to{box-shadow:none;background:var(--panel-2)}50%{box-shadow:0 0 0 3px var(--accent),0 0 20px 2px var(--accent);background:var(--accent);color:#201703}}input{font-family:inherit;font-size:.95rem;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem}.link-button{background:none;border:none;padding:0;color:var(--text-dim);text-decoration:underline}.link-button+.link-button{margin-left:1.75rem}.quiet-link{color:var(--text-dim);text-decoration:underline}.corner-controls{position:fixed;bottom:1.25rem;left:1.25rem;z-index:15;display:flex;gap:.6rem}.screen-lobby,.screen-character-select{padding-bottom:7rem}.screen{max-width:1100px;margin:0 auto;padding:2rem 1.25rem 4rem}h1{font-size:1.9rem;margin-bottom:.25rem;letter-spacing:.02em}.subtitle{color:var(--text-dim);margin-top:0}.hint{color:var(--text-dim);font-size:.9rem}.mode-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.landing-form{display:flex;flex-direction:column;gap:1rem;max-width:340px}.landing-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--text-dim)}.form-error{color:var(--danger);font-size:.9rem}.share-row{display:flex;gap:.5rem;max-width:480px;margin-bottom:1.5rem}.share-row input{flex:1}.player-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.5rem}.player-list li{background:var(--panel-frame);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .8rem;display:flex;align-items:center;gap:.6rem;flex-wrap:nowrap;white-space:nowrap;overflow-x:auto}.player-list li.disconnected{opacity:.6}.player-list li.player-slot-open{color:var(--text-dim);border-style:dashed;opacity:.45;text-align:center}.player-row-main{white-space:nowrap;flex-shrink:0}.ready-badge{margin-left:.6rem;font-size:.75rem;font-weight:600;color:var(--good)}.badge-ai{margin-left:.5rem;color:var(--accent-2);border:1px solid var(--accent-2);background:transparent}.slot-mode-select{margin-left:auto;flex-shrink:0;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:.8rem;padding:.2rem .4rem}.landing-footer{margin-top:3rem;color:var(--text-dim);font-size:.8rem}.mobile-notice{border:1px solid var(--accent-2);border-radius:var(--radius);background:var(--panel);padding:.75rem 1rem;margin-bottom:1.25rem;font-size:.9rem;display:flex;align-items:center;gap:.9rem}.mobile-notice p{margin:0}.mobile-notice button{flex-shrink:0}.card-highway-clip{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0;pointer-events:none}.card-highway{position:absolute;left:50%;top:50%;width:220vmax;height:220vmax;margin:-110vmax 0 0 -110vmax;animation:highway-sway 85s ease-in-out infinite alternate}@keyframes highway-sway{0%{transform:rotate(-25deg)}to{transform:rotate(18deg)}}.screen-landing{position:relative;z-index:1}.card-lane{position:absolute;left:50%;top:50%;width:9000px;display:flex;justify-content:center;transform:translate(-50%,-50%) rotate(-35deg) translateY(var(--lane-offset))}.card-lane-track{display:flex;gap:74px;transform:translate(9999px);will-change:transform}.lane-card{width:120px;aspect-ratio:3 / 4.1;object-fit:cover;border-radius:8px;transform:rotate(90deg);opacity:.9;filter:drop-shadow(0 10px 14px rgba(0,0,0,.35));transition:filter .35s ease,opacity .35s ease,transform .35s ease}.lane-card-live{pointer-events:auto;cursor:pointer}.lane-card-glow{opacity:1;transform:rotate(90deg) scale(1.06);filter:drop-shadow(0 0 10px rgba(228,177,94,.9)) drop-shadow(0 0 26px rgba(228,177,94,.55)) drop-shadow(0 10px 14px rgba(0,0,0,.35))}.lane-card-tip{position:fixed;transform:translate(-50%,calc(-100% - 14px));z-index:6;pointer-events:none;background:var(--panel);border:1px solid var(--accent);border-radius:8px;box-shadow:0 0 0 1px var(--accent),0 8px 22px -6px #000000b3;padding:.45rem .7rem;font-size:.85rem;white-space:nowrap;animation:lane-tip-fade-in .25s ease-out}@keyframes lane-tip-fade-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 14px)) translateY(-6px)}to{opacity:1;transform:translate(-50%,calc(-100% - 14px))}}.color-prompt{font-size:.8rem;color:var(--text-dim);white-space:nowrap;flex-shrink:0;animation:color-prompt-fade-in .4s ease-out}@keyframes color-prompt-fade-in{0%{opacity:0}to{opacity:1}}.color-picker{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1.5rem}.color-picker-inline{flex-wrap:nowrap;flex-shrink:0;gap:.3rem;margin:0}.color-swatch{width:20px;height:20px;padding:0;border-radius:50%;border:2px solid var(--border);flex-shrink:0}.color-swatch:hover:not(:disabled){border-color:var(--text)}.color-swatch-selected{border-color:var(--text);box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--accent)}.color-swatch:disabled{opacity:.25;cursor:not-allowed}.lobby-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.assign-all{margin-left:auto}.player-number{width:1.1rem;text-align:right;color:var(--text-dim);font-size:.8rem;font-variant-numeric:tabular-nums;flex-shrink:0;cursor:help}.modal.players-modal{max-width:720px;width:100%}.player-session-stats{margin-left:auto;font-size:.8rem;color:var(--text-dim);white-space:nowrap;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:.35rem}.player-session-stats .stat-in{color:var(--good)}.player-session-stats .stat-out{color:var(--danger)}.social-links{display:flex;gap:.75rem;margin-top:1.5rem}.social-links a{color:var(--text-dim);display:inline-flex;padding:.4rem;border-radius:6px;transition:color .15s ease,background .15s ease}.social-links a:hover{color:var(--text);background:var(--panel-2)}.social-link-disabled{color:var(--text-dim);display:inline-flex;padding:.4rem;border-radius:6px;opacity:.4;cursor:default}.breadcrumbs{display:flex;align-items:center;gap:.4rem;margin-bottom:1rem}.breadcrumb-prompt{margin-left:.5rem;color:var(--text-dim);font-size:.9rem;font-style:italic}.taxonomy-prompt{margin:0 0 1rem}.confirm-family{color:var(--accent-2);font-weight:700;text-transform:uppercase;letter-spacing:.09em;font-size:.95em}.build-abilities-label{margin-bottom:.3rem}.build-abilities-list{list-style:none;margin:0 0 .5rem;padding:0}.build-abilities-list li{color:var(--accent);font-weight:600;letter-spacing:.02em;padding:.12rem 0}.taxonomy-tree{display:flex;flex-direction:column;gap:1rem}.tree-tier{display:flex;flex-direction:column;gap:.5rem;animation:reveal-fade-in .3s ease-out}.tree-depth-1{margin-left:2rem;padding-left:1rem;border-left:2px solid var(--border)}.tree-depth-2{margin-left:4rem;padding-left:1rem;border-left:2px solid var(--border)}.tree-tier-head{display:flex;align-items:center;gap:.4rem}.tree-elbow{color:var(--text-dim)}.tree-tier-options{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-start}.tree-option{transition:opacity .2s ease,transform .2s ease;width:144px}.tree-option .character-flavor{white-space:nowrap}.tree-dimmed{opacity:.35;transform:scale(.94)}.tree-dimmed:hover{opacity:.8;transform:scale(1)}.tree-selected .card{outline:3px solid var(--accent);outline-offset:2px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.character-option{display:flex;flex-direction:column;align-items:center;gap:.4rem}.character-flavor{margin:0;font-size:.78rem;font-style:italic;color:var(--text-dim);text-align:center;line-height:1.3}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;max-width:480px;max-height:85vh;overflow-y:auto}.modal-actions{display:flex;gap:.5rem;margin-top:1rem}.modal-actions-split{justify-content:space-between}.about-modal{width:min(92vw,560px)}.modal-tabs{display:flex;gap:.3rem;width:max-content;padding:.25rem;background:var(--panel-2);border:1px solid var(--border);border-radius:999px}.modal-tabs button{border:none;background:transparent;border-radius:999px;padding:.35rem 1.15rem;font-size:.9rem;color:var(--text-dim);transition:background .25s ease,color .25s ease}.modal-tabs button.tab-active{background:var(--accent);color:#201703;font-weight:600}.modal-pages{overflow:hidden;transition:height .38s cubic-bezier(.22,.61,.36,1)}.modal-pages-track{display:flex;width:200%;height:100%;transition:transform .38s cubic-bezier(.22,.61,.36,1)}.modal-pages-track.show-rules{transform:translate(-50%)}.modal-page{width:50%;flex-shrink:0;height:100%;overflow-y:auto;padding:0 .75rem 0 .1rem}.modal-page>h2:first-child{margin-top:0}.rules-notes-list{margin:.5rem 0 0;padding-left:1.2rem}.rules-notes-list li{margin-bottom:.5rem}.card{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:.3rem;padding:0;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);overflow:visible;transition:transform .15s ease-out,box-shadow .15s ease-out}.card img{display:block;width:100%;border-radius:7px;pointer-events:none}.card-sm{width:56px}.card-md{width:96px}.card-lg{width:150px}.card:not(.card-clickable){cursor:default}button.card:disabled{opacity:1;cursor:default}button.card.card-dim{opacity:.45}.card.card-clickable:hover{border-color:var(--accent-2)}.card-selected{outline:3px solid var(--accent);outline-offset:2px}.card-expanded{transform:scale(2.6);z-index:30;box-shadow:0 12px 32px -8px #000000b3}.card-empty-slot{aspect-ratio:3 / 4.1;border-style:dashed;opacity:.4}.card-blank{width:100%;aspect-ratio:3 / 4.1;background:repeating-linear-gradient(45deg,var(--panel-2),var(--panel-2) 6px,var(--border) 6px,var(--border) 7px);border-radius:7px}.card-caption{font-size:.72rem;text-align:center;color:var(--text-dim);padding-bottom:.25rem}.card-stack{display:flex;align-items:center}.card-stack-overflow,.card-stack-empty{color:var(--text-dim);font-size:.8rem;margin-left:.5rem}.board-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-weight:600}.topbar-actions{display:flex;gap:.5rem}.glossary-list{margin:0}.glossary-row{padding:.5rem 0;border-bottom:1px dashed var(--border)}.glossary-row:last-child{border-bottom:none}.glossary-row dt{font-weight:600;color:var(--accent)}.glossary-row dd{margin:.15rem 0 0;color:var(--text-dim);font-size:.9rem}.poster-modal{max-width:min(90vw,900px);display:flex;flex-direction:column;align-items:center}.poster-image{max-width:100%;max-height:70vh;object-fit:contain;border-radius:6px}.table-panel{background:var(--panel);border:1px solid var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 24px -8px var(--accent);border-radius:var(--radius);padding:1rem;margin-bottom:1.5rem;animation:reveal-fade-in .2s ease-out;position:relative}.table-panel-empty{border-color:var(--border);box-shadow:none;text-align:center}.table-panel-pending{border-color:var(--accent-2);box-shadow:0 0 0 1px var(--accent-2),0 0 24px -8px var(--accent-2);text-align:center}.pending-play-row{display:flex;justify-content:center;margin:.5rem 0;animation:reveal-fade-in .25s ease-out}.hand-row.table-cards{flex-wrap:nowrap;justify-content:center;margin-top:0}.table-cards>.card{position:relative}.table-cards>.card+.card{margin-left:var(--tc-overlap, 0px)}.table-panel-title{display:block;text-align:center;margin-bottom:.6rem}.reveal-row{display:flex;align-items:center;justify-content:center;gap:.8rem}.reveal-side{display:flex;flex-direction:column;align-items:center;gap:.4rem}.reveal-side .hand-row{margin-top:0;justify-content:center}.reveal-outcome{font-weight:600;color:var(--accent);white-space:nowrap;padding:0 .5rem}.reveal-name{display:inline-flex;align-items:center;gap:.4rem}.reveal-row-duel{flex-wrap:wrap;row-gap:.25rem}.reveal-name-duel{flex-wrap:wrap;justify-content:center;min-width:0;row-gap:.25rem}.reveal-duelist{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.reveal-vs{text-transform:none;letter-spacing:normal}.reveal-family{font-size:.8rem;color:var(--text-dim);font-style:italic}.table-side-notes{position:absolute;left:calc(100% + 1.6rem);top:0;width:220px;text-align:left;display:flex;flex-direction:column;gap:.35rem;font-size:.85rem}.table-side-notes p{margin:0}@media(max-width:1640px){.table-side-notes{position:static;width:auto;text-align:center;margin-top:.6rem}}.loss-recap .table-side-notes{position:static;width:auto;text-align:center;margin-top:.6rem}.table-side-notes-cycle{top:50%;transform:translateY(-65px);align-items:center;left:calc(100% + .5rem)}@media(max-width:1640px){.table-side-notes-cycle{transform:none}}.loss-recap .table-side-notes-cycle{transform:none}.cycle-history{display:flex;flex-direction:column;align-items:center;gap:.15rem;margin-top:.4rem}.cycle-history .cycle-doodad-ghost{animation:cycle-history-in .5s ease-out backwards}.cycle-history .cycle-prev-label{animation:cycle-history-in .4s ease-out backwards}@keyframes cycle-history-in{0%{opacity:0;transform:translateY(6px)}}.cycle-doodad{width:130px;height:130px;align-self:center;flex-shrink:0}.cycle-doodad path,.cycle-doodad circle{vector-effect:non-scaling-stroke}.cycle-doodad-ghost{width:98px;height:98px}.cycle-prev{display:flex;flex-direction:column;align-items:center;gap:.1rem;margin-top:.4rem}.cycle-prev-label{font-size:.72rem;font-style:italic;color:var(--text-dim)}.cycle-arc{fill:none;stroke:var(--text-dim);stroke-width:1.3;opacity:.3}.cycle-arc-hot{stroke:var(--text);stroke-width:2.4;opacity:1}.cycle-arrowhead-dim{fill:var(--text-dim);opacity:.45}.cycle-arrowhead-hot{fill:var(--text)}.cycle-null-line{fill:none;stroke:var(--text);stroke-width:2.4;stroke-dasharray:10 12.5;opacity:.9}.cycle-standoff-halo{fill:none;stroke:var(--text);stroke-width:1.4;stroke-dasharray:3.5 3.5;opacity:.75}.cycle-null-glyph{fill:var(--text);font-size:19px;font-weight:700}.cycle-chip{opacity:.3}.cycle-chip-on{opacity:1;filter:drop-shadow(0 0 5px rgba(255,255,255,.22))}.cycle-chip-disc-on{stroke:#ffffff59;stroke-width:1}.cycle-chip-letter{fill:var(--text-dim);font-size:12px;font-weight:700}.cycle-chip-letter-split{fill:#fff;stroke:#0a0c1299;stroke-width:2px;paint-order:stroke}.table-summary-line-result{color:var(--text);font-weight:600}.table-summary-line-consequence{color:var(--accent);font-size:.9rem}.knockout-rounds{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;margin-top:.6rem}.knockout-round{display:flex;gap:.25rem;padding:.25rem;border:1px dashed var(--border);border-radius:8px;animation:reveal-fade-in .2s ease-out}.table-panel-inline{margin-bottom:0;min-height:208px}.table-panel-inline.table-panel-empty,.table-panel-inline.table-panel-pending{min-height:0}.self-table-dock{flex:1 0 320px;min-width:320px;margin-left:auto;position:relative}.self-panel .player-panel-body{flex-wrap:nowrap}@keyframes reveal-fade-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.opponents-row{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.player-panel{background:var(--panel-frame);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem}.board-frames{display:flex;flex-direction:column-reverse}.player-chip{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;flex-shrink:0;font-size:.72rem;font-weight:700;font-style:normal;line-height:1;background:var(--panel-2);color:var(--text);box-shadow:0 0 0 1px #ffffff59;cursor:help}.player-panel.current-turn{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.player-panel.eliminated{opacity:.55}.player-panel-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.connection-dot{width:8px;height:8px;border-radius:50%;background:var(--good);flex-shrink:0}.connection-dot.offline{background:var(--danger)}.badge{font-size:.7rem;padding:.1rem .4rem;border-radius:4px;background:var(--panel-2)}.badge-out{background:var(--danger);color:#fff}.opponent-slot{position:relative}.new-player-tag{position:absolute;right:100%;bottom:.3rem;margin-right:.5rem;font-size:.72rem;color:var(--accent-2);border:1px solid var(--accent-2);border-radius:999px;padding:.1rem .55rem;white-space:nowrap;opacity:.85}.opponent-slot-actions{position:absolute;top:.15rem;right:100%;margin-right:.5rem;width:120px;display:flex;flex-direction:column;gap:.4rem}.opponent-slot-actions button{width:100%;display:flex;align-items:center;justify-content:center;white-space:nowrap;padding-left:.5rem;padding-right:.5rem}.action-shimmer{animation:action-shimmer-pulse 1.6s ease-in-out infinite}@keyframes action-shimmer-pulse{0%,to{box-shadow:none;border-color:var(--border)}50%{box-shadow:0 0 0 2px var(--accent-2),0 0 12px 1px var(--accent-2);border-color:var(--accent-2)}}.action-shimmer-gold{animation:action-shimmer-gold-pulse 1.6s ease-in-out infinite}@keyframes action-shimmer-gold-pulse{0%,to{box-shadow:none;border-color:var(--border)}50%{box-shadow:0 0 0 2px var(--accent),0 0 12px 1px var(--accent);border-color:var(--accent)}}button.eminence-flash{animation:eminence-pulse .5s ease-in-out 3}.shimmer-off .action-shimmer,.shimmer-off .action-shimmer-gold,.shimmer-off .hand-row-shimmer .card-clickable{animation:none}.shimmer-off button.eminence-flash{animation:eminence-pulse .5s ease-in-out 3}.dominance-hint{animation:reveal-fade-in .25s ease-out}.player-panel-body{display:flex;gap:1rem;flex-wrap:wrap}.panel-col{display:flex;flex-direction:column;gap:.35rem}.panel-col-hand{width:224px;flex:none}.panel-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.build-slots{display:grid;grid-template-columns:repeat(5,56px);grid-template-rows:repeat(2,auto);gap:.3rem;width:fit-content}.tier-row{display:flex;align-items:center;gap:.6rem;margin-top:.3rem;flex-wrap:wrap}.build-track{min-height:265px}.build-tier{font-size:.75rem;color:var(--accent)}.tier-next-hint{flex-basis:100%}.tier-characters{display:flex;gap:.25rem}.about-lead,.rules-key{color:var(--accent)}.about-contact,.rules-val{color:var(--accent-2)}.elimination-reason{margin-top:.5rem;font-size:.8rem;color:var(--text-dim)}.winner-tag{margin-top:.5rem;font-size:.85rem;font-weight:600}.winner-shimmer{background:linear-gradient(100deg,var(--shimmer-color, var(--good)) 20%,color-mix(in srgb,var(--shimmer-color, var(--good)) 18%,#fff) 50%,var(--shimmer-color, var(--good)) 80%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:winner-shimmer-sweep 2.2s linear infinite}@keyframes winner-shimmer-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.reveal-card-winner{border-color:var(--shimmer-color, var(--good));animation:winner-frame-shimmer 2.2s linear infinite}@keyframes winner-frame-shimmer{0%,to{box-shadow:0 0 5px color-mix(in srgb,var(--shimmer-color, var(--good)) 45%,transparent)}50%{box-shadow:0 0 16px color-mix(in srgb,var(--shimmer-color, var(--good)) 75%,transparent);border-color:color-mix(in srgb,var(--shimmer-color, var(--good)) 60%,#fff)}}.back-to-start{animation:reveal-fade-in .5s ease-out}.end-links{display:flex;flex-direction:column;align-items:center;gap:.75rem;animation:reveal-fade-in .5s ease-out}.end-links .social-links{margin-top:0}.knockout-backdrop{z-index:40;animation:reveal-fade-in .3s ease-out}.knockout-backdrop.knockout-fading{animation:knockout-fade-out .45s ease forwards;pointer-events:none}@keyframes knockout-fade-out{to{opacity:0}}.knockout-modal{width:min(92vw,680px);max-width:none;max-height:88vh;text-align:center;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 32px -6px var(--accent)}.knockout-modal h2{margin-top:0;font-size:1.6rem}.knockout-outro-rounds{display:flex;flex-direction:column;align-items:center;gap:1rem;margin:1.5rem 0}.knockout-outro-round{display:grid;grid-template-columns:minmax(3.5rem,1fr) auto 9rem auto minmax(3.5rem,1fr);align-items:center;gap:.75rem;width:100%;animation:reveal-fade-in .35s ease-out}.knockout-outro-depth{margin:0 0 .2rem;font-size:.78rem;font-style:italic;color:var(--text-dim)}.knockout-outro-matchup{margin:1.6rem 0;font-size:1.02rem}.knockout-outro-name{text-align:right;font-weight:600;font-size:.9rem;overflow-wrap:break-word}.knockout-outro-name-right{text-align:left}.knockout-outro-mid{display:flex;flex-direction:column;align-items:center;gap:.3rem}.knockout-outro-beats{font-size:.78rem;color:var(--text-dim);white-space:nowrap}.knockout-outro-vs{font-weight:600;color:var(--text-dim);text-transform:uppercase;font-size:.85rem}.knockout-outro-roundlabel{margin:0;font-size:1.2rem;font-style:italic;color:var(--text-dim);animation:reveal-fade-in .4s ease-out}.knockout-outro-summary{font-size:1.05rem;font-weight:600;color:var(--accent);animation:reveal-fade-in .35s ease-out}.self-panel{background:var(--panel-frame);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.hand-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}.hand-area{display:flex;align-items:center;gap:1.25rem}.hand-area .hand-row{flex-shrink:0;flex-wrap:nowrap}.hand-area .hand-row>.card+.card{margin-left:var(--hand-overlap, 0px)}.hand-area .hand-row>.card{position:relative}.hand-area .hand-row>.card.card-selected{z-index:2}.hand-area .hand-row>.card:hover{z-index:3}.hand-family-links{margin:.4rem 0 0;font-size:.8rem;color:var(--text-dim)}.hand-family-link{background:none;border:none;padding:0;font:inherit;color:var(--text-dim);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.hand-family-link:hover{color:var(--text)}.hand-note{position:relative;flex:1;min-width:0}.hand-note p{margin:0}.hand-note-first{transition:opacity .12s ease}.hand-note-hidden{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hand-note-second{animation:reveal-fade-in .3s ease-out .12s backwards}.family-highlight{color:var(--accent);font-weight:600}.gutter-target-note{text-align:center;font-size:.78rem;animation:reveal-fade-in .25s ease-out}.challenge-btn-row{position:relative}.challenge-tally{position:absolute;right:100%;top:50%;transform:translateY(-50%);margin-right:.45rem;font-size:.75rem;color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:help}.hand-note-status{margin:0}.eminence-guess-modal{max-width:min(94vw,940px);width:100%}.eminence-ready-modal{max-width:480px;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 32px -10px var(--accent)}.eminence-results-modal{max-width:520px;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 32px -10px var(--accent)}.eminence-results-list{list-style:none;padding:0;margin:.75rem 0 1rem;display:flex;flex-direction:column;gap:.45rem}.eminence-results-list li{display:flex;align-items:center;gap:.5rem}.eminence-guess-value{color:var(--text-dim)}.eminence-waiting-list li{opacity:.55;transition:opacity .3s ease-out}.eminence-waiting-list li.eminence-waiting-guessed{opacity:1}.eminence-waiting-list .eminence-waiting-guessed .eminence-guess-value{color:var(--text)}.eminence-guess-correct .eminence-guess-value{color:var(--good);font-weight:600}.eminence-guess-modal h2{margin-top:0}.modal.explainer-modal{max-width:min(94vw,720px);width:100%}.ex-deck{animation:ex-fade-in .45s ease-out}@keyframes ex-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ex-panel{animation:ex-fade-in .3s ease-out}.ex-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--text-dim)}.ex-title{margin:.3rem 0 .9rem}.ex-stage-box{height:290px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 30%,#262c36,#1a1f28);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;position:relative}.ex-caption{color:var(--text-dim);margin:.9rem 0 .5rem;min-height:3.1em;text-wrap:pretty}.ex-cap-build{color:var(--accent)}.ex-cap-tell{color:var(--accent-2)}.ex-cap-fam{color:var(--fam)}.ex-dots{display:flex;justify-content:center;gap:.45rem;margin:.35rem 0 .8rem}.ex-dot{width:10px;height:10px;padding:0;border-radius:50%;border:1px solid var(--text-dim);background:transparent}.ex-dot-on{background:var(--text);border-color:var(--text)}.ex-nav{display:flex;justify-content:space-between;align-items:center}.ex-nav-right{display:flex;gap:.6rem}.ex-f-scholar{--fam: #8b7bf4}.ex-f-fighter{--fam: #e0584e}.ex-f-advocate{--fam: #46a271}.ex-f-poet{--fam: #e2b53e}.ex-chip{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:var(--fam);color:#14181f;font-weight:800;font-size:.82rem;box-shadow:0 0 0 1px #ffffff38;flex-shrink:0}.ex-chip-ghost{background:transparent;color:var(--fam);border:2px dashed var(--fam);box-shadow:none;opacity:.8}.ex-card{width:62px;aspect-ratio:3 / 4.1;border-radius:8px;border:2px solid var(--border);background:var(--panel);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.ex-card-face{border-color:var(--fam);background:color-mix(in srgb,var(--fam) 16%,var(--panel))}.ex-card-letter{font-weight:800;font-size:1.35rem;color:var(--fam)}.ex-card-down{background:repeating-linear-gradient(45deg,var(--panel-2),var(--panel-2) 6px,var(--panel) 6px,var(--panel) 12px)}.ex-card-char{border-color:var(--accent-2)}.ex-card-shield{color:var(--accent-2);font-size:1.3rem;opacity:.85}.ex-token{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-weight:800;font-size:.9rem;color:#14181f;box-shadow:0 0 0 1px #ffffff4d;flex-shrink:0}.ex-token-1{background:var(--accent)}.ex-token-2{background:var(--accent-2)}.ex-token-3{background:#c586e0}.ex-token-4{background:#7fc98d}.ex-scene{display:flex;align-items:center;justify-content:center;gap:2.4rem;width:100%;height:100%;padding:0 1.25rem}.ex-under-label,.ex-tell-label{font-size:.78rem;color:var(--text-dim);text-align:center;text-wrap:pretty}@keyframes ex-rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.ex-ring-arrow{fill:none;stroke-width:3.5;stroke-linecap:round;stroke:#6a7383;color:#6a7383;opacity:.38;animation:ex-ring-pulse 4.8s linear infinite}.ex-ring-arrow-2{animation-delay:1.2s}.ex-ring-arrow-3{animation-delay:2.4s}.ex-ring-arrow-4{animation-delay:3.6s}.ex-scene-ring .ex-ring-arrow-1{animation-name:ex-ring-pulse-1}.ex-scene-ring .ex-ring-arrow-2{animation-name:ex-ring-pulse-seq;animation-delay:2.4s}.ex-scene-ring .ex-ring-arrow-3{animation-name:ex-ring-pulse-seq;animation-delay:3.168s}.ex-scene-ring .ex-ring-arrow-4{animation-name:ex-ring-pulse-seq;animation-delay:3.936s}@keyframes ex-ring-pulse-1{0%{stroke:#6a7383;color:#6a7383;opacity:.38}14%,34%{stroke:var(--text);color:var(--text);opacity:1}46%,to{stroke:#6a7383;color:#6a7383;opacity:.38}}@keyframes ex-ring-pulse-seq{0%,9%{stroke:var(--text);color:var(--text);opacity:1}15%,to{stroke:#6a7383;color:#6a7383;opacity:.38}}@keyframes ex-ring-pulse{0%,20%{stroke:var(--text);color:var(--text);opacity:1}27%,to{stroke:#6a7383;color:#6a7383;opacity:.38}}.ex-ring-chip circle{fill:var(--fam);stroke:#ffffff47;stroke-width:1.5}.ex-ring-chip text{fill:#14181f;font-weight:800;font-size:15px;font-family:inherit}.ex-ring-col{display:flex;flex-direction:column;align-items:center;gap:.4rem}.ex-ring-names{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600}.ex-ring-names-arrow{color:var(--text-dim);font-weight:400}.ex-ring-caption{font-size:.75rem;color:var(--text-dim);font-style:italic;letter-spacing:.02em}.ex-scene-identity{flex-direction:column;gap:1.5rem;padding-top:.4rem}.ex-fan{position:relative;width:240px;height:158px}.ex-fan-card{position:absolute;left:50%;bottom:4px;width:72px;aspect-ratio:3 / 4.1;border:2px solid #4a5262;border-radius:8px;background:repeating-linear-gradient(45deg,var(--panel-2),var(--panel-2) 6px,var(--panel) 6px,var(--panel) 12px);transform-origin:50% 135%;transform:translate(-50%) rotate(calc(var(--k) * 21deg));opacity:.8;z-index:1;animation:ex-fan-out .8s cubic-bezier(.2,.8,.3,1) both;animation-delay:calc(.15s + var(--fd) * .1s)}@keyframes ex-fan-out{0%{transform:translate(-50%) rotate(0);opacity:0}to{transform:translate(-50%) rotate(calc(var(--k) * 21deg));opacity:.8}}.ex-mystery{position:absolute;left:50%;bottom:0;z-index:2;transform:translate(-50%);width:86px;aspect-ratio:3 / 4.1;border:2px solid var(--accent);border-radius:10px;background:linear-gradient(160deg,#2a3140,#1b202a);box-shadow:0 0 26px -6px var(--accent);display:flex;align-items:center;justify-content:center;animation:ex-rise .6s ease-out both}.ex-qmark{font-size:2.5rem;font-weight:700;color:var(--accent);animation:ex-q-pulse 2.2s ease-in-out infinite}@keyframes ex-q-pulse{50%{transform:scale(1.16);text-shadow:0 0 18px rgba(228,177,94,.9)}}.ex-cascade{display:flex;align-items:center;gap:.55rem;font-size:.92rem;color:var(--text-dim)}.ex-cas{opacity:0;animation:ex-rise .5s ease-out forwards;animation-delay:calc(.4s + var(--d) * .3s)}.ex-cas-gold{color:var(--accent);font-weight:600}.ex-clash{position:relative;display:flex;align-items:center;gap:.9rem;padding-bottom:2.4rem}.ex-clash-vs{color:var(--text-dim);font-style:italic}.ex-clash-left{animation:ex-clash-win 4.8s ease-in-out infinite}.ex-clash-right{animation:ex-clash-lose 4.8s ease-in-out infinite}@keyframes ex-clash-win{0%{transform:none;box-shadow:none}14%,34%{transform:scale(1.09);box-shadow:0 0 18px -2px var(--fam)}46%,to{transform:none;box-shadow:none}}@keyframes ex-clash-lose{0%{transform:none;opacity:1;filter:none}14%,34%{transform:rotate(13deg) translateY(9px);opacity:.55;filter:grayscale(.7)}46%,to{transform:none;opacity:1;filter:none}}.ex-clash-verdict{position:absolute;bottom:0;left:50%;transform:translate(-50%);white-space:nowrap;font-size:.85rem;color:var(--text);opacity:0;animation:ex-clash-verdict-anim 4.8s ease-in-out infinite}@keyframes ex-clash-verdict-anim{0%{opacity:0}14%,34%{opacity:1}44%,to{opacity:0}}@keyframes ex-verdict{0%,40%{opacity:0}50%,82%{opacity:1}94%,to{opacity:0}}.ex-tell-row{display:flex;gap:.4rem;margin:.55rem 0;justify-content:center}.ex-tell-pop{opacity:0;animation:ex-rise .4s ease-out forwards;animation-delay:calc(.35s + var(--i) * .5s)}.ex-tell-plays{display:flex;flex-direction:column;align-items:center}.ex-tell-verdict{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--accent-2);opacity:0;animation:ex-rise .5s ease-out forwards;animation-delay:3.1s}.ex-unmask-row{display:flex;align-items:flex-start;gap:2.4rem}.ex-unmask-sil{font-size:2rem;line-height:1;margin-bottom:.5rem;animation:ex-sil-pulse 2.4s ease-in-out infinite}@keyframes ex-sil-pulse{0%,to{filter:drop-shadow(0 0 2px rgba(110,168,254,.35))}50%{filter:drop-shadow(0 0 9px rgba(110,168,254,.95))}}.ex-crown-mini{display:flex;flex-direction:column;align-items:center;gap:.55rem}.ex-crown{font-size:2rem;line-height:1;animation:ex-crown-float 2.6s ease-in-out infinite alternate}@keyframes ex-crown-float{0%{transform:translateY(0)}to{transform:translateY(-7px)}}.ex-crown-label{font-size:.78rem;color:var(--text-dim);max-width:210px;text-align:center;text-wrap:pretty}.ex-build-grid{display:grid;grid-template-columns:repeat(5,auto);gap:5px}.ex-slot{width:26px;aspect-ratio:3 / 4.1;border:2px solid var(--border);border-radius:5px;background:var(--panel)}.ex-slot-lit,.ex-grid-gold .ex-slot{border-color:var(--accent);background:#e4b15e38;box-shadow:0 0 8px -3px var(--accent)}.ex-slot-stagger{opacity:0;animation:ex-rise .35s ease-out forwards;animation-delay:calc(.2s + var(--i) * .12s)}.ex-scene-table{flex-direction:column;gap:1rem}.ex-table-row{display:flex;align-items:center;gap:2.4rem}.ex-ascent{display:flex;align-items:flex-end;gap:.6rem}.ex-ascent-step{display:flex;flex-direction:column;align-items:center;gap:4px;opacity:0;animation:ex-rise .5s ease-out forwards}.ex-ascent-step-1{animation-delay:1.9s}.ex-ascent-step-1 .ex-ascent-card{border-color:color-mix(in srgb,var(--accent) 38%,var(--border))}.ex-ascent-step-1 .ex-card-shield{color:color-mix(in srgb,var(--accent) 38%,var(--text-dim))}.ex-ascent-step-2{animation-delay:2.35s;padding-bottom:12px}.ex-ascent-step-2 .ex-ascent-card{border-color:color-mix(in srgb,var(--accent) 68%,var(--border))}.ex-ascent-step-2 .ex-card-shield{color:color-mix(in srgb,var(--accent) 68%,var(--text-dim))}.ex-ascent-step-3{animation-delay:2.8s;padding-bottom:24px}.ex-ascent-step-3 .ex-ascent-card{width:48px;border-color:var(--accent);box-shadow:0 0 14px -2px var(--accent)}.ex-ascent-step-3 .ex-card-shield{color:var(--accent)}.ex-ascent-card{width:40px}.ex-ascent-label{font-size:.72rem;color:var(--text-dim)}.ex-table{position:relative;width:320px;height:192px}.ex-table-felt{position:absolute;top:12px;right:10%;bottom:78px;left:10%;border-radius:50%;border:2px solid var(--border);background:radial-gradient(ellipse,#242b38,#1b202a)}.ex-seat{position:absolute;display:flex;flex-direction:column;align-items:center;gap:8px}.ex-seat-emoji{font-size:2rem;line-height:1}.ex-seat-1{left:50%;top:31%;transform:translate(-50%)}.ex-seat-2{left:7%;top:4px}.ex-seat-3{right:7%;top:4px}.ex-deal{width:38px;animation:ex-deal .8s cubic-bezier(.2,.8,.3,1) both}.ex-deal-1{animation-delay:.4s}.ex-deal-2{animation-delay:.85s}.ex-deal-3{animation-delay:1.3s}@keyframes ex-deal{0%{transform:translateY(-26px) scale(.5);opacity:0}to{transform:none;opacity:1}}.ex-build-col,.ex-hand-col{display:flex;flex-direction:column;align-items:center;gap:.6rem}.ex-build-idcard{width:50px}.ex-hand{display:flex;gap:.5rem;align-items:flex-end;padding-top:1.6rem}.ex-hand-card{opacity:0;animation:ex-rise .5s cubic-bezier(.2,.8,.3,1) forwards}.ex-hand-card-1{transform-origin:bottom center;rotate:-8deg;animation-delay:.4s}.ex-hand-card-2{translate:0 -6px;animation-delay:.6s}.ex-hand-card-3{rotate:8deg;animation-delay:.8s}.ex-hand-draw{opacity:0;rotate:17deg;transform-origin:bottom center;animation:ex-hand-draw-in .55s cubic-bezier(.2,.8,.3,1) forwards;animation-delay:2s}@keyframes ex-hand-draw-in{0%{opacity:0;transform:translate(70px)}to{opacity:1;transform:none}}.ex-scene-challenge{gap:1.6rem}.ex-ch-player{display:flex;flex-direction:column;align-items:center;gap:.5rem}.ex-ch-iconband{height:2.2rem;display:flex;align-items:flex-end;justify-content:center}.ex-ch-emoji{font-size:2rem;line-height:1}.ex-ch-cards{display:flex;align-items:center;gap:1rem;position:relative;padding-bottom:1.8rem}.ex-flip{width:62px;aspect-ratio:3 / 4.1}.ex-flip-pair{display:flex}.ex-flip-pair .ex-flip+.ex-flip{margin-left:-40px}.ex-flip-b{transform:rotate(7deg) translateY(-4px)}.ex-flip-pair .ex-flip-b .ex-flip-inner,.ex-flip-pair .ex-flip-b .ex-card{animation-delay:.12s}.ex-flip-inner{position:relative;width:100%;height:100%;perspective:600px;animation:ex-flip-drift 4.8s ease-in-out infinite}.ex-flip-left .ex-flip-inner{animation-name:ex-flip-drift-l}.ex-flip .ex-card{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;backface-visibility:hidden;animation:ex-flip-card-back 4.8s ease-in-out infinite}.ex-flip .ex-card.ex-flip-front{transform:rotateY(-180deg);animation-name:ex-flip-card-front}@keyframes ex-flip-drift{0%{transform:translate(70px);opacity:0}14%,88%{transform:none;opacity:1}97%,to{transform:none;opacity:0}}@keyframes ex-flip-drift-l{0%{transform:translate(-70px);opacity:0}14%,88%{transform:none;opacity:1}97%,to{transform:none;opacity:0}}@keyframes ex-flip-card-back{0%,42%{transform:rotateY(0)}56%,to{transform:rotateY(180deg)}}@keyframes ex-flip-card-front{0%,42%{transform:rotateY(-180deg)}56%,to{transform:rotateY(0)}}.ex-ch-vs{position:absolute;bottom:0;left:50%;transform:translate(-50%);font-size:.85rem;color:var(--text);opacity:0;animation:ex-verdict 4.8s ease-in-out infinite}.ex-decide-beats{position:relative;width:250px;height:210px}.ex-decide-a,.ex-decide-b{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem}.ex-decide-a{animation:ex-phase-a 7s ease-in-out infinite}.ex-decide-b{opacity:0;animation:ex-phase-b 7s ease-in-out infinite}@keyframes ex-phase-a{0%,42%{opacity:1}50%,92%{opacity:0}to{opacity:1}}@keyframes ex-phase-b{0%,42%{opacity:0}50%,92%{opacity:1}to{opacity:0}}.ex-decide-a>:first-child,.ex-decide-pair,.ex-decide-loser2{margin:0}.ex-decide-a{flex-direction:row;flex-wrap:wrap;align-content:center}.ex-decide-winner{box-shadow:0 0 16px -2px var(--fam);transform:scale(1.07)}.ex-decide-loser,.ex-decide-loser2{transform:rotate(12deg) translateY(6px);filter:grayscale(.85) brightness(.72)}.ex-decide-losers{position:relative;display:grid;place-items:center}.ex-decide-losers .ex-decide-loser{grid-area:1 / 1}.ex-decide-losers .ex-decide-loser-back{transform:rotate(3deg) translate(-9px,9px);z-index:0}.ex-decide-note{flex-basis:100%;text-align:center;font-size:.82rem;color:var(--text-dim)}.ex-decide-b{flex-direction:row;flex-wrap:wrap;align-content:center;gap:1rem}.ex-decide-pair{display:flex;gap:5px}.ex-decide-w2{box-shadow:0 0 12px -3px var(--fam)}.ex-scene-level{gap:3rem}.ex-level-grid{position:relative}.ex-cw{position:absolute;right:calc(100% + .6rem);font-size:.72rem;color:var(--accent);white-space:nowrap;opacity:0;animation:ex-cw-pop 6.5s ease-in-out infinite}.ex-cw-1{top:12px}.ex-cw-2{top:52px;animation-delay:1.1s}@keyframes ex-cw-pop{0%,10%{opacity:0;transform:translate(6px)}18%,86%{opacity:1;transform:none}95%,to{opacity:0;transform:none}}.ex-grid-unlock .ex-slot:nth-child(1){animation:ex-unlock 6.5s ease-in-out infinite}.ex-grid-unlock .ex-slot:nth-child(6){animation:ex-unlock 6.5s ease-in-out infinite;animation-delay:1.1s}@keyframes ex-unlock{0%,10%{border-color:var(--border);background:var(--panel);box-shadow:none}18%,86%{border-color:var(--accent);background:#e4b15e38;box-shadow:0 0 10px -2px var(--accent)}95%,to{border-color:var(--border);background:var(--panel);box-shadow:none}}.ex-level-ladder{display:flex;flex-direction:column;align-items:center;gap:.5rem}.ex-lv{padding:.18rem .6rem;border:1px solid var(--border);border-radius:6px;font-size:.82rem;color:var(--text-dim);opacity:.45}.ex-lv-1{animation:ex-lv-on 6.5s ease-in-out infinite}@keyframes ex-lv-on{0%,32%{opacity:.45;border-color:var(--border);color:var(--text-dim)}40%,86%{opacity:1;border-color:var(--accent);color:var(--accent)}95%,to{opacity:.45;border-color:var(--border);color:var(--text-dim)}}.ex-card.ex-lv-card{width:42px;opacity:0;border-color:var(--accent);animation:ex-lv-card 6.5s ease-in-out infinite}.ex-lv-card .ex-card-shield{color:var(--accent)}@keyframes ex-lv-card{0%,36%{opacity:0;transform:translateY(8px)}44%,86%{opacity:1;transform:none}95%,to{opacity:0}}.ex-tell-col{display:flex;flex-direction:column;align-items:center}.ex-tell-col-pile{max-width:250px}.ex-tell-col-legend{max-width:210px}.ex-tell-band-top{height:34px;display:flex;align-items:center;justify-content:center}.ex-tell-band-main{min-height:48px;margin:.5rem 0;display:flex;align-items:center;justify-content:center}.ex-tell-band-main .ex-tell-row{margin:0}.ex-tell-band-sil{height:2.2rem;margin-bottom:.375rem;display:flex;align-items:flex-end;justify-content:center}.ex-tell-sil{font-size:2rem;line-height:1}.ex-tell-echo{opacity:0;animation:ex-rise .5s ease-out forwards;animation-delay:3.1s}.ex-tell-band-foot{min-height:2.6em;display:flex;align-items:flex-start;justify-content:center}.ex-tell-lens{position:relative;display:inline-flex}.ex-lens-ring{position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border:2px solid var(--accent-2);border-radius:50%;animation:ex-lens 2.4s ease-in-out infinite}@keyframes ex-lens{0%,to{transform:scale(1);opacity:.35}50%{transform:scale(1.18);opacity:1}}.ex-scene-duel{flex-direction:column;gap:1.4rem}.ex-duel-arena{display:flex;align-items:center;gap:2.6rem;position:relative}.ex-duel-side{display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative}.ex-duel-hand{font-size:2rem;line-height:1}.ex-duel-body{display:flex;flex-direction:column;align-items:center;gap:.45rem;position:relative}.ex-duel-card-a{animation:ex-duel-a 5.5s ease-in-out infinite}.ex-duel-card-b{animation:ex-duel-b 5.5s ease-in-out infinite}@keyframes ex-duel-a{0%{transform:translate(-70px);opacity:0}12%,20%{transform:none;opacity:1;box-shadow:none}28%,84%{transform:scale(1.07);opacity:1;box-shadow:0 0 16px -2px var(--accent-2)}94%,to{transform:none;opacity:1;box-shadow:none}}@keyframes ex-duel-b{0%{transform:translate(70px);opacity:0}12%,20%{transform:none;opacity:1;filter:none}30%,84%{transform:rotate(15deg) translateY(10px);opacity:.4;filter:grayscale(.85)}94%,to{transform:none;opacity:1;filter:none}}.ex-duel-flash{width:12px;height:12px;border-radius:50%;background:var(--accent);opacity:0;animation:ex-duel-flash 5.5s ease-out infinite}@keyframes ex-duel-flash{0%,16%{opacity:0;transform:scale(.4)}21%{opacity:1;transform:scale(3.2)}30%,to{opacity:0;transform:scale(.4)}}.ex-duel-out{position:absolute;top:8px;right:-18px;background:#e0584e;color:#fff;font-size:.7rem;font-weight:800;padding:.12rem .4rem;border-radius:5px;transform:rotate(12deg);opacity:0;animation:ex-out-pop 5.5s ease-out infinite}@keyframes ex-out-pop{0%,28%{opacity:0;transform:rotate(12deg) scale(.4)}34%,84%{opacity:1;transform:rotate(12deg) scale(1)}94%,to{opacity:0}}.ex-em-row{display:flex;align-items:flex-start;gap:2.4rem}.ex-em-col{display:flex;flex-direction:column;align-items:center;gap:.5rem}.ex-em-guessers{display:flex;align-items:flex-start;gap:1.4rem}.ex-em-iconband{height:2.2rem;display:flex;align-items:flex-end;justify-content:center}.ex-em-sil{font-size:2rem;line-height:1}.ex-em-bubble{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50% 50% 50% 4px;border:1px solid var(--accent-2);color:var(--accent-2);font-weight:800;opacity:0;animation:ex-bubble 4.6s ease-in-out infinite;animation-delay:calc(.5s + var(--i) * .6s)}@keyframes ex-bubble{0%,10%{opacity:0;transform:translateY(6px) scale(.6)}18%,82%{opacity:1;transform:none}92%,to{opacity:0}}.ex-vic-col{display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:210px}.ex-vic-iconband{height:2.2rem;display:flex;align-items:flex-end;justify-content:center}.ex-vic-swords{gap:.9rem}.ex-vic-sword,.ex-vic-swordgap{width:30px;text-align:center}.ex-vic-trophy{font-size:2rem;line-height:1;opacity:0;animation:ex-vic-trophy-pop .5s cubic-bezier(.2,1.4,.4,1) 2.1s both}@keyframes ex-vic-trophy-pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.ex-vic-sword{font-size:2rem;line-height:1;opacity:0;animation:ex-rise .45s ease-out forwards}.ex-vic-sword-1{animation-delay:.7s}.ex-vic-sword-2{animation-delay:1.1s}.ex-vic-sword-3{animation-delay:1.5s}.ex-vic-tokens{min-height:30px;display:flex;align-items:center;justify-content:center;gap:.9rem}.ex-vic-label{min-height:1.15em;font-size:.78rem;color:var(--text-dim);text-align:center;text-wrap:pretty}.ex-vic-or{color:var(--text-dim);font-style:italic}.ex-vic-seat{position:relative;display:inline-flex}.ex-vic-fallen{animation:ex-vic-fall .45s ease-out forwards}.ex-vic-seat-1 .ex-vic-fallen,.ex-vic-seat-1 .ex-vic-out{animation-delay:.7s}.ex-vic-seat-2 .ex-vic-fallen,.ex-vic-seat-2 .ex-vic-out{animation-delay:1.1s}.ex-vic-seat-3 .ex-vic-fallen,.ex-vic-seat-3 .ex-vic-out{animation-delay:1.5s}@keyframes ex-vic-fall{to{opacity:.35;filter:grayscale(1)}}.ex-vic-out{position:absolute;left:50%;top:50%;background:#e0584e;color:#fff;font-size:.58rem;font-weight:800;padding:.08rem .3rem;border-radius:4px;opacity:0;transform:translate(-50%,-50%) rotate(-12deg) scale(.4);animation:ex-vic-out-pop .45s ease-out forwards}@keyframes ex-vic-out-pop{to{opacity:1;transform:translate(-50%,-50%) rotate(-12deg) scale(1)}}.ex-vic-standing{box-shadow:0 0 16px -2px var(--accent),0 0 0 1px #ffffff4d;animation:ex-q-pulse 2.4s ease-in-out infinite}.qs-reveal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#090b10b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:reveal-fade-in .35s ease-out}.qs-reveal-leaving{animation:qs-reveal-fade-out .48s ease-in forwards}@keyframes qs-reveal-fade-out{to{opacity:0}}.qs-reveal{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:360px;padding:2.1rem 2.4rem 2.3rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 22px 60px -14px #000000b3;text-align:center;pointer-events:none}.qs-reveal-kicker{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}.qs-reveal-stage{animation:qs-reveal-rise .65s cubic-bezier(.2,.8,.3,1) both}@keyframes qs-reveal-rise{0%{opacity:0;transform:translateY(55px)}to{opacity:1;transform:none}}.qs-reveal-flip{position:relative;width:150px;aspect-ratio:3 / 4.16;perspective:1100px}.qs-reveal-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden}.qs-reveal-face .card{width:100%;height:100%;border:none;background:none}.qs-reveal-face .card img{height:100%;object-fit:cover}.qs-reveal-back{animation:qs-reveal-flip-back .8s ease-in-out 1.3s both}.qs-reveal-front{transform:rotateY(-180deg);animation:qs-reveal-flip-front .8s ease-in-out 1.3s both}@keyframes qs-reveal-flip-back{to{transform:rotateY(180deg)}}@keyframes qs-reveal-flip-front{to{transform:rotateY(0)}}.qs-reveal-text{margin:0;font-size:1rem;line-height:1.5;color:var(--text);text-wrap:pretty}.qs-reveal-text strong{color:var(--accent)}.hint-flyout{width:330px;align-self:flex-start;position:relative;z-index:25;background:var(--panel);border:1px solid var(--accent-2);border-radius:var(--radius);box-shadow:0 10px 28px -8px #000000a6;padding:.65rem .85rem .75rem;font-size:.85rem;animation:reveal-fade-in .2s ease-out}.hint-flyout p{margin:.4rem 0 0}.hint-flyout-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.opponent-slot-actions .hint-flyout-close,.hint-flyout-close{width:1.7rem;height:1.7rem;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.hint-flyout-strong{color:var(--accent-2);font-weight:600}.hint-flyout-poster{color:var(--accent);font-weight:600}.hotkeys-modal{max-width:560px;width:100%}.kb-board{margin:.75rem 0 1rem}.kb-row{display:flex;justify-content:center;gap:.3rem;margin-bottom:.3rem}.kb-row:nth-child(2){margin-left:1rem}.kb-row:nth-child(3){margin-left:1.8rem}.kb-row:nth-child(4){margin-left:2.6rem}.kb-key{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);font-size:.8rem;color:var(--text-dim);opacity:.35}.kb-key-wide{width:4.4rem;font-size:.72rem}.kb-key.kb-mapped{opacity:1;color:var(--text);cursor:help}.kb-target{border-color:var(--accent-2)}.kb-cards{border-color:var(--accent)}.kb-family{border-color:var(--good)}.kb-clear{border-color:var(--danger)}.kb-commit{border-color:var(--text)}.kb-scroll{border-color:var(--text-dim)}.card-stack-rows{display:flex;flex-direction:column;align-items:flex-start}.card-stack-row{display:flex}.kb-legend{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.45rem;font-size:.85rem;color:var(--text-dim)}.kb-key.kb-chip{width:auto;min-width:2.1rem;height:1.5rem;padding:0 .4rem;font-size:.72rem;white-space:nowrap;margin-right:.4rem;cursor:default}.kb-toggle{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.event-log{max-height:220px;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem;font-size:.85rem}.event-log-line{padding:.15rem 0;border-bottom:1px dashed var(--border);color:var(--text-dim)}.event-log-line:last-child{border-bottom:none;color:var(--text)}.reveal-grid{display:grid;gap:1rem;margin:1.5rem 0}.reveal-grid-cols4{grid-template-columns:repeat(4,1fr)}.reveal-grid-cols3{grid-template-columns:repeat(3,1fr)}.reveal-card .card{width:65%}.reveal-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem}.error-banner{position:fixed;top:0;left:0;right:0;background:var(--danger);color:#fff;text-align:center;padding:.6rem;cursor:pointer;z-index:20}.picker-layout{position:relative}.picker-layout-with-bio .taxonomy-tree{margin-right:352px}.picker-layout-with-bio .tree-tier-options{flex-wrap:nowrap}.bio-panel{position:absolute;right:0;width:max-content;max-width:340px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;transition:top .5s ease;animation:bio-fade-in .45s ease-out}@keyframes bio-fade-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}.bio-name-line{margin:0;font-size:.92rem;color:var(--text)}.bio-class-name{margin:.05rem 0 .65rem;font-size:1.45rem;color:var(--accent);letter-spacing:.01em}.bio-line{font-size:.82rem;line-height:1.5;color:var(--text-dim);white-space:nowrap}.bio-motto-line{color:var(--accent-2)}.bio-field{margin:0 0 .45rem;font-size:.82rem;line-height:1.45;color:var(--text-dim)}.bio-field-label{color:var(--text);font-weight:600}.bio-motto{margin:.6rem 0 0;font-size:.85rem;font-style:italic;color:var(--accent-2);line-height:1.45}.bio-confirm h3{margin:0 0 .5rem}.bio-confirm-name{color:var(--accent-2)}.bio-divider{border:none;border-top:1px solid var(--border);margin:.9rem 0}.bio-profile-toggle{padding:0;font-size:.85rem}.bio-art{position:absolute;left:0;right:368px;bottom:0;min-height:180px;overflow:hidden;border-radius:var(--radius);animation:bio-fade-in .8s ease-out;-webkit-mask-image:linear-gradient(to right,transparent 0,black 10%,black 90%,transparent 100%),linear-gradient(to bottom,transparent 0,black 10%,black 90%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,black 10%,black 90%,transparent 100%),linear-gradient(to bottom,transparent 0,black 10%,black 90%,transparent 100%);mask-composite:intersect;pointer-events:none}.bio-art-img{position:absolute;top:-6%;right:-6%;bottom:-6%;left:-6%;background-position:center 22%;background-size:cover;filter:brightness(.85);animation:bio-art-rove 26s ease-in-out infinite alternate}@keyframes bio-art-rove{0%{transform:scale(1.02) translate(-1.2%,-1.2%)}to{transform:scale(1.1) translate(1.2%,1.2%)}}.new-player-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-dim);white-space:nowrap;cursor:pointer}.new-player-toggle input{cursor:pointer;accent-color:var(--accent-2)}.hover-tip{position:fixed;width:280px;z-index:30;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:.5rem .7rem;font-size:.8rem;line-height:1.45;color:var(--text);white-space:normal;text-wrap:pretty;box-shadow:0 6px 18px #0006;animation:color-prompt-fade-in .15s ease-out}.tour-card{display:flex;align-items:flex-start;gap:.75rem;max-width:680px;background:var(--panel);border:1px solid var(--accent-2);border-left-width:4px;border-radius:var(--radius);padding:.7rem .9rem;margin:0 0 1rem;animation:reveal-fade-in .3s ease-out}.tour-card-badge{flex-shrink:0;background:var(--accent-2);color:#10141b;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:.18rem .45rem;margin-top:.1rem}.tour-card-text{margin:0;flex:1;font-size:.85rem;line-height:1.5;text-wrap:pretty}.tour-card-dismiss{flex-shrink:0;font-size:.8rem;padding:.3rem .6rem}.tour-btn-ref{font-weight:700;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:.05em .4em;white-space:nowrap}.turn-indicator{display:inline-flex;align-items:center;gap:.3rem;font-size:1rem;font-weight:700;font-style:italic;color:var(--accent);white-space:nowrap}.opponent-slot-actions .turn-indicator{justify-content:flex-end;padding-top:calc(.7rem + .5px)}.self-slot-actions .turn-indicator{padding-top:calc(.85rem + .5px)}.player-panel-header,.turn-indicator{line-height:1.2}.turn-arrow{display:inline-block;animation:turn-arrow-osc 1.1s ease-in-out infinite}@keyframes turn-arrow-osc{0%,to{transform:translate(0)}50%{transform:translate(5px)}}.event-log-time{color:var(--text-dim);opacity:.75;font-variant-numeric:tabular-nums;font-size:.75rem;margin-right:.6rem}.poster-viewport{overflow:hidden;border-radius:6px;max-width:100%}.poster-image{display:block;transition:transform .35s ease;cursor:zoom-in}.poster-image.poster-zoomed{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.poster-image.poster-zoomed:active{cursor:grabbing}.hand-row-shimmer .card-clickable{animation:hand-shimmer-pulse 1.6s ease-in-out infinite}@keyframes hand-shimmer-pulse{0%,to{box-shadow:none}50%{box-shadow:0 0 0 2px var(--accent-2),0 0 14px 2px var(--accent-2)}}.pick-status-box{position:fixed;left:1.25rem;bottom:5.6rem;z-index:15;max-width:250px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .85rem;font-size:.82rem}.pick-status-row{display:flex;justify-content:space-between;gap:.7rem;padding:.18rem 0}.pick-status-state{color:var(--text-dim);font-style:italic;white-space:nowrap}.pick-status-ready{color:var(--good)}.ability-flavor{display:block;font-weight:400;font-size:.72rem;line-height:1.4;letter-spacing:0;color:var(--text-dim);white-space:nowrap;width:0;min-width:100%;overflow:hidden;text-overflow:ellipsis;margin:.05rem 0 .25rem}.player-panel.eliminated:has(.loss-recap){opacity:.8}.session-length{margin:0 0 1rem;color:var(--text-dim)}.session-minutes{color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}.session-addendum{color:var(--text);animation:color-prompt-fade-in .9s ease-out}.reveal-card{position:relative}.reveal-card-winner{z-index:2}.confetti{position:absolute;top:-24px;right:-24px;bottom:-24px;left:-24px;pointer-events:none;overflow:visible;z-index:-1}.confetti-piece{position:absolute;top:30%;border-radius:1px;opacity:0;animation-name:confetti-pop;animation-fill-mode:forwards}@keyframes confetti-pop{0%{transform:translate(0) rotate(0);opacity:0;animation-timing-function:cubic-bezier(.2,.6,.3,1)}10%{opacity:1}30%{transform:translate(calc(var(--dx) * .55),var(--peak, -130px)) rotate(calc(var(--rot) * .4));animation-timing-function:cubic-bezier(.5,0,.85,.5)}96%{opacity:1}to{transform:translate(var(--dx),105vh) rotate(var(--rot));opacity:0}}
