:root{--purple:#333365;--yellow:#fcce11;--blue:#4183c4;--line:#dedede;--muted:#666;--bg:#fff}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;color:#1f1f1f;background:#fff}.public-body{min-height:100vh}.public-topbar{background:linear-gradient(105deg,#333365 0%,#333365 48%,#30305f 70%,#38386c 100%);color:#fff;position:relative;overflow:hidden}.public-topbar:after{content:"";position:absolute;right:4%;top:-70px;width:560px;height:300px;background:radial-gradient(ellipse at center,rgba(255,255,255,.07),transparent 62%);transform:rotate(-12deg);pointer-events:none}.public-top-inner{width:min(1510px,calc(100% - 9vw));margin:0 auto;position:relative;z-index:1}.public-brand-row{height:78px;display:flex;align-items:center;gap:28px}.public-logo{font-size:22px;font-weight:900;color:#fff;text-decoration:none;padding-right:26px;border-right:1px solid rgba(255,255,255,.13);letter-spacing:-.03em}.public-logo b,.public-footer b{color:var(--yellow);padding:0 .04em}.public-spacer{flex:1}.public-header-link,.public-language{color:#fff;text-decoration:none;font-size:17px;opacity:.97}.public-topbar h1{font-size:36px;line-height:1.15;margin:12px 0 28px;font-weight:700}.public-nav{display:flex;gap:0;height:58px;align-items:flex-end}.public-nav a{color:#fff;text-decoration:none;font-size:18px;padding:19px 21px 17px;border-bottom:3px solid transparent}.public-nav a:first-child{padding-left:0;padding-right:27px}.public-nav a.active{border-color:var(--yellow);font-weight:700}.public-container{width:min(1510px,calc(100% - 9vw));margin:0 auto;padding:20px 0 50px}.public-footer{text-align:center;color:var(--purple);font-weight:900;margin:10px 0 35px;font-size:18px}.public-segment{border:1px solid #d7d7d7;border-radius:4px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08);padding:24px}.public-stats{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;margin-bottom:18px}.public-stat{padding:6px 12px}.public-stat-value{font-size:34px;color:var(--purple);line-height:1.05;min-height:58px;display:flex;align-items:center;justify-content:center;flex-direction:column}.public-stat-label{text-transform:uppercase;color:#666;font-size:16px;margin-top:5px;display:flex;justify-content:center;align-items:center;gap:7px}.picon{width:19px;height:19px;display:inline-block;vertical-align:-3px;color:#666}.public-grid-home{display:grid;grid-template-columns:minmax(0,2fr) minmax(420px,1fr);gap:32px}.section-heading{display:flex;align-items:center;gap:14px;color:var(--purple);font-size:28px;margin:10px 0 18px}.section-symbol{width:38px;height:38px;border-radius:4px;display:grid;place-items:center;color:var(--purple);font-size:31px;font-weight:900}.public-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #ddd;border-radius:4px;overflow:hidden;font-size:17px}.public-table th{background:#fafafa;padding:16px 13px;text-align:left;font-weight:700;border-bottom:1px solid #ddd}.public-table td{padding:14px 13px;border-top:1px solid #e3e3e3;vertical-align:middle}.public-table tbody tr:first-child td{border-top:0}.public-table tbody tr:nth-child(even){background:#fbfbfb}.public-table .center{text-align:center}.public-table .right{text-align:right}.public-table .numcol{width:52px;white-space:nowrap}.public-table .flagcol{width:40px;padding-left:0;padding-right:0}.player-public-link{color:var(--blue);text-decoration:none;cursor:pointer}.player-public-link:hover{text-decoration:underline}.public-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:4px;background:var(--purple);color:#fff;font-weight:700;font-size:16px;text-decoration:none;padding:13px 26px;cursor:pointer}.public-btn:hover{background:var(--yellow);color:var(--purple)}.table-footer{text-align:center;padding:15px;border:1px solid #ddd;border-top:0;border-radius:0 0 4px 4px}.flag{display:inline-block;width:23px;height:15px;vertical-align:-2px;border:1px solid rgba(0,0,0,.16);border-radius:1px;box-shadow:0 0 0 1px rgba(255,255,255,.2) inset}.flag-es{background:linear-gradient(to bottom,#c60b1e 0 25%,#ffc400 25% 75%,#c60b1e 75% 100%)}.flag-pe{background:linear-gradient(to right,#d91023 0 33%,#fff 33% 66%,#d91023 66% 100%)}.flag-fr{background:linear-gradient(to right,#0055a4 0 33%,#fff 33% 66%,#ef4135 66% 100%)}.flag-pt{background:linear-gradient(to right,#046a38 0 40%,#da291c 40% 100%)}.flag-gb{background:linear-gradient(135deg,#21468b 0 44%,#fff 44% 50%,#cf142b 50% 56%,#fff 56% 62%,#21468b 62%)}.flag-us{background:repeating-linear-gradient(to bottom,#b22234 0 1.2px,#fff 1.2px 2.4px)}.flag-generic{background:#eee}.status-chip{display:inline-block;font-size:12px;font-weight:700;border:1px solid #cfcfcf;border-radius:999px;padding:4px 8px;color:#555}.result-live{font-size:14px;color:#555}.public-player-list .withdrawn{opacity:.48}.public-rank-change{font-size:14px;white-space:nowrap}.public-rank-change.up{color:#19a44b}.public-rank-change.down{color:#db2828}.public-rank-change.same{color:#aaa}.arena-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.public-table-card{border:1px solid #ddd;border-radius:4px;overflow:hidden}.public-table-card-head{display:flex;justify-content:space-between;align-items:center;background:#fafafa;padding:13px 16px;border-bottom:1px solid #ddd;color:var(--purple);font-weight:700}.public-table-card-body{display:grid;grid-template-columns:1fr auto 1fr;gap:15px;align-items:center;padding:17px}.seat{text-align:center}.seat .number{font-size:25px;color:var(--purple);font-weight:700}.seat .color-label{font-size:12px;color:#777;text-transform:uppercase;margin-bottom:5px}.queue-list{border:1px solid #ddd;border-radius:4px;overflow:hidden}.queue-row{display:flex;align-items:center;gap:12px;padding:12px 15px;border-top:1px solid #e5e5e5}.queue-row:first-child{border-top:0}.queue-pos{width:36px;font-weight:700}.public-player-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin:8px 0 26px}.player-ident{display:flex;align-items:center;gap:24px}.player-large-flag{width:112px;height:78px;border-radius:7px}.player-ident h1{color:var(--purple);font-size:34px;margin:0 0 5px}.player-sub{font-size:17px;color:#555;line-height:1.5}.player-top-stats{display:flex;align-items:flex-end;gap:42px;text-align:center}.player-top-stat .value{font-size:52px;color:var(--purple);line-height:1}.player-top-stat .label{text-transform:uppercase;color:#666;font-size:15px;margin-top:8px}.color-dot{display:inline-block;width:20px;height:20px;border:2px solid var(--purple);border-radius:50%;vertical-align:-4px}.color-dot.black{background:var(--purple)}.color-dot.white{background:#fff}.metric-row{display:flex;gap:34px;flex-wrap:wrap;margin:26px 0}.metric .value{font-size:34px;color:var(--purple)}.metric .label{font-size:14px;text-transform:uppercase;color:#666}.position-chart-wrap{margin-top:26px}.position-chart{height:205px;width:min(560px,100%);border-bottom:1px solid #bbb;display:flex;align-items:flex-end;gap:8px;padding:12px 12px 0;background:repeating-linear-gradient(to bottom,#fff 0,#fff 39px,#e2e2e2 40px)}.position-bar-wrap{flex:1;min-width:28px;text-align:center}.position-bar{background:var(--purple);min-height:22px;position:relative;color:#fff;font-size:12px;padding-top:4px}.position-x{font-size:12px;margin-top:7px;color:#333}.public-empty{padding:25px;text-align:center;color:#777;border:1px solid #ddd;border-radius:4px}.public-contact{max-width:760px}.muted{color:#777}.nowrap{white-space:nowrap}
@media(max-width:900px){.public-top-inner,.public-container{width:calc(100% - 24px)}.public-brand-row{height:58px}.public-header-link,.public-language{display:none}.public-topbar h1{font-size:27px;margin:8px 0 17px}.public-nav{overflow:auto;height:50px}.public-nav a{font-size:15px;padding:15px 14px 12px;white-space:nowrap}.public-stats{grid-template-columns:1fr 1fr}.public-stat-value{font-size:26px}.public-grid-home{grid-template-columns:1fr}.arena-tables{grid-template-columns:1fr}.public-player-head{grid-template-columns:1fr}.player-top-stats{justify-content:space-between;gap:10px}.player-top-stat .value{font-size:36px}.player-large-flag{width:80px;height:55px}.player-ident h1{font-size:26px}.public-table{font-size:14px}.mobile-hide{display:none!important}}@media(max-width:560px){.public-stats{grid-template-columns:1fr 1fr}.public-segment{padding:14px}.public-stat-label{font-size:12px}.public-stat-value{font-size:22px;min-height:45px}.section-heading{font-size:22px}.public-table th,.public-table td{padding:10px 7px}.public-player-head{display:block}.player-ident{gap:12px}.player-large-flag{width:66px;height:46px}.player-top-stats{margin-top:22px;display:grid;grid-template-columns:repeat(2,1fr)}.player-top-stat .value{font-size:32px}.public-table-card-body{grid-template-columns:1fr}.public-table-card-body>strong{text-align:center}.metric-row{gap:22px}}
/* Iconos vectoriales locales de la vista pública */
.picon{display:inline-block;width:1.15em;height:1.15em;background:currentColor;-webkit-mask:var(--picon) center/contain no-repeat;mask:var(--picon) center/contain no-repeat;vertical-align:-.18em}.picon-calendar{--picon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M5%202h2v3h10V2h2v3h3v17H2V5h3zm-1%207v11h16V9z%22%2F%3E%3C%2Fsvg%3E")}.picon-map{--picon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%202a8%208%200%200%200-8%208c0%206%208%2012%208%2012s8-6%208-12a8%208%200%200%200-8-8zm0%205a3%203%200%201%201%200%206%203%203%200%200%201%200-6z%22%2F%3E%3C%2Fsvg%3E")}.picon-hourglass{--picon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M6%202h12v3c0%203-2%205-4%207%202%202%204%204%204%207v3H6v-3c0-3%202-5%204-7-2-2-4-4-4-7zm2%202v1c0%202%202%204%204%205%202-1%204-3%204-5V4zm8%2016v-1c0-2-2-4-4-5-2%201-4%203-4%205v1z%22%2F%3E%3C%2Fsvg%3E")}.picon-grid{--picon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M3%203h8v8H3zm10%200h8v8h-8zM3%2013h8v8H3zm10%200h8v8h-8z%22%2F%3E%3C%2Fsvg%3E")}.picon-trophy{--picon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%202h10v3h4v3c0%204-2%206-6%206a6%206%200%200%201-2%201v3h4v2H7v-2h4v-3a6%206%200%200%201-2-1C5%2014%203%2012%203%208V5h4zm10%205v3c1.5-.4%202-1.2%202-2V7zM5%207v1c0%20.8.5%201.6%202%202V7z%22%2F%3E%3C%2Fsvg%3E")}.picon-board{--picon:url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M2%202h20v20H2zm2%202v4h4V4zm8%200v4h4V4zm4%204v4h4V8zm-8%200v4h4V8zm-4%204v4h4v-4zm8%200v4h4v-4zm4%204v4h4v-4zm-8%200v4h4v-4z%22%2F%3E%3C%2Fsvg%3E")}


.player-large-emoji{display:inline-block;font-size:4.6rem;line-height:1;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif}

/* v1.3.2 · móvil público */
.public-table{max-width:100%}.player-public-link{touch-action:manipulation}.public-btn{min-height:46px}
@media(max-width:900px){
  .public-table .flagcol{display:table-cell!important;width:30px!important;min-width:30px!important}
  .public-table .flagcol .flag{font-size:1rem!important;margin:0!important}
  .public-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none}.public-nav::-webkit-scrollbar{display:none}
  .public-btn{width:100%;padding:12px 14px}
  .queue-row{min-height:48px}
}
@media(max-width:560px){
  .public-container{width:calc(100% - 16px)!important;padding-top:12px!important}
  .public-top-inner{width:calc(100% - 16px)!important}
  .public-topbar h1{font-size:23px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .public-nav a{min-height:48px;display:flex;align-items:center}
  .public-table{font-size:13px!important;table-layout:auto}
  .public-table th,.public-table td{padding:9px 5px!important}
  .public-table .numcol{width:30px!important}
  .public-table .flagcol{width:28px!important;min-width:28px!important}
  .public-table .flagcol .flag{font-size:1rem!important;margin:0!important}
  .player-public-link{overflow-wrap:anywhere}
  .public-table-card-head{align-items:flex-start;gap:8px}.public-table-card-head span:last-child{text-align:right;font-size:.82rem}
  .seat .number{font-size:21px!important}.seat .color-label{font-size:11px!important}
  .player-ident{align-items:flex-start!important}.player-large-emoji{font-size:3.5rem!important}.player-ident h1{font-size:23px!important;overflow-wrap:anywhere}
  .player-top-stats{gap:5px!important}.player-top-stat .label{font-size:11px!important}.player-top-stat .value{font-size:29px!important}
  .metric-row{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:14px!important}.metric .value{font-size:27px!important}
  .position-chart{overflow-x:auto;justify-content:flex-start}.position-bar-wrap{flex:0 0 42px!important}
}


/* v1.3.20 · página pública de reglas de la Arena */
.arena-rules-callout{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px 0 26px;padding:18px 20px;border:1px solid #dedee8;border-left:5px solid var(--yellow);border-radius:5px;background:#fffdf1}.arena-rules-callout>div{display:flex;flex-direction:column;gap:4px}.arena-rules-callout strong{font-size:18px;color:var(--purple)}.arena-rules-callout span{color:#666}.arena-rules-callout .public-btn{flex:0 0 auto}
.rules-page{padding-bottom:20px}.rules-hero{padding:28px 30px;border-radius:5px;background:linear-gradient(135deg,#333365,#41417b);color:#fff;margin-bottom:18px}.rules-kicker{display:inline-flex;background:var(--yellow);color:#292956;font-weight:900;letter-spacing:.04em;border-radius:4px;padding:6px 10px;margin-bottom:12px}.rules-hero h2{font-size:34px;margin:0 0 9px}.rules-hero p{font-size:18px;line-height:1.55;max-width:900px;margin:0;color:#f2f2f8}.rules-score-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #ddd;border-radius:5px;overflow:hidden;margin-bottom:18px;background:#fff}.rules-score-strip>div{display:flex;justify-content:center;align-items:center;gap:12px;padding:16px;border-left:1px solid #ddd}.rules-score-strip>div:first-child{border-left:0}.rules-score-strip strong{color:var(--purple);font-size:17px}.rules-score-strip span{font-weight:800;color:#333}.rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rule-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;border:1px solid #ddd;border-radius:5px;background:#fff;padding:20px;min-height:190px}.rule-number{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--purple);color:#fff;font-size:21px;font-weight:900}.rule-card h3{margin:2px 0 9px;color:var(--purple);font-size:20px}.rule-card p{margin:7px 0;color:#444;line-height:1.52}.rule-win{border-top:4px solid #21ba45}.rule-double{border-top:4px solid #6435c9}.rule-draw{border-top:4px solid #2185d0}.rule-queue{border-top:4px solid #767676}.rule-call{border-top:4px solid var(--yellow)}.rule-finish{border-top:4px solid #db2828}.rules-example{margin-top:20px;border:1px solid #ddd;border-radius:5px;padding:20px;background:#fafafa}.rules-example h3{margin:0 0 15px;color:var(--purple);font-size:22px}.rules-example-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rules-example-flow>div{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:15px}.rules-example-flow b{color:var(--purple)}.rules-example-flow span{color:#555;line-height:1.45}.rules-note{margin-top:18px;padding:15px 18px;border-radius:4px;background:#fff8d9;border:1px solid #f2d66c;color:#4f4300}
@media(max-width:800px){.arena-rules-callout{align-items:stretch;flex-direction:column}.arena-rules-callout .public-btn{width:100%}.rules-grid{grid-template-columns:1fr}.rules-example-flow{grid-template-columns:1fr}.rules-hero{padding:22px 20px}.rules-hero h2{font-size:28px}.rules-score-strip>div{flex-direction:column;gap:3px;text-align:center}.rule-card{min-height:0}}
@media(max-width:480px){.rules-score-strip{grid-template-columns:1fr}.rules-score-strip>div{border-left:0;border-top:1px solid #ddd;flex-direction:row}.rules-score-strip>div:first-child{border-top:0}.rule-card{grid-template-columns:44px minmax(0,1fr);padding:16px;gap:10px}.rule-number{width:40px;height:40px;font-size:18px}.rule-card h3{font-size:18px}.rules-hero p{font-size:16px}}

/* v1.4.0 · página pública canónica para visitantes */
.public-viewer-badge{display:inline-flex;align-items:center;padding:.5rem .75rem;border:1px solid rgba(255,255,255,.28);border-radius:.28571429rem;color:rgba(255,255,255,.92);font-size:.78rem;font-weight:800;letter-spacing:.04em;white-space:nowrap}
@media(max-width:767px){.public-viewer-badge{font-size:.68rem;padding:.4rem .55rem}.public-language{display:none}}

/* v1.4.1 · reglas ampliadas */
.rules-score-strip{grid-template-columns:repeat(4,1fr)}.rule-break{border-top:4px solid #f2711c}.rule-table-pause{border-top:4px solid #a5673f}@media(max-width:800px){.rules-score-strip{grid-template-columns:repeat(2,1fr)}.rules-score-strip>div:nth-child(3){border-left:0;border-top:1px solid #ddd}.rules-score-strip>div:nth-child(4){border-top:1px solid #ddd}}@media(max-width:480px){.rules-score-strip{grid-template-columns:1fr}.rules-score-strip>div{border-left:0!important;border-top:1px solid #ddd!important}.rules-score-strip>div:first-child{border-top:0!important}}
/* v1.4.2 · recomendación de descanso general */
.rules-format-recommendation{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;align-items:start;margin:0 0 18px;padding:20px 22px;border:1px solid #e5d36d;border-left:5px solid var(--yellow);border-radius:5px;background:#fffbea;color:#3f3a1d}.rules-format-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:var(--yellow);color:#292956;font-size:20px;font-weight:900}.rules-format-label{font-size:12px;font-weight:900;letter-spacing:.055em;color:#7b6912;margin-bottom:4px}.rules-format-recommendation h3{margin:0 0 8px;color:var(--purple);font-size:22px}.rules-format-recommendation p{margin:5px 0;line-height:1.55;color:#4b472d}@media(max-width:560px){.rules-format-recommendation{grid-template-columns:48px minmax(0,1fr);padding:16px;gap:12px}.rules-format-icon{width:44px;height:44px;font-size:16px}.rules-format-recommendation h3{font-size:19px}}

/* v1.4.3 · crédito Club Ajedrez Toledo */
.public-credit-banner{display:flex;align-items:center;gap:.75rem;padding:0 0 16px;color:rgba(255,255,255,.92);font-size:.86rem;font-weight:700}.public-credit-logo{width:28px;height:28px;object-fit:contain;border-radius:50%;background:#fff;padding:2px;box-shadow:0 0 0 1px rgba(255,255,255,.14)}@media(max-width:767px){.public-credit-banner{padding:6px 0 14px;font-size:.74rem;line-height:1.3;align-items:flex-start}.public-credit-logo{width:24px;height:24px;flex:0 0 auto}}

/* v1.4.13 · estado personal en cola / llamada a mesa */
.player-live-status{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"kicker timer" "main timer" "note timer";gap:.35rem 1.25rem;align-items:center;margin:0 0 20px;padding:20px 22px;border:1px solid #d9d9df;border-left:6px solid var(--purple);border-radius:6px;background:#fafafd;box-shadow:0 1px 3px rgba(0,0,0,.05)}.player-live-kicker{grid-area:kicker;font-size:.78rem;font-weight:900;letter-spacing:.065em;color:#6a6a78}.player-live-main{grid-area:main;color:var(--purple);font-size:28px;font-weight:900;line-height:1.1}.player-live-status p{grid-area:note;margin:.25rem 0 0;color:#555;line-height:1.45}.player-queue-status{border-left-color:#2185d0;background:#f7fbff}.player-called{border-left-color:var(--yellow);background:#fffbea}.player-called.expired{border-left-color:#f2711c;background:#fff8f1}.player-playing-status{border-left-color:#21ba45;background:#f7fff9}.player-waiting-status{border-left-color:#6435c9;background:#faf8ff}.player-paused-status{border-left-color:#767676;background:#fafafa}.player-call-countdown{grid-area:timer;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:128px;padding:10px 15px;border-radius:8px;background:var(--yellow);color:#292956;text-align:center}.player-call-countdown strong{font-size:48px;line-height:1;font-variant-numeric:tabular-nums}.player-call-countdown span{margin-top:5px;font-size:.78rem;font-weight:900;text-transform:uppercase}.player-called.expired .player-call-countdown{background:#f2711c;color:#fff}@media(max-width:640px){.player-live-status{grid-template-columns:1fr;grid-template-areas:"kicker" "main" "timer" "note";padding:17px}.player-live-main{font-size:24px}.player-call-countdown{width:100%;min-width:0;margin-top:.55rem;flex-direction:row;gap:.7rem;padding:12px}.player-call-countdown strong{font-size:38px}.player-call-countdown span{margin:0}}

/* v1.4.14 · byes y tiempos de Arena */
.rule-bye{border-top:4px solid #fbbd08}.player-time-panel{margin:0 0 22px}.player-time-panel .section-heading{margin-top:0}.player-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.player-time-grid>div{border:1px solid #e0e0e0;border-radius:5px;background:#fafafa;padding:16px;text-align:center}.player-time-grid strong{display:block;color:var(--purple);font-size:27px;font-variant-numeric:tabular-nums}.player-time-grid span{display:block;color:#666;font-size:13px;margin-top:6px;text-transform:uppercase}.player-bye-summary{margin-top:14px;color:#555}.player-bye-chip{display:inline-flex;margin-left:8px;margin-top:5px;padding:4px 8px;border-radius:999px;background:#fff4bf;border:1px solid #edd36a;color:#625000;font-size:12px;font-weight:700}.player-bye-status{border-left-color:#fbbd08!important;background:#fffbea!important}
@media(max-width:800px){.player-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.player-time-grid{grid-template-columns:1fr 1fr;gap:8px}.player-time-grid>div{padding:12px 8px}.player-time-grid strong{font-size:21px}.player-time-grid span{font-size:11px}.player-bye-chip{margin-left:0;margin-right:5px}}

/* v1.4.16 · ficha pública realmente en vivo + aviso de 3º en cola */
.player-sound-hint{margin-top:.7rem;border:1px solid #d8d8e3;background:#fff;color:#333365;border-radius:999px;padding:.55rem .85rem;font-weight:800;cursor:pointer}.player-sound-hint.active{background:#f4fff6;border-color:#8fd09f;color:#147a32}.public-internet-status{display:inline-flex;align-items:center;white-space:nowrap;font-weight:800}.public-internet-status.offline{color:#ffd2d2}.public-internet-status.stale{color:#ffe6a6}@media(max-width:560px){.player-sound-hint{width:100%;border-radius:5px;text-align:center}}

.archive-list{display:grid;gap:14px}.archive-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(34,36,38,.15);border-radius:6px;background:#fff;padding:18px 20px}.archive-card h3{margin:0 0 6px;color:#333365;font-size:1.25rem}.archive-card p{margin:0;color:rgba(0,0,0,.58)}@media(max-width:700px){.archive-card{align-items:stretch;flex-direction:column}.archive-card .public-btn{width:100%;text-align:center}.public-nav a[data-route="archives"]{white-space:nowrap}}

/* v1.4.19 · biblioteca de torneos */
.archive-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.archive-page-head .section-heading{margin-bottom:5px}.archive-page-head p{margin:0;color:rgba(0,0,0,.58)}.archive-card-main{display:flex;align-items:center;gap:14px;min-width:0}.archive-order{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#333365;color:#fff;font-weight:800}.archive-winner{margin-top:6px;color:#333365}.public-btn.secondary{background:#fff;color:#333365;border:1px solid #333365}@media(max-width:700px){.archive-page-head{flex-direction:column}.archive-page-head .public-btn{width:100%;text-align:center}.archive-card-main{align-items:flex-start}}

/* v1.5.1 · Chess:Suizo */
.public-swiss-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.public-swiss-head .section-heading{margin:3px 0 0}.public-swiss-bye{border-left:4px solid #333365!important}.public-round-history{display:grid;gap:10px}.public-round-card{border:1px solid #e0e0e8;border-radius:6px;background:#fff}.public-round-card summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;padding:14px 16px;color:#333365}.public-round-card summary span{font-size:.9rem;color:#777}.public-round-card>div{padding:0 16px 14px}.public-round-card p{margin:5px 0}.archive-format-badge{display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border-radius:3px;padding:3px 7px;margin-bottom:5px}.archive-format-badge.arena{background:#fff0a8;color:#745b00}.archive-format-badge.swiss{background:#e7e8ff;color:#333365}.public-swiss .arena-rules-callout{border-left-color:#333365}
@media(max-width:700px){.public-swiss-head{display:block}.public-swiss-head .public-btn{margin-top:10px}.public-round-card summary{display:block}.public-round-card summary span{display:block;margin-top:4px}}
.public-category-filter{margin:0 0 1rem}.public-category-filter select{padding:.55rem .7rem;border:1px solid #ccc;border-radius:.35rem}.public-category-tag,.public-trophy-tag{display:inline-block;border-radius:999px;padding:.2rem .48rem;margin:.1rem;font-size:.76rem;font-weight:700;white-space:nowrap}.public-category-tag{background:#ececf6;color:#36336f}.public-trophy-tag{background:#fff0b5;color:#664c00;border:1px solid #e7c54b}
