@charset "UTF-8";.file-preview-backdrop[data-v-4e34736d]{z-index:30}.file-preview-modal[data-v-4e34736d]{display:flex;flex-direction:column;width:min(900px,100%);max-height:min(820px,calc(100vh - 40px))}.file-preview-modal .modal-head[data-v-4e34736d]{flex:0 0 auto;margin-bottom:15px}.preview-title[data-v-4e34736d]{display:flex;align-items:baseline;gap:9px}.preview-title small[data-v-4e34736d]{color:#8491a5;font-size:10px}.file-preview-body[data-v-4e34736d]{display:grid;place-items:center;min-height:240px;overflow:auto;background:#f5f7fb;border:1px solid #e3e9f1;border-radius:8px}.file-preview-body img[data-v-4e34736d]{width:100%;max-height:calc(100vh - 160px);object-fit:contain}.file-preview-body iframe[data-v-4e34736d]{width:100%;height:min(650px,calc(100vh - 160px));border:0;background:#fff}.file-download-state[data-v-4e34736d]{display:grid;justify-items:center;gap:15px;padding:45px 20px;color:#8390a3}.file-download-state svg[data-v-4e34736d]{color:var(--blue)}.file-download-state strong[data-v-4e34736d]{color:var(--text);font-size:13px}.preview-nav[data-v-4e34736d]{display:grid;place-items:center;position:absolute;z-index:2;top:50%;width:34px;height:34px;color:#fff;background:#172235b8;border:0;border-radius:50%;transform:translateY(-50%)}.preview-nav[data-v-4e34736d]:hover{background:#2b7aff}.preview-prev[data-v-4e34736d]{left:12px}.preview-next[data-v-4e34736d]{right:12px}.file-preview-body[data-v-4e34736d]{position:relative}@media(max-width:767px){.file-preview-modal[data-v-4e34736d]{max-height:94vh;padding:18px 15px calc(18px + env(safe-area-inset-bottom))}.file-preview-body[data-v-4e34736d]{min-height:210px}.file-preview-body img[data-v-4e34736d]{max-height:calc(94vh - 120px)}.file-preview-body iframe[data-v-4e34736d]{height:calc(94vh - 120px)}}:root{--ink: #080c14;--ink-2: #0e1420;--panel: rgba(255, 255, 255, .055);--panel-strong: rgba(255, 255, 255, .09);--line: rgba(255, 255, 255, .1);--line-soft: rgba(255, 255, 255, .055);--text: #f4f6fb;--muted: #8792a7;--blue: #2b7aff;--blue-light: #72a7ff;--orange: #ff7a2b;--mint: #57d4b6;--yellow: #f7c963;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:var(--text);background:var(--ink);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{background:var(--ink);color:var(--text)}button,input,textarea,select{font:inherit}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.user-shell,.admin-shell{min-height:100vh;background:radial-gradient(circle at 80% 0%,rgba(43,122,255,.11),transparent 32rem),var(--ink)}.desktop-shell{display:grid;grid-template-columns:248px minmax(0,1fr)}.desktop-sidebar,.admin-sidebar{display:flex;flex-direction:column;position:fixed;z-index:5;inset:0 auto 0 0;width:248px;padding:28px 18px 20px;background:#080c14d6;border-right:1px solid var(--line-soft);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.brand-lockup{display:inline-flex;align-items:center;gap:11px;padding:0 12px}.brand-lockup strong{display:block;font-size:14px;letter-spacing:.18em}.brand-lockup small{display:block;color:var(--muted);font-size:10px;letter-spacing:.08em;margin-top:4px;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:32px;height:32px;color:#fff;font-style:italic;font-weight:900;border-radius:9px 3px;background:var(--blue);box-shadow:none;filter:none}.brand-mark.orange{background:var(--orange);box-shadow:none;filter:none}.side-label{padding:38px 12px 14px;color:#556074;font-size:10px;font-weight:700;letter-spacing:.18em}.side-nav{display:grid;gap:5px}.side-link{display:flex;align-items:center;gap:12px;height:46px;padding:0 13px;color:var(--muted);border:1px solid transparent;border-radius:8px;font-size:13px;transition:.2s ease}.side-link:hover{color:var(--text);background:#ffffff0a}.side-link.is-active{color:var(--text);background:#2b7aff21;border-color:#2b7aff38;box-shadow:inset 3px 0 var(--blue)}.side-link.is-active svg{color:var(--blue-light)}.nav-dot{width:5px;height:5px;margin-left:auto;border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px #57d4b61a}.sidebar-foot{display:grid;gap:13px;margin-top:auto}.admin-entry,.login-side-link{display:flex;align-items:center;gap:8px;padding:12px;color:var(--muted);font-size:12px;border:1px solid var(--line-soft);border-radius:8px;transition:.2s ease}.admin-entry:hover,.login-side-link:hover{color:var(--text);border-color:var(--line);background:#ffffff0a}.side-user{display:flex;align-items:center;gap:9px;padding:12px 7px 0;border-top:1px solid var(--line-soft)}.side-user img{width:34px;height:34px;flex:0 0 auto;border-radius:50%;object-fit:cover}.side-user>svg{width:34px;height:34px;flex:0 0 auto;padding:8px;color:var(--muted);background:#ffffff0f;border-radius:50%}.side-user>div:not(.admin-avatar){min-width:0;flex:1}.side-user strong,.side-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-user strong{font-size:12px}.side-user small{color:var(--muted);font-size:10px;margin-top:4px}.icon-button{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;border:1px solid transparent;border-radius:7px;color:var(--muted);background:transparent}.icon-button:hover{color:var(--text);border-color:var(--line);background:var(--panel)}.desktop-main{grid-column:2;min-width:0;padding:0 50px 50px}.desktop-topbar,.admin-topbar{display:flex;align-items:center;justify-content:space-between;min-height:112px;border-bottom:1px solid var(--line-soft)}.eyebrow,.mobile-kicker{color:#627087;font-size:10px;letter-spacing:.2em;font-weight:700}.desktop-topbar h1,.admin-topbar h1{margin:8px 0 0;font-size:25px;letter-spacing:-.03em}.topbar-actions{display:flex;align-items:center;gap:18px}.live-pill,.admin-status{display:inline-flex;align-items:center;gap:7px;color:#a7b3c5;font-size:10px;letter-spacing:.12em}.live-pill i,.admin-status i{display:block;width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px #57d4b61a}.top-avatar{display:grid;place-items:center;width:34px;height:34px;color:var(--muted);border-radius:50%;overflow:hidden;box-shadow:none;filter:none}.top-avatar.placeholder{background:#ffffff0f}.top-avatar img{width:100%;height:100%;object-fit:cover}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:7px;font-size:13px;font-weight:700;transition:transform .2s ease,background .2s ease,border-color .2s ease}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)}.button-primary{color:#fff;background:var(--blue);box-shadow:0 10px 24px #2b7aff2e}.button-primary:hover{background:#1e69e7}.button-orange{color:#180c05;background:var(--orange);box-shadow:0 10px 24px #ff7a2b29}.button-ghost{color:var(--text);background:var(--panel);border-color:var(--line)}.button-ghost:hover{background:var(--panel-strong)}.button-danger{color:#ff9d9d;background:#ef53501a;border-color:#ef535038}.button-small{min-height:36px;padding:0 14px;font-size:12px}.button-icon{min-width:36px;padding:0 10px}.page-content{width:min(1320px,100%);margin:0 auto;padding-top:38px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:21px}.section-heading h2{margin:0;font-size:19px;letter-spacing:-.02em}.section-heading p{margin:7px 0 0;color:var(--muted);font-size:12px}.text-link{display:inline-flex;align-items:center;gap:5px;color:var(--blue-light);font-size:12px}.text-link:hover{color:#fff}.muted{color:var(--muted)}.empty-state{display:grid;place-items:center;min-height:240px;padding:30px;color:var(--muted);text-align:center;border:1px dashed rgba(255,255,255,.12);border-radius:10px;background:#ffffff05}.empty-state svg{margin-bottom:12px;color:#58657a}.empty-state strong{color:#c8d0dc;font-size:14px}.empty-state p{max-width:340px;margin:7px 0 0;font-size:12px;line-height:1.7}.loading-state{display:grid;place-items:center;min-height:240px;color:var(--muted);font-size:13px}.form-error{margin:12px 0;padding:11px 13px;color:#ffadad;background:#ef535014;border:1px solid rgba(239,83,80,.18);border-radius:7px;font-size:12px}.field{display:grid;gap:8px;margin-bottom:15px}.field label{color:#a7b3c5;font-size:12px;font-weight:700}.field input,.field textarea,.field select,.filter-input{width:100%;color:var(--text);background:#ffffff0b;border:1px solid var(--line);border-radius:7px;outline:none;transition:.2s ease}.field input,.field select,.filter-input{height:44px;padding:0 13px}.field textarea{min-height:90px;padding:12px 13px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,.filter-input:focus{border-color:#2b7affb8;box-shadow:0 0 0 3px #2b7aff1c}.field select option{color:#111}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.form-grid .field.full{grid-column:1/-1}.card{background:var(--panel);border:1px solid var(--line-soft);border-radius:10px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.modal-backdrop{display:grid;place-items:center;position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;padding:20px;background:#03060bb3;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.modal{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:26px;background:#111824;border:1px solid var(--line);border-radius:12px;box-shadow:0 25px 80px #0000006b}.modal.wide{width:min(780px,100%)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:23px}.modal-head h2{margin:0;font-size:19px}.modal-head p{margin:7px 0 0;color:var(--muted);font-size:12px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:13px}.auth-page{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);min-height:100vh;background:var(--ink)}.auth-visual{display:flex;align-items:flex-end;position:relative;min-height:100vh;padding:72px;overflow:hidden;background:linear-gradient(90deg,#080c1433,#080c14db),url(https://images.unsplash.com/photo-1542751371-adc38448a05e?auto=format&fit=crop&w=1600&q=90) center/cover}.auth-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 35%,rgba(8,12,20,.95) 100%)}.auth-visual>*{position:relative;z-index:1}.auth-caption{max-width:590px}.auth-caption .brand-lockup{padding:0;margin-bottom:70px}.auth-caption h1{max-width:630px;margin:0;font-size:clamp(42px,5.5vw,78px);line-height:1.02;letter-spacing:-.06em}.auth-caption p{max-width:440px;margin:25px 0 0;color:#b1bac8;line-height:1.8;font-size:14px}.auth-side{display:grid;place-items:center;padding:40px 72px;background:#0b101ac7}.auth-form-wrap{width:min(380px,100%)}.auth-form-wrap h2{margin:0 0 9px;font-size:27px;letter-spacing:-.04em}.auth-form-wrap>p{margin:0 0 32px;color:var(--muted);font-size:13px}.auth-form-wrap .button{width:100%;margin-top:7px}.auth-switch{margin-top:20px!important;text-align:center}.auth-switch a{color:var(--blue-light);font-weight:700}.auth-helper{display:flex;gap:8px;margin-top:24px;padding:11px 12px;color:#8d9bb0;font-size:11px;line-height:1.6;border:1px solid var(--line-soft);border-radius:7px}.hero-banner{position:relative;min-height:330px;padding:46px;overflow:hidden;border:1px solid var(--line-soft);border-radius:12px;background:linear-gradient(90deg,#080c14f7,#080c14cc 44%,#080c1433),url(https://images.unsplash.com/photo-1550745165-9bc0b252726f?auto=format&fit=crop&w=1500&q=85) center/cover}.hero-banner:before{content:"01";position:absolute;right:35px;bottom:-35px;color:#ffffff0f;font-size:180px;font-weight:900;font-style:italic;line-height:1}.hero-content{position:relative;z-index:1;max-width:560px}.hero-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.14em}.hero-kicker i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px #ff7a2b1f}.hero-banner h2{max-width:540px;margin:17px 0 12px;font-size:clamp(30px,4vw,50px);letter-spacing:-.055em;line-height:1.04}.hero-banner p{max-width:440px;margin:0 0 26px;color:#a8b3c4;font-size:13px;line-height:1.8}.hero-actions{display:flex;gap:10px}.metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0 38px}.metric-card{position:relative;min-height:104px;padding:19px 20px;overflow:hidden}.metric-card:after{content:"";position:absolute;width:80px;height:80px;right:-25px;bottom:-35px;border:1px solid rgba(255,255,255,.07);border-radius:50%}.metric-card span{color:var(--muted);font-size:11px}.metric-card strong{display:block;margin-top:10px;font-size:27px;letter-spacing:-.04em}.metric-card em{color:var(--mint);font-size:11px;font-style:normal}.tournament-tabs{display:flex;gap:26px;margin-bottom:22px;border-bottom:1px solid var(--line-soft)}.tab-button{position:relative;padding:0 0 13px;color:var(--muted);border:0;background:none;font-size:13px}.tab-button:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;transform:scaleX(0);background:var(--blue);transition:.2s ease}.tab-button.is-active{color:var(--text);font-weight:700}.tab-button.is-active:after{transform:scaleX(1)}.tournament-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.tournament-card{position:relative;min-height:360px;overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.tournament-card:hover{transform:translateY(-8px);border-color:#2b7aff6b;box-shadow:0 18px 45px #0003,0 0 20px #2b7aff1a}.tournament-cover{height:172px;position:relative;overflow:hidden;background:#19202d}.tournament-cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.tournament-card:hover .tournament-cover img{transform:scale(1.06)}.tournament-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000000a,#080c14c7)}.status-tag{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;color:#fff;background:#080c14ad;border:1px solid rgba(255,255,255,.13);border-radius:5px;font-size:10px;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.status-tag i{width:5px;height:5px;border-radius:50%;background:currentColor}.status-tag.ongoing{color:var(--mint)}.status-tag.ended{color:#9aa6ba}.cover-status{position:absolute;z-index:1;top:13px;left:13px}.cover-id{position:absolute;z-index:1;right:13px;bottom:12px;color:#ffffffb8;font-size:10px;letter-spacing:.14em}.tournament-body h3{min-height:41px;margin:0;font-size:17px;line-height:1.3;letter-spacing:-.025em}.tournament-meta{display:flex;gap:7px;margin:10px 0 18px;color:var(--muted);font-size:11px}.tournament-meta span+span:before{content:"/";margin-right:7px;color:#455066}.progress-line{height:5px;overflow:hidden;background:#ffffff14;border-radius:5px}.progress-line span{display:block;height:100%;background:var(--blue);border-radius:inherit}.progress-info{display:flex;justify-content:space-between;margin-top:9px;color:var(--muted);font-size:10px}.progress-info strong{color:#cbd4e2;font-weight:600}.card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:17px}.prize{color:var(--orange);font-size:11px;font-weight:700}.detail-hero{position:relative;min-height:360px;overflow:hidden;margin-bottom:24px;border-radius:12px;border:1px solid var(--line-soft);background:#161d2a}.detail-hero img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.6}.detail-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#080c14f5,#080c14a1 56%,#080c144d)}.detail-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;min-height:360px;padding:38px}.detail-hero h2{max-width:700px;margin:14px 0 12px;font-size:clamp(28px,4vw,49px);letter-spacing:-.06em}.detail-hero p{max-width:620px;margin:0;color:#afbacb;font-size:13px}.detail-stats{display:flex;flex-wrap:wrap;gap:30px;margin-top:26px}.detail-stat span{display:block;color:var(--muted);font-size:10px}.detail-stat strong{display:block;margin-top:6px;color:#fff;font-size:16px}.detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.7fr);gap:18px}.detail-panel{padding:24px}.detail-panel h3{margin:0 0 16px;font-size:15px}.rules-copy{color:#a6b1c1;line-height:1.9;font-size:13px}.team-list{display:grid;gap:11px}.team-row{display:flex;align-items:center;gap:11px;padding:11px;background:#ffffff09;border-radius:7px}.team-rank{width:23px;color:var(--muted);font-size:11px;text-align:center}.team-emblem{display:grid;place-items:center;width:31px;height:31px;color:var(--blue-light);border:1px solid rgba(43,122,255,.26);border-radius:8px;background:#2b7aff1a;font-size:11px;font-weight:800}.team-row strong{font-size:12px}.team-row small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.side-info-list{display:grid;gap:17px}.info-item{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.info-item strong{color:#dfe6f0;font-weight:600;text-align:right}.sticky-cta{width:100%;margin-top:24px}.chart-card{padding:22px}.chart{width:100%;height:260px}.profile-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px}.profile-card{padding:27px}.profile-card .profile-avatar{width:74px;height:74px;margin-bottom:19px;overflow:hidden;border-radius:50%;box-shadow:none;filter:none}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-card h2{margin:0;font-size:21px}.profile-card .handle{margin:7px 0 22px;color:var(--muted);font-size:12px}.rank-badge{display:inline-flex;padding:7px 10px;color:var(--yellow);background:#f7c9631a;border:1px solid rgba(247,201,99,.2);border-radius:6px;font-size:11px;font-weight:700}.profile-facts{display:grid;gap:13px;margin-top:25px;padding-top:19px;border-top:1px solid var(--line-soft)}.profile-facts div{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.profile-facts strong{color:#ced7e5;font-weight:500}.records-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:680px}.data-table th,.data-table td{padding:15px 14px;border-bottom:1px solid var(--line-soft);text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.data-table th{color:#647087;font-size:10px;font-weight:700;letter-spacing:.08em}.data-table td{color:#c7d0df;font-size:12px}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#ffffff06}.pill{display:inline-flex;align-items:center;padding:5px 8px;color:#aab6c8;background:#ffffff12;border-radius:5px;font-size:10px}.pill-success{color:var(--mint);background:#57d4b61a}.pill-warning{color:var(--yellow);background:#f7c9631a}.pill-danger{color:#ff9d9d;background:#ef53501a}.room-code{color:var(--orange);font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:800;letter-spacing:.04em}.admin-shell{display:grid;grid-template-columns:248px minmax(0,1fr)}.admin-sidebar{background:#0b1019}.admin-main{grid-column:2;min-width:0;padding:0 45px 50px}.admin-context{display:flex;align-items:center;gap:7px;margin:30px 9px 0;padding:10px 11px;color:#aeb8c9;background:#ff7a2b12;border:1px solid rgba(255,122,43,.14);border-radius:7px;font-size:11px}.admin-context svg{color:var(--orange)}.admin-context b{margin-left:auto;color:#667287;font-size:9px;font-weight:500}.admin-nav .side-link.is-active{background:#ff7a2b1a;box-shadow:inset 3px 0 var(--orange)}.admin-nav .side-link.is-active svg{color:var(--orange)}.admin-avatar{display:grid;place-items:center;width:34px;height:34px;color:var(--orange);background:#ff7a2b1a;border:1px solid rgba(255,122,43,.2);border-radius:50%}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:17px}.toolbar-filters{display:flex;flex-wrap:wrap;gap:9px}.filter-input{width:210px;height:38px;font-size:12px}.filter-select{width:130px}.admin-table-card{overflow:hidden}.admin-table-card .data-table th,.admin-table-card .data-table td{padding:15px 18px}.action-group{display:flex;align-items:center;gap:7px}.table-action{padding:5px 7px;color:var(--blue-light);border:0;border-radius:5px;background:transparent;font-size:11px}.table-action:hover{background:#2b7aff1a}.table-action.danger{color:#ff9d9d}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:32px 0 18px}.admin-stat{min-height:118px;padding:19px}.admin-stat>div{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.admin-stat>div svg{color:var(--blue-light)}.admin-stat:nth-child(2)>div svg{color:var(--orange)}.admin-stat:nth-child(3)>div svg{color:var(--mint)}.admin-stat strong{display:block;margin-top:16px;font-size:29px;letter-spacing:-.05em}.admin-stat em{margin-left:6px;color:var(--mint);font-style:normal;font-size:10px}.dashboard-charts{display:grid;grid-template-columns:1.35fr .95fr;gap:14px;margin-top:14px}.dashboard-charts .chart-card:nth-child(3){grid-column:1}.dashboard-charts .chart-card:nth-child(4){grid-column:2}.chart-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.chart-title h3{margin:0;font-size:14px}.chart-title span{color:var(--muted);font-size:10px}.switcher{display:inline-flex;align-items:center;gap:6px;padding:4px;background:#ffffff0a;border:1px solid var(--line-soft);border-radius:7px}.switcher button{padding:6px 9px;color:var(--muted);border:0;border-radius:5px;background:transparent;font-size:11px}.switcher button.active{color:#fff;background:var(--blue)}.pagination{display:flex;justify-content:flex-end;gap:7px;padding:16px 18px;border-top:1px solid var(--line-soft)}.pagination button{display:grid;place-items:center;width:28px;height:28px;color:var(--muted);background:transparent;border:1px solid var(--line-soft);border-radius:5px}.pagination button.active,.pagination button:hover{color:#fff;background:var(--blue);border-color:var(--blue)}.mobile-shell{min-height:100vh;background:radial-gradient(circle at 90% 0,rgba(43,122,255,.13),transparent 22rem),var(--ink)}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 18px 17px}.mobile-topbar h1{margin:7px 0 0;font-size:22px;letter-spacing:-.04em}.mobile-login{display:grid;place-items:center;width:38px;height:38px;color:var(--blue-light);border:1px solid rgba(43,122,255,.28);border-radius:50%;background:#2b7aff17}.mobile-main{min-height:calc(100vh - 145px);padding:0 16px 95px}.mobile-tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;z-index:10;right:0;bottom:0;left:0;height:73px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));overflow:hidden;background:#0b0f19f0;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.mobile-tab{display:grid;place-items:center;align-content:center;gap:4px;min-width:0;height:53px;padding:0;color:#657187;border:0;outline:none;background:none;font-size:10px}.mobile-tab:focus{outline:none;box-shadow:none}.mobile-tab.is-active{color:var(--blue-light)}.mobile-tab.is-active svg{filter:drop-shadow(0 0 8px rgba(43,122,255,.5))}.mobile-main .page-content{padding-top:10px}.mobile-main .hero-banner{min-height:350px;padding:29px 23px;border-radius:11px;background-position:63% center}.mobile-main .hero-banner h2{font-size:35px}.mobile-main .hero-banner p{font-size:12px}.mobile-main .hero-actions{flex-wrap:wrap}.mobile-main .hero-actions .button{min-height:48px}.mobile-main .metrics-row{grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0 31px}.mobile-main .metric-card{min-height:88px;padding:16px}.mobile-main .metric-card strong{font-size:22px;margin-top:8px}.mobile-main .section-heading{align-items:center}.mobile-main .section-heading h2{font-size:18px}.mobile-main .tournament-tabs{gap:24px;overflow-x:auto}.mobile-main .tournament-grid{display:flex;overflow-x:auto;gap:12px;margin-right:-16px;padding-right:16px;padding-bottom:8px;scroll-snap-type:x mandatory}.mobile-main .tournament-card{min-width:calc(100vw - 32px);min-height:280px;scroll-snap-align:start}.mobile-main .tournament-cover{height:130px}.mobile-main .tournament-body{padding:15px}.mobile-main .tournament-body h3{min-height:auto;font-size:17px}.mobile-main .card-foot{margin-top:12px}.mobile-main .detail-hero{min-height:400px;margin:0 -16px 18px;border-right:0;border-left:0;border-radius:0}.mobile-main .detail-hero-content{min-height:400px;padding:24px 18px}.mobile-main .detail-hero h2{font-size:33px}.mobile-main .detail-layout,.mobile-main .profile-grid{display:grid;grid-template-columns:1fr;gap:12px}.mobile-main .detail-panel,.mobile-main .profile-card{padding:19px}.mobile-main .profile-grid .profile-card{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px}.mobile-main .profile-card .profile-avatar{width:61px;height:61px;margin:0}.mobile-main .profile-card .handle{flex:1;margin:0}.mobile-main .profile-card .profile-facts{width:100%;margin-top:7px}.mobile-main .chart{height:220px}.mobile-main .data-table{min-width:620px}.mobile-main .admin-toolbar{align-items:stretch;flex-direction:column}.mobile-main .filter-input{width:100%}.mobile-main .admin-stats{grid-template-columns:repeat(2,1fr)}.mobile-main .dashboard-charts{grid-template-columns:1fr}.mobile-main .dashboard-charts .chart-card:nth-child(3),.mobile-main .dashboard-charts .chart-card:nth-child(4){grid-column:auto}.admin-login-page{display:grid;place-items:center;min-height:100vh;padding:24px;background:radial-gradient(circle at 50% 0,rgba(255,122,43,.11),transparent 29rem),#080c14}.admin-login-card{width:min(420px,100%);padding:36px}.admin-login-card .brand-lockup{padding:0;margin-bottom:42px}.admin-login-card h1{margin:0 0 8px;font-size:29px}.admin-login-card p{margin:0 0 29px;color:var(--muted);font-size:13px}.admin-login-card .button{width:100%;margin-top:6px}.reveal-enter-active,.reveal-leave-active{transition:opacity .2s ease,transform .2s ease}.reveal-enter-from,.reveal-leave-to{opacity:0;transform:translateY(8px)}.toast-stack{display:grid;position:fixed;z-index:50;top:20px;right:24px;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;min-width:210px;padding:12px 14px;color:#dfe7f1;background:#141c29;border:1px solid var(--line);border-radius:7px;box-shadow:0 12px 34px #00000040;font-size:12px}.toast-success svg{color:var(--mint)}.toast-error svg{color:#ff8b8b}.toast-info svg{color:var(--blue-light)}@media(max-width:1050px)and (min-width:768px){.desktop-main,.admin-main{padding-right:28px;padding-left:28px}.auth-visual{padding:48px}.auth-side{padding:40px}.admin-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.desktop-shell,.admin-shell{display:block}.desktop-sidebar,.admin-sidebar,.desktop-topbar,.admin-topbar{display:none}.desktop-main,.admin-main{padding:0}.desktop-main>.page-content,.admin-main>.page-content{padding:10px 16px 95px}.auth-page{display:block;min-height:100vh}.auth-visual{display:none}.auth-side{min-height:100vh;padding:40px 25px}.auth-form-wrap h2{font-size:25px}.modal-backdrop{align-items:end;padding:0}.modal{max-height:90vh;border-radius:14px 14px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom))}.form-grid{grid-template-columns:1fr}.form-grid .field.full{grid-column:auto}.toast-stack{top:15px;right:15px;left:15px}.toast{min-width:0}}:root{color-scheme:light;--ink: #f5f7fb;--ink-2: #ffffff;--panel: #ffffff;--panel-strong: #ffffff;--line: #dfe6ef;--line-soft: #e9eef5;--text: #172235;--muted: #738096;--blue-light: #2267d1;--mint: #188d73;--yellow: #a46c00}html,body{background:var(--ink);scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar,.tournament-tabs::-webkit-scrollbar,.mobile-main .tournament-grid::-webkit-scrollbar{width:0;height:0;display:none}.user-shell,.admin-shell,.mobile-shell{background:var(--ink)}.desktop-sidebar,.admin-sidebar{background:#fffffff0;border-right-color:var(--line);box-shadow:8px 0 28px #1e375a09}.desktop-main,.admin-main{background:var(--ink)}.desktop-topbar,.admin-topbar{border-bottom-color:var(--line)}.side-link{color:#738096}.side-link:hover{color:var(--text);background:#f3f6fa}.side-link.is-active{color:var(--text);background:#edf4ff;border-color:#d7e6ff;box-shadow:inset 3px 0 var(--blue),0 4px 12px #2b7aff0f}.side-link.is-active svg{color:var(--blue)}.admin-nav .side-link.is-active{background:#edf4ff;border-color:#d7e6ff;box-shadow:inset 3px 0 var(--blue),0 4px 12px #2b7aff0f}.admin-nav .side-link.is-active svg{color:var(--blue)}.admin-entry,.login-side-link{border-color:var(--line)}.admin-entry:hover,.login-side-link:hover{background:#f7f9fc}.side-user{border-top-color:var(--line)}.icon-button{color:#7b8799}.icon-button:hover{color:var(--text);background:#f3f6fa;border-color:var(--line)}.card{background:var(--panel);border-color:var(--line-soft);box-shadow:0 8px 26px #1f345209}.desktop-topbar h1,.admin-topbar h1,.section-heading h2,.auth-form-wrap h2,.admin-login-card h1{color:var(--text)}.hero-banner{background:#fff url(https://images.unsplash.com/photo-1550745165-9bc0b252726f?auto=format&fit=crop&w=1500&q=85) right center/55% 100% no-repeat;border-color:var(--line);box-shadow:0 12px 35px #1f34520d}.hero-banner:before{display:none}.hero-banner:after{content:"";position:absolute;z-index:0;top:0;right:35%;bottom:0;left:0;background:#fff}.hero-banner h2{color:var(--text)}.hero-banner p{color:#6f7d92}.hero-content{z-index:1}.metric-card:after{border-color:#e8eef5}.metric-card span,.progress-info,.tournament-meta{color:var(--muted)}.metric-card strong{color:var(--text)}.metric-card em{color:var(--mint)}.tournament-tabs{border-bottom-color:var(--line)}.tab-button{color:#7b8799}.tab-button.is-active{color:var(--text)}.tab-button:after{background:var(--blue)}.tournament-card:hover{border-color:#bdd5ff;box-shadow:0 18px 45px #1f34521a,0 0 20px #2b7aff14}.progress-line{background:#e9eef5}.progress-info strong,.tournament-body h3,.detail-panel h3,.registration-top h3{color:var(--text)}.empty-state{color:var(--muted);background:#ffffffb3;border-color:#dce4ef}.empty-state strong{color:#344156}.detail-panel,.chart-card{border-color:var(--line)}.rules-copy,.detail-hero p{color:#69778d}.team-row,.registration-card,.review-summary{background:#f7f9fc;border-color:var(--line-soft)}.team-row strong,.team-row small,.info-item strong,.review-summary strong{color:var(--text)}.info-item{color:var(--muted)}.field input,.field textarea,.field select,.filter-input,.input-with-icon,.admin-login-input,.search-box{color:var(--text);background:#fff;border-color:var(--line)}.field input::placeholder,.field textarea::placeholder,.filter-input::placeholder,.search-box input::placeholder{color:#a4afbf}.field select option,.rank-select option{color:var(--text)}.modal-backdrop{background:#202f444d}.modal{background:#fff;border-color:var(--line);box-shadow:0 25px 80px #1f34522e}.modal-head p,.auth-form-wrap>p{color:var(--muted)}.form-notice{color:#5d6e86;background:#f3f7ff;border-color:#dce8ff}.toast{color:var(--text);background:#fff;border-color:var(--line);box-shadow:0 12px 34px #1f345226}.data-table th{color:#7c899b}.data-table td{color:#445268;border-bottom-color:var(--line-soft)}.data-table tbody tr:hover{background:#f8fafc}.rank-select{color:#445268;background:#fff;border-color:var(--line)}.admin-table-card{border-color:var(--line)}.pagination button{color:#738096;border-color:var(--line)}.admin-context{background:#fff7f1;border-color:#ffe3d1}.admin-stat>div,.chart-title span{color:var(--muted)}.admin-stat strong{color:var(--text)}.dashboard-charts .chart-card{box-shadow:0 8px 26px #1f34520a}.mobile-shell{background:var(--ink)}.mobile-topbar{background:#fffffff0;border-bottom:1px solid var(--line-soft)}.mobile-tabbar{background:#fffffff5;border-top-color:var(--line);box-shadow:0 -8px 25px #1f34520d}.mobile-tab{color:#8390a3}.mobile-tab.is-active{color:var(--blue)}.auth-page{background:var(--ink)}.auth-side{background:#fff}.auth-form-wrap h2{color:var(--text)}.auth-helper{color:#718097;background:#fff;border-color:var(--line)}.input-with-icon input,.admin-login-input input{color:var(--text)}.back-home{color:#8290a3}.admin-login-page{background:var(--ink)}.admin-login-card{border-color:var(--line)}.admin-login-note{color:#78869a}.table-title{color:var(--text)}.table-subtitle{color:#8190a4}.money-cell{color:var(--orange)}.member-cell{color:#58677d}.money-grid div{background:#fff8f2;border-color:#ffe1ce}.money-grid strong{color:var(--orange)}.brand-mark{overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand-mark b{font-weight:900}@media(max-width:767px){.mobile-main .hero-banner{min-height:380px;background-color:#fff;background-position:center bottom;background-size:100% 42%;background-repeat:no-repeat}.mobile-main .hero-banner:after{display:none}.mobile-main .tournament-cover{height:auto;aspect-ratio:16/9}.mobile-main .tournament-cover img{object-fit:contain;background:#edf2f7}}.admin-dashboard{padding-top:30px}.modal-head p,.proof-modal-note,.field-hint,.form-notice{display:none!important}.dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.dashboard-heading h2{margin:0;color:var(--text);font-size:21px;letter-spacing:-.03em}.dashboard-heading p{margin:7px 0 0;color:var(--muted);font-size:12px}.dashboard-sync{display:flex;align-items:flex-end;gap:12px;color:var(--muted);font-size:10px;white-space:nowrap}.dashboard-sync span{display:inline-flex;align-items:center;gap:7px;color:var(--mint);font-weight:700}.dashboard-sync span i{display:block;width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px #188d731a}.dashboard-sync span.syncing i{animation:sync-pulse .85s ease-in-out infinite}.dashboard-sync small{color:#9aa7b9;font-size:10px}@keyframes sync-pulse{50%{opacity:.35;transform:scale(.78)}}.admin-stats{margin-top:0}.admin-stat{position:relative;min-height:132px;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.admin-stat:after{content:"";position:absolute;right:-27px;bottom:-38px;width:95px;height:95px;border:1px solid #e9eff7;border-radius:50%}.admin-stat:hover{transform:translateY(-3px);border-color:#c9dafa;box-shadow:0 14px 32px #1f345217}.admin-stat>div{position:relative;z-index:1}.admin-stat>div svg{padding:5px;width:28px;height:28px;color:var(--blue);background:#edf4ff;border-radius:8px}.admin-stat.stat-tournaments>div svg{color:var(--orange);background:#fff3eb}.admin-stat.stat-registrations>div svg{color:var(--mint);background:#eaf8f4}.admin-stat.stat-revenue>div svg{color:#bd7a00;background:#fff5df}.admin-stat.stat-highlight{border-color:#f1d59b;background:linear-gradient(145deg,#fffdf7,#fff)}.admin-stat.stat-highlight>div svg{color:#a56800;background:#fff0c7}.admin-stat.stat-refunded>div svg{color:#c65d69;background:#fff0f1}.admin-stat.stat-pending>div svg{color:#718096;background:#f0f3f7}.admin-stat strong{position:relative;z-index:1;margin-top:14px;color:var(--text);font-size:28px;letter-spacing:-.04em}.admin-stat em{margin-left:5px;color:var(--muted);font-style:normal;font-size:10px;font-weight:500;letter-spacing:0}.admin-stat small{display:block;position:relative;z-index:1;margin-top:7px;color:#9aa7b9;font-size:10px}.dashboard-charts{margin-top:18px}.chart-card{min-height:342px;padding:23px 24px 17px;transition:border-color .22s ease,box-shadow .22s ease}.chart-card:hover{border-color:#c9dafa;box-shadow:0 14px 32px #1f345213}.chart-title{align-items:flex-start;margin-bottom:5px}.chart-title h3{margin-top:5px;color:var(--text);font-size:15px}.chart-title>span:last-child{margin-top:3px}.chart-kicker{display:block;color:#2b7aff;font-size:9px;font-weight:800;letter-spacing:.14em}.chart-title>svg{color:#188d73}.chart{height:276px}.tournament-body h3,.registration-main h3,.table-title,.detail-hero h2{overflow-wrap:anywhere}.card-foot{flex-wrap:wrap}@keyframes card-rise{0%{opacity:0}to{opacity:1}}@keyframes progress-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes status-pulse{50%{opacity:.45;transform:scale(.72)}}.tournament-card .progress-line span{transform-origin:left center;animation:progress-grow .75s cubic-bezier(.2,.7,.2,1) both}.status-tag.ongoing i{animation:status-pulse 1.8s ease-in-out infinite}.profile-records .registration-card{animation:card-rise .42s ease both}.profile-records .registration-card:nth-child(2){animation-delay:55ms}.profile-records .registration-card:nth-child(3){animation-delay:.11s}.profile-records .registration-card:nth-child(4){animation-delay:165ms}@media(max-width:767px){.admin-dashboard{padding-top:20px!important}.dashboard-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:15px}.dashboard-heading h2{font-size:19px}.dashboard-sync{align-items:center;width:100%;justify-content:space-between}.admin-dashboard .admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-dashboard .admin-stat{min-height:116px;padding:15px}.admin-dashboard .admin-stat strong{font-size:23px}.admin-dashboard .admin-stat small{font-size:9px}.admin-dashboard .chart-card{min-height:290px;padding:18px 15px 12px}.admin-dashboard .chart{height:225px}}@media(max-width:380px){.admin-dashboard .admin-stats{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.tournament-card .progress-line span,.status-tag.ongoing i,.profile-records .registration-card{animation:none}}@media(max-width:767px){html,body,#app{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}img,svg{-webkit-user-drag:none;user-drag:none}.mobile-main .tournament-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible;margin-right:0;padding-right:0;padding-bottom:0;scroll-snap-type:none}.mobile-main .tournament-card{min-width:0;min-height:0;scroll-snap-align:none}.mobile-main .tournament-cover{height:auto;aspect-ratio:16/10}.mobile-main .tournament-body{padding:12px}.mobile-main .tournament-body h3{min-height:36px;font-size:14px;line-height:1.3}.mobile-main .tournament-meta{flex-wrap:wrap;gap:3px 5px;min-height:31px;margin:8px 0 11px;line-height:1.45}.mobile-main .tournament-meta span+span:before{content:"·";margin-right:5px;color:#9aa7b9}.mobile-main .card-foot{align-items:flex-end;gap:5px;margin-top:11px}.mobile-main .card-foot .prize{flex:1;min-width:0;line-height:1.45}.mobile-main .card-foot>svg{flex:0 0 auto}}:root{--ink: #f4f6fa;--ink-2: #ffffff;--panel: #ffffff;--panel-strong: #f7f9fc;--line: #dce4ef;--line-soft: #e8edf4;--text: #172235;--muted: #748197;--blue: #2b78f4;--blue-light: #2569d4;--orange: #f4772c;--mint: #168d73;--yellow: #a66d00}html,body,#app{overflow-x:hidden}body,.desktop-main,.admin-main{background:var(--ink)}.desktop-sidebar,.admin-sidebar{background:#fffffffa;box-shadow:10px 0 30px #1e375a0b}.desktop-topbar,.admin-topbar{min-height:106px;border-bottom-color:var(--line)}.desktop-topbar h1,.admin-topbar h1{font-size:26px;font-weight:800}.page-content{width:min(1260px,100%);padding-top:32px}.card,.home-intro,.home-stat,.home-ad-banner{border-radius:12px;box-shadow:0 7px 22px #1f345209}.card:hover{border-color:#d5e1f0}.side-link{border-radius:9px}.side-link.is-active{background:#eef5ff;border-color:#d6e6ff;box-shadow:inset 3px 0 var(--blue),0 4px 13px #2b7af411}.button{border-radius:8px}.button-primary{box-shadow:0 8px 20px #2b7af429}.field input,.field textarea,.field select,.filter-input{border-radius:8px}.section-heading{margin-bottom:18px}.section-heading h2{font-size:20px;font-weight:800}.tournament-card{border-radius:12px;box-shadow:0 7px 22px #1f345209}.tournament-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #1f345217}.tournament-cover{background:#eef2f7}.tournament-body{padding:17px}.progress-line{height:6px;background:#e9eef5}.empty-state{border-radius:12px}.admin-main{padding-right:45px;padding-left:45px}.admin-sidebar{width:248px}.admin-stat,.chart-card{border-radius:12px}.table-action{border-radius:6px}.pagination button{border-radius:7px}@media(max-width:1050px)and (min-width:768px){.desktop-main,.admin-main{padding-right:28px;padding-left:28px}}@media(max-width:767px){.mobile-topbar{align-items:flex-start;min-height:92px;padding:16px 16px 14px}.mobile-main{min-height:calc(100vh - 160px);padding-right:16px;padding-left:16px}.mobile-main>.page-content{width:100%;padding-top:12px}.mobile-main .section-heading{gap:10px}.mobile-main .tournaments-heading{align-items:stretch;flex-direction:column}.mobile-main .tournaments-heading .search-box{width:100%}.mobile-main .tournament-tabs{gap:8px;padding-bottom:2px}.mobile-main .tab-button{flex:1 0 auto;padding-bottom:12px;font-size:12px;white-space:nowrap}.mobile-main .tournament-grid{align-items:stretch;gap:10px}.mobile-main .tournament-card{display:flex;flex-direction:column;min-height:100%}.mobile-main .tournament-body{display:flex;flex:1;flex-direction:column;padding:12px}.mobile-main .tournament-body .card-foot{margin-top:auto;padding-top:10px}.mobile-main .home-intro,.mobile-main .home-ad-banner,.mobile-main .home-stat,.mobile-main .card{box-shadow:0 6px 18px #1f345209}.mobile-main .home-intro{border-radius:11px}.mobile-main .home-summary{margin-bottom:28px}.mobile-main .admin-main{padding-right:0;padding-left:0}.admin-main{padding:0}.admin-main>.page-content{padding:12px 16px 32px}.admin-dashboard{padding-top:0!important}.admin-dashboard .admin-stat,.admin-dashboard .chart-card{border-radius:11px}.toast-stack{z-index:60}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--canvas: #f6f8fb;--blue-deep: #1557bd;--blue-soft: #eaf2ff;--orange-soft: #fff2e8}.desktop-shell{grid-template-columns:220px minmax(0,1fr);background:var(--canvas)}.desktop-sidebar{width:220px;padding:25px 13px 18px;background:#fff;border-right:1px solid #dce5f0;box-shadow:9px 0 28px #2038580d}.desktop-sidebar .brand-lockup{padding:0 10px;gap:10px}.desktop-sidebar .brand-mark{width:38px;height:38px;border-radius:12px 4px}.desktop-sidebar .brand-lockup strong{color:var(--text);font-size:15px;letter-spacing:.04em}.desktop-sidebar .brand-lockup small{margin-top:4px;color:#8a97aa;font-size:9px;letter-spacing:.02em}.desktop-sidebar .side-label{padding:28px 12px 9px;color:#8a97aa;font-size:10px;letter-spacing:.04em}.desktop-sidebar .side-label-account{padding-top:23px}.desktop-sidebar .side-nav{gap:4px}.desktop-sidebar .side-link{height:43px;gap:10px;padding:0 12px;border-radius:10px;font-size:12px}.desktop-sidebar .side-link.is-active{color:var(--blue-deep);background:var(--blue-soft);border-color:#d5e5ff;box-shadow:inset 4px 0 var(--blue),0 5px 13px #2b78f414}.desktop-sidebar .side-link.is-active svg{color:var(--blue)}.desktop-sidebar .account-nav{padding-bottom:10px;border-bottom:1px solid #eef2f7}.desktop-sidebar .admin-entry,.desktop-sidebar .login-side-link{border-radius:10px}.desktop-main{padding-right:44px;padding-left:44px;background:var(--canvas)}.desktop-topbar{min-height:91px;padding:0 4px;border-bottom:0}.desktop-topbar h1{margin-top:6px;font-size:28px;letter-spacing:-.045em}.desktop-topbar .eyebrow{color:#72819a;letter-spacing:.12em}.page-content{padding-top:23px}.home-intro{min-height:166px;padding:30px 32px;border-left:4px solid var(--blue);border-radius:14px;box-shadow:0 12px 30px #1f34520e}.home-intro h2{font-size:30px;letter-spacing:-.045em}.home-intro p{font-size:13px}.home-intro .button{min-height:43px;padding:0 20px}.home-summary{gap:14px;margin-top:20px}.home-stat{min-height:98px;padding:18px 20px;border-radius:12px}.home-stat strong{font-size:28px}.home-grid .tournament-card,.tournament-grid .tournament-card{border-radius:14px}.tournament-cover{height:186px}.tournament-body{padding:18px}.tournament-body h3{font-size:18px}.admin-shell{grid-template-columns:232px minmax(0,1fr);background:var(--canvas)}.admin-sidebar{width:232px;padding:25px 14px 18px;background:#fff;border-right:1px solid #dce5f0;box-shadow:9px 0 28px #2038580d}.admin-sidebar .brand-lockup{padding:0 10px}.admin-sidebar .brand-lockup strong{letter-spacing:.04em}.admin-sidebar .side-label{padding:28px 12px 9px;letter-spacing:.04em}.admin-sidebar .admin-group-toggle{height:44px;border-radius:10px}.admin-sidebar .admin-group-toggle.active{color:var(--blue-deep);background:var(--blue-soft)}.admin-sidebar .admin-subnav{padding-left:8px}.admin-sidebar .admin-subnav .side-link{border-radius:9px}.admin-main{padding-right:44px;padding-left:44px;background:var(--canvas)}.admin-topbar{min-height:91px;padding:0 4px;border-bottom:0}.admin-topbar h1{margin-top:6px;font-size:28px;letter-spacing:-.045em}.admin-dashboard{padding-top:21px}.dashboard-heading h2{font-size:23px}.admin-dashboard .admin-stats{gap:14px}.admin-dashboard .admin-stat{min-height:140px;padding:20px;border-radius:14px}.admin-dashboard .admin-stat.stat-highlight{background:#edf5ff;border-color:#bcd6ff;box-shadow:0 12px 25px #2b78f41c}.admin-dashboard .admin-stat.stat-highlight strong{color:var(--blue-deep)}.admin-dashboard .chart-card{border-radius:14px}.admin-dashboard .chart-feature{border-top:3px solid var(--blue)}@media(min-width:1100px){.desktop-main,.admin-main{min-width:0}.home-grid .tournament-grid,.tournaments-page .tournament-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:767px){.admin-main{padding-right:0!important;padding-left:0!important}.mobile-topbar{min-height:96px;padding:15px 16px 13px;background:#fff;border-bottom:1px solid #dce5f0}.mobile-more-button,.mobile-login{width:40px;height:40px;border-radius:10px;background:#f4f7fb;border-color:#dbe5f1}.mobile-main{background:var(--canvas)}.mobile-tabbar{height:76px;gap:5px;padding:8px 9px calc(8px + env(safe-area-inset-bottom));background:#fffffffa;border-top:1px solid #dce5f0;box-shadow:0 -10px 25px #20385812}.mobile-tab{height:52px;border-radius:11px;font-size:10px;transition:color .2s ease,background .2s ease,transform .2s ease}.mobile-tab.is-active{color:#fff;background:var(--blue);box-shadow:0 7px 16px #2b78f433;transform:translateY(-3px)}.mobile-tab.is-active svg{color:#fff;filter:none}.mobile-main .home-intro{min-height:165px;padding:20px 18px;border-left-width:3px;border-radius:13px}.mobile-main .home-intro h2{font-size:24px}.mobile-main .home-summary{gap:9px}.mobile-main .home-stat{min-height:84px;padding:14px 12px}.mobile-main .home-stat strong{font-size:23px}.mobile-main .tournament-cover{height:auto;aspect-ratio:16/10}.mobile-main .tournament-body h3{font-size:14px}.admin-main>.page-content{padding-top:13px}.admin-dashboard .admin-stats{gap:10px}.admin-dashboard .admin-stat.stat-highlight{grid-column:1/-1;min-height:132px}.admin-dashboard .admin-stat{min-height:118px;padding:15px;border-radius:12px}}
