button{appearance:none;-webkit-appearance:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:11px var(--space-5);border-radius:var(--radius-md);border:var(--bw-lg) solid var(--ink);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:var(--fw-heavy);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--ink);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-btn);transition:transform var(--speed-fast) var(--ease),box-shadow var(--speed-fast) var(--ease)}.btn svg{width:18px;height:18px}.btn:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}.btn:active:not(:disabled){transform:var(--press-shift);box-shadow:none}.btn:disabled{opacity:0.5;cursor:not-allowed;box-shadow:none;transform:var(--press-shift)}.btn-primary{background:var(--gold-400)}.btn-secondary{background:var(--surface)}.btn-ghost{background:var(--surface-dim);border-width:var(--bw);box-shadow:var(--shadow-chip)}.btn-danger{background:var(--loss-500);color:#fff}.btn-sm{padding:7px var(--space-4);font-size:var(--fs-xs);border-width:var(--bw);box-shadow:var(--shadow-chip)}.btn-lg{padding:15px var(--space-8);font-size:var(--fs-md)}.btn .spinner{width:16px;height:16px;border:2.5px solid currentColor;border-top-color:transparent;border-radius:var(--radius-full);animation:spin 0.7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--surface);border:var(--bw-lg) solid var(--ink);border-radius:var(--radius-lg)}a.card,.clan-clickable{box-shadow:var(--shadow-card)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:var(--bw) solid var(--ink)}.card-body{padding:var(--space-4) var(--space-5)}.rank-list{list-style:none;margin:0;padding:0}.rank-legend{display:none;padding:var(--space-3) var(--space-5);border-bottom:var(--bw) solid var(--ink);border-radius:calc(var(--radius-lg) - var(--bw-lg)) calc(var(--radius-lg) - var(--bw-lg)) 0 0;background:var(--violet-bg);color:var(--violet-700);font-size:10.5px;font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:var(--track-wide)}.rank-row{display:grid;grid-template-columns:44px 1fr auto;grid-template-areas:"medal player score" "medal meta   score";align-items:center;column-gap:var(--space-3);row-gap:6px;padding:var(--space-3) var(--space-4);border-bottom:var(--bw) solid var(--border-soft);transition:background var(--speed-fast) var(--ease)}.rank-row:last-child{border-bottom:none;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.rank-row:hover{background:var(--violet-bg)}.rank-row .medal{grid-area:medal}.rank-row .player{grid-area:player;min-width:0;display:flex;flex-direction:column;gap:3px}.rank-row .meta{grid-area:meta;display:flex;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap}.rank-row .scorebox{grid-area:score;text-align:right}.rank-row .meta .col-reussite{flex:1 1 100%;order:3}.rank-row.podium-1{background:var(--gold-bg);box-shadow:inset 6px 0 0 var(--medal-gold)}.rank-row.podium-2{background:#F1F4FA;box-shadow:inset 6px 0 0 var(--medal-silver)}.rank-row.podium-3{background:#FBEEE2;box-shadow:inset 6px 0 0 var(--medal-bronze)}.rank-row.excluded{opacity:0.6}.rank-row .tag{font-size:11px;padding:0 6px}@media (max-width:719px){.rank-row .col-reussite.empty{display:none}}.rank-row .player .name{font-weight:var(--fw-black);font-size:var(--fs-md);text-transform:uppercase;letter-spacing:-0.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-row .score-value{font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:var(--fs-xl);letter-spacing:var(--track-tight);color:var(--ink)}.rank-row .score-value.none{color:var(--text-disabled)}.rank-row .score-label{display:block}.rank-empty{padding:var(--space-8);text-align:center;color:var(--text-muted);font-weight:var(--fw-bold);list-style:none}@media (min-width:720px){.rank-legend{display:grid;grid-template-columns:44px minmax(160px,1fr) 84px minmax(150px,220px) 64px 88px;column-gap:var(--space-4)}.rank-legend>:nth-child(n+3){text-align:center}.rank-legend>:last-child{text-align:right}.rank-row{grid-template-columns:44px minmax(160px,1fr) 84px minmax(150px,220px) 64px 88px;grid-template-areas:"medal player th reussite oubli score";column-gap:var(--space-4);padding:var(--space-3) var(--space-5)}.rank-row .col-th{grid-area:th;text-align:center}.rank-row .col-reussite{grid-area:reussite}.rank-row .col-oubli{grid-area:oubli;text-align:center}.rank-row .scorebox{grid-area:score}.rank-row .meta{display:contents}.oubli-word{display:none}}.rank-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 var(--space-1);border-radius:var(--radius-full);border:var(--bw) solid var(--ink);font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:var(--fs-sm);color:var(--text-secondary);background:var(--surface)}.rank-badge.r1{background:var(--medal-gold);color:var(--ink)}.rank-badge.r2{background:var(--medal-silver);color:var(--ink)}.rank-badge.r3{background:var(--medal-bronze);color:var(--ink)}.player-cell{display:flex;flex-direction:column;gap:3px;min-width:0}.player-cell .name{font-weight:var(--fw-black);text-transform:uppercase;letter-spacing:-0.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 9px;border-radius:var(--radius-sm);border:var(--bw) solid var(--ink);font-size:var(--fs-xs);font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:0.4px;white-space:nowrap;color:var(--ink)}.badge-gold{background:var(--gold-bg)}.badge-win{background:var(--win-bg);color:var(--win-700)}.badge-loss{background:var(--loss-bg);color:var(--loss-700)}.badge-info{background:var(--info-bg)}.badge-warn{background:var(--warn-bg)}.badge-neutral{background:var(--surface-dim);color:var(--text-secondary)}.badge-th{background:var(--violet-bg);color:var(--violet-700);font-variant-numeric:tabular-nums}.stars{display:inline-flex;gap:2px;font-size:var(--fs-md);line-height:1}.stars .on{color:var(--star);-webkit-text-stroke:1px var(--ink)}.stars .off{color:var(--star-empty);-webkit-text-stroke:1px var(--text-muted)}.stars.lg{font-size:var(--fs-xl)}.progress{display:flex;align-items:center;gap:var(--space-2);min-width:110px;flex:1}.progress-track{flex:1;height:14px;border-radius:var(--radius-full);background:var(--surface);border:var(--bw) solid var(--ink);overflow:hidden}.progress-fill{height:100%;background:var(--violet-500);border-right:var(--bw) solid var(--ink);transition:width var(--speed-base) var(--ease)}.progress-fill[style*="width:100"],.progress-fill[style*="width: 100"]{border-right:none}.progress-fill.high{background:var(--win-500)}.progress-fill.low{background:var(--loss-500)}.progress-value{font-size:var(--fs-sm);font-weight:var(--fw-heavy);min-width:42px;text-align:right;font-variant-numeric:tabular-nums}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4)}.stat{background:var(--surface);border:var(--bw-lg) solid var(--ink);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.icon-chip{flex:none;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;border:var(--bw) solid var(--ink);border-radius:10px;background:var(--surface-dim)}.icon-chip.gold{background:var(--gold-400)}.icon-chip.win{background:var(--win-500)}.icon-chip.violet{background:var(--violet-500)}.icon-chip.info{background:var(--info-500)}.icon-chip.loss{background:var(--loss-500)}.stat-value{font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:var(--fs-2xl);letter-spacing:var(--track-tight);color:var(--ink)}.stat-value.gold{color:var(--violet-500)}.stat-delta{font-size:var(--fs-xs);font-weight:var(--fw-heavy);width:fit-content;padding:1px 7px;border:var(--bw) solid var(--ink);border-radius:var(--radius-sm)}.stat-delta.up{color:var(--win-700);background:var(--win-bg)}.stat-delta.down{color:var(--loss-700);background:var(--loss-bg)}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}th{background:var(--surface-dim);color:var(--text-secondary);font-size:10.5px;font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:var(--track-wide);text-align:left;padding:var(--space-3) var(--space-4);border-bottom:var(--bw) solid var(--ink);white-space:nowrap}td{padding:var(--space-3) var(--space-4);border-bottom:var(--bw) solid var(--border-soft);vertical-align:middle}tbody tr:hover{background:var(--violet-bg)}tbody tr:last-child td{border-bottom:none}th.num,td.num{text-align:right}tr.excluded{opacity:0.45}td.empty{text-align:center;color:var(--text-muted);padding:var(--space-8)}.status-line{margin:0;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-semibold);min-height:20px}.status-line.error{color:var(--loss-700)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:var(--bw) solid var(--ink);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--ink)}.alert-win{background:var(--win-bg);color:var(--win-700)}.alert-loss{background:var(--loss-bg);color:var(--loss-700)}.alert-info{background:var(--info-bg)}.alert-warn{background:var(--warn-bg)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-5);text-align:center}.empty-state .icon{font-size:38px;line-height:1;width:84px;height:84px;display:flex;align-items:center;justify-content:center;background:var(--gold-bg);border:var(--bw-lg) solid var(--ink);border-radius:var(--radius-lg);transform:rotate(-4deg)}.empty-state h3{color:var(--ink)}.empty-state p{color:var(--text-secondary);max-width:380px}.skeleton{border-radius:var(--radius-sm);border:var(--bw) solid var(--border-soft);background:linear-gradient(90deg,var(--surface-dim) 25%,#F7F8FB 50%,var(--surface-dim) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;color:transparent;user-select:none}@keyframes shimmer{to{background-position:-200% 0}}.field{display:flex;flex-direction:column;gap:var(--space-2)}input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="search"],select,textarea{font-family:var(--font-body);font-size:16px;font-weight:var(--fw-semibold);color:var(--ink);background:var(--surface);border:var(--bw) solid var(--ink);border-radius:var(--radius-md);padding:10px var(--space-3);transition:box-shadow var(--speed-fast) var(--ease)}input:focus,select:focus,textarea:focus{outline:none;box-shadow:3px 3px 0 var(--violet-500)}input::placeholder{color:var(--text-muted)}select{cursor:pointer}input[type="checkbox"]{width:18px;height:18px;accent-color:var(--violet-500)}.card-body .field + .field,.card-body .field + form,.card-body form + .field{margin-top:var(--space-4)}.tabs{display:flex;gap:var(--space-1);padding:4px;background:var(--surface);border:var(--bw) solid var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-chip);width:fit-content;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{padding:7px var(--space-4);border-radius:var(--radius-sm);border:var(--bw) solid transparent;background:var(--surface);color:var(--text-secondary);font-family:var(--font-display);font-size:var(--fs-xs);font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:0.6px;cursor:pointer;white-space:nowrap;transition:background var(--speed-fast) var(--ease),color var(--speed-fast) var(--ease)}.tab:hover{color:var(--ink)}.tab.active{background:var(--violet-500);color:#fff;border-color:var(--ink)}.attack-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:var(--bw) solid var(--border-soft);flex-wrap:wrap}.attack-row:last-child{border-bottom:none}.attack-row .versus{color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-bold);flex:none}.attack-row .player-cell{flex:1;min-width:120px}.attack-row .result{display:flex;align-items:center;gap:var(--space-3);flex:none;margin-left:auto}.war-score{display:flex;align-items:center;justify-content:center;gap:var(--space-5);padding:var(--space-5) var(--space-4)}.war-score .side{text-align:center;flex:1;min-width:0}.war-score .side .clan-name{font-weight:var(--fw-heavy);color:var(--text-muted);font-size:10.5px;text-transform:uppercase;letter-spacing:var(--track-wide);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.war-score .side .points{font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:var(--fs-hero);letter-spacing:var(--track-tight);line-height:1.1}.war-score .side.us .points{color:var(--violet-500)}.war-score .side.them .points{color:var(--ink)}.war-score .divider{font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:var(--fs-lg);color:var(--text-muted);flex:none}.timeline{display:flex;flex-direction:column}.timeline-item{display:flex;gap:var(--space-4);padding:var(--space-4) 0;position:relative}.timeline-item::before{content:"";position:absolute;left:6px;top:30px;bottom:-8px;width:var(--bw);background:var(--ink)}.timeline-item:last-child::before{display:none}.timeline-dot{width:14px;height:14px;border-radius:var(--radius-full);border:var(--bw) solid var(--ink);background:var(--surface-dim);margin-top:5px;flex:none}.timeline-dot.win{background:var(--win-500)}.timeline-dot.loss{background:var(--loss-500)}.timeline-content{flex:1}.timeline-content .date{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-muted);text-transform:uppercase;letter-spacing:0.6px}.modal-backdrop[hidden]{display:none}.modal-backdrop{position:fixed;inset:0;background:rgba(18,20,31,0.55);display:flex;align-items:flex-end;justify-content:center;padding:var(--space-4);z-index:100}.modal{background:var(--surface);border:var(--bw-lg) solid var(--ink);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);max-width:480px;width:100%}@media (min-width:720px){.modal-backdrop{align-items:center}}.modal-header{padding:var(--space-5) var(--space-6) 0}.modal-body{padding:var(--space-4) var(--space-6);color:var(--text-secondary)}.modal-footer{padding:0 var(--space-6) var(--space-5);display:flex;justify-content:flex-end;gap:var(--space-3)}[data-tip]{position:relative;cursor:help}[data-tip]::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:var(--fs-xs);font-weight:var(--fw-bold);padding:5px 10px;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--speed-fast) var(--ease);z-index:50}[data-tip]:hover::after{opacity:1}.pagination{display:flex;gap:var(--space-2);align-items:center}.page-btn{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:var(--bw) solid var(--ink);background:var(--surface);color:var(--ink);font-family:var(--font-body);font-weight:var(--fw-heavy);cursor:pointer;transition:transform var(--speed-fast) var(--ease),box-shadow var(--speed-fast) var(--ease)}.page-btn:hover{box-shadow:var(--shadow-chip);transform:translate(-1px,-1px)}.page-btn:active{transform:translate(2px,2px);box-shadow:none}.page-btn.active{background:var(--violet-500);color:#fff;box-shadow:var(--shadow-chip)}.clan-switcher{flex:none;max-width:200px;margin-left:auto;font-family:var(--font-display);font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:0.4px;box-shadow:var(--shadow-chip)}@media (min-width:1041px){.clan-switcher{margin-left:0;max-width:240px}}.nav-divider{flex:none;align-self:stretch;width:var(--bw);background:var(--border-soft);margin:8px 4px}@media (min-width:1041px){.nav-divider{align-self:center;height:22px;margin:0 var(--space-2)}}.menu-sep{border:none;border-top:var(--bw) solid var(--border-soft);margin:var(--space-2) 0}.add-clan{display:flex;gap:var(--space-3);align-items:flex-end}.add-clan .field{flex:1}.clans-list{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4)}.clan-item .card-body{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.clan-info{display:flex;flex-direction:column;gap:3px;min-width:0}.clan-info .clan-name{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-lg);text-transform:uppercase;letter-spacing:-0.2px;color:var(--ink);text-decoration:none}.clan-info .clan-name:hover{color:var(--violet-500)}.clan-actions{display:flex;gap:var(--space-2);flex:none}.rank-row .player a.name{color:inherit;text-decoration:none}.rank-row .player a.name:hover{color:var(--violet-500)}.auth-card{max-width:440px;width:100%;margin-inline:auto}.auth-card form{display:flex;flex-direction:column;gap:var(--space-4)}.field label{font-size:var(--fs-xs);font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--text-secondary)}.field-error{color:var(--loss-700);font-size:var(--fs-sm);font-weight:var(--fw-bold)}.checkbox-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-secondary)}.auth-alt{margin:var(--space-4) 0 0;font-size:var(--fs-sm);color:var(--text-secondary)}.flashes{display:flex;flex-direction:column;gap:var(--space-2)}.readonly-value{font-weight:var(--fw-bold);padding:8px var(--space-3);background:var(--surface-dim);border:var(--bw) solid var(--border-soft);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);overflow-wrap:break-word;word-break:break-all}.user-box{display:flex;flex-direction:column;gap:var(--space-2)}.user-email{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-secondary);word-break:break-all}.section-title{font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--text-secondary);margin:var(--space-2) 0 calc(-1 * var(--space-2))}.clan-item.is-tracked{box-shadow:inset 5px 0 0 var(--win-500)}.clan-item.is-untracked{box-shadow:inset 5px 0 0 var(--border-soft);background:var(--surface-dim)}.clan-clickable.is-tracked{box-shadow:inset 5px 0 0 var(--win-500),var(--shadow-card)}.clan-overview-body{display:flex;flex-direction:column;gap:var(--space-4)}.clan-overview-head{display:flex;align-items:center;gap:var(--space-4)}.clan-badge{flex:none;width:72px;height:72px;border:var(--bw) solid var(--ink);border-radius:var(--radius-md);background:var(--surface-dim)}.clan-overview-name{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-xl);text-transform:uppercase;letter-spacing:-0.3px;line-height:1.1}.clan-labels{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.clan-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--space-3)}.clan-stat{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);border:var(--bw) solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-dim)}.clan-stat-value{font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:var(--fs-lg);color:var(--ink)}.clan-stat-label{font-size:10.5px;font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--text-muted)}.clan-desc{color:var(--text-secondary);font-size:var(--fs-sm);white-space:pre-line;margin:0}.link-village{display:flex;flex-direction:column;gap:var(--space-3)}.hint{color:var(--text-muted);font-size:var(--fs-xs);margin:var(--space-2) 0 0}.username-form{display:flex;align-items:flex-end;gap:var(--space-3)}.username-form .field{flex:1}.logout-form{display:flex}.logout-form .btn{flex:1}@media (min-width:480px){.logout-form .btn{flex:none}}@media (max-width:479px){.clan-item .card-body{flex-direction:column;align-items:flex-start}.clan-actions{align-self:flex-end}}.th-sprite{height:34px;width:auto;vertical-align:middle}.league-sprite{height:30px;width:30px;vertical-align:middle;object-fit:contain}.hero{text-align:center;padding:var(--space-8) var(--space-2) var(--space-4)}.hero-kicker{display:inline-block;font-family:var(--font-display);font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:var(--track-wide);font-size:var(--fs-xs);color:var(--violet-700);background:var(--violet-bg);border:var(--bw) solid var(--ink);border-radius:var(--radius-full);padding:5px 14px;margin-bottom:var(--space-4)}.hero-title{font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-hero);line-height:1.04;letter-spacing:var(--track-tight);text-transform:uppercase;margin:0 auto var(--space-4);max-width:14ch}.hero-sub{max-width:58ch;margin:0 auto var(--space-6);color:var(--text-secondary);font-size:var(--fs-md)}.hero-cta{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin-top:var(--space-4)}.feature{padding:var(--space-5)}.feature-icon{font-size:38px;line-height:1;margin-bottom:var(--space-2)}.feature h2{font-size:var(--fs-lg);margin:0 0 var(--space-2)}.feature p{color:var(--text-secondary);font-size:var(--fs-sm);margin:0}.home-final{margin-top:var(--space-6)}.home-final .card-body{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3)}.legal-card .card-body{display:flex;flex-direction:column;gap:var(--space-6)}.legal-section{display:flex;flex-direction:column;gap:var(--space-3)}.legal-section + .legal-section{padding-top:var(--space-5);border-top:var(--bw) solid var(--border-soft)}.legal-section h2{font-size:var(--fs-lg)}.legal-section p{color:var(--text-secondary)}.legal-list{display:grid;gap:var(--space-3);margin:0}.legal-list div{display:grid;gap:2px}.legal-list dt{font-size:10.5px;font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--text-muted)}.legal-list dd{margin:0;font-weight:var(--fw-semibold);color:var(--text-secondary)}.legal-updated{font-size:var(--fs-sm);font-weight:var(--fw-bold)}.hero .hero-cta{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);max-width:520px;margin-left:auto;margin-right:auto}.hero .hero-cta .btn{width:100%;white-space:normal}@media (max-width:430px){.hero .hero-cta{grid-template-columns:1fr}}.btn.btn-icon{padding:11px}.btn.btn-icon svg{width:20px;height:20px}.card>.table-wrapper table thead tr:first-child th:first-child{border-top-left-radius:calc(var(--radius-lg) - var(--bw-lg))}.card>.table-wrapper table thead tr:first-child th:last-child{border-top-right-radius:calc(var(--radius-lg) - var(--bw-lg))}.rank-row .medal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.rank-row.rank-up{background:var(--win-bg)}.rank-row.rank-down{background:var(--loss-bg)}.mv-arrow{font-size:11px;line-height:1;font-weight:var(--fw-black)}.mv-arrow.up{color:var(--win-500)}.mv-arrow.down{color:var(--loss-500)}.clan-clickable{cursor:pointer;transition:transform var(--speed-fast) var(--ease)}.clan-clickable:hover{transform:translate(-1px,-1px)}.clan-clickable .card-body{position:relative}.clan-stretch{position:absolute;inset:0;border-radius:inherit}.clan-clickable .clan-info{pointer-events:none}.clan-clickable .clan-actions{position:relative;z-index:1}.fav-btn{background:none;border:none;cursor:pointer;padding:6px;line-height:0;color:var(--text-muted);border-radius:var(--radius-sm);transition:transform var(--speed-fast) var(--ease),color var(--speed-fast) var(--ease)}.fav-btn:hover{color:var(--medal-gold);transform:scale(1.12)}.fav-btn svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2}.fav-btn.is-fav{color:var(--medal-gold)}.fav-btn.is-fav svg{fill:currentColor}.page-header .fav-btn{flex:none;width:42px;height:42px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:var(--bw-lg) solid var(--ink);border-radius:var(--radius-md);box-shadow:var(--shadow-btn);transition:transform var(--speed-fast) var(--ease),box-shadow var(--speed-fast) var(--ease),background var(--speed-fast) var(--ease),color var(--speed-fast) var(--ease)}.page-header .fav-btn svg{width:22px;height:22px}.page-header .fav-btn:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink);color:var(--medal-gold)}.page-header .fav-btn:active{transform:var(--press-shift);box-shadow:none}.page-header .fav-btn.is-fav{background:var(--gold-bg);color:var(--medal-gold)}#cwl-content{display:flex;flex-direction:column;gap:var(--space-5)}.section-title{font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:var(--fs-md);margin:0 0 var(--space-3)}.cwl-meta{color:var(--text-secondary);margin:0;font-weight:var(--fw-heavy)}.btn-icon{gap:0;justify-content:center}.btn.btn-icon{width:42px;height:42px;min-height:0;padding:0;flex:none}.btn-sm.btn-icon{width:34px;height:34px;min-height:0;padding:0;flex:none}.btn.btn-icon svg{width:18px;height:18px;flex:none}.cwl-list{list-style:none;margin:0;padding:0}.cwl-player{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:var(--bw) solid var(--surface-dim)}.cwl-player:first-child{padding-top:0}.cwl-player:last-child{border-bottom:none;padding-bottom:0}.cwl-player-main{display:flex;flex-direction:column;min-width:0;gap:1px}.cwl-player-main .name{font-weight:var(--fw-heavy)}.cwl-player-reason{font-size:var(--fs-xs);color:var(--text-secondary)}.cwl-player-actions{flex:none}.cwl-alerts{margin:0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.cwl-alerts li{line-height:1.4}.cwl-rounds{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-3)}.cwl-round{border:var(--bw) solid var(--ink);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-3);display:flex;flex-direction:column;gap:2px;text-align:center}.cwl-round.win{background:var(--win-bg,var(--violet-bg))}.cwl-round-day{font-family:var(--font-display);font-weight:var(--fw-heavy)}.cwl-round-opp{font-size:var(--fs-sm)}.cwl-round-score{font-variant-numeric:tabular-nums;font-weight:var(--fw-heavy)}.cwl-round-state{font-size:var(--fs-xs);color:var(--text-secondary)}.feedback-trigger{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:42px;height:42px;border-radius:var(--radius-full);border:var(--bw) solid var(--ink);background:var(--violet-500);color:#fff;box-shadow:var(--shadow-chip);cursor:pointer;transition:transform var(--speed-fast) var(--ease),box-shadow var(--speed-fast) var(--ease)}.feedback-trigger svg{width:20px;height:20px;flex:none}.feedback-trigger .feedback-trigger-label{display:none}.feedback-trigger:hover{transform:translate(-1px,-1px);box-shadow:var(--shadow-btn)}.feedback-trigger:active{transform:var(--press-shift);box-shadow:none}@media (min-width:1041px){.feedback-trigger{position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:60;width:auto;height:auto;padding:13px var(--space-5);border-width:var(--bw-lg);box-shadow:var(--shadow-btn);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:var(--fw-heavy);text-transform:uppercase;letter-spacing:var(--track-wide)}.feedback-trigger .feedback-trigger-label{display:inline}}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);background:var(--loss-500);color:#fff;font-size:11px;font-weight:var(--fw-heavy);font-variant-numeric:tabular-nums}.modal-title{font-family:var(--font-display);font-weight:var(--fw-heavy);font-size:var(--fs-xl);text-transform:uppercase;letter-spacing:var(--track-tight)}.feedback-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.feedback-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);border:var(--bw) solid var(--ink);background:var(--surface);color:var(--ink);cursor:pointer;transition:background var(--speed-fast) var(--ease)}.feedback-close svg{width:18px;height:18px}.feedback-close:hover{background:var(--surface-dim)}.feedback-types{display:flex;gap:var(--space-2);flex-wrap:wrap}.feedback-type{flex:1;min-width:84px;padding:9px var(--space-3);border-radius:var(--radius-md);border:var(--bw) solid var(--ink);background:var(--surface);color:var(--text-secondary);font-family:var(--font-display);font-size:var(--fs-sm);font-weight:var(--fw-heavy);cursor:pointer;transition:background var(--speed-fast) var(--ease),color var(--speed-fast) var(--ease),box-shadow var(--speed-fast) var(--ease)}.feedback-type:hover{box-shadow:var(--shadow-chip)}.feedback-type.active{background:var(--violet-500);color:#fff;box-shadow:var(--shadow-chip)}.feedback-counter{display:block}.feedback-filters{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.tab-count{margin-left:6px;font-variant-numeric:tabular-nums;opacity:0.7}.feedback-admin-list{display:flex;flex-direction:column;gap:var(--space-4)}.feedback-card.status-new{border-left:8px solid var(--warn-500)}.feedback-card.status-read{border-left:8px solid var(--info-500)}.feedback-card.status-done{opacity:0.78}.feedback-card-top{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}.feedback-meta{color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.feedback-page{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted)}.feedback-message{margin:0 0 var(--space-4);color:var(--ink);font-weight:var(--fw-semibold);white-space:pre-wrap;word-break:break-word}.feedback-card-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}