*{box-sizing:border-box}body{margin:0;background:#f7f8fa;color:#101114;font:15px/1.5 Inter,Arial,sans-serif}.shell{max-width:1080px;margin:auto;padding:0 24px}.nav{height:72px;background:#fff;border-bottom:1px solid #e8e9ed;position:sticky;top:0;z-index:10}.navin{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;letter-spacing:-.8px;font-size:20px}.brand span{color:#4078FB}.links{display:flex;gap:6px}.links button,.ghost{border:0;background:transparent;padding:10px 13px;border-radius:10px;cursor:pointer;color:#555}.links button.active{background:#eef3ff;color:#2059d4}.hero{padding:62px 0 38px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:#4078FB;font-weight:800;margin-bottom:10px}h1{font-size:48px;line-height:1.05;margin:0 0 15px;letter-spacing:-1.8px}h2{font-size:24px;margin:0 0 18px}.hero p{max-width:720px;color:#656972;font-size:17px;margin:0}.hero-actions{display:flex;gap:10px;margin-top:24px}.section{padding:20px 0 42px}.row{display:flex;align-items:center;justify-content:space-between;gap:15px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{background:#fff;border:1px solid #e8e9ed;border-radius:16px;padding:20px;box-shadow:0 3px 14px rgba(0,0,0,.035)}.tournament{display:flex;flex-direction:column;justify-content:space-between;min-height:190px}.tag{display:inline-block;background:#edf3ff;color:#2963d8;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}.title{font-size:20px;font-weight:800;margin:13px 0 6px}.meta,.muted{color:#737781}.primary{background:#4078FB;color:#fff;border:0;border-radius:10px;padding:11px 16px;font-weight:750;cursor:pointer}.primary:disabled{opacity:.45;cursor:default}.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e8e9ed}.table th,.table td{text-align:left;padding:13px 14px;border-bottom:1px solid #eef0f3}.table th{font-size:12px;text-transform:uppercase;color:#7b7f87}.table tr:last-child td{border-bottom:0}.rating{font-size:58px;font-weight:900;letter-spacing:-2px;margin:5px 0}.smallrating{font-size:40px}.profile{display:grid;grid-template-columns:280px 1fr;gap:14px}.form{max-width:760px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field label{font-size:12px;font-weight:750;color:#5f636b}.field input,.field select,.match select,.addrow input{padding:11px 12px;border:1px solid #dfe2e7;border-radius:10px;background:#fff;font:inherit;outline:none}.field input:focus,.match select:focus,.addrow input:focus{border-color:#4078FB}.actions{display:flex;gap:10px;margin-top:20px}.matches{display:grid;gap:10px}.match{display:flex;align-items:center;justify-content:space-between;gap:20px}.board{display:inline-block;font-size:11px;color:#8a8e96;background:#f1f2f4;border-radius:7px;padding:4px 7px;margin-right:10px}.match select{min-width:135px}.bye{color:#4078FB;font-weight:800}.addrow{display:flex;gap:8px;margin-bottom:16px}.addrow input{flex:1}@media(max-width:720px){.shell{padding:0 15px}.nav{height:auto}.navin{padding-top:12px;padding-bottom:12px;align-items:flex-start;gap:10px;flex-direction:column}.links{width:100%;overflow:auto}.links button{white-space:nowrap}.hero{padding:40px 0 25px}h1{font-size:38px}.grid,.profile{grid-template-columns:1fr}.table{font-size:13px}.table th,.table td{padding:10px 8px}.match{align-items:flex-start;flex-direction:column}.match select{width:100%}}\n.photo-section{padding:8px 0 28px}.photo-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px}.photo-head h2{margin-bottom:0}.photo-controls{display:flex;gap:7px}.photo-btn{width:40px;height:40px;border:1px solid #e1e3e8;background:#fff;border-radius:10px;font-size:20px;cursor:pointer}.photo-gallery{position:relative;overflow:hidden;border-radius:20px;background:#111;box-shadow:0 10px 35px rgba(0,0,0,.12)}.photo-track{display:flex;transition:transform .42s cubic-bezier(.22,.61,.36,1);will-change:transform}.photo-slide{min-width:100%;height:510px;background:#111}.photo-slide img{display:block;width:100%;height:100%;object-fit:cover}.photo-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.9);font-size:32px;line-height:1;cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.18)}.photo-arrow.left{left:16px}.photo-arrow.right{right:16px}.photo-dots{display:flex;justify-content:center;gap:7px;padding-top:12px}.dot{width:7px;height:7px;border:0;border-radius:50%;background:#cfd2d8;padding:0;cursor:pointer}.dot.active{background:#4078FB;width:20px;border-radius:8px}@media(max-width:720px){.photo-section{padding-top:0}.photo-head{align-items:center}.photo-controls{display:none}.photo-slide{height:320px}.photo-arrow{width:38px;height:38px;font-size:27px}.photo-arrow.left{left:10px}.photo-arrow.right{right:10px}}
.brand-logo img{display:block;width:138px;height:46px;object-fit:contain;object-position:left center}.photo-section{padding:0 0 28px}.photo-head{display:none}.photo-gallery{max-width:500px;margin-left:auto;margin-right:0;border-radius:18px}.photo-slide{height:310px}.photo-arrow{width:38px;height:38px;font-size:27px}.photo-arrow.left{left:12px}.photo-arrow.right{right:12px}.photo-dots{padding-top:9px}.photo-section+.section{padding-top:12px}
@media(min-width:900px){
  .hero{position:relative;min-height:390px;padding-right:540px;display:flex;flex-direction:column;justify-content:center}
  .hero .photo-section{position:absolute;right:0;top:44px;width:500px}
}
@media(max-width:899px){
  .hero{padding-bottom:24px}
  .photo-section{margin-top:8px}
  .photo-gallery{max-width:none}
  .photo-slide{height:320px}
}
@media(max-width:720px){
  .brand-logo img{width:120px;height:42px}
}

.danger{border:1px solid #f0caca!important;color:#b33b3b!important;background:#fff!important;border-radius:10px;padding:11px 16px;cursor:pointer}
.danger:hover{background:#fff5f5!important}

.round-tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.danger{border:1px solid #e0b4b4;background:#fff7f7;color:#b52d2d;border-radius:10px;padding:10px 13px;font-weight:700;cursor:pointer}.danger:hover{background:#fff0f0}

.settings-actions{display:flex;gap:6px;flex-wrap:wrap}.danger{border:0;background:#ffecec;color:#c62828;padding:10px 13px;border-radius:10px;cursor:pointer;font-weight:700}.danger-outline{border:1px solid #ffd0d0;background:#fff}.tag.off{background:#f0f1f3;color:#777}.round-tools{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}

.profile-hero{padding:56px 0 34px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.profile-id{font-size:44px;font-weight:900;letter-spacing:-1.5px}.profile-nick{font-size:18px;margin-top:3px}.profile-rating{font-size:64px;line-height:1;font-weight:900;letter-spacing:-2px;margin-top:24px}.profile-actions{display:flex;gap:8px}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-card{background:#fff;border:1px solid #e8e9ed;border-radius:15px;padding:18px}.stat-card strong{display:block;font-size:34px;margin-top:6px}.chart-card{padding:22px}.rating-chart{width:100%;height:auto;display:block;margin-top:16px}.chart-axis{stroke:#e2e4e8;stroke-width:1}.chart-line{fill:none;stroke:#4078FB;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#4078FB}.chart-label{font-size:10px;fill:#8a8e96}.history-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid #eef0f3}.history-row:last-child{border-bottom:0}@media(max-width:720px){.profile-hero{align-items:flex-start;flex-direction:column;padding:38px 0 24px}.profile-id{font-size:36px}.profile-rating{font-size:54px}.profile-actions{width:100%;flex-wrap:wrap}.profile-stats{grid-template-columns:repeat(2,1fr)}}

.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.profile-card{width:100%;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:18px;padding:18px;cursor:pointer;transition:.15s}.profile-card:hover{transform:translateY(-2px);border-color:#999}.profile-card-top{display:flex;justify-content:space-between;align-items:center}.profile-card-id{font-size:13px;color:var(--muted)}.profile-card-rating{font-size:24px;font-weight:800}.profile-card-name{font-size:20px;font-weight:700;margin:18px 0}.profile-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px;color:var(--muted)}.profile-card-stats b{display:block;color:var(--text);font-size:16px;margin-top:2px}@media(max-width:700px){.profile-grid{grid-template-columns:1fr}}

.profile-login{max-width:560px}.profile-login .field{margin-top:18px}.profile-login input{text-transform:uppercase;letter-spacing:.04em}

@media(max-width:700px){
  
}

.brand-wordmark{
  display:block;
  font-size:28px;
  font-weight:800;
  letter-spacing:-0.04em;
  line-height:1;
  white-space:nowrap;
}
@media(max-width:700px){
  .brand-wordmark{font-size:23px}
}

.auth-page{min-height:60vh;display:grid;place-items:center;padding:40px 0}
.auth-card{width:min(460px,100%);border:1px solid var(--line);background:var(--card);border-radius:22px;padding:32px;box-shadow:0 12px 40px rgba(0,0,0,.06)}
.auth-card h1{margin:8px 0 10px;font-size:36px}
.auth-card p{color:var(--muted);line-height:1.5;margin-bottom:22px}
.auth-card .input{width:100%;box-sizing:border-box;margin-bottom:12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--bg);font-size:16px}
.auth-card .primary{width:100%;padding:14px 16px;border:0;border-radius:12px;cursor:pointer;font-weight:700;font-size:16px}
.auth-note{margin-top:16px;font-size:13px;color:var(--muted)}

/* Profile/auth navigation fix */
header button,.nav button{position:relative;z-index:10;pointer-events:auto}

.organizer-badge{font-size:12px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}

/* LOVE CHESS — dark monochrome theme */
:root{
  --bg:#080808;
  --card:#111111;
  --surface:#151515;
  --line:#2a2a2a;
  --line-strong:#3a3a3a;
  --text:#f5f5f5;
  --muted:#999999;
  --accent:#4078FB;
}
body{background:var(--bg);color:var(--text)}
.nav{background:#090909;border-bottom:1px solid var(--line)}
.brand-wordmark{color:#fff}
.links button,.ghost{color:#a8a8a8}
.links button:hover,.ghost:hover{background:#171717;color:#fff}
.links button.active{background:#fff;color:#080808}
.hero p,.meta,.muted{color:var(--muted)}
.eyebrow{color:#8eaefc}
h1,h2,.title{color:#fff}
.card,.stat-card,.auth-card,.profile-card{background:var(--card);border-color:var(--line);box-shadow:0 8px 28px rgba(0,0,0,.22)}
.card:hover,.profile-card:hover{border-color:#4a4a4a}
.tag{background:#1b1b1b;color:#cfcfcf;border:1px solid #303030}
.tag.off{background:#151515;color:#777;border-color:#292929}
.primary{background:#fff;color:#080808}
.primary:hover{background:#e8e8e8}
.primary:disabled{background:#444;color:#999}
.table{background:var(--card);border-color:var(--line);color:#f5f5f5}
.table th,.table td{border-bottom-color:var(--line)}
.table th{color:#888}
.field label{color:#aaa}
.field input,.field select,.match select,.addrow input,.auth-card .input{border-color:#333;background:#0d0d0d;color:#fff}
.field input::placeholder,.addrow input::placeholder,.auth-card .input::placeholder{color:#666}
.field input:focus,.match select:focus,.addrow input:focus,.auth-card .input:focus{border-color:#666;box-shadow:0 0 0 3px rgba(255,255,255,.05)}
.match select option,.field select option{background:#111;color:#fff}
.board{background:#1c1c1c;color:#8d8d8d}
.bye{color:#8eaefc}
.danger{background:#1a1010!important;border-color:#4a2525!important;color:#ff8f8f!important}
.danger:hover{background:#241212!important}
.danger-outline{background:#111!important;border-color:#4a2525!important}
.profile-id,.profile-rating,.rating,.smallrating,.profile-card-rating{color:#fff}
.profile-card-id,.profile-card-stats,.auth-note{color:#888}
.profile-card-stats b{color:#fff}
.history-row{border-bottom-color:var(--line)}
.chart-axis{stroke:#303030}
.chart-line{stroke:#fff}
.chart-point{fill:#fff}
.chart-label{fill:#777}
.photo-gallery{background:#0b0b0b}
.photo-btn{background:#151515;border-color:#333;color:#fff}
.photo-arrow{background:rgba(255,255,255,.94);color:#080808}
.dot{background:#444}
.dot.active{background:#fff}
.auth-card p{color:#999}
.auth-card .primary{background:#fff;color:#080808}
.organizer-badge{color:#aaa}
/* Clean LOVE CHESS wordmark */
.brand-logo{
  appearance:none;
  -webkit-appearance:none;
  border:0!important;
  outline:0;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0;
  color:#fff;
  cursor:pointer;
}
.brand-logo:hover,.brand-logo:focus,.brand-logo:active{
  border:0!important;
  outline:0;
  background:transparent!important;
  box-shadow:none!important;
}
.brand-wordmark{color:#fff!important}


.clock-wrap{max-width:1100px;margin:0 auto}.clock-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.clock-presets,.clock-custom,.clock-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.clock-custom input{width:76px}.clock-board{display:grid;grid-template-columns:1fr 1fr;gap:14px}.clock-side{min-height:280px;border:1px solid var(--border,#303030);background:#111;color:#fff;border-radius:18px;padding:28px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:.15s}.clock-side:hover{border-color:#555;background:#161616}.clock-side.clock-active{border-color:#fff;background:#1b1b1b}.clock-side.clock-zero{border-color:#666;color:#777}.clock-side strong{font-size:clamp(64px,10vw,132px);font-weight:700;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.clock-actions{justify-content:center;margin-top:18px}.clock-status{text-align:center;color:#888;margin-top:12px;min-height:20px}@media(max-width:700px){.clock-board{grid-template-columns:1fr}.clock-side{min-height:210px}.clock-toolbar{align-items:stretch}.clock-custom{width:100%}.clock-custom .primary{flex:1}}

/* Awards */
.awards-section h2{margin-bottom:4px}
.award-group{margin-top:28px}
.award-group h3{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:15px}
.award-group-icon{width:28px;height:28px;border:1px solid var(--border,#303030);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:13px}
.awards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.award-card{min-height:116px;border:1px solid var(--border,#303030);border-radius:14px;background:#111;padding:16px;display:flex;gap:12px;transition:.15s}
.award-card.unlocked{background:#151515;border-color:#555}
.award-card.locked{opacity:.62}
.award-icon{width:32px;height:32px;flex:0 0 32px;border-radius:50%;border:1px solid #444;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px}
.award-card.unlocked .award-icon{background:#fff;color:#080808;border-color:#fff}
.award-body{min-width:0;display:flex;flex-direction:column}
.award-body strong{font-size:14px;margin-bottom:5px}
.award-body .muted{font-size:12px;line-height:1.35}
.award-complete{font-size:11px;color:#fff;margin-top:auto;padding-top:10px;text-transform:uppercase;letter-spacing:.08em}
.award-progress{margin-top:auto;padding-top:10px}
.award-progress-bar{height:4px;background:#282828;border-radius:10px;overflow:hidden;margin-bottom:5px}
.award-progress-bar span{display:block;height:100%;background:#fff;border-radius:10px}
.award-progress small{font-size:10px;color:#777}
@media(max-width:900px){.awards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.awards-grid{grid-template-columns:1fr}}

/* My profile */
.profile-login-page{max-width:760px;margin:0 auto;padding:76px 0 60px;text-align:center}.profile-login-page h1{margin-bottom:12px}.profile-login-page>p{color:var(--muted);font-size:16px;max-width:600px;margin:0 auto 28px}.profile-login-card{max-width:560px;margin:0 auto;text-align:left;padding:28px}.profile-login-avatar{width:76px;height:76px;border:1px solid #333;border-radius:22px;display:flex;align-items:center;justify-content:center;font-family:"Times New Roman",serif;font-size:48px;margin:0 auto 22px;background:#151515;color:#fff}.profile-login-note{text-align:center;margin-top:14px;font-size:12px}
.profile-hero-new{padding-top:48px}.profile-main{display:flex;align-items:center;gap:22px}.profile-avatar-wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px}.profile-avatar{width:112px;height:112px;border-radius:26px;border:1px solid #343434;background:#151515;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.2)}.profile-avatar span{font-family:"Times New Roman",serif;font-size:76px;line-height:1}.avatar-edit{border:0;background:transparent;color:#999;font:inherit;font-size:12px;cursor:pointer;padding:4px 8px}.avatar-edit:hover{color:#fff}.profile-avatar-picker-wrap{max-width:520px;margin:-10px 0 24px 134px}.avatar-picker{display:none;border:1px solid #303030;background:#111;border-radius:18px;padding:16px}.avatar-picker.open{display:block}.avatar-picker-title{font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.avatar-options{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.avatar-option{border:1px solid #2c2c2c;background:#151515;color:#fff;border-radius:13px;padding:10px 5px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px}.avatar-option:hover{border-color:#666;background:#1b1b1b}.avatar-option.selected{border-color:#fff;background:#fff;color:#080808}.avatar-option span{font-family:"Times New Roman",serif;font-size:38px;line-height:1}.avatar-option small{font-size:9px;color:inherit}.profile-stats-5{grid-template-columns:repeat(5,1fr)}.profile-tournament-row{width:100%;border:1px solid #2d2d2d;background:#111;color:#fff;border-radius:15px;padding:17px 18px;margin-bottom:9px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;cursor:pointer}.profile-tournament-row:hover{border-color:#555;background:#161616}.profile-tournament-row.active{border-color:#fff}.profile-tournament-row div{display:flex;flex-direction:column;gap:4px}.profile-tournament-row span{font-size:12px;color:#888}.profile-tournament-row>b{font-size:12px;color:#aaa;white-space:nowrap}.empty-profile{padding:24px}.empty-profile strong{display:block;margin-bottom:5px}.empty-profile .ghost{margin-top:10px;padding-left:0;padding-right:0}.profile-identity{min-width:180px}.profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.profile-avatar.custom-avatar{overflow:hidden}.player-status{width:250px;min-width:230px;border:1px solid #303030;background:#111;border-radius:18px;padding:14px 16px;box-shadow:0 10px 28px rgba(0,0,0,.16)}.status-top{display:flex;align-items:center;gap:11px}.status-icon{width:42px;height:42px;border-radius:12px;background:#1a1a1a;border:1px solid #333;display:flex;align-items:center;justify-content:center;font-family:"Times New Roman",serif;font-size:29px}.status-kicker{font-size:9px;letter-spacing:.13em;color:#777;margin-bottom:3px}.status-top strong{font-size:16px}.status-progress{height:5px;background:#292929;border-radius:10px;overflow:hidden;margin:13px 0 8px}.status-progress span{display:block;height:100%;background:#fff;border-radius:10px}.status-meta{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#888}.avatar-options{max-height:420px;overflow-y:auto;padding-right:3px}.avatar-option{min-width:0}.avatar-option img{width:58px;height:58px;object-fit:cover;border-radius:50%;display:block;border:1px solid #333}.avatar-option.selected img{border-color:#111}.avatar-upload-row{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #292929}.avatar-upload{position:relative;min-height:76px;flex:1;border:1px dashed #444;background:#151515;border-radius:13px;padding:10px 12px;display:grid;grid-template-columns:36px 1fr;grid-template-rows:1fr 1fr;column-gap:10px;align-items:center;cursor:pointer}.avatar-upload:hover,.avatar-upload.selected{border-color:#777;background:#1b1b1b}.avatar-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.avatar-upload span{grid-row:1 / 3;width:36px;height:36px;border-radius:10px;border:1px solid #333;display:flex;align-items:center;justify-content:center;font-size:24px}.avatar-upload b{font-size:12px}.avatar-upload small{font-size:9px;color:#777}.avatar-reset{font-size:11px;white-space:nowrap}.profile-avatar-picker-wrap{max-width:760px}.profile-avatar-picker-wrap .avatar-picker{max-width:760px}.profile-avatar-picker-wrap .avatar-options{grid-template-columns:repeat(6,1fr)}
@media(max-width:900px){.profile-stats-5{grid-template-columns:repeat(3,1fr)}.profile-avatar-picker-wrap{margin-left:0}.profile-main{flex-wrap:wrap}.player-status{flex:1;min-width:230px}.profile-identity{flex-basis:100%}.profile-avatar-picker-wrap .avatar-options{grid-template-columns:repeat(4,1fr)}}
@media(max-width:720px){.profile-main{align-items:flex-start;flex-direction:column}.profile-avatar-wrap{flex-direction:row}.profile-avatar{width:92px;height:92px;border-radius:22px}.profile-avatar-picker-wrap{margin:0 0 10px}.avatar-options,.profile-avatar-picker-wrap .avatar-options{grid-template-columns:repeat(3,1fr)}.player-status{width:100%;min-width:0}.profile-identity{flex-basis:auto}.avatar-upload-row{align-items:stretch;flex-direction:column}.avatar-reset{align-self:flex-start}.profile-stats-5{grid-template-columns:repeat(2,1fr)}.profile-tournament-row{align-items:flex-start;flex-direction:column}.profile-tournament-row>b{display:none}}

/* Tournament standings */
.standings-heading{margin-bottom:14px}.standings-heading h2{margin-bottom:4px}.standings-wrap{width:100%;overflow-x:auto;border:1px solid var(--border,#303030);border-radius:16px;background:var(--card,#111);-webkit-overflow-scrolling:touch}.standings-table{min-width:820px;border:0;background:transparent}.standings-table th,.standings-table td{height:56px;vertical-align:middle}.standings-table th{white-space:nowrap}.standings-table .rank-col{width:58px}.standings-table .points-col{width:90px}.standings-table .results-col{min-width:210px}.rank-cell{text-align:center!important}.rank-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;font-weight:800}.leader-row .rank-number{background:#fff;color:#080808}.player-link{padding:0!important;color:inherit!important;font-weight:750;text-align:left}.player-link:hover{text-decoration:underline}.rating-cell,.points-cell{font-variant-numeric:tabular-nums}.points-cell{font-size:16px}.record-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.win-count{font-weight:800}.loss-count{color:#888}.results-cell{white-space:nowrap}.round-result{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;margin-right:5px;border:1px solid var(--border,#303030);border-radius:7px;font-size:11px;font-weight:800}.round-result.win{background:#fff;color:#080808;border-color:#fff}.round-result.loss{color:#888}.round-result.draw{background:#202020}.round-result.bye{border-color:#4078FB;color:#4078FB}.standings-table tbody tr:hover{background:rgba(255,255,255,.025)}
@media(max-width:720px){.standings-heading .muted{font-size:12px}.standings-wrap{border-radius:14px}.standings-table{min-width:760px}.standings-table th,.standings-table td{padding:11px 10px;height:52px}.standings-table .results-col{min-width:180px}}

/* Round selector */
.round-selector-section{margin-top:4px}.round-selector-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.round-selector-head h2{margin:0}.round-selector-count{white-space:nowrap;font-size:13px}.round-selector{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.round-tab{appearance:none;border:1px solid var(--border,#303030);background:var(--card,#111);color:var(--text,#fff);border-radius:10px;padding:10px 16px;font:inherit;font-size:14px;font-weight:700;white-space:nowrap;cursor:pointer;transition:.15s ease}.round-tab:hover{border-color:#555;background:#171717}.round-tab.active{background:#fff;color:#080808;border-color:#fff}.round-tab:focus-visible{outline:2px solid #4078FB;outline-offset:2px}
@media(max-width:720px){.round-selector-head{align-items:start}.round-selector-head h2{font-size:20px}.round-selector-count{padding-top:5px}.round-tab{padding:9px 13px;font-size:13px}}

.readonly-match-content{display:grid;grid-template-columns:72px minmax(0,1fr) 96px minmax(0,1fr);align-items:center;gap:16px;width:100%;min-height:64px}.readonly-board{font-size:12px;color:#888}.readonly-player{min-width:0;font-size:17px}.black-player{text-align:left}.readonly-score{display:flex;align-items:center;justify-content:center;min-width:78px;height:48px;border:1px solid var(--border,#303030);border-radius:12px;font-size:22px;font-weight:850;letter-spacing:.2px;font-variant-numeric:tabular-nums}.readonly-score.score-win-white{background:#fff;color:#080808;border-color:#fff}.readonly-score.score-win-black{background:#242424;color:#fff}.readonly-score.score-draw{background:#202020;color:#fff}.readonly-score.score-empty{color:#777;background:#151515}.readonly-match-content .white-player{text-align:right}.readonly-match-content .black-player{text-align:left}.round-panel .match:has(.readonly-match-content){padding:12px 20px}
@media(max-width:720px){.readonly-match-content{grid-template-columns:54px minmax(0,1fr) 72px minmax(0,1fr);gap:10px;min-height:58px}.readonly-player{font-size:14px}.readonly-score{min-width:62px;height:42px;border-radius:10px;font-size:18px}.round-panel .match:has(.readonly-match-content){padding:10px 12px}.readonly-board{font-size:11px}}

/* Homepage photo carousel: slightly larger hero image */
@media(min-width:721px){
  .hero .photo-section{width:540px}
  .photo-gallery{max-width:540px}
  .photo-slide{height:340px}
}


/* CLOCK FULLSCREEN UPDATE */

/* LOVE CHESS CLOCK — real mobile fullscreen overlay */
html.clock-html-lock,
body.clock-lock{
  overflow:hidden!important;
  width:100%!important;
  height:100%!important;
  overscroll-behavior:none!important;
  touch-action:manipulation;
}
body.clock-lock > *:not(#app):not(#clockFullscreen){display:none!important}
.clock-fullscreen{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  height:100svh!important;
  height:100dvh!important;
  min-height:100svh!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  background:#080808!important;
  color:#fff!important;
  z-index:2147483647!important;
  overflow:hidden!important;
  display:block!important;
  isolation:isolate;
  font-family:Inter,Arial,sans-serif;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
  overscroll-behavior:none;
}
.clock-fs-side{
  position:absolute!important;
  left:0!important;
  width:100%!important;
  height:50%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#080808!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  z-index:1!important;
  outline:none!important;
}
.clock-fs-top{top:0!important;transform:rotate(180deg)}
.clock-fs-bottom{bottom:0!important}
.clock-fs-side:active{background:#111!important}
.clock-fs-side strong{
  display:block!important;
  font-size:clamp(72px,22vw,180px)!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:-.055em!important;
  font-variant-numeric:tabular-nums!important;
  color:#fff!important;
}
.clock-fs-side.clock-active strong{color:#fff!important}
.clock-fs-side.clock-zero strong{color:#777!important}
.clock-fs-center{
  position:absolute!important;
  z-index:20!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:8px!important;
  border:1px solid #292929!important;
  border-radius:18px!important;
  background:rgba(14,14,14,.96)!important;
  box-shadow:0 8px 30px rgba(0,0,0,.45)!important;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.clock-fs-icon{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:48px!important;
  height:48px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #343434!important;
  border-radius:12px!important;
  background:#171717!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.clock-fs-icon:active{background:#292929!important;transform:scale(.96)}
.clock-fs-icon svg{width:23px!important;height:23px!important;display:block!important}
.clock-fs-status{
  position:absolute!important;
  z-index:20!important;
  left:50%!important;
  top:calc(50% + 43px)!important;
  transform:translateX(-50%)!important;
  color:#777!important;
  font-size:11px!important;
  line-height:1!important;
  white-space:nowrap!important;
  pointer-events:none!important;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.clock-fs-settings{
  position:absolute!important;
  z-index:30!important;
  left:50%!important;
  top:50%!important;
  width:min(420px,calc(100vw - 28px))!important;
  transform:translate(-50%,-50%) scale(.96)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  padding:18px!important;
  border:1px solid #333!important;
  border-radius:18px!important;
  background:#111!important;
  color:#fff!important;
  box-shadow:0 20px 70px rgba(0,0,0,.7)!important;
  transition:.16s ease!important;
}
.clock-fs-settings.open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translate(-50%,-50%) scale(1)!important;
}
.clock-fs-settings-head{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:14px!important}
.clock-fs-settings-head b{font-size:15px!important}
.clock-fs-close{appearance:none!important;border:0!important;background:transparent!important;color:#aaa!important;font-size:27px!important;line-height:1!important;cursor:pointer!important;padding:2px 6px!important}
.clock-fs-presets{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:7px!important}
.clock-fs-presets button,.clock-fs-swap,.clock-fs-custom button{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:1px solid #333!important;
  background:#181818!important;
  color:#fff!important;
  border-radius:10px!important;
  min-height:42px!important;
  padding:8px 10px!important;
  font:inherit!important;
  cursor:pointer!important;
}
.clock-fs-presets button:active,.clock-fs-swap:active,.clock-fs-custom button:active{background:#292929!important}
.clock-fs-custom{display:flex!important;align-items:center!important;gap:7px!important;margin-top:10px!important}
.clock-fs-custom input{width:72px!important;min-height:42px!important;border:1px solid #333!important;border-radius:10px!important;background:#0b0b0b!important;color:#fff!important;padding:8px!important;font:inherit!important;text-align:center!important}
.clock-fs-custom button{flex:1!important}
.clock-fs-swap{width:100%!important;margin-top:10px!important}
@media(max-width:520px){
  .clock-fs-icon{width:44px!important;height:44px!important;border-radius:11px!important}
  .clock-fs-center{gap:7px!important;padding:7px!important}
  .clock-fs-status{top:calc(50% + 39px)!important;font-size:10px!important}
  .clock-fs-presets{grid-template-columns:repeat(2,1fr)!important}
  .clock-fs-custom{flex-wrap:wrap!important}
  .clock-fs-custom input{flex:1!important;min-width:0!important;width:60px!important}
  .clock-fs-custom button{flex-basis:100%!important}
}
@media(orientation:landscape){
  .clock-fs-side strong{font-size:clamp(56px,18vh,150px)!important}
  .clock-fs-center{transform:translate(-50%,-50%) scale(.88)!important}
}


/* About */
.about-page{padding-bottom:70px}.about-hero{min-height:470px;display:grid;grid-template-columns:1fr 360px;gap:40px;align-items:center;padding:72px 0 58px;border-bottom:1px solid #e8e9ed}.about-hero-copy{max-width:720px}.about-hero h1{font-size:64px;margin-bottom:20px}.about-hero p{max-width:680px;font-size:19px;line-height:1.65;color:#626772}.about-actions{display:flex;gap:10px;margin-top:28px}.about-hero-mark{height:330px;border-radius:28px;background:#111;overflow:hidden}.about-hero-mark img{width:100%;height:100%;display:block;object-fit:cover}.about-section{padding:70px 0 0}.section-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#4078FB;font-weight:800;margin-bottom:10px}.about-section>h2{font-size:34px;letter-spacing:-.8px;margin-bottom:28px}.about-grid{display:grid;gap:14px;align-items:start}.about-grid-3{grid-template-columns:repeat(3,1fr)}.about-card-photo{display:block;width:calc(100% + 56px);height:190px;object-fit:cover;margin:-28px -28px 24px;border-radius:18px 18px 0 0}.about-card .about-icon{margin-bottom:14px;color:#fff}
.about-card{background:#111;border:1px solid #2b2b2b;border-radius:18px;padding:28px;min-height:0;color:#fff;overflow:hidden}.about-icon{font-size:30px;margin-bottom:16px;color:#fff;opacity:.9}.about-card h3,.project-card h3,.case-card h3{font-size:20px;line-height:1.25;margin:0 0 10px;color:#fff}.about-card p,.project-card p,.case-card p{color:#b7bbc3;margin:0;line-height:1.58;font-size:15px}.about-card:hover{border-color:#444;background:#141414}.about-card-photo + .about-icon{margin-top:0}.project-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e8e9ed}.project-card{display:grid;grid-template-columns:62px 1fr;gap:20px;padding:28px 22px 28px 0;border-bottom:1px solid #e8e9ed}.project-card:nth-child(odd){padding-right:34px;border-right:1px solid #e8e9ed}.project-card:nth-child(even){padding-left:34px}.project-num{font-size:13px;color:#4078FB;font-weight:800;padding-top:4px}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.case-card{background:#fff;border:1px solid #e8e9ed;border-radius:18px;padding:26px;min-height:220px}.case-label{font-size:10px;letter-spacing:.1em;font-weight:800;color:#4078FB;margin-bottom:28px}.about-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.about-photo{height:270px;overflow:hidden;border-radius:14px;background:#111}.about-photo:first-child{grid-column:span 2;height:390px}.about-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}.about-photo:hover img{transform:scale(1.025)}.about-contact{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;border-top:1px solid #e8e9ed;margin-top:70px;padding-top:58px}.about-contact-copy h2{font-size:38px;max-width:580px}.about-contact-copy p{max-width:580px;color:#686d76;font-size:17px;line-height:1.65}.contact-list{border-top:1px solid #e8e9ed}.contact-item{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:19px 0;border-bottom:1px solid #e8e9ed;text-decoration:none;color:inherit}.contact-item span{color:#777c85;font-size:13px}.contact-item b{font-size:15px}.contact-item:hover b{color:#4078FB}
@media(max-width:820px){.about-hero{grid-template-columns:1fr;padding:48px 0 40px}.about-hero-mark{display:none}.about-hero h1{font-size:48px}.about-grid-3,.case-grid{grid-template-columns:1fr}.project-list{grid-template-columns:1fr}.project-card:nth-child(odd){padding-right:0;border-right:0}.project-card:nth-child(even){padding-left:0}.about-gallery{grid-template-columns:1fr 1fr}.about-photo:first-child{grid-column:span 2}.about-contact{grid-template-columns:1fr;gap:30px;margin-top:50px}}
@media(max-width:520px){.about-page{padding-bottom:45px}.about-section{padding-top:48px}.about-section>h2{font-size:28px}.about-hero h1{font-size:42px}.about-hero p{font-size:16px}.about-actions{flex-wrap:wrap}.about-actions .primary,.about-actions .ghost{flex:1}.about-card{min-height:0;padding:23px}.about-gallery{grid-template-columns:1fr 1fr;gap:7px}.about-photo{height:180px;border-radius:10px}.about-photo:first-child{height:250px}.about-contact-copy h2{font-size:30px}.contact-item{align-items:flex-start;flex-direction:column;gap:5px}}

@media(max-width:820px){.about-card-photo{width:calc(100% + 46px);margin:-23px -23px 20px;height:200px}}
/* Case photos */
.case-grid{grid-template-columns:repeat(2,1fr);gap:14px;align-items:start}
.case-card{background:#111;border:1px solid #2b2b2b;border-radius:18px;padding:0;min-height:0;color:#fff;overflow:hidden}
.case-photo{display:block;width:100%;height:250px;object-fit:cover}
.case-body{padding:24px 26px 26px}
.case-label{margin-bottom:14px;color:#4078FB}
.case-card h3{color:#fff;margin-bottom:9px}
.case-card p{color:#b7bbc3}
.case-card:hover{border-color:#444;background:#141414}
@media(max-width:820px){.case-grid{grid-template-columns:1fr}.case-photo{height:220px}}
@media(max-width:520px){.case-photo{height:190px}.case-body{padding:20px 22px 22px}}

/* Плавная смена фотографий на главном экране */
.photo-gallery{isolation:isolate}
.photo-track{display:block;position:relative;height:510px;transform:none!important;transition:none!important}
.photo-slide{position:absolute;inset:0;width:100%;height:100%;min-width:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s ease;pointer-events:none}
.photo-slide.photo-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
@media(max-width:720px){.photo-track{height:320px}.photo-slide{height:100%}}

/* Управление участниками прямо на странице текущего турнира */
.tournament-participants-card{overflow:hidden}
.tournament-participants-list{margin-top:22px;display:flex;flex-direction:column;border-top:1px solid var(--line,#242424)}
.tournament-participant-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line,#242424)}
.tournament-participant-info{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}
.tournament-participant-info .player-link{padding:0;font-size:16px;font-weight:700}
.participant-rating{font-size:14px;color:var(--muted,#999);white-space:nowrap}
.tournament-participant-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.tournament-participant-row.is-inactive .player-link,.tournament-participant-row.is-removed .player-link{opacity:.62}
.tournament-participant-row.is-removed{opacity:.72}
@media(max-width:720px){
 .tournament-participant-row{align-items:flex-start;flex-direction:column;gap:12px}
 .tournament-participant-actions{width:100%;justify-content:flex-start}
 .tournament-participant-actions button{font-size:13px}
}

/* Homepage — balanced hero layout */
.home-hero{
  position:relative;
  min-height:500px;
  padding:46px 0 34px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 540px;
  column-gap:44px;
  align-items:center;
}
.home-hero .hero-copy{min-width:0;max-width:600px;padding-bottom:8px}
.home-hero .hero-copy h1{font-size:64px;line-height:.98;letter-spacing:-2.8px;margin:0 0 20px}
.home-hero .hero-copy p{max-width:590px;font-size:17px;line-height:1.65;color:#aaa}
.home-hero .eyebrow{font-size:11px;letter-spacing:.16em;margin-bottom:14px}
.home-hero-actions{display:flex;gap:12px;align-items:center;margin-top:28px;flex-wrap:wrap}
.home-hero-actions .primary{padding:15px 22px;border-radius:12px;font-size:15px}
.home-hero-actions .primary span{margin-left:12px;font-size:18px}
.home-about-btn{border:1px solid #666!important;color:#fff!important;padding:14px 26px!important;border-radius:12px!important}
.home-about-btn:hover{background:#171717!important}
.home-hero .photo-section{position:relative;width:540px;margin:0;padding:0 0 20px}
.home-hero .photo-gallery{width:540px;max-width:none;border-radius:20px}
.home-hero .photo-track{height:440px}
.home-hero .photo-slide{height:440px}
.home-hero .photo-dots{padding-top:12px}
.home-upcoming{padding-top:22px;scroll-margin-top:20px}
.home-section-head{margin-bottom:20px;align-items:center}
.home-section-head h2{font-size:30px;letter-spacing:-.8px;margin:0}
.home-all-tournaments{font-size:15px;color:#aaa;white-space:nowrap}
.tournament-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:875px;gap:14px}
.home-upcoming .tournament{min-height:190px}
.home-upcoming .tournament .title{font-size:22px}
.home-upcoming .tournament .meta{font-size:15px;line-height:1.65}
@media(max-width:1000px){
  .home-hero{grid-template-columns:minmax(0,1fr) 48%;column-gap:28px}
  .home-hero .photo-section,.home-hero .photo-gallery{width:100%}
  .home-hero .photo-track,.home-hero .photo-slide{height:380px}
  .home-hero .hero-copy h1{font-size:54px}
}
@media(max-width:820px){
  .home-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:42px 0 26px;gap:34px}
  .home-hero .hero-copy{max-width:none}
  .home-hero .hero-copy h1{font-size:48px}
  .home-hero .photo-section{order:2}
  .home-hero .photo-track,.home-hero .photo-slide{height:360px}
  .tournament-grid{grid-template-columns:1fr;max-width:none}
}
@media(max-width:720px){
  .home-hero{padding-top:38px;gap:28px}
  .home-hero .hero-copy h1{font-size:40px;letter-spacing:-1.8px}
  .home-hero .hero-copy p{font-size:16px;line-height:1.55}
  .home-hero-actions{margin-top:22px}
  .home-hero-actions .primary{width:auto}
  .home-hero .photo-section{width:100%}
  .home-hero .photo-gallery{width:100%;border-radius:18px}
  .home-hero .photo-track,.home-hero .photo-slide{height:320px}
  .home-section-head h2{font-size:24px}
}
.edit-round-notice{margin:0 0 14px;padding:12px 14px;border:1px solid #3a3a3a;background:#151515;border-radius:10px;color:#cfcfcf;font-size:14px;line-height:1.45}
