.tkd-game-page{position:relative;overscroll-behavior:none;--hud-font: "Teko", "Bebas Neue", "Rajdhani", "Noto Sans JP", "Arial Narrow", "Segoe UI", sans-serif}.tkd-game-stage{position:relative;z-index:3;width:calc(100% + (var(--space-page) * 2));max-width:100vw;margin:-78px calc(var(--space-page) * -1) 0;padding-bottom:8px;background:linear-gradient(180deg,#04102a00 0,#06183aeb 84px,#081f46fa 190px),linear-gradient(180deg,#0a2141,#12406f 58%,#1c5f35)}.tkd-game-stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:24px 24px;opacity:.22}.tkd-game-hud{position:relative;z-index:4;display:grid;grid-template-columns:clamp(96px,19vw,162px) minmax(0,1fr) clamp(130px,28vw,248px);align-items:stretch;gap:clamp(6px,1.2vw,12px);margin:0;padding:0 clamp(10px,2.2vw,18px)}.tkd-game-hud-card{position:relative;overflow:hidden;display:grid;min-height:clamp(80px,15vw,116px);padding:clamp(8px,1.5vw,12px) clamp(9px,1.4vw,14px);border:1px solid rgba(87,153,237,.46);border-radius:16px;font-family:var(--hud-font);background:linear-gradient(156deg,#04102a80,#03173c66 56%,#04163680),radial-gradient(circle at 14% 10%,rgba(255,74,90,.08),transparent 36%),#03122d5c;-webkit-backdrop-filter:blur(1.8px) saturate(1.04);backdrop-filter:blur(1.8px) saturate(1.04);box-shadow:inset 0 0 0 1px #256cd826,inset 0 12px 18px #0e2e5e33,0 10px 20px #02081552}.tkd-game-hud-card:before{content:"";position:absolute;top:9px;right:12px;width:56px;height:12px;opacity:.58;background:repeating-linear-gradient(100deg,rgba(91,159,241,.3) 0 4px,transparent 4px 9px)}.tkd-game-hud-card:after{content:"";position:absolute;inset:7px;border:1px solid rgba(58,122,210,.24);border-radius:11px;pointer-events:none}.tkd-game-hud-card--level,.tkd-game-hud-card--lives{background:linear-gradient(160deg,#020e2680,#0419426b),#03122d57}.tkd-game-hud-card--level{display:grid;place-items:center;align-content:center;gap:4px}.tkd-game-hud-card--level:after,.tkd-game-hud-card--lives:after{background:linear-gradient(135deg,rgba(255,67,89,.24),transparent 40%) top left / 30px 24px no-repeat,linear-gradient(-135deg,rgba(255,67,89,.24),transparent 40%) top right / 30px 24px no-repeat,linear-gradient(180deg,rgba(49,101,188,.15),transparent 56%)}.tkd-game-hud-card--level small{color:#ff4c5a;font-size:clamp(.98rem,2.8vw,1.45rem);font-weight:900;letter-spacing:.05em;line-height:1;text-transform:uppercase;text-shadow:0 0 8px rgba(255,77,96,.3)}.tkd-game-hud-card--level strong{color:#f4f8ff;font-size:clamp(2.1rem,7.4vw,4rem);font-weight:900;line-height:1;letter-spacing:.02em;text-shadow:0 0 12px rgba(95,187,255,.48),0 0 22px rgba(255,76,94,.34)}.tkd-game-level-track{position:relative;overflow:hidden;width:min(100%,124px);min-height:20px;padding:2px;border:1px solid rgba(96,153,233,.38);border-radius:999px;background:linear-gradient(180deg,#09204370,#030e2375);box-shadow:inset 0 0 0 1px #427bcb38,0 0 14px #246fdc24}.tkd-game-level-fill{display:block;height:100%;min-width:0;border-radius:999px;background:linear-gradient(180deg,#ff7b84f2,#e02b42f2),#dc2d45;box-shadow:0 0 0 1px #ab112a70,0 0 12px #ff435c6b;transition:width .18s linear}.tkd-game-level-text{position:absolute;inset:0;display:grid;place-items:center;color:#f2f7ff;font-size:clamp(.68rem,1.5vw,.84rem);font-weight:900;letter-spacing:.08em;line-height:1;text-shadow:0 1px 6px rgba(8,18,37,.62)}.tkd-game-hud-card--power{display:grid;align-content:center;gap:10px}.tkd-game-hud-card--power.is-gain .tkd-game-power-track{animation:tkd-power-gain .68s ease-out}.tkd-game-hud-card--power.is-loss .tkd-game-power-track{animation:tkd-power-loss .62s ease-out}.tkd-game-hud-card__head{display:flex;align-items:center;gap:8px}.tkd-game-hud-card__head strong,.tkd-game-hud-card--lives>strong{color:#f8fbff;font-size:clamp(1rem,2.4vw,1.55rem);font-weight:850;line-height:1;letter-spacing:.02em;text-transform:uppercase}.tkd-game-hud-card__bolt{color:#ff4252;filter:drop-shadow(0 0 9px rgba(255,66,82,.45));font-size:clamp(1rem,2.2vw,1.4rem);line-height:1}.tkd-game-power-track{position:relative;overflow:hidden;min-height:clamp(36px,7vw,54px);padding:clamp(4px,.9vw,6px);border:1px solid rgba(91,154,231,.36);border-radius:11px;background:linear-gradient(180deg,#0d264e6b,#04112775);box-shadow:inset 0 0 0 1px #487ec233,0 7px 18px #00000052}.tkd-game-power-fill{--power-color: hsl(120 92% 46%);--power-glow-color: hsla(126 96% 55% / .72);display:block;height:100%;min-width:0;border-radius:8px;background:linear-gradient(180deg,color-mix(in hsl,var(--power-color) 89%,white 11%),var(--power-color)),var(--power-color);box-shadow:0 0 0 1px color-mix(in hsl,var(--power-color) 70%,black 30%),0 0 16px var(--power-glow-color),inset 0 0 0 1px #ffffff29;transition:width .18s linear,background-color .24s ease,box-shadow .24s ease}.tkd-game-power-text{position:absolute;top:50%;right:11px;transform:translateY(-50%);color:#f8fbff;font-size:clamp(1.06rem,3vw,1.98rem);font-weight:900;line-height:1;letter-spacing:.02em;text-shadow:0 2px 12px rgba(8,18,37,.48)}.tkd-game-power-delta{position:absolute;top:-26px;right:8px;font-size:clamp(.95rem,2.2vw,1.3rem);font-weight:900;letter-spacing:.04em;line-height:1;pointer-events:none;text-shadow:0 0 8px rgba(255,255,255,.35),0 0 20px rgba(10,20,40,.32)}.tkd-game-power-delta.is-gain{color:#79ff8b;animation:tkd-power-delta-gain .76s cubic-bezier(.22,1,.36,1) both}.tkd-game-power-delta.is-loss{color:#ff6f7f;animation:tkd-power-delta-loss .76s cubic-bezier(.22,1,.36,1) both}.tkd-game-hud-card--lives{display:grid;align-content:center;gap:9px}.tkd-game-lives-row{display:flex;align-items:center;justify-content:center;gap:clamp(2px,.7vw,8px)}.tkd-game-life{display:inline-grid;place-items:center;width:clamp(28px,5vw,46px);height:clamp(28px,5vw,46px);color:#e8eff8;font-size:clamp(1.2rem,3.5vw,2.1rem);line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4));transform-origin:center center}.tkd-game-life.is-empty{opacity:.2;filter:grayscale(1) drop-shadow(0 1px 2px rgba(0,0,0,.35))}.tkd-game-life.is-losing{animation:tkd-life-loss .68s cubic-bezier(.22,1,.36,1) both}.tkd-game-hud-card--lives>strong{color:#ff5d6b}.tkd-game-canvas-shell{position:relative;overflow:hidden;z-index:2;margin-top:-24px;border:0;border-top:1px solid rgba(82,138,212,.32);border-radius:0;box-shadow:none;background:#0b1f38}.tkd-game-canvas-shell{transform-origin:center center}.tkd-game-canvas-host{width:100%;height:min(76vh,760px);min-height:460px}.tkd-game-canvas{display:block;width:100%;height:100%;touch-action:none}.tkd-game-page.is-hit .tkd-game-canvas-shell,.tkd-game-page.is-hit .tkd-game-hud{animation:tkd-hit-shake .42s cubic-bezier(.17,.89,.32,1.16)}.tkd-game-page.is-player-hit .tkd-game-canvas-shell{animation:tkd-player-impact .52s ease-out}.tkd-game-life-loss-fx{position:fixed;inset:0;z-index:120;pointer-events:none;display:grid;place-items:center;animation:tkd-fx-fade .92s ease forwards}.tkd-game-life-loss-fx__ring{position:absolute;width:min(54vmin,520px);aspect-ratio:1 / 1;border:4px solid rgba(255,67,84,.88);border-radius:999px;filter:drop-shadow(0 0 24px rgba(255,40,74,.66));animation:tkd-fx-ring .7s ease-out forwards}.tkd-game-life-loss-fx__ring.is-delayed{border-color:#ff60668c;animation-delay:.12s}.tkd-game-life-loss-fx__flash{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,38,84,.28),transparent 36%),linear-gradient(180deg,#ff334f3d,#ff183414);mix-blend-mode:screen;animation:tkd-fx-flash .46s ease-out both}.tkd-game-own-hit-fx{position:fixed;inset:0;z-index:130;pointer-events:none;display:grid;place-items:center;animation:tkd-own-hit-fade .92s ease forwards}.tkd-game-own-hit-fx__ring{position:absolute;width:min(68vmin,660px);aspect-ratio:1 / 1;border:5px solid rgba(255,72,206,.95);border-radius:999px;filter:drop-shadow(0 0 30px rgba(113,255,245,.8)) drop-shadow(0 0 50px rgba(255,78,188,.72));animation:tkd-own-hit-ring .76s cubic-bezier(.16,.84,.23,1) forwards}.tkd-game-own-hit-fx__ring.is-delayed{border-color:#66ebffb3;animation-delay:.12s}.tkd-game-own-hit-fx__flash{position:absolute;inset:0;background:radial-gradient(circle at 32% 38%,rgba(91,246,255,.38),transparent 34%),radial-gradient(circle at 68% 56%,rgba(255,56,201,.32),transparent 34%),linear-gradient(180deg,#ff3c8c3d,#4adbff33);mix-blend-mode:screen;animation:tkd-own-hit-flash .62s ease-out both}.tkd-game-gamjeom-fx{position:fixed;inset:0;z-index:135;pointer-events:none;display:grid;place-items:center}.tkd-game-gamjeom-fx>strong{display:inline-block;padding:clamp(10px,2.2vw,18px) clamp(18px,4vw,34px);border:1px solid rgba(255,102,126,.72);border-radius:14px;color:#ffeef1;font-family:var(--hud-font);font-size:clamp(2rem,10vw,6.2rem);font-weight:900;letter-spacing:.04em;line-height:.9;text-transform:uppercase;text-shadow:0 0 14px rgba(255,74,104,.9),0 0 36px rgba(254,40,118,.74),0 0 70px rgba(116,242,255,.44);background:linear-gradient(180deg,#b11a34e6,#4b0719f2),radial-gradient(circle at 20% 20%,rgba(255,145,169,.45),transparent 56%);box-shadow:inset 0 0 0 1px #ffaaba4d,0 22px 46px #00000080;animation:tkd-gamjeom-burst .74s cubic-bezier(.19,1,.22,1) both}.tkd-game-start-layer{position:fixed;inset:0;z-index:138;display:grid;place-items:center;padding:20px;background:#020814d6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tkd-game-start-layer__inner{position:relative;width:min(92vw,720px);padding:clamp(18px,3.2vw,30px);border:1px solid rgba(95,159,238,.44);border-radius:18px;text-align:center;background:linear-gradient(160deg,#020f28f5,#03183af2),radial-gradient(circle at 16% 0,rgba(255,89,110,.18),transparent 40%);box-shadow:inset 0 0 0 1px #2c6abe3d,0 20px 44px #0000008a}.tkd-game-start-avatar{position:absolute;top:0;left:50%;width:148px;height:150px;transform:translate(-50%,-96%);pointer-events:none;z-index:2}.tkd-game-start-avatar__canvas{display:block;width:100%;height:100%}.tkd-game-start-layer__inner>strong{display:block;margin-bottom:12px;color:#f2f7ff;font-family:var(--hud-font);font-size:clamp(1.5rem,5.8vw,3rem);font-weight:900;letter-spacing:.04em;text-transform:uppercase}.tkd-game-start-layer__inner>p{margin:8px 0;color:#e7f1fff0;font-family:var(--hud-font);font-size:clamp(.96rem,2.4vw,1.28rem);font-weight:700;letter-spacing:.02em}.tkd-game-start-rule{display:flex;align-items:center;justify-content:center;gap:10px}.tkd-game-start-rule__logo{width:clamp(24px,5vw,38px);height:clamp(24px,5vw,38px);border-radius:999px;border:1px solid rgba(153,206,255,.66);box-shadow:0 0 0 2px #0c2246e6,0 0 12px #52a9ff47;object-fit:cover}.tkd-game-start-layer__inner>p.is-warning{margin-top:12px;color:#ff6d80;font-weight:900;text-shadow:0 0 12px rgba(255,86,113,.36)}.tkd-game-start-highscore{width:min(100%,430px);margin:14px auto 0;padding:10px 12px;border:1px solid rgba(98,164,245,.4);border-radius:12px;text-align:center;background:linear-gradient(170deg,#041536e0,#030f25e6),#030d21db;box-shadow:inset 0 0 0 1px #3171c438,0 8px 20px #00000057}.tkd-game-start-highscore small{display:block;color:#8fc0ff;font-family:var(--hud-font);font-size:.84rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.tkd-game-start-highscore strong{display:block;margin-top:4px;color:#f2f8ff;font-family:var(--hud-font);font-size:clamp(1rem,2.6vw,1.35rem);font-weight:900;letter-spacing:.02em;line-height:1.2;text-shadow:0 0 12px rgba(75,166,255,.26)}.tkd-game-start-highscore span{display:block;margin-top:3px;color:#cde4ffeb;font-family:var(--hud-font);font-size:.88rem;font-weight:700;letter-spacing:.03em}.tkd-game-start-button{margin-top:16px;min-width:clamp(164px,36vw,240px);min-height:48px;padding:8px 18px;border:1px solid rgba(92,158,239,.62);border-radius:12px;color:#eef6ff;font-family:var(--hud-font);font-size:clamp(1rem,3.2vw,1.5rem);font-weight:900;letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(180deg,#103a6ff2,#071c42fa);box-shadow:inset 0 0 0 1px #4082d74d,0 10px 24px #0006}.tkd-game-start-button.is-armed{border-color:#ff6074d1;color:#fff4f6;background:linear-gradient(180deg,#bc273ff0,#841227fa);box-shadow:inset 0 0 0 1px #ff7f935c,0 0 22px #ff445d6b}.tkd-game-over-layer{position:fixed;inset:0;z-index:140;display:grid;place-items:start center;padding-top:max(14px,calc(env(safe-area-inset-top) + 8px));background:#030814c2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:tkd-over-backdrop .54s ease both}.tkd-game-over-layer__inner{min-width:min(92vw,620px);padding:18px 22px 16px;border:1px solid rgba(255,66,90,.7);border-radius:18px;text-align:center;background:radial-gradient(circle at 50% -12%,rgba(255,82,102,.26),transparent 54%),linear-gradient(180deg,#121c34f2,#080d20fa);box-shadow:inset 0 0 0 1px #ff5e7438,0 16px 42px #00000085;animation:tkd-over-pop .64s cubic-bezier(.22,1,.36,1) both}.tkd-game-over-layer__inner strong{display:block;color:#ff4b5c;font-size:clamp(2.1rem,12vw,4rem);font-weight:900;letter-spacing:.03em;line-height:.92;text-shadow:0 0 14px rgba(255,72,96,.62),0 0 30px rgba(255,55,82,.3);animation:tkd-over-glow 1.24s ease-in-out infinite}.tkd-game-over-layer__inner p{margin-top:4px;color:#eef4ffeb;font-size:.92rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.tkd-game-over-highscores{margin-top:10px;padding:10px 10px 8px;border:1px solid rgba(90,159,239,.38);border-radius:14px;text-align:left;background:linear-gradient(170deg,#02102be6,#031638e6),#010c1ee0;box-shadow:inset 0 0 0 1px #387acc33,0 10px 24px #00000061}.tkd-game-over-highscores h4{margin:0 0 8px;color:#ff6372;font-size:1.05rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.tkd-game-over-highscores p{margin-top:0;color:#e9f1ffe6;font-size:.85rem;font-weight:700;letter-spacing:.03em;text-transform:none}.tkd-game-over-highscores__list{margin:0;padding:0;list-style:none;display:grid;gap:6px}.tkd-game-over-highscores__list li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 8px;border:1px solid rgba(66,129,209,.28);border-radius:10px;background:linear-gradient(180deg,#091f42bd,#05132abd)}.tkd-game-over-highscores__rank{color:#8fc0ff;font-size:.86rem;font-weight:900}.tkd-game-over-highscores__name{color:#f1f7ff;font-size:.9rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tkd-game-over-highscores__score{color:#7fff9d;font-size:1rem;font-weight:900;text-shadow:0 0 10px rgba(99,255,146,.34)}.tkd-game-over-actions{margin-top:12px;display:grid;justify-items:center;gap:6px}.tkd-game-over-new-game{min-width:clamp(158px,42vw,238px);min-height:44px;padding:8px 16px;border:1px solid rgba(99,159,239,.56);border-radius:12px;color:#eef6ff;font-family:var(--hud-font);font-size:clamp(1rem,2.8vw,1.35rem);font-weight:900;letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(180deg,#10386cf2,#081d43fa);box-shadow:inset 0 0 0 1px #4585d747,0 10px 20px #00000057;transition:transform .15s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}.tkd-game-over-new-game:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #549cf866,0 12px 24px #0000006b}.tkd-game-over-new-game:active{transform:translateY(1px) scale(.99)}.tkd-game-over-new-game.is-armed{border-color:#ff6074c7;color:#fff4f6;background:linear-gradient(180deg,#be2740f0,#841427fa);box-shadow:inset 0 0 0 1px #ff849257,0 0 22px #ff48626b}@keyframes tkd-life-loss{0%{transform:scale(1) rotate(0);opacity:1}44%{transform:scale(1.34) rotate(-18deg);opacity:.96}to{transform:translateY(-16px) scale(.62) rotate(42deg);opacity:0}}@keyframes tkd-hit-shake{0%,to{transform:translateZ(0)}15%{transform:translate3d(-7px,1px,0)}30%{transform:translate3d(8px,-2px,0)}45%{transform:translate3d(-8px,1px,0)}60%{transform:translate3d(7px,-1px,0)}75%{transform:translate3d(-3px,0,0)}}@keyframes tkd-fx-ring{0%{transform:scale(.2);opacity:.9}80%{opacity:.6}to{transform:scale(1.18);opacity:0}}@keyframes tkd-fx-flash{0%{opacity:.95}to{opacity:0}}@keyframes tkd-fx-fade{0%{opacity:1}to{opacity:0}}@keyframes tkd-over-backdrop{0%{opacity:0}to{opacity:1}}@keyframes tkd-over-pop{0%{transform:scale(.72);opacity:0}70%{transform:scale(1.03);opacity:1}to{transform:scale(1);opacity:1}}@keyframes tkd-over-glow{0%,to{text-shadow:0 0 14px rgba(255,72,96,.62),0 0 30px rgba(255,55,82,.3)}50%{text-shadow:0 0 10px rgba(255,78,104,.88),0 0 44px rgba(255,39,65,.52)}}@keyframes tkd-player-impact{0%{filter:brightness(1.2) saturate(1.12);transform:translateZ(0) scale(1)}20%{filter:brightness(1.45) saturate(1.25);transform:translate3d(-4px,1px,0) scale(1.006)}40%{filter:brightness(1.28) saturate(1.1);transform:translate3d(4px,-1px,0) scale(.998)}72%{filter:brightness(1.08) saturate(1.02);transform:translate3d(-2px,1px,0) scale(1.001)}to{filter:brightness(1) saturate(1);transform:translateZ(0) scale(1)}}@keyframes tkd-own-hit-ring{0%{transform:scale(.24);opacity:.95}72%{opacity:.8}to{transform:scale(1.24);opacity:0}}@keyframes tkd-own-hit-flash{0%{opacity:.86}to{opacity:0}}@keyframes tkd-own-hit-fade{0%{opacity:1}to{opacity:0}}@keyframes tkd-gamjeom-burst{0%{opacity:0;transform:scale(.45) rotate(-12deg)}40%{opacity:1;transform:scale(1.12) rotate(0)}72%{opacity:1;transform:scale(1.2) rotate(8deg)}to{opacity:0;transform:scale(.82) rotate(58deg)}}@keyframes tkd-power-gain{0%{box-shadow:inset 0 0 0 1px #487ec233,0 7px 18px #00000052}35%{box-shadow:inset 0 0 0 1px #5eec8e80,0 0 24px #4aff7a85}to{box-shadow:inset 0 0 0 1px #487ec233,0 7px 18px #00000052}}@keyframes tkd-power-loss{0%{box-shadow:inset 0 0 0 1px #487ec233,0 7px 18px #00000052}35%{box-shadow:inset 0 0 0 1px #ff5b748f,0 0 26px #ff365994}to{box-shadow:inset 0 0 0 1px #487ec233,0 7px 18px #00000052}}@keyframes tkd-power-delta-gain{0%{opacity:0;transform:translateY(8px) scale(.72)}25%{opacity:1;transform:translateY(0) scale(1.08)}to{opacity:0;transform:translateY(-20px) scale(1)}}@keyframes tkd-power-delta-loss{0%{opacity:0;transform:translateY(-8px) scale(.78)}25%{opacity:1;transform:translateY(0) scale(1.08)}to{opacity:0;transform:translateY(18px) scale(1)}}@media(max-width:760px){.tkd-game-stage{margin-top:-72px;padding-bottom:4px}.tkd-game-hud{grid-template-columns:clamp(88px,21vw,126px) minmax(0,1fr) clamp(118px,30vw,174px);gap:7px;padding-inline:10px}.tkd-game-hud-card--level{gap:0}.tkd-game-level-track{width:100%}.tkd-game-hud-card{min-height:clamp(76px,20vw,96px);padding:8px 9px}.tkd-game-canvas-shell{margin-top:-20px}.tkd-game-canvas-host{height:min(72vh,640px);min-height:420px}.tkd-game-start-avatar{width:126px;height:128px;transform:translate(-50%,-93%)}}:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--color-ink: #101827;--color-muted: #657084;--color-bg: #eef2f7;--color-surface: #ffffff;--color-surface-strong: #f7f9fc;--color-navy: #07101f;--color-blue: #174f86;--color-red: #d30d16;--color-red-dark: #9c0710;--color-line: rgba(18, 29, 47, .1);--shadow-card: 0 18px 45px rgba(10, 22, 39, .13);--radius-card: 8px;--radius-pill: 999px;--space-page: clamp(16px, 4vw, 28px)}:root[data-theme=dark]{color-scheme:dark;--color-ink: #e5edf8;--color-muted: #9aacbf;--color-bg: #0b111a;--color-surface: #121c2b;--color-surface-strong: #182538;--color-navy: #02070f;--color-blue: #2f75b8;--color-red: #e54a53;--color-red-dark: #c5313b;--color-line: rgba(170, 190, 214, .2)}*{box-sizing:border-box}html{width:100%;max-width:100%;min-height:100%;background:var(--color-bg);overflow-x:hidden}body{width:100%;max-width:100%;min-width:320px;min-height:100vh;margin:0;background:linear-gradient(180deg,rgba(7,16,31,.96) 0,rgba(7,16,31,.72) 220px,transparent 420px),var(--color-bg);color:var(--color-ink);overflow-x:hidden}:root[data-theme=dark] body{background:linear-gradient(180deg,rgba(1,6,12,.96) 0,rgba(1,6,12,.74) 220px,transparent 420px),var(--color-bg)}:root[data-theme=dark] .tournament-medal-box>strong,:root[data-theme=dark] .tournament-medal-box__item,:root[data-theme=dark] .tournament-fight-areas-control strong,:root[data-theme=dark] .tournament-fighter-row__copy strong,:root[data-theme=dark] .tournament-fighter-row__copy small,:root[data-theme=dark] .tournament-fighter-row__coach.is-assigned,:root[data-theme=dark] .tournament-hero-card__person-row strong,:root[data-theme=dark] .tournament-hero-card__person-row small,:root[data-theme=dark] .tournament-participant-scale-box label,:root[data-theme=dark] .tournament-participant-scale-box small,:root[data-theme=dark] .tournament-participant-scale-box__unit,:root[data-theme=dark] .tournament-fighter-expanded__weigh-in label,:root[data-theme=dark] .tournament-fighter-expanded__weigh-in small,:root[data-theme=dark] .tournament-fighter-fight-card label,:root[data-theme=dark] .tournament-fighter-expanded__footer label{color:#3f4f64}:root[data-theme=dark] .tournament-fight-areas-control,:root[data-theme=dark] .tournament-hero-card__person-row,:root[data-theme=dark] .tournament-fighter-row,:root[data-theme=dark] .tournament-medal-box,:root[data-theme=dark] .tournament-fighter-fight-card,:root[data-theme=dark] .tournament-participant-scale-box input,:root[data-theme=dark] .tournament-fighter-expanded__weigh-in input,:root[data-theme=dark] .tournament-fighter-expanded__footer input{border-color:#1f2e4338}:root[data-theme=dark] .tournament-participant-scale-box input,:root[data-theme=dark] .tournament-fighter-expanded__weigh-in input,:root[data-theme=dark] .tournament-fighter-expanded__footer input{color:#1c2c42;background:#fff}:root[data-theme=dark] .tournament-complete-overview,:root[data-theme=dark] .tournament-complete-overview__group,:root[data-theme=dark] .tournament-complete-overview__row,:root[data-theme=dark] .tournament-complete-overview__table{border-color:#1f2e4338}:root[data-theme=dark] .tournament-complete-overview h4,:root[data-theme=dark] .tournament-complete-overview h5,:root[data-theme=dark] .tournament-complete-overview p,:root[data-theme=dark] .tournament-complete-overview small,:root[data-theme=dark] .tournament-complete-overview em,:root[data-theme=dark] .tournament-complete-overview__table-head span,:root[data-theme=dark] .tournament-complete-overview__athlete strong,:root[data-theme=dark] .tournament-complete-overview__class,:root[data-theme=dark] .tournament-complete-overview__wins,:root[data-theme=dark] .tournament-complete-overview .muted-copy{color:#3f4f64}:root[data-theme=dark] .tournament-complete-overview__status{color:#2f4f79;background:#2f75b81f;border-color:#2f75b838}:root[data-theme=dark] .tournament-complete-overview__medals span{color:#42566f;background:#f6f9fd;border-color:#1f2e4338}:root[data-theme=dark] .tournament-complete-overview__placement input,:root[data-theme=dark] .tournament-complete-overview__wins input{color:#1c2c42;background:#fff;border-color:#1f2e4342}:root[data-theme=dark] .tournament-complete-overview__placement-readonly{color:#3b4f68;background:#e1e9f4e6;border:1px solid rgba(31,46,67,.22)}:root[data-theme=dark] .tournament-past-pagination span{color:#4a5e78}:root[data-theme=dark] .tournament-past-pagination__nav{color:#3f536c;background:#eef3fa;border-color:#1f2e4338}:root[data-theme=dark] .metric-tile,:root[data-theme=dark] .athlete-medal-summary__item,:root[data-theme=dark] .athlete-frequency-card{border-color:#1f2e4333}:root[data-theme=dark] .metric-tile span,:root[data-theme=dark] .metric-tile strong,:root[data-theme=dark] .metric-tile small,:root[data-theme=dark] .athlete-frequency-card__values span,:root[data-theme=dark] .athlete-frequency-card__values strong,:root[data-theme=dark] .athlete-medal-summary>small,:root[data-theme=dark] .athlete-medal-summary__item strong,:root[data-theme=dark] .athlete-medal-summary__item small{color:#465970}:root[data-theme=dark] .athlete-overview-card .section-card__title h2,:root[data-theme=dark] .athlete-overview__name-row,:root[data-theme=dark] .athlete-overview__identity-copy,:root[data-theme=dark] .athlete-overview__roles-main,:root[data-theme=dark] .discipline-tile strong{color:#23344d}:root[data-theme=dark] .discipline-tile{background:#fff;border-color:#1f2e4333}:root[data-theme=dark] .tournament-list .data-row h3{color:#dbe6f6}:root[data-theme=dark] .tournament-list .data-row p{color:#9eb0c8}:root[data-theme=dark] .section-card__title-icon-sprite.tournament-section-icon{border-radius:999px;overflow:hidden;background-color:#dbe3ee;box-shadow:inset 0 0 0 1px #6c7c9285,0 0 0 3px #e8eef7eb}:root[data-theme=dark] .dojang-news-card__head-left strong,:root[data-theme=dark] .dojang-news-card__meta h3,:root[data-theme=dark] .dojang-news-card p,:root[data-theme=dark] .dojang-news-card time,:root[data-theme=dark] .dojang-news-board__header p,:root[data-theme=dark] .dojang-news-board__state,:root[data-theme=dark] .dashboard-news-layer__board .dojang-news-board__header p{color:#42566f}:root[data-theme=dark] .dashboard-news-layer__board .dojang-news-card{background:radial-gradient(120% 120% at 0% 0%,rgba(var(--news-tone-rgb),.12),transparent 44%),linear-gradient(180deg,#fffffff0,#f6f9fee6)}:root[data-theme=dark] .dojang-news-card__audience,:root[data-theme=dark] .dashboard-news-layer__board .dojang-news-card__audience{color:#5a6d85}:root[data-theme=dark] .dojang-news-card__reaction-details{background:#f3f8ffeb;border-color:#45628352}:root[data-theme=dark] .dojang-news-card__reaction-details-list li strong,:root[data-theme=dark] .dojang-news-card__reaction-details-state{color:#345479}:root[data-theme=dark] .form-shell label,:root[data-theme=dark] .profile-gender-field,:root[data-theme=dark] .profile-avatar-field,:root[data-theme=dark] .profile-athlete-disciplines>span,:root[data-theme=dark] .profile-language-layer__field span,:root[data-theme=dark] .club-master-field span,:root[data-theme=dark] .profile-master-member-title-row small,:root[data-theme=dark] .profile-master-member-google-summary,:root[data-theme=dark] .profile-master-member-admin-ids,:root[data-theme=dark] .profile-master-member-gender-field>span,:root[data-theme=dark] .profile-master-member-role-field>span,:root[data-theme=dark] .profile-master-coach-roles-box>span,:root[data-theme=dark] .profile-master-linked-google-box>span{color:#4a5d76}:root[data-theme=dark] .form-shell input,:root[data-theme=dark] .form-shell select,:root[data-theme=dark] .profile-club-select__trigger,:root[data-theme=dark] .profile-club-select__option,:root[data-theme=dark] .profile-club-select__menu,:root[data-theme=dark] .profile-language-layer__panel,:root[data-theme=dark] .profile-language-layer__close,:root[data-theme=dark] .club-master-field input,:root[data-theme=dark] .club-master-field select,:root[data-theme=dark] .profile-master-member-role-field,:root[data-theme=dark] .profile-master-coach-roles-box,:root[data-theme=dark] .profile-master-linked-google-entry,:root[data-theme=dark] .profile-master-create-member__panel{background:#f7f9fc;border-color:#1f2e4333}:root[data-theme=dark] .form-shell input,:root[data-theme=dark] .form-shell select,:root[data-theme=dark] .profile-club-select__trigger,:root[data-theme=dark] .profile-club-select__option,:root[data-theme=dark] .profile-club-select__name,:root[data-theme=dark] .profile-club-select__logo-text,:root[data-theme=dark] .club-master-field input,:root[data-theme=dark] .club-master-field select,:root[data-theme=dark] .profile-master-member-title-row strong,:root[data-theme=dark] .profile-master-linked-google-entry strong,:root[data-theme=dark] .profile-master-coach-roles-checklist label{color:#1b2b42}:root[data-theme=dark] .form-shell input:disabled,:root[data-theme=dark] .form-shell select:disabled{color:#5f7289;background:#edf1f6}:root[data-theme=dark] .tournament-participant-picker__result{color:#1b2b42;background:#edf1f6;border-color:#1f2e4333;opacity:1}:root[data-theme=dark] .club-page .club-intro__guest-copy h2{color:#f2f6ff}:root[data-theme=dark] .club-page .club-intro__guest-copy p{color:#b9c8dc}:root[data-theme=dark] .club-page .club-scope-row{background:#ffffffeb;border-color:#1a2a3f33}:root[data-theme=dark] .club-page .club-scope-row__button{color:#5d718b}:root[data-theme=dark] .club-page .league-table-card,:root[data-theme=dark] .club-page .club-athlete-card-entry,:root[data-theme=dark] .club-page .club-athlete-card-button{background:#f7f9fc;border-color:#1a2a3f33}:root[data-theme=dark] .club-page .club-toplist-card{background:#e7edf6}:root[data-theme=dark] .club-page .club-toplist-card .league-table__head{background:#dae3ef}:root[data-theme=dark] .club-page .club-toplist-card .league-table__row{background:#edf2f9}:root[data-theme=dark] .club-page .club-toplist-league-filter{background:#e2e8f2;border-color:#1a2a3f3d}:root[data-theme=dark] .club-page .club-toplist-league-filter__button{color:#5a6d85}:root[data-theme=dark] .club-page .club-toplist-legend{background:#e2eaf5eb}:root[data-theme=dark] .club-page .club-toplist-legend__title,:root[data-theme=dark] .club-page .club-toplist-legend__points{color:#3f536c}:root[data-theme=dark] .club-page .league-table__head,:root[data-theme=dark] .club-page .league-table__row{border-color:#1a2a3f33}:root[data-theme=dark] .club-page .league-table__head,:root[data-theme=dark] .club-page .league-table-card__header h2,:root[data-theme=dark] .club-page .league-table-card__header strong,:root[data-theme=dark] .club-page .league-table__name,:root[data-theme=dark] .club-page .league-table__club,:root[data-theme=dark] .club-page .league-table__points,:root[data-theme=dark] .club-page .club-athlete-card-title-row strong,:root[data-theme=dark] .club-page .club-athlete-card-title-row small,:root[data-theme=dark] .club-page .league-table-card .muted-copy,:root[data-theme=dark] .club-page .club-athlete-card-entry .muted-copy{color:#445a73}:root[data-theme=dark] .league-page .league-switch,:root[data-theme=dark] .league-page .league-table-card,:root[data-theme=dark] .league-page .league-summary-card,:root[data-theme=dark] .league-page .league-medal-card,:root[data-theme=dark] .league-page .league-table__head,:root[data-theme=dark] .league-page .league-table__row,:root[data-theme=dark] .league-page .league-row-details,:root[data-theme=dark] .league-page .league-age-class-select select{border-color:#1a2a3f33}:root[data-theme=dark] .league-page .league-switch,:root[data-theme=dark] .league-page .league-table-card,:root[data-theme=dark] .league-page .league-summary-card,:root[data-theme=dark] .league-page .league-medal-card,:root[data-theme=dark] .league-page .league-table__row,:root[data-theme=dark] .league-page .league-row-details,:root[data-theme=dark] .league-page .league-age-class-select select{background:#f7f9fc}:root[data-theme=dark] .league-page .league-table__head{background:#edf1f6}:root[data-theme=dark] .league-page .league-switch button{color:#6b8099}:root[data-theme=dark] .league-page .league-table-card__header h2,:root[data-theme=dark] .league-page .league-table-card__headline,:root[data-theme=dark] .league-page .league-table-card__meta,:root[data-theme=dark] .league-page .league-table__head,:root[data-theme=dark] .league-page .league-table__name,:root[data-theme=dark] .league-page .league-table__club,:root[data-theme=dark] .league-page .league-row-details__grid span,:root[data-theme=dark] .league-page .league-row-details__grid strong,:root[data-theme=dark] .league-page .league-summary-card .section-card__title h2,:root[data-theme=dark] .league-page .league-summary-card .section-card__title span,:root[data-theme=dark] .league-page .league-summary-card__copy,:root[data-theme=dark] .league-page .league-medal-card strong,:root[data-theme=dark] .league-page .league-medal-card small,:root[data-theme=dark] .league-page .league-loader p,:root[data-theme=dark] .league-page .league-age-class-select select{color:#445a73}:root[data-theme=dark] .dashboard-page .dashboard-groups-card{background:#f7f9fc;border-color:#1a2a3f33}:root[data-theme=dark] .dashboard-page .dashboard-groups-card .section-card__title h2{color:#23344d}:root[data-theme=dark] .dashboard-page .dashboard-group-row{background:#fff;border-color:#1a2a3f33}:root[data-theme=dark] .dashboard-page .dashboard-group-row h3{color:#23344d}:root[data-theme=dark] .dashboard-page .dashboard-group-row p{color:#4d6078}:root[data-theme=dark] .dashboard-page .dashboard-group-row--link:hover{border-color:#111a2b38;box-shadow:0 10px 20px #0a162714}#root{width:100%;max-width:100%;min-width:0;overflow-x:hidden}body,button,input,select{font:inherit}button,input,select{letter-spacing:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{width:min(100%,980px);min-height:100vh;margin:0 auto;padding:0 var(--space-page) calc(118px + env(safe-area-inset-bottom))}.admin-view-control{position:fixed;top:max(0px,env(safe-area-inset-top));left:50%;z-index:1800;display:flex;flex-direction:column;align-items:center;transform:translate(-50%);pointer-events:none}.admin-view-control__trigger{pointer-events:auto;min-height:34px;padding:6px 16px 8px;border:none;border-radius:0 0 16px 16px;background:linear-gradient(180deg,#13467e,#0c2f55);color:#fff;font-size:.76rem;font-weight:900;letter-spacing:.01em;box-shadow:0 10px 22px #081a3259}.admin-view-control__layer{pointer-events:auto;width:min(92vw,420px);margin-top:10px;padding:10px;border:1px solid rgba(14,27,44,.14);border-radius:16px;background:linear-gradient(180deg,#fffffffa,#f2f5fbf5);box-shadow:0 18px 32px #0816282e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.admin-view-control__layer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-view-control__section{display:grid;gap:8px}.admin-view-control__section+.admin-view-control__section{margin-top:12px;padding-top:12px;border-top:1px solid rgba(16,29,47,.12)}.admin-view-control__section h3{margin:0;color:#5e6b80;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.admin-view-control__option{min-height:40px;border:1px solid rgba(19,37,60,.14);border-radius:999px;background:#fff;color:#667287;font-size:.92rem;font-weight:800}.admin-view-control__option--compact{min-height:34px;font-size:.82rem;font-weight:700}.admin-view-control__option.is-active{border-color:transparent;background:linear-gradient(180deg,#d30d16,#a20911);color:#fff;box-shadow:0 10px 20px #aa0f1852}.admin-view-control__action-button{min-height:40px;border:1px solid rgba(211,13,22,.25);border-radius:10px;background:linear-gradient(180deg,#fce6e8,#f9d6da);color:#7f0a12;font-size:.88rem;font-weight:800}.admin-view-control__action-button.is-active{border-color:#0c3f204d;background:linear-gradient(180deg,#e2f6e8,#caebd6);color:#164f2f}.admin-view-control__action-button--theme.is-active{border-color:#143d7380;background:linear-gradient(180deg,#1e4f8f,#163e73);color:#fff;box-shadow:0 10px 20px #091c3959}.admin-view-control__action-button--admin-area{border-color:#12386566;background:linear-gradient(180deg,#1f64b4,#194e8e);color:#fff;box-shadow:0 10px 20px #0e294d47}.admin-area-page{min-width:0}.admin-area-intro{margin:0;color:#4d5e77;font-size:.95rem;line-height:1.5}.admin-area-burger{position:relative;z-index:120}.admin-area-burger-button{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid rgba(19,37,60,.18);border-radius:999px;background:#fff;color:#162f4d;font-weight:800;cursor:pointer}.admin-area-burger-icon{display:grid;gap:3px}.admin-area-burger-icon span{display:block;width:16px;height:2px;border-radius:999px;background:currentColor}.admin-area-burger-button strong{font-size:.84rem;line-height:1}.admin-area-burger-menu{position:absolute;right:0;top:calc(100% + 10px);display:grid;gap:8px;width:min(280px,calc(100vw - 32px));padding:12px;border:1px solid rgba(19,37,60,.12);border-radius:16px;background:#fffffffa;box-shadow:0 18px 32px #0816281f;z-index:320}.admin-area-burger-menu button{width:100%;text-align:left;padding:10px 12px;border:1px solid rgba(19,37,60,.12);border-radius:12px;background:#fff;color:#162f4d;font-weight:700}.admin-area-burger-menu button.is-active{border-color:transparent;background:linear-gradient(180deg,#d30d16,#a20911);color:#fff}.admin-area-panel{display:grid;gap:16px}.admin-area-panel__controls{display:grid;gap:12px}.admin-area-search-label{display:grid;gap:8px;color:#253449}.admin-area-search-label input{width:100%;min-width:0;padding:10px 12px;border:1px solid rgba(19,37,60,.16);border-radius:12px;background:#fff;color:#0f243f;font-size:.95rem}.admin-area-search-label textarea{width:100%;min-width:0;min-height:96px;padding:10px 12px;border:1px solid rgba(19,37,60,.16);border-radius:12px;background:#fff;color:#0f243f;font-family:inherit;font-size:.95rem;line-height:1.45;resize:vertical}.admin-area-toggle-switch{width:100%}.admin-area-toggle-switch button{min-height:38px;padding:8px;font-size:.78rem}.admin-area-toggle-switch.admin-area-toggle-switch--2{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-area-toggle-switch.admin-area-toggle-switch--4{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-area-toggle-switch.admin-area-toggle-switch--5{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-area-toggle-switch.admin-area-toggle-switch--5 button{min-height:34px;padding:6px 4px;font-size:.68rem;line-height:1.05}.admin-area-panel__summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;color:#4f6177;font-size:.92rem}.admin-area-news-divider{margin:2px 0 0;border:0;border-top:1px solid rgba(19,37,60,.16)}.admin-area-list{display:grid;gap:12px;max-height:62vh;overflow-y:auto;padding-right:2px}.admin-area-item{display:grid;gap:10px;padding:14px;border:1px solid rgba(16,29,47,.12);border-radius:16px;background:#ffffffeb}.admin-area-item__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.admin-area-item__actions{display:inline-flex;align-items:center;gap:8px}.admin-area-item__summary{margin:6px 0 0;color:#4e5f78;font-size:.92rem;line-height:1.4}.admin-area-item__toggle{min-width:88px;padding:8px 12px;border:1px solid rgba(19,37,60,.16);border-radius:999px;background:#fff;color:#162f4d;font-weight:800}.admin-area-item__toggle--danger{color:#8a0f16;border-color:#b8182247;background:linear-gradient(180deg,#fff6f7,#ffe9ec)}.admin-area-item__toggle--danger.is-confirm{color:#fff;border-color:transparent;background:linear-gradient(180deg,#d30d16,#a20911)}.admin-area-item__details{display:grid;gap:10px}.admin-area-detail-row{display:grid;grid-template-columns:minmax(120px,220px) minmax(0,1fr);gap:12px;padding:8px 12px;border-radius:12px;background:#fafafcf2;color:#2f3f57;font-size:.9rem}.admin-area-detail-row strong{font-weight:700}.admin-area-empty,.admin-area-error{margin:0;color:#4d5e77;font-size:.98rem}.admin-area-news-user-picker{display:grid;gap:10px}.admin-area-invite-composer{display:grid;gap:12px;padding:14px;border:1px solid rgba(19,37,60,.14);border-radius:16px;background:#fffffff0}.admin-area-backup-grid{display:grid;gap:12px}.admin-area-backup-card{display:grid;gap:10px;padding:14px;border:1px solid rgba(19,37,60,.14);border-radius:16px;background:#fffffff0}.admin-area-backup-card h3{margin:0;color:#132c48;font-size:1rem;line-height:1.25}.admin-area-backup-card p{margin:0;color:#546681;font-size:.88rem;line-height:1.45}.admin-area-backup-card .action-button{justify-self:start}.admin-area-invite-composer__header{display:grid;gap:4px}.admin-area-invite-composer__header strong{color:#132c48;font-size:1rem;line-height:1.2}.admin-area-invite-composer__header span{color:#546681;font-size:.84rem;line-height:1.35}.admin-area-invite-actions{display:inline-flex;align-items:center;gap:8px}.admin-area-news-user-picker__selected{display:flex;flex-wrap:wrap;gap:8px}.admin-area-news-user-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 8px 6px 10px;border:1px solid rgba(19,37,60,.16);border-radius:999px;background:#fff;color:#213653;font-size:.82rem;font-weight:700;line-height:1}.admin-area-news-user-chip button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid rgba(19,37,60,.16);border-radius:999px;background:#f8fafc;color:#1f3551;font-size:.75rem;font-weight:900;line-height:1;padding:0}.admin-area-news-user-picker__results{display:grid;gap:8px;max-height:220px;padding-right:2px;overflow-y:auto}.admin-area-news-user-picker__results button{display:grid;gap:3px;width:100%;text-align:left;padding:10px 12px;border:1px solid rgba(19,37,60,.16);border-radius:12px;background:#fff;color:#162f4d}.admin-area-news-user-picker__results button strong{font-size:.9rem;line-height:1.2}.admin-area-news-user-picker__results button span{color:#5b6c82;font-size:.82rem;line-height:1.2}.admin-area-news-user-picker__results button.is-selected{border-color:#d30d1657;background:linear-gradient(180deg,#d30d161a,#d30d1608)}@media(max-width:640px){.admin-area-toggle-switch.admin-area-toggle-switch--5{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-area-toggle-switch.admin-area-toggle-switch--5 button{min-height:32px;padding:5px 3px;font-size:.64rem}}.app-main{width:100%;min-width:0;min-height:100vh}.app-shell--auth{width:100%;max-width:none;padding-inline:0;padding-bottom:0;overflow-x:hidden}.auth-splash{position:relative;display:grid;align-items:start;min-height:100vh;margin:0;overflow:hidden;background:var(--color-navy)}.auth-splash__background{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:right center;opacity:.56}.auth-splash__shade{position:absolute;inset:0;background:radial-gradient(circle at 72% 26%,rgba(220,15,25,.36),transparent 44%),linear-gradient(180deg,#07101f85,#07101ff0 55%,#07101ffa)}.auth-splash__content{position:relative;z-index:1;display:grid;align-content:start;justify-items:center;gap:12px;width:100%;max-width:640px;margin:0 auto;padding:calc(max(30px,env(safe-area-inset-top)) + 4px) var(--space-page) calc(22px + env(safe-area-inset-bottom));color:#fff;text-align:left}.auth-splash__logo{width:clamp(168px,42vw,248px);margin-inline:auto;perspective:1000px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.42))}.auth-splash__logo img{transform-origin:center center;will-change:transform;animation:splash-logo-burst .9s cubic-bezier(.22,1,.36,1) both}.auth-splash__eyebrow{color:#ff515a;font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;text-align:center}.auth-splash h1{font-size:clamp(1.86rem,8vw,3rem);line-height:1.05;min-width:0;text-align:center;text-wrap:balance;overflow-wrap:anywhere}.auth-splash__lead{justify-self:stretch;min-width:0;max-width:54ch;color:#ffffffe6;font-size:1rem;line-height:1.4;text-align:left;word-break:break-word;overflow-wrap:anywhere}.auth-splash__features{display:grid;justify-self:stretch;min-width:0;gap:7px;margin:0;padding-left:0;list-style-position:inside;color:#fffffff0;font-size:.94rem;font-weight:700;text-align:left;word-break:break-word;overflow-wrap:anywhere}.auth-splash__login-button{display:block;width:320px;max-width:100%;justify-self:center;margin-inline:auto;margin-top:6px;border-color:#ffffff38;box-shadow:0 10px 24px #00000052}@keyframes splash-logo-burst{0%{transform:translateZ(0) scale(.78) rotate(0)}22%{transform:translate3d(0,-18px,180px) scale(1.52) rotate(11deg)}78%{transform:translate3d(0,-18px,180px) scale(1.52) rotate(11deg)}to{transform:translateZ(0) scale(1) rotate(0)}}@media(max-width:640px){.auth-splash{align-items:start}.auth-splash__background{object-fit:contain;object-position:86% 88%;opacity:.9;transform:scale(1.08);transform-origin:86% 88%}.auth-splash__shade{background:radial-gradient(circle at 72% 26%,rgba(220,15,25,.3),transparent 46%),linear-gradient(180deg,#07101f70,#07101fb8 54%,#05112bb8)}.auth-splash__content{width:100%;max-width:460px;gap:10px;padding-top:calc(max(18px,env(safe-area-inset-top)) + 2px);padding-bottom:calc(14px + env(safe-area-inset-bottom))}.auth-splash__logo{width:clamp(156px,50vw,214px)}.auth-splash__lead{font-size:.94rem}.auth-splash__features{padding-left:0;font-size:.9rem}}.dashboard-header{position:relative;z-index:1;width:calc(100% + (var(--space-page) * 2));max-width:100vw;margin:0 calc(var(--space-page) * -1);min-width:0;overflow-x:hidden}.dashboard-header.dashboard-header--news-open{z-index:1700}.hero-banner{position:relative;min-height:348px;overflow:hidden;background:var(--color-navy);border-bottom-right-radius:8px;border-bottom-left-radius:8px;box-shadow:var(--shadow-card)}.hero-banner__image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:66% center}.hero-banner__shade{position:absolute;inset:0;background:linear-gradient(180deg,#07101f33,#07101f42 44%,#07101fc2),linear-gradient(90deg,#07101fe6,#07101f80 48%,#07101f14)}.dashboard-header__content{position:relative;z-index:1;display:grid;align-content:space-between;min-height:348px;padding:max(20px,env(safe-area-inset-top)) var(--space-page) 94px}.dashboard-header__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.dashboard-header__logo{position:relative;display:block;flex:0 1 142px;width:clamp(128px,35vw,178px);height:62px;overflow:hidden}.dashboard-header__logo img{position:absolute;top:50%;left:50%;width:158%;max-width:none;height:auto;transform:translate(-50%,-50%)}.dashboard-header__actions{display:flex;flex:0 0 auto;gap:10px;min-width:0}.header-news-button,.header-profile-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:48px;height:48px;overflow:hidden;color:#fff;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-news-button{position:relative;background:#0610247a;border:1px solid rgba(255,255,255,.2)}.header-news-button svg{width:24px;height:24px}.header-news-button__badge{position:absolute;top:1px;right:0;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;color:#fff;background:#e12b32;border:2px solid rgba(7,16,31,.92);border-radius:var(--radius-pill);font-size:.72rem;font-weight:800;line-height:1}.header-news-button__badge.is-empty{color:#d8dee8;background:#4f5b71}.header-profile-button{background:#ffffff1a;border:2px solid rgba(255,255,255,.78)}.header-profile-button img{width:100%;height:100%;object-fit:cover}.header-profile-button span{color:#fff;font-size:.86rem;font-weight:900}.dashboard-news-layer{position:fixed;inset:0;z-index:48;display:grid;place-items:start center;padding:max(6px,env(safe-area-inset-top)) 8px max(10px,calc(env(safe-area-inset-bottom) + 8px))}.dashboard-news-layer__backdrop{position:absolute;inset:0;background:#060f1ec2}.dashboard-news-layer__panel{position:relative;z-index:1;width:min(calc(100vw - 16px),860px);max-height:calc(100vh - (14px + env(safe-area-inset-top) + env(safe-area-inset-bottom)));display:flex;flex-direction:column;gap:10px;overflow:hidden;border:1px solid rgba(16,29,47,.16);border-radius:24px;background:radial-gradient(120% 70% at 0% 0%,rgba(221,17,31,.08),transparent 54%),radial-gradient(90% 60% at 100% 14%,rgba(31,109,184,.1),transparent 56%),linear-gradient(180deg,#fff,#f7f9fc);box-shadow:0 24px 42px #07101f4d}.dashboard-news-layer__header{position:relative;z-index:2;display:flex;justify-content:center;padding:16px 22px 8px}.dashboard-news-layer__brand{display:flex;flex-direction:column;align-items:center;gap:0;width:100%;text-align:center}.dashboard-news-layer__brand img{width:clamp(176px,40vw,272px);height:auto}.dashboard-news-layer__brand h3{margin:-22px 0 0;color:#0d2542;font-size:clamp(2.15rem,7.4vw,3rem);line-height:1.04;letter-spacing:.01em;text-shadow:0 1px 0 rgba(255,255,255,.92),0 8px 18px rgba(13,37,66,.3),0 0 16px rgba(31,109,184,.24)}.dashboard-news-layer__close{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;color:#16385f;background:#fff;border:1px solid rgba(16,29,47,.14);border-radius:12px;font-size:1.8rem;line-height:1}.dashboard-news-layer__list{position:relative;z-index:2;display:grid;gap:12px;padding:0 14px 14px;overflow-y:auto}.dashboard-news-layer__panel--messages{gap:0}.dashboard-news-layer__board{position:relative;z-index:2;flex:1;min-height:0;margin-top:0;padding:4px 18px 54px;overflow-y:auto}.dashboard-news-layer__board .dojang-news-board{gap:16px;margin-top:0;padding:0}.dashboard-news-layer__board .dojang-news-board__header{gap:10px;justify-content:center;text-align:center}.dashboard-news-layer__board .dojang-news-board__header p{max-width:100%;color:#5a6a85;font-size:1.04rem;font-weight:700;line-height:1.35}.dashboard-news-layer__board .dojang-news-board__mark-all,.dashboard-news-layer__board .dojang-news-board__load-more{min-height:40px;padding:10px 18px;font-size:.94rem}.dashboard-news-layer__board .dojang-news-board__state{margin-bottom:14px;padding:16px 18px;border-radius:14px;font-size:1rem;line-height:1.38}.dashboard-news-layer__board .dojang-news-board__list{gap:12px;padding-bottom:14px}.dashboard-news-layer__board .dojang-news-card{position:relative;overflow:hidden;--news-tone-rgb: 78, 136, 206;gap:10px;padding:14px 16px 12px;border:1px solid rgba(var(--news-tone-rgb),.44);border-radius:16px;background:radial-gradient(120% 120% at 0% 0%,rgba(var(--news-tone-rgb),.1),transparent 44%),linear-gradient(180deg,#ffffffe6,#f8fbffd4);box-shadow:0 10px 24px #0f27441f,inset 0 1px #ffffffbf}.dashboard-news-layer__board .dojang-news-card:before{content:"";position:absolute;top:10px;left:-1px;width:7px;height:30px;border-radius:0 999px 999px 0;background:rgba(var(--news-tone-rgb),.9);box-shadow:0 0 0 1px #ffffff42}.dashboard-news-layer__board .dojang-news-card:after{content:"";position:absolute;top:-1px;left:-1px;width:42px;height:32px;border-top:3px solid rgba(var(--news-tone-rgb),.75);border-left:3px solid rgba(var(--news-tone-rgb),.75);border-radius:16px 0 18px;pointer-events:none}.dashboard-news-layer__board .dojang-news-card.is-read{opacity:.94}.dashboard-news-layer__board .dojang-news-card.is-unread{box-shadow:0 14px 26px #0f274426,0 0 0 1px rgba(var(--news-tone-rgb),.32),inset 0 1px #fffc}.dashboard-news-layer__board .dojang-news-card.is-tone-tournament{--news-tone-rgb: 215, 52, 62}.dashboard-news-layer__board .dojang-news-card.is-tone-club{--news-tone-rgb: 56, 118, 201}.dashboard-news-layer__board .dojang-news-card.is-tone-training{--news-tone-rgb: 30, 145, 126}.dashboard-news-layer__board .dojang-news-card.is-tone-result{--news-tone-rgb: 238, 121, 33}.dashboard-news-layer__board .dojang-news-card.is-tone-medal{--news-tone-rgb: 197, 149, 31}.dashboard-news-layer__board .dojang-news-card.is-tone-godojang{--news-tone-rgb: 84, 96, 176}.dashboard-news-layer__board .dojang-news-card.is-tone-system{--news-tone-rgb: 94, 112, 132}.dashboard-news-layer__board .dojang-news-card.is-tone-coach{--news-tone-rgb: 59, 139, 210}.dashboard-news-layer__board .dojang-news-card.is-tone-master{--news-tone-rgb: 121, 82, 196}.dashboard-news-layer__board .dojang-news-card.is-tone-athlete{--news-tone-rgb: 29, 154, 117}.dashboard-news-layer__board .dojang-news-card.is-tone-league{--news-tone-rgb: 232, 85, 42}.dashboard-news-layer__board .dojang-news-card.is-tone-default{--news-tone-rgb: 78, 136, 206}.dashboard-news-layer__board .dojang-news-card__head-left small{color:rgba(var(--news-tone-rgb),1);background:rgba(var(--news-tone-rgb),.16)}.dashboard-news-layer__board .dojang-news-card__audience{color:#1f30448f}.dashboard-news-layer__board .dojang-news-card__read-state.is-read{color:rgba(var(--news-tone-rgb),1);background:rgba(var(--news-tone-rgb),.14)}.dashboard-news-layer__board .dojang-news-card__fist{color:rgba(var(--news-tone-rgb),1);background:rgba(var(--news-tone-rgb),.12);border-color:rgba(var(--news-tone-rgb),.35)}.dashboard-news-layer__board .dojang-news-card__meta h3{font-size:1.05rem}.dashboard-news-layer__board .dojang-news-card p{font-size:1rem;line-height:1.5}.dashboard-news-layer__item{position:relative;padding:10px 12px;border:1px solid rgba(16,29,47,.12);border-radius:12px;background:#ffffffa8;cursor:pointer;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);transition:transform .18s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.dashboard-news-layer__item.is-unread{border-color:#d30d163d;background:linear-gradient(180deg,#fffc,#fff4f5ad);box-shadow:0 8px 20px #d30d161f}.dashboard-news-layer__item.is-read{border-color:#101d2f1c;background:linear-gradient(180deg,#ffffffbd,#f3f8fc9e)}.dashboard-news-layer__item:before{content:"";position:absolute;top:9px;left:-1px;width:4px;height:24px;border-radius:0 999px 999px 0}.dashboard-news-layer__item.is-unread:before{background:linear-gradient(180deg,#ef4a53,#ba0a13)}.dashboard-news-layer__item.is-read:before{background:linear-gradient(180deg,#8db4d8,#4e7da8)}.dashboard-news-layer__item:hover{transform:translateY(-1px);box-shadow:0 10px 22px #07101f1f}.dashboard-news-layer__item:focus-visible{outline:2px solid rgba(31,109,184,.6);outline-offset:2px}.dashboard-news-layer__item header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 10px}.dashboard-news-layer__item header strong{color:#0e2a49;font-size:.9rem}.dashboard-news-layer__item header time{color:#5a6880;font-size:.77rem;font-weight:700}.dashboard-news-layer__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.dashboard-news-layer__item small{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;color:#174f86;background:#1f6db81f;border-radius:999px;font-size:.71rem;font-weight:800}.dashboard-news-layer__status{display:inline-flex;align-items:center;gap:6px;min-height:22px;padding:0 8px;border-radius:999px;font-size:.71rem;font-weight:900}.dashboard-news-layer__status svg{width:14px;height:14px}.dashboard-news-layer__status.is-unread{color:#9a0812;background:#e32b321f}.dashboard-news-layer__status.is-unread svg{animation:dashboard-news-pulse 1.7s ease-in-out infinite}.dashboard-news-layer__status.is-read{color:#0f4f95;background:#1f6db81f}.dashboard-news-layer__item p{margin:8px 0 0;color:#122a45;font-size:.88rem;line-height:1.45}.dashboard-news-layer__fighter{position:absolute;z-index:1;top:54%;right:-8%;width:auto;max-width:none;height:124%;object-fit:contain;object-position:right center;transform:translateY(-50%);opacity:.18;pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes dashboard-news-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.68}}.dashboard-header__club-row{display:grid;gap:14px;align-items:end}.club-summary{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:center;max-width:520px}.club-summary__mark{display:flex;align-items:center;justify-content:center;width:72px;height:82px;background:transparent;border:0;border-radius:0;box-shadow:none}.club-summary__mark:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:2px}.club-summary__mark-logo{width:100%;height:100%;object-fit:contain}.club-summary__copy{min-width:0;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.36)}.club-summary__copy span{color:#ff414b;font-size:.82rem;font-weight:900}.club-summary__copy h2{overflow:visible;font-size:clamp(1.45rem,7vw,2.3rem);line-height:1.02;white-space:nowrap}.club-summary__title-link{color:inherit}.club-summary__copy p{display:inline-flex;align-items:center;gap:6px;margin-top:8px;color:#ffffffd6;font-size:1.02rem;font-weight:700}.club-summary__copy p svg{width:15px;height:15px;color:#ffffffeb}.club-summary__flag{margin-left:2px;font-size:1.02rem;line-height:1}.club-summary__title-row{display:flex;align-items:center;gap:8px;min-width:0;margin-top:5px}.dashboard-header__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100%,360px);margin-left:auto}.dashboard-stat-card{display:block;position:relative;overflow:hidden;padding:12px 12px 10px;color:#fff;background:linear-gradient(155deg,#050f21f2,#06183adb);border:1px solid rgba(238,44,54,.8);border-radius:16px;box-shadow:0 0 0 1px #ee2c3633,0 12px 34px #00000057}.dashboard-stat-card--league:before{content:"";position:absolute;right:-35px;bottom:-45px;width:150px;height:150px;background-image:url(/images/league/TKDplusLeague.png);background-repeat:no-repeat;background-position:center;background-size:contain;transform:rotate(-25deg);transform-origin:center;opacity:.6;pointer-events:none}.dashboard-stat-card--league>*{position:relative;z-index:1}.dashboard-stat-card__top{display:flex;align-items:center;gap:8px}.dashboard-stat-card__top svg{width:24px;height:24px;color:#ffcb65}.dashboard-stat-card:nth-child(2) .dashboard-stat-card__top svg{color:#fff}.dashboard-stat-card__top span{color:#ffffffdb;font-size:.86rem;font-weight:700}.dashboard-stat-card strong{display:block;margin-top:4px;font-size:clamp(1.8rem,5vw,2.15rem);line-height:1.05}.dashboard-stat-card__bottom{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.dashboard-stat-card__bottom small{color:#ffffffe6;font-size:1.02rem;font-weight:700}.dashboard-stat-card__arrow{font-size:1.5rem;line-height:1}.dashboard-grid,.page-stack{display:grid;gap:14px}.dashboard-page .dashboard-grid{position:relative;z-index:2;margin-top:-72px}.event-card{position:relative;display:block;min-height:154px;overflow:hidden;color:#fff;background:linear-gradient(140deg,#07101ffa,#102c52f5 58%,#90050ef2),var(--color-navy);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.event-card--link{transition:transform .18s ease,box-shadow .18s ease}.event-card--link:active{transform:scale(.99)}.event-card__background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:78% center;opacity:.46}.event-card__content{position:relative;z-index:1;display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center;min-height:154px;padding:18px;background:linear-gradient(90deg,#07101fe0,#07101f38)}.event-card__icon{display:grid;place-items:center;width:54px;height:54px;background:#fffffff0;border-radius:var(--radius-card)}.event-card__icon img{width:40px;height:40px;object-fit:contain}.event-card__icon-sprite{display:block;width:44px;height:44px;background-repeat:no-repeat;background-position:center;background-size:contain}.event-card__icon-sprite--training-kyorugi,.event-card__icon-sprite--training-poomsae,.event-card__icon-sprite--tournament-kyorugi,.event-card__icon-sprite--tournament-poomsae{background-image:url(/images/sprite-tournament.png);background-size:300% 200%}.event-card__icon-sprite--training-kyorugi{background-position:0% 0%}.event-card__icon-sprite--training-poomsae{background-position:0% 100%}.event-card__icon-sprite--tournament-kyorugi{background-position:calc(8% + 4px) calc(0% - 2px);background-size:330% 220%}.event-card__icon-sprite--tournament-poomsae{background-position:calc(8% + 7px) calc(100% + 2px);background-size:330% 220%;transform:translateY(3px)}.event-card__icon--club img{width:42px;height:42px;border-radius:999px;object-fit:cover}.event-card__icon.event-card__icon--club{background:transparent;box-shadow:none}.event-card__icon.event-card__icon--sprite-round{border-radius:999px}.event-card--next-training .event-card__icon.event-card__icon--club{background:transparent;box-shadow:none}.event-card__icon--inactive img{opacity:.62;filter:grayscale(1) saturate(.15)}.event-card__icon-sprite--inactive{opacity:.58;filter:grayscale(1) saturate(.2)}.event-card__text{min-width:0}.single-line-fit{display:block;min-width:0;white-space:nowrap;text-wrap:nowrap}.event-card__text span,.section-card__title span,.page-heading__eyebrow,.athlete-overview span,.metric-tile span{display:block;color:var(--color-red);font-size:.76rem;font-weight:900;line-height:1.2;text-transform:uppercase}.event-card__text span{color:#ff4852}.event-card__text h2{margin-top:4px;font-size:clamp(1.25rem,6vw,2rem);line-height:1.03}.event-card__text p{margin-top:8px;color:#ffffffd1;font-weight:600}.event-card__text strong{display:inline-flex;margin-top:10px;font-size:.95rem}.event-card--next-training{min-height:178px;color:var(--color-ink);background:#fff;box-shadow:0 18px 48px #0a162733}.event-card--next-training .event-card__background{top:50%;right:-12%;left:auto;width:auto;max-width:none;height:132%;object-fit:contain;object-position:right center;transform:translateY(-50%);opacity:.74}.event-card--next-training .event-card__content{grid-template-columns:64px minmax(0,1fr);min-height:178px;padding:18px;background:linear-gradient(90deg,#fffffffe,#fffffffb 66%,#ffffffbd,#fff3)}.event-card--next-training .event-card__icon{width:64px;height:64px;background:linear-gradient(145deg,#172b55,#07101f);box-shadow:0 12px 24px #0a162733}.dashboard-page .event-card--next-training .event-card__icon{background:transparent;box-shadow:none;transform:translateY(-30px)}.dashboard-page .event-card--next-training .event-card__icon .event-card__icon-sprite{width:68px;height:68px}.event-card--next-training .event-card__icon.event-card__icon--sprite-round{background:#fff}:root[data-theme=dark] .event-card__icon.event-card__icon--sprite-round{background:#fff}.event-card--next-training .event-card__icon img{width:44px;height:44px}.event-card--next-training .event-card__text span{color:var(--color-navy)}.event-card--next-training .event-card__text h2{color:var(--color-navy);font-size:clamp(1.7rem,9vw,2.35rem)}.event-card--next-training .event-card__text p{color:var(--color-red);font-size:clamp(1rem,4.4vw,1.18rem)}.event-card--next-training .event-card__text strong{color:var(--color-navy)}.event-card--next-tournament .event-card__content{position:relative;display:block;min-height:0;background:transparent}.event-card--next-tournament .event-card__icon{position:absolute;top:18px;left:18px;width:52px;height:52px;overflow:hidden;border-radius:999px;background:#fff}.event-card--next-tournament .event-card__icon img{width:34px;height:34px}.event-card--next-tournament .event-card__icon .event-card__icon-sprite{width:100%;height:100%}.event-card--next-tournament .event-card__text span{display:flex;align-items:center;min-height:52px;padding-left:68px}.event-card--next-tournament .event-card__text h2{margin-top:10px}.event-card--last-tournament-toggle .event-card__text{padding-right:min(192px,calc(100% - 108px))}.event-card--last-tournament-toggle{cursor:pointer}.event-card__last-tournament-switch{position:absolute;top:12px;right:12px;z-index:3;width:min(162px,calc(100% - 92px));padding:1px;background:#ffffffeb;border-color:#111a2b33;box-shadow:0 8px 20px #0a162733}.event-card__last-tournament-switch button{min-height:26px;padding:5px 10px;font-size:.8rem}.event-card__last-tournament-switch button+button{margin-left:-6px}.event-card--next-tournament-poomsae .event-card__text strong{align-items:center;gap:8px}.event-card--next-tournament-poomsae .event-card__text strong:before{content:"Poomsae";display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;background:#0f5cc0;color:#fff;font-size:.72rem;font-weight:800;line-height:1.1}.event-card--next-tournament .event-card__registered{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 14px;margin:0 18px 18px;padding-top:12px;border-top:1px solid rgba(255,255,255,.24)}.event-card--next-tournament .event-card__registered-copy{flex:0 0 auto;min-width:max-content}.event-card--next-tournament .event-card__registered-copy span{display:block;color:#ffffffb3;font-size:.72rem;font-weight:800;line-height:1.2;text-transform:uppercase}.event-card--next-tournament .event-card__registered-copy strong{display:block;margin-top:4px;color:#fff;font-size:clamp(1.08rem,2.6vw,1.64rem);line-height:1.05;white-space:nowrap}.event-card--next-tournament .event-card__registered-avatars{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;flex:0 0 auto;min-width:0;margin-left:auto;margin-bottom:2px;row-gap:6px}.event-card--next-tournament .event-card__avatar{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:32px;color:#0f1a2c;background:#d9dfeb;border:2px solid rgba(7,16,31,.48);border-radius:var(--radius-pill);font-size:.64rem;font-weight:900;line-height:1}.event-card--next-tournament .event-card__avatar.has-image{padding:0;overflow:hidden}.event-card--next-tournament .event-card__avatar-image{width:100%;height:100%;border-radius:inherit;object-fit:cover}.event-card--next-tournament .event-card__avatar+.event-card__avatar{margin-left:-8px}.event-card--next-tournament .event-card__avatar--more{color:#fff;background:#fff3;border-color:#ffffff57;font-size:.8rem}.event-card--next-tournament{align-self:start;min-height:0}.section-card{padding:16px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:0 12px 28px #0a162714}.section-card--clickable{cursor:pointer}.section-card--clickable:focus-visible{outline:3px solid rgba(211,13,22,.34);outline-offset:2px}.section-card.is-focused{outline:3px solid rgba(211,13,22,.34);box-shadow:0 18px 46px #d30d162e}.section-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.section-card__title{display:flex;align-items:center;gap:10px;min-width:0}.section-card__title img{flex:0 0 auto;width:38px;height:38px;object-fit:contain}.section-card__title-icon-sprite{display:block;flex:0 0 auto;width:38px;height:38px;background-repeat:no-repeat;background-position:center;background-size:contain}.section-card__title h2{margin-top:2px;font-size:1.08rem;line-height:1.1}.section-card__action{flex:0 0 auto}.section-card__action-text{color:var(--color-red);font-size:.9rem;font-weight:700;line-height:1.2}.session-list,.tournament-list{display:grid;gap:10px}.activity-list{display:grid}.dashboard-groups-list{display:grid;gap:10px}.dashboard-groups-card{padding:13px}.dashboard-groups-card .section-card__header{margin-bottom:12px}.dashboard-groups-card .section-card__title img{width:34px;height:34px}.dashboard-groups-card .section-card__title h2{font-size:1rem}.dashboard-group-row{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center;padding:9px;background:var(--color-surface-strong);border:1px solid var(--color-line);border-radius:var(--radius-card)}.dashboard-group-row>div{min-width:0;padding-right:4px}.dashboard-group-row__sprite{display:block;width:52px;height:52px;background-image:url(/images/discipline-sprites.png);background-repeat:no-repeat;background-size:300% 100%}.dashboard-group-row__sprite--kyorugi{background-position:0% 0}.dashboard-group-row__sprite--poomsae{background-position:50% 0}.dashboard-group-row__sprite--breitensport{background-position:100% 0}.dashboard-group-row h3{font-size:.94rem;line-height:1.2;white-space:nowrap}.dashboard-group-row p{margin-top:4px;color:var(--color-muted);font-size:.84rem;line-height:1.45}.dashboard-group-row--link{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.dashboard-group-row--link:hover{transform:translateY(-1px);border-color:#111a2b38;box-shadow:0 10px 20px #0a162714}.data-row--link{cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.data-row--link:hover{transform:translateY(-1px);border-color:#111a2b38;box-shadow:0 10px 20px #0a162714}.data-row--link:focus-visible{outline:2px solid rgba(23,79,134,.45);outline-offset:2px}.session-row,.data-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;padding:10px;background:var(--color-surface-strong);border:1px solid var(--color-line);border-radius:var(--radius-card)}.session-row,.data-row{grid-template-columns:minmax(0,1fr) auto}.activity-item img{width:28px;height:28px}.session-row h3,.data-row h3{font-size:.98rem;line-height:1.2}.session-row p,.data-row p,.muted-copy{margin-top:4px;color:var(--color-muted);font-size:.88rem;line-height:1.45}.tournament-past-medal-summary{font-weight:700;letter-spacing:.01em}.session-row--active{background:linear-gradient(90deg,#174f8612,#174f8600 48%),var(--color-surface);border-color:#174f866b;box-shadow:0 10px 22px #112c4e24}.session-row--active h3{color:#0f4f95}.session-list .session-row{cursor:pointer}.tournament-past-pagination{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-top:10px}.tournament-past-pagination span{justify-self:center;color:#51627c;font-size:.74rem;font-weight:800}.tournament-past-pagination__nav{min-height:30px;padding:4px 10px;color:#304661;background:#f3f7fc;border:1px solid rgba(17,34,57,.18);border-radius:999px;font-size:.72rem;font-weight:900}.tournament-past-pagination__nav:disabled{opacity:.42;cursor:not-allowed}.training-row__labels{display:grid;gap:4px;justify-items:end;align-content:start}.training-label{min-height:20px;padding:1px 20px 1px 14px;font-size:.74rem;line-height:1}.training-row__labels .training-label{border-radius:0}.training-label:before{top:0;bottom:0;left:5px}.training-label:after{position:absolute;top:1px;right:4px;font-size:.72rem;font-weight:900;line-height:1}.training-label--check-inactive:after{content:"✓";color:#8a97ad}.training-label--check-success:after{content:"✓";color:#0b9a3b}.training-label--check-verified:after{content:"✓";color:#111}.activity-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--color-line)}.activity-item:last-child{border-bottom:0}.activity-item__content{min-width:0}.activity-item__text{margin:0;overflow:hidden;color:var(--color-ink);font-size:.92rem;font-weight:500;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.activity-item__reactions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px}.activity-item__reaction{display:inline-flex;align-items:center;color:#174f86;font-size:.76rem;font-weight:800;line-height:1.2}.activity-item time{margin:0;color:var(--color-muted);font-size:.86rem;font-weight:600;line-height:1.25;text-align:right;white-space:nowrap}.dashboard-activities-state{margin:0;color:var(--color-muted);font-size:.9rem;line-height:1.45}.dashboard-activities-state.is-error{color:#a8161d}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:min(100%,980px);margin:0 auto;padding:8px max(8px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#fffffff5;border-top:1px solid var(--color-line);box-shadow:0 -14px 32px #0a16271f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav--game{grid-template-columns:repeat(6,minmax(0,1fr))}.page-with-header{min-width:0}.bottom-nav__item{display:grid;justify-items:center;align-content:center;gap:4px;min-height:74px;padding:4px 2px;color:var(--color-muted);border-radius:12px;transition:background-color .18s ease,color .18s ease,transform .18s ease}.bottom-nav__item:hover{background:#07101f0a}.bottom-nav__item:focus-visible{outline:2px solid rgba(23,79,134,.48);outline-offset:1px}.bottom-nav__item.is-active{color:var(--color-red-dark);background:linear-gradient(180deg,#d30d161f,#d30d1608)}.bottom-nav__icon{--sprite-height: 74;--sprite-sheet-width: 367;--sprite-size: clamp(40px, 12vw, 52px);width:calc(var(--sprite-frame-width) * var(--sprite-size) / var(--sprite-height));height:var(--sprite-size);background-image:url(/images/navi-sprites.png);background-repeat:no-repeat;background-size:calc(var(--sprite-sheet-width) * var(--sprite-size) / var(--sprite-height)) var(--sprite-size);background-position:calc(var(--sprite-offset) * -1 * var(--sprite-size) / var(--sprite-height)) 0;opacity:.72;transition:opacity .18s ease,transform .18s ease}.bottom-nav__item.is-active .bottom-nav__icon,.bottom-nav__item:hover .bottom-nav__icon{opacity:1}.bottom-nav__item.is-active .bottom-nav__icon{transform:translateY(-1px)}.bottom-nav__label{max-width:100%;overflow:hidden;color:currentColor;font-size:clamp(.64rem,2.6vw,.76rem);font-weight:800;line-height:1.1;text-align:center;text-overflow:ellipsis;white-space:nowrap}.bottom-nav__item--control{border:1px solid rgba(9,27,48,.18);background:linear-gradient(180deg,#f4f8fefa,#e8effaf2);color:#0f3056}.bottom-nav__item--control:hover{background:linear-gradient(180deg,#ecf4fefa,#dce8f8f2)}.bottom-nav__item--control:active{transform:translateY(1px) scale(.99)}.bottom-nav__controller-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#0e2f511f;color:#0d2b4d;font-size:1.4rem;font-weight:900;line-height:1}.bottom-nav__item--strike{border-color:#9d1d2f52;background:linear-gradient(180deg,#fff3f6fc,#ffe5ecf5);color:#7d1023}.bottom-nav__item--strike:hover{background:linear-gradient(180deg,#ffebf1fc,#ffd9e3f5)}.bottom-nav__item--strike .bottom-nav__controller-icon{background:#92122a29;color:#85122a;font-size:1.2rem}.page-heading{margin:10px 0 14px;color:#fff}.page-heading__top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.page-heading__action{display:flex;align-items:center}.page-heading h1{margin-top:2px;font-size:clamp(1.8rem,8vw,3rem);line-height:.95}.page-with-header .page-heading{position:relative;z-index:2;margin:-56px 0 12px;color:#fff}.page-with-header .page-heading.page-heading--with-action{z-index:20}.page-with-header .page-heading.page-heading--with-action .page-heading__top{position:relative;align-items:center}.page-with-header .page-heading.page-heading--with-action .page-heading__action{position:absolute;right:0;bottom:0}.page-with-header .page-heading .page-heading__eyebrow{display:none}.page-with-header .page-heading h1{margin-top:0;font-size:clamp(2rem,9vw,3.1rem);line-height:.95}.page-with-header .page-stack{position:relative;z-index:2}.calendar-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:14px}.calendar-strip article{display:grid;place-items:center;min-height:66px;padding:8px 4px;background:var(--color-surface-strong);border:1px solid var(--color-line);border-radius:var(--radius-card)}.calendar-strip article.is-selected{color:#fff;background:linear-gradient(155deg,var(--color-red),var(--color-red-dark));border-color:transparent}.calendar-strip span{color:inherit;font-size:.74rem;font-weight:800}.calendar-strip strong{margin-top:2px;font-size:1.2rem}.tag,.segmented-control button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 10px;color:var(--color-red-dark);background:#d30d1617;border:1px solid rgba(211,13,22,.15);border-radius:var(--radius-pill);font-size:.78rem;font-weight:900;line-height:1.1;text-align:center}.tag--kyorugi{--tag-accent: #d30d16;color:#9c0710;background:#d30d161a;border-color:#d30d1640}.tag--poomsae{--tag-accent: #1f6db8;color:#0f4f95;background:#1f6db81f;border-color:#1f6db847}.tag--breitensport{--tag-accent: #c59712;color:#8a5e00;background:#c5971224;border-color:#c597124d}.tag--weigh-in-today{--tag-accent: #1f6db8;color:#0f4f95;background:#1f6db824;border-color:#1f6db84d}.tag{position:relative;overflow:hidden;padding-left:14px;border-radius:0}.tag:before{content:"";position:absolute;top:5px;bottom:5px;left:6px;width:3px;background:var(--tag-accent, currentColor);border-radius:999px;opacity:.92}.training-calendar__view-switch{margin-bottom:10px}.training-calendar__create-button{width:100%;margin:0 0 10px}.training-calendar-section-icon{background-image:url(/images/sprite-tournament.png);background-repeat:no-repeat;background-size:300% 200%;background-position:50% 0%}.training-calendar-card{background:#fff;transition:background .2s ease}.training-calendar-card--week{background:radial-gradient(circle at left 16%,rgba(211,13,22,.13),transparent 48%),linear-gradient(90deg,rgba(211,13,22,.06),transparent 44%),#fff}.training-calendar-card--month{background:radial-gradient(circle at right 16%,rgba(31,109,184,.15),transparent 48%),linear-gradient(270deg,rgba(31,109,184,.08),transparent 44%),#fff}.training-calendar__nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 2px 10px}.training-calendar__nav button{width:34px;height:34px;color:#0f1a2c;background:#fff;border:1px solid rgba(17,26,43,.18);border-radius:999px;font-size:1.1rem;font-weight:900;line-height:1;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.training-calendar__nav button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0a162729;border-color:#1f6db866}.training-calendar__nav strong{flex:1;color:#0f1a2c;font-size:.88rem;font-weight:900;line-height:1.2;text-align:center;text-transform:uppercase;letter-spacing:.03em}.training-calendar{margin-bottom:14px;padding:8px;border:1px solid var(--color-line);border-radius:var(--radius-card);background:linear-gradient(180deg,#fdfefe,#f7f9fd);box-shadow:inset 0 1px #ffffffad}.training-calendar--week{background:radial-gradient(circle at left 14%,rgba(211,13,22,.1),transparent 52%),linear-gradient(180deg,#fdfefe,#f7f9fd)}.training-calendar--month{background:radial-gradient(circle at right 14%,rgba(31,109,184,.12),transparent 52%),linear-gradient(180deg,#fdfefe,#f7f9fd)}.training-calendar .fc{--fc-border-color: var(--color-line);--fc-page-bg-color: transparent;--fc-neutral-bg-color: #f6f8fc;--fc-today-bg-color: rgba(23, 79, 134, .09)}.training-calendar--week .fc .fc-scrollgrid{min-height:0}.training-calendar--month .fc .fc-scrollgrid{min-height:380px}.training-calendar .fc .fc-scrollgrid{border:1px solid var(--color-line);border-radius:12px;overflow:hidden;background:#fff}.training-calendar .fc .fc-col-header-cell{background:#f5f8fc}.training-calendar .fc .fc-col-header-cell-cushion{display:block;padding:10px 4px;color:var(--color-muted);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.training-calendar .fc .fc-daygrid-day-events{display:none}.training-calendar .fc .fc-daygrid-day-frame{position:relative;min-height:88px;padding:6px;background:var(--training-day-gradient, linear-gradient(140deg, transparent 0%, transparent 100%)),#fff;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.training-calendar .fc .fc-daygrid-day-top{position:relative;z-index:2;min-height:22px}.training-calendar .fc .fc-daygrid-day-number{display:block;width:100%;padding:0;color:inherit;text-decoration:none}.training-calendar .training-fc-day__content{display:flex;flex-direction:column;align-items:center;width:100%}.training-calendar .training-fc-day__content.has-markers{min-height:74px}.training-calendar .training-fc-day__number{align-self:flex-end;margin-left:auto;padding:0 2px;color:#121d2f;font-size:1.22rem;font-weight:900;line-height:1}.training-calendar .fc .fc-day-other .fc-daygrid-day-number,.training-calendar .fc .fc-day-other .training-fc-day__number{color:#657084b8}.training-calendar .training-fc-day__markers{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 0 6px}.training-calendar .training-fc-day__belts{display:flex;flex-direction:column;align-items:center;gap:6px}.training-calendar .training-fc-day__tournaments{display:flex;align-items:center;justify-content:center;gap:4px}.training-calendar .training-fc-day__tournament-logo-button{display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:0;cursor:pointer}.training-calendar .training-fc-day__tournament-logo{width:30px;height:30px;border-radius:999px;border:1px solid rgba(17,26,43,.2);object-fit:cover;background:#fff}.training-calendar .training-fc-day__tournament-logo.is-past{opacity:.6;filter:grayscale(1) saturate(.15)}.training-calendar .training-fc-day__belt{position:relative;width:32px;height:9px;color:#1f6db8}.training-calendar .training-fc-day__belt:before{content:"";position:absolute;left:50%;top:0;width:32px;height:4px;background:currentColor;border-radius:999px;transform:translate(-50%)}.training-calendar .training-fc-day__belt:after{content:"";position:absolute;left:50%;bottom:0;width:30px;height:9px;transform:translate(-50%);background:radial-gradient(circle at 50% 18%,currentColor 0 2px,transparent 2.2px),linear-gradient(130deg,transparent 45%,currentColor 45% 56%,transparent 56%) left bottom / 50% 100% no-repeat,linear-gradient(50deg,transparent 45%,currentColor 45% 56%,transparent 56%) right bottom / 50% 100% no-repeat}.training-calendar .training-fc-day__belt--kyorugi{color:#d30d16}.training-calendar .training-fc-day__belt--poomsae{color:#1f6db8}.training-calendar .training-fc-day__belt--breitensport{color:#c59712}.training-calendar .training-fc-day--other-month .training-fc-day__belts{opacity:.55}.training-calendar .training-fc-day{--training-day-accent: #1f6db8;--training-day-accent-soft: rgba(31, 109, 184, 0);--training-day-gradient: linear-gradient(140deg, transparent 0%, transparent 100%);cursor:pointer}.training-calendar .training-fc-day:hover .fc-daygrid-day-frame{background:var(--training-day-gradient, linear-gradient(140deg, transparent 0%, transparent 100%)),#f7faff;transform:translateY(-1px)}.training-calendar .training-fc-day--kyorugi{--training-day-accent: #d30d16;--training-day-accent-soft: rgba(211, 13, 22, .07);--training-day-gradient: linear-gradient( 140deg, rgba(211, 13, 22, .11) 0%, rgba(211, 13, 22, .04) 52%, rgba(211, 13, 22, 0) 53% )}.training-calendar .training-fc-day--poomsae{--training-day-accent: #1f6db8;--training-day-accent-soft: rgba(31, 109, 184, .08);--training-day-gradient: linear-gradient( 140deg, rgba(31, 109, 184, .11) 0%, rgba(31, 109, 184, .04) 52%, rgba(31, 109, 184, 0) 53% )}.training-calendar .training-fc-day--breitensport{--training-day-accent: #c59712;--training-day-accent-soft: rgba(197, 151, 18, .1);--training-day-gradient: linear-gradient( 140deg, rgba(197, 151, 18, .13) 0%, rgba(197, 151, 18, .05) 52%, rgba(197, 151, 18, 0) 53% )}.training-calendar .training-fc-day--has-tournament{--training-day-gradient: linear-gradient( 140deg, rgba(7, 16, 31, .26) 0%, rgba(16, 44, 82, .2) 44%, rgba(144, 5, 14, .18) 82%, rgba(144, 5, 14, 0) 100% )}.training-calendar .training-fc-day .fc-daygrid-day-bg{position:absolute;inset:0;pointer-events:none}.training-calendar .training-fc-day .fc-daygrid-day-frame:after{content:"";position:absolute;right:4px;bottom:4px;font-size:1.15rem;font-weight:900;line-height:1;opacity:0;transform:translateY(2px);transition:transform .18s ease,opacity .18s ease;z-index:4;pointer-events:none}.training-calendar .training-fc-day--status-inactive .fc-daygrid-day-frame:after,.training-calendar .training-fc-day--status-success .fc-daygrid-day-frame:after,.training-calendar .training-fc-day--status-verified .fc-daygrid-day-frame:after{content:"✓";opacity:1;transform:translateY(0)}.training-calendar .training-fc-day--status-inactive .fc-daygrid-day-frame:after{color:#95a3ba}.training-calendar .training-fc-day--status-success .fc-daygrid-day-frame:after{color:#0b9a3b}.training-calendar .training-fc-day--status-verified .fc-daygrid-day-frame:after{color:#111}.training-calendar .training-fc-day--other-month .fc-daygrid-day-frame:after{opacity:.45}.training-calendar .training-fc-day--other-month.training-fc-day--kyorugi{--training-day-accent-soft: rgba(211, 13, 22, .05);--training-day-gradient: linear-gradient( 140deg, rgba(211, 13, 22, .08) 0%, rgba(211, 13, 22, .03) 52%, rgba(211, 13, 22, 0) 53% )}.training-calendar .training-fc-day--other-month.training-fc-day--poomsae{--training-day-accent-soft: rgba(31, 109, 184, .05);--training-day-gradient: linear-gradient( 140deg, rgba(31, 109, 184, .08) 0%, rgba(31, 109, 184, .03) 52%, rgba(31, 109, 184, 0) 53% )}.training-calendar .training-fc-day--other-month.training-fc-day--breitensport{--training-day-accent-soft: rgba(197, 151, 18, .06);--training-day-gradient: linear-gradient( 140deg, rgba(197, 151, 18, .09) 0%, rgba(197, 151, 18, .03) 52%, rgba(197, 151, 18, 0) 53% )}.training-calendar .training-fc-day--other-month.training-fc-day--has-tournament{--training-day-gradient: linear-gradient( 140deg, rgba(7, 16, 31, .16) 0%, rgba(16, 44, 82, .12) 44%, rgba(144, 5, 14, .1) 82%, rgba(144, 5, 14, 0) 100% )}.training-calendar .training-fc-day--selected .fc-daygrid-day-frame{background:linear-gradient(140deg,var(--training-day-accent-soft) 0%,rgba(255,255,255,0) 58%),var(--training-day-gradient, linear-gradient(140deg, transparent 0%, transparent 100%)),#f9fbff;box-shadow:0 9px 20px #0a162729;transform:translateY(-1px)}.training-calendar .fc .fc-day-today .fc-daygrid-day-frame{background:#1f6db814}.training-calendar .fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number{color:#0f4f95}.training-calendar__empty{margin-top:8px;padding:10px;background:var(--color-surface-strong);border:1px dashed rgba(23,79,134,.26);border-radius:var(--radius-card)}.training-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:end center}.training-overlay__backdrop{position:absolute;inset:0;background:#06102494;border:0}.training-overlay__panel{position:relative;width:min(100%,700px);max-height:min(88vh,760px);overflow:auto;padding:16px;background:#fff;border:1px solid rgba(17,26,43,.16);border-radius:12px 12px 0 0;box-shadow:0 -18px 48px #020a1957}.training-overlay__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.training-overlay__header span{display:block;color:var(--color-muted);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.training-overlay__header h3{margin-top:4px;font-size:1.22rem}.training-overlay__header p{margin-top:6px;color:var(--color-muted);font-size:.88rem;font-weight:700}.training-overlay__close{width:34px;height:34px;color:#0f1a2c;background:#fff;border:1px solid rgba(17,26,43,.24);border-radius:999px;font-size:1.4rem;line-height:1}.training-overlay__section{margin-top:14px;padding-top:12px;border-top:1px solid rgba(17,26,43,.12)}.training-overlay__section h4{font-size:.9rem}.training-overlay__mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.training-overlay__mode-switch button{min-height:34px;border:1px solid rgba(17,26,43,.18);border-radius:10px;color:#1e293b;background:#fff;font-size:.8rem;font-weight:800}.training-overlay__mode-switch button.is-active{color:#fff;background:#0f1a2c;border-color:#0f1a2c}.training-overlay__edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.training-overlay__field{display:grid;gap:4px}.training-overlay__field--full{grid-column:1 / -1}.training-overlay__field>span{color:var(--color-muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.training-overlay__field input,.training-overlay__field select{min-height:34px;border:1px solid rgba(16,24,39,.2);border-radius:10px;padding:7px 9px;background:#fff;font-size:.84rem}.training-overlay__coach-list{display:flex;flex-wrap:wrap;gap:6px}.training-overlay__coach-pill{min-height:30px;padding:4px 10px;border:1px solid rgba(16,24,39,.2);border-radius:999px;color:#1e293b;background:#fff;font-size:.76rem;font-weight:800}.training-overlay__coach-pill.is-selected{color:#fff;background:#0f1a2c;border-color:#0f1a2c}.training-overlay__series-options{display:grid;gap:6px;margin-top:10px}.training-overlay__checkbox-row{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:700}.training-overlay__checkbox-row input[type=checkbox]{width:16px;height:16px}.training-overlay__save-button{margin-top:10px}.training-overlay__coach{color:#4a576f;font-size:.86rem;font-weight:700}.training-overlay__coach strong{color:#111a2b;font-weight:900}.training-overlay__attendance-stats{margin-top:4px;color:#4a576f;font-size:.86rem;font-weight:700}.training-overlay__attendance-stats strong{color:#111a2b;font-weight:900}.training-overlay__split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start;gap:12px;margin-top:10px}.training-overlay__disciplines{display:grid;gap:5px;margin-top:8px}.training-choice{justify-content:flex-start;min-height:24px;padding:2px 8px;border-radius:0;font-size:.9rem;font-weight:800}.training-choice.is-selected{box-shadow:inset 0 0 0 2px currentColor}.training-choice:disabled,.training-choice.is-locked{opacity:.46;cursor:not-allowed}.training-overlay__check{display:flex;align-items:center;gap:10px;min-height:48px;width:fit-content;min-width:220px;max-width:100%;margin-top:8px;padding:8px 12px;text-align:left;color:#0f1a2c;background:#fff;border:1px solid rgba(17,26,43,.24);border-radius:12px;font-size:.9rem;font-weight:900;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease}.training-overlay__check-box{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;color:transparent;background:#fff;border:2px solid rgba(17,26,43,.32);border-radius:7px;font-size:.9rem;line-height:1;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.training-overlay__check.is-active .training-overlay__check-box{color:#fff;background:#16a34a;border-color:#16a34a}.training-overlay__check.is-active.is-planned{color:#0f4f95;background:#1f6db81c;border-color:#1f6db859}.training-overlay__check.is-active.is-attended{color:#0f7b32;background:#16a34a1f;border-color:#16a34a73}.training-overlay__verify-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.training-overlay__verify-buttons button{width:100%;margin-top:0}.training-overlay__verify-buttons button.is-active.is-verified{color:#0f7b32;background:#16a34a1f;border-color:#16a34a73}.training-overlay__verify-buttons button:disabled{color:#111a2b7a;background:#f2f4f8;border-color:#111a2b29;cursor:not-allowed}.training-overlay__verify-buttons button:disabled .training-overlay__check-box{border-color:#111a2b3d;background:#f8f9fc}@media(min-width:760px){.training-overlay{place-items:center}.training-overlay__panel{border-radius:14px}}@media(max-width:760px){.training-overlay__edit-grid{grid-template-columns:1fr}.training-overlay__split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8px}.training-overlay__split-col--disciplines .training-choice{min-height:20px;padding:1px 6px;font-size:.78rem;font-weight:800}.training-overlay__split-col--self .training-overlay__check{width:100%;min-width:0;padding:8px 10px;gap:8px;font-size:.78rem}.training-overlay__split-col--self .training-overlay__check span:last-child{min-width:0;line-height:1.2;white-space:normal}.training-overlay__verify-buttons{gap:6px}.training-overlay__verify-buttons .training-overlay__check{min-width:0;padding:8px 10px;gap:8px;font-size:.72rem}.profile-onboarding-layer__panel{width:100%;min-height:calc(100vh - (132px + env(safe-area-inset-bottom)));min-height:calc(100dvh - (132px + env(safe-area-inset-bottom)));max-height:calc(100vh - (132px + env(safe-area-inset-bottom)));max-height:calc(100dvh - (132px + env(safe-area-inset-bottom)));overflow:auto;padding:16px}.profile-onboarding-layer__graduation-row{grid-template-columns:1fr}.profile-onboarding-layer__belt{width:100%}}.metric-grid,.placeholder-grid{display:grid;grid-template-columns:1fr;gap:10px}.metric-tile{min-height:114px;padding:14px;background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:0 12px 28px #0a162714}.metric-tile--with-image{display:flex;align-items:center;justify-content:space-between;gap:12px}.metric-tile__content{min-width:0}.metric-tile__label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.metric-tile__label-accessory{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.metric-tile strong{display:block;margin-top:8px;font-size:clamp(1.45rem,8vw,2.2rem);line-height:1}.metric-tile small{display:block;margin-top:8px;color:var(--color-muted);line-height:1.35}.metric-tile__image-wrap{display:grid;place-items:center;flex:0 0 auto;width:clamp(72px,22vw,112px);height:clamp(72px,22vw,112px);margin-left:auto;position:relative}.metric-tile__image{width:100%;height:100%;object-fit:contain;object-position:center;position:relative;z-index:2}.metric-tile__image-overlay{position:absolute;inset:0;z-index:1;pointer-events:none}.metric-tile--belt .metric-tile__image-wrap{width:clamp(96px,28vw,148px);height:clamp(96px,28vw,148px)}.metric-tile--belt .metric-tile__image{width:88%;height:88%;transform:translate(calc(10% - 12px),calc(18% + 12px))}.metric-tile__belt-avatar{position:absolute;left:50%;top:52%;display:grid;place-items:center;width:clamp(66px,18vw,94px);height:clamp(66px,18vw,94px);transform:translate(-54%,-50%);overflow:hidden;border-radius:999px;box-shadow:inset 0 1px #ffffffb8}.metric-tile__belt-avatar--male{color:#0f2e52;background:linear-gradient(145deg,#dbe9fb,#c2d8f3);border:1px solid rgba(15,79,149,.24)}.metric-tile__belt-avatar--female{color:#5e0f1f;background:linear-gradient(145deg,#f8d7df,#f1bcc8);border:1px solid rgba(176,24,53,.24)}.metric-tile__belt-avatar img{width:100%;height:100%;object-fit:cover}.metric-tile__belt-avatar strong{color:currentColor;font-size:clamp(1.46rem,4.8vw,2rem);font-weight:900;letter-spacing:.04em;line-height:1}.athlete-frequency-card{display:grid;gap:10px}.athlete-frequency-card__values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.athlete-frequency-card__values div{min-width:0}.athlete-frequency-card__values span{color:var(--color-red);font-size:.72rem;font-weight:900;line-height:1.15;text-transform:uppercase}.athlete-frequency-card__values strong{margin-top:6px;font-size:clamp(1.45rem,8vw,2.2rem)}.athlete-frequency-card small{margin-top:0}.athlete-medal-summary{display:grid;gap:10px;background:#fff}.athlete-medal-summary--kyorugi{background:radial-gradient(circle at left 16%,rgba(211,13,22,.13),transparent 48%),linear-gradient(90deg,rgba(211,13,22,.06),transparent 44%),#fff}.athlete-medal-summary--poomsae{background:radial-gradient(circle at right 16%,rgba(31,109,184,.15),transparent 48%),linear-gradient(270deg,rgba(31,109,184,.08),transparent 44%),#fff}.athlete-medal-summary>small{margin-top:0;color:var(--color-red);font-size:.72rem;font-weight:900;line-height:1.15;text-transform:uppercase}.athlete-medal-summary--poomsae>small{color:#1f6db8}.athlete-medal-switch button:disabled{color:#49546ac7;background:#111a2b14;box-shadow:none;transform:none;cursor:not-allowed}.athlete-medal-summary__grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,1.22fr) minmax(0,.84fr);gap:8px}.athlete-medal-summary__item{position:relative;display:grid;gap:3px;min-height:78px;padding:8px;border:1px solid var(--color-line);border-radius:var(--radius-card);background:#ffffffe6}.athlete-medal-summary__item:before{content:"";position:absolute;inset:auto 8px 6px;height:2px;border-radius:999px;opacity:.58}.athlete-medal-summary__item--gold:before{background:linear-gradient(90deg,#f7ce68,#c19723)}.athlete-medal-summary__item--silver:before{background:linear-gradient(90deg,#eef2f8,#9aa6b6)}.athlete-medal-summary__item--bronze:before{background:linear-gradient(90deg,#f0b37a,#a65f2b)}.athlete-medal-summary__icon{font-size:1.1rem;line-height:1}.athlete-medal-summary__item strong{font-size:1.2rem;line-height:1}.athlete-medal-summary__item--gold strong,.athlete-medal-summary__item--silver strong{font-size:.98rem;line-height:1.12}.athlete-medal-summary__item--gold small,.athlete-medal-summary__item--silver small{font-size:.72rem}.athlete-medal-summary__item--points{min-height:70px}.athlete-medal-summary__item small{margin-top:0;color:var(--color-muted);font-size:.7rem;font-weight:700;line-height:1.25}.tournament-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tournament-hero h2,.athlete-overview h2{font-size:1.4rem;line-height:1.05}.tournament-hero p,.athlete-overview p{margin-top:6px;color:var(--color-muted);font-weight:600}.tournament-hero__active-status{display:flex;align-items:baseline;max-width:100%;min-width:0;margin-top:6px;color:var(--color-muted);font-weight:700;letter-spacing:.01em}.tournament-hero__active-status-wave{display:flex;flex-wrap:nowrap;min-width:0;white-space:nowrap}.tournament-hero__active-status-char{color:var(--color-muted);animation:tournament-active-status-wave 1.2s ease-in-out infinite}.tournament-hero__active-country{margin-top:2px;color:var(--color-muted);font-size:.96rem;font-weight:700;line-height:1.2}@keyframes tournament-active-status-wave{0%,to{color:var(--color-muted)}22%{color:#111}38%{color:#000}52%{color:var(--color-muted)}}.tournament-hero .tag{margin-top:8px}.tournament-hero__tag-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.tournament-hero__tag-row .tag{margin-top:0}.tournament-hero__meta{display:grid;justify-items:end;gap:8px}.tournament-hero__next-fight-compact{width:100%;margin-top:10px}.tournament-hero-card{width:100%;padding:0;text-align:left;background:transparent;border:0;cursor:pointer}.tournament-hero-card .tournament-hero{padding:4px 2px 0;transition:transform .18s ease}.tournament-hero-card:hover .tournament-hero{transform:translateY(1px)}.tournament-hero-card__toggle-copy{color:var(--color-muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.tournament-hero-card__details{display:grid;gap:10px;max-height:0;overflow:hidden;opacity:0;transform:translateY(-4px);transition:max-height .26s ease,opacity .22s ease,transform .22s ease}.tournament-hero-card.is-expanded .tournament-hero-card__details{max-height:3200px;margin-top:10px;opacity:1;transform:translateY(0)}.tournament-hero-card__description{color:#41506a;font-size:.9rem;font-weight:600;line-height:1.38}.tournament-complete-overview{display:grid;gap:10px;padding:12px;background:linear-gradient(180deg,#fffffff2,#f7fafeeb),radial-gradient(circle at 100% 0%,rgba(17,91,170,.08),transparent 58%);border:1px solid rgba(17,26,43,.13);border-radius:12px}.tournament-complete-overview__header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}.tournament-complete-overview__header h4{margin:0;color:#24344e;font-size:.86rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.tournament-complete-overview__status{display:inline-flex;align-items:center;min-height:24px;padding:3px 10px;color:#1f4d84;font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;background:#1653991a;border:1px solid rgba(22,83,153,.18);border-radius:var(--radius-pill)}.tournament-complete-overview__intro{margin:0;color:#4c5e79;font-size:.82rem;font-weight:700;line-height:1.42}.tournament-complete-overview__medals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tournament-complete-overview__country-edit{display:grid;gap:6px}.tournament-complete-overview__country-edit label{display:grid;gap:4px}.tournament-complete-overview__country-edit label span{color:#63748c;font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.tournament-complete-overview__medals span{display:inline-flex;align-items:center;justify-content:center;min-height:30px;color:#243953;font-size:.86rem;font-weight:900;background:#fff;border:1px solid rgba(17,34,57,.12);border-radius:9px}.tournament-complete-overview__groups{display:grid;gap:10px}.tournament-complete-overview__group{display:grid;gap:8px;padding:10px;background:#ffffffbd;border:1px solid rgba(17,34,57,.12);border-radius:10px}.tournament-complete-overview__group h5{margin:0;color:#2c3f5b;font-size:.76rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.tournament-complete-overview__table{display:grid;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch}.tournament-complete-overview__table-head,.tournament-complete-overview__row{display:grid;grid-template-columns:minmax(80px,92px) minmax(138px,1fr) minmax(76px,102px) minmax(52px,58px);align-items:center;gap:8px;min-width:0}.tournament-complete-overview__table-head{padding:0 8px}.tournament-complete-overview__table-head span{color:#63748c;font-size:.62rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.tournament-complete-overview__row{padding:8px;background:#fff;border:1px solid rgba(17,34,57,.12);border-radius:9px}.tournament-complete-overview__row.is-gold{background:linear-gradient(90deg,#f7ce6833,#fff 42%)}.tournament-complete-overview__row.is-silver{background:linear-gradient(90deg,#aab6c438,#fff 42%)}.tournament-complete-overview__row.is-bronze{background:linear-gradient(90deg,#d59c6a38,#fff 42%)}.tournament-complete-overview__placement{display:inline-grid;grid-template-columns:auto auto;align-items:center;gap:6px}.tournament-complete-overview__placement strong{color:#26344b;font-size:.94rem;line-height:1}.tournament-complete-overview__placement em{color:#2e425f;font-size:.82rem;font-style:normal;font-weight:900}.tournament-complete-overview__placement-readonly{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;min-height:30px;padding:4px 6px;color:#30465f;font-size:.82rem;font-style:normal;font-weight:900;text-align:center;background:#ebf0f7db;border:1px solid rgba(17,34,57,.18);border-radius:8px}.tournament-complete-overview__placement input{box-sizing:border-box;width:44px;min-height:30px;padding:4px 6px;color:#1f2f45;font-size:.82rem;font-weight:900;text-align:center;background:#fff;border:1px solid rgba(17,34,57,.2);border-radius:8px}.tournament-complete-overview__athlete{display:grid;gap:2px;min-width:0}.tournament-complete-overview__athlete strong{color:#23344d;font-size:.79rem;line-height:1.24;word-break:break-word}.tournament-complete-overview__athlete small{color:#607288;font-size:.67rem;font-weight:800;line-height:1.24;word-break:break-word}.tournament-complete-overview__class,.tournament-complete-overview__wins{color:#31455f;font-size:.74rem;font-weight:800}.tournament-complete-overview__wins{display:inline-flex;align-items:center;justify-content:center;text-align:center;justify-self:stretch;min-width:0}.tournament-complete-overview__wins input{box-sizing:border-box;width:44px;min-height:30px;padding:4px 6px;color:#1f2f45;font-size:.82rem;font-weight:900;text-align:center;background:#fff;border:1px solid rgba(17,34,57,.2);border-radius:8px}.tournament-complete-overview__actions{display:grid;gap:6px}.tournament-complete-overview__snapshot-toggle{display:inline-flex;align-items:center;gap:8px;color:#30445f;font-size:.76rem;font-weight:800}.tournament-complete-overview__snapshot-toggle input[type=checkbox]{width:16px;height:16px;margin:0}.tournament-complete-overview__actions small{color:#5b6d85;font-size:.68rem;font-weight:700}.tournament-hero-card__detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tournament-hero-card__detail-grid h4{margin-bottom:6px;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}.tournament-hero-card__count{margin-bottom:4px;color:#495a75;font-size:.82rem;font-weight:800}.tournament-hero-card__person-list{display:grid;gap:6px}.tournament-hero-card__person-list--scroll{max-height:560px;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;padding-right:4px;padding-bottom:16px;scroll-padding-bottom:16px}.tournament-hero-card__person-list--scroll:after{content:"";display:block;height:10px}.tournament-hero-card__person-list--scroll::-webkit-scrollbar{width:8px}.tournament-hero-card__person-list--scroll::-webkit-scrollbar-thumb{background:#111a2b42;border-radius:999px}.tournament-hero-card__add-athlete-wrap{display:grid;gap:8px;margin-top:8px}.tournament-hero-card__add-athlete-button{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:44px;padding:10px;text-align:left;background:linear-gradient(160deg,#2cb66f,#18834d);border:1px solid #147043;border-radius:10px;box-shadow:0 6px 14px #18834d40}.tournament-hero-card__add-athlete-button span{color:#e8fff2;font-size:1.85rem;font-weight:700;line-height:1}.tournament-hero-card__add-athlete-button strong{color:#fff;font-size:.92rem;font-weight:800}.tournament-hero-card__add-athlete-button--coach{background:linear-gradient(160deg,#3177c9,#1f4f89);border-color:#1a4575;box-shadow:0 6px 14px #1f4f8947}.tournament-hero-card__add-athlete-picker{display:grid;gap:8px;padding:10px;background:#eef8f1;border:1px solid rgba(20,112,67,.24);border-radius:10px}.tournament-hero-card__add-athlete-picker input{width:100%}.tournament-hero-card__add-athlete-search-input{width:100%;min-height:46px;padding:10px 12px 10px 40px;border:1px solid rgba(18,88,161,.38);border-radius:9px;background:radial-gradient(circle at 16px 50%,rgba(39,109,182,.2) 0 6px,transparent 6px),linear-gradient(145deg,#fff,#f3f8ff);color:#1b2a40;font-size:1.02rem;font-weight:800;line-height:1.1;box-shadow:inset 0 1px #ffffffd1,0 1px 3px #101d2f1f}.tournament-hero-card__add-athlete-search-input::placeholder{color:#5f6f86;font-weight:700}.tournament-hero-card__add-athlete-search-input:focus{outline:none;border-color:#1055aae6;box-shadow:0 0 0 3px #1f6db833,inset 0 1px #ffffffdb}.tournament-hero-card__add-athlete-picker--coach{background:#eff4fb;border-color:#1a45753d}.tournament-hero-card__add-athlete-results{display:grid;gap:6px;max-height:220px;overflow-y:auto}.tournament-hero-card__add-athlete-result{width:100%;min-height:38px;padding:8px 10px;color:var(--color-ink);text-align:left;background:#fff;border:1px solid rgba(20,112,67,.2);border-radius:10px}.tournament-hero-card__add-athlete-result--coach{border-color:#1a45753d}.tournament-hero-card__join-button{width:100%;margin-top:8px}.tournament-payment-status-panel{display:grid;gap:6px;margin-top:12px;padding:12px;border:1px solid rgba(16,24,39,.14);border-radius:12px;background:#f7fafc}.tournament-payment-status-panel h4{margin:0}.tournament-payment-status-panel__summary{margin:0;color:#1f2a3a;font-size:.92rem;font-weight:800}.tournament-payment-status-panel__headline{margin:2px 0 0;color:#4a5c73;font-size:.82rem;font-weight:700}.tournament-payment-status-panel__list{display:grid;gap:2px}.tournament-payment-status-panel__list p{margin:0;color:#1e293b;font-size:.84rem;font-weight:700}.tournament-payment-status-panel__whatsapp-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:6px}.tournament-payment-status-panel__whatsapp-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px}.tournament-payment-status-panel__whatsapp-icon svg{width:100%;height:100%}.tournament-admin-danger-zone{display:grid;gap:8px;margin-top:12px;padding:10px;border:1px solid rgba(127,7,17,.25);border-radius:10px;background:linear-gradient(180deg,#7f07110f,#7f071105)}.tournament-admin-danger-zone__delete{width:100%}.tournament-hero-card__person-row{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;padding:6px 8px;background:#f5f8fc;border:1px solid rgba(17,26,43,.12);border-radius:10px}.tournament-hero-card__person-row--with-scale{grid-template-columns:24px minmax(0,1fr) minmax(78px,92px);align-items:stretch}.tournament-hero-card__person-row--with-actions{grid-template-columns:24px minmax(0,1fr) auto}.tournament-hero-card__person-row--with-fee-toggle{grid-template-columns:24px minmax(0,1fr) minmax(98px,112px)}.tournament-hero-card__person-row strong{font-size:.88rem}.tournament-hero-card__person-row small{grid-column:2 / 3;color:var(--color-muted);font-size:.74rem;font-weight:700}.tournament-hero-card__coach-row{grid-template-columns:24px minmax(0,1fr) auto}.tournament-hero-card__coach-row small{grid-column:2 / 3}.tournament-coach-row__remove{grid-column:3 / 4;grid-row:1 / 3;align-self:center;min-height:28px;padding:4px 8px;border:1px solid rgba(182,25,39,.42);border-radius:8px;background:linear-gradient(160deg,#cb2133,#8f0e1e);color:#fff4f5;font-size:.7rem;font-weight:800;line-height:1}.tournament-coach-row__remove:disabled{opacity:.6}.tournament-hero-card__person-row--with-fee-toggle .tournament-coach-row__remove{grid-column:3 / 4;grid-row:3 / 4;align-self:end;justify-self:end}.tournament-participant-fee-toggle{position:relative;grid-column:3 / 4;grid-row:1 / 2;display:inline-grid;align-self:start;justify-self:end;min-width:86px;min-height:34px;padding:6px 10px 5px;overflow:hidden;border:1px solid rgba(108,122,147,.55);border-radius:0;color:#2d3c53;background:linear-gradient(90deg,rgba(124,136,159,.11) 0 5%,transparent 5% 95%,rgba(124,136,159,.11) 95% 100%),repeating-linear-gradient(-22deg,#6d7c9114 0 2px,#ffffff1a 2px 4px),radial-gradient(circle at 20% 30%,rgba(255,255,255,.62),transparent 52%),linear-gradient(145deg,#e7edf6,#c4cfde);box-shadow:inset 0 1px #ffffffad,0 6px 14px #29364e26;cursor:pointer}.tournament-participant-fee-toggle:before{content:"";position:absolute;inset:4px;border:1px dashed rgba(80,95,119,.36);pointer-events:none}.tournament-participant-fee-toggle:after{content:"";position:absolute;width:46px;height:46px;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(65,88,126,.26);border-radius:50%;background:radial-gradient(circle,rgba(64,92,132,.08),rgba(64,92,132,.02) 63%,transparent 63%),conic-gradient(from 0deg,#405c8421,#405c8400 35%,#405c8421 65%,#405c8400);pointer-events:none}.tournament-participant-fee-toggle .tournament-hero__fee-note-strip{left:12px;width:7px}.tournament-participant-fee-toggle .tournament-hero__fee-note-logo{font-size:.35rem;padding:0 4px}.tournament-participant-fee-toggle .tournament-hero__fee-note-value{font-size:1.05rem;font-weight:900;color:#2d3c53;text-shadow:0 1px 0 rgba(255,255,255,.54),0 0 6px rgba(72,95,129,.16)}.tournament-participant-fee-toggle .tournament-hero__fee-note-currency{right:6px;font-size:1.3rem;color:#3a4d6d57}.tournament-participant-fee-toggle.is-paid{border-color:#1d652c75;color:#0d2f63;background:linear-gradient(90deg,rgba(48,122,59,.09) 0 5%,transparent 5% 95%,rgba(48,122,59,.09) 95% 100%),repeating-linear-gradient(-22deg,#2169300f 0 2px,#ffffff1c 2px 4px),radial-gradient(circle at 20% 30%,rgba(255,255,255,.62),transparent 52%),linear-gradient(145deg,#d6f2c6,#8acb78);box-shadow:inset 0 1px #ffffffa8,0 8px 18px #1f572833}.tournament-participant-fee-toggle.is-paid .tournament-hero__fee-note-value{color:#0a2c64;text-shadow:0 1px 0 rgba(255,255,255,.52),0 0 8px rgba(32,86,160,.15)}.tournament-participant-fee-toggle.is-paid .tournament-hero__fee-note-currency{color:#0e3b8247}.tournament-participant-fee-toggle:disabled{opacity:.62;cursor:default}.tournament-participant-scale-box{grid-column:3 / 4;grid-row:1 / 3;display:grid;gap:2px;align-content:center;justify-items:stretch;padding:2px 0}.tournament-hero-card__person-row--with-scale.tournament-hero-card__person-row--with-fee-toggle .tournament-participant-scale-box{grid-row:2 / 3;align-content:start;margin-top:3px}.tournament-participant-scale-box label{color:#31445f;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.tournament-participant-scale-box input{width:100%;min-height:30px;padding:4px 24px 4px 7px;border-radius:8px;border:1px solid rgba(20,33,53,.2);background:#fff;color:#1b2a40;font-size:.82rem;font-weight:800}.tournament-participant-scale-box input.is-invalid{border-color:#d30d16;box-shadow:0 0 0 1px #d30d1638;background:#fff6f7}.tournament-participant-scale-box small{color:#5c6f8a;font-size:.64rem;font-weight:700;justify-self:end}.tournament-participant-scale-box__input-wrap{position:relative}.tournament-participant-scale-box__unit{position:absolute;right:7px;bottom:4px;color:#a1adbd;font-size:.63rem;font-weight:700;pointer-events:none;display:inline-flex;gap:.02rem}.tournament-participant-scale-box__unit-char{color:inherit}.tournament-participant-scale-box__unit--animated.is-saving .tournament-participant-scale-box__unit-char{animation:participantScaleUnitPulse 1.1s ease-in-out infinite}@keyframes participantScaleUnitPulse{0%{color:#a1adbd}45%{color:#6f7c92}to{color:#a1adbd}}.tournament-fight-areas-control{display:grid;gap:6px;margin-bottom:8px;padding:8px 10px;background:#eef3fa;border:1px solid rgba(18,32,52,.14);border-radius:10px}.tournament-fight-areas-control--compact{width:100%;margin:0;padding:6px 8px}.tournament-fight-areas-control--compact strong{font-size:.74rem}.tournament-fight-areas-control--compact .tournament-fight-areas-control__row{align-items:center}.tournament-fight-areas-control--compact .tournament-fight-areas-control__next-fight-value{font-size:1.34rem}.tournament-day-summary-trigger{width:100%;margin-bottom:8px;background:linear-gradient(145deg,#d30d16,#98070f)}.tournament-day-complete-trigger{margin-bottom:10px;background:linear-gradient(145deg,#1b6e2e,#0c4d1d);border-color:#0833146b}.tournament-fight-areas-control strong{color:#1d2b42;font-size:.82rem;font-weight:900}.tournament-fight-areas-control__row{display:flex;align-items:center;justify-content:space-between;gap:10px}.tournament-fight-areas-control__row--athlete{align-items:flex-end}.tournament-fight-areas-control__next-fight-value{margin:0;color:#1b2a41;font-size:2rem;font-weight:900;line-height:1;letter-spacing:.01em}.tournament-fight-areas-control__actions{display:inline-grid;grid-template-columns:36px 52px 36px;align-items:center;gap:6px}.tournament-fight-areas-control__actions button,.tournament-fight-areas-control__actions input{min-height:34px;border-radius:9px;border:1px solid rgba(18,32,52,.2);font-weight:900;text-align:center}.tournament-fight-areas-control__actions button:disabled{opacity:.45}.tournament-fight-areas-control__actions input{background:#fff;color:#1b2a41;font-size:.96rem}.tournament-fight-areas-octagons{display:grid;grid-template-columns:repeat(4,30px);justify-content:center;align-content:center;gap:6px;min-width:138px}.tournament-fight-areas-octagons--compact{grid-template-columns:repeat(4,22px);gap:4px;min-width:0}.tournament-fight-area-octagon{display:grid;place-items:center;width:30px;height:30px;border:4px solid #b10812;background:#1557a0;color:#fff;font-size:.78rem;font-weight:900;line-height:1;padding:0;cursor:pointer;clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%)}.tournament-fight-areas-octagons--compact .tournament-fight-area-octagon{width:22px;height:22px;border-width:3px;font-size:.62rem}.tournament-fight-area-octagon:focus-visible{outline:2px solid #115baa;outline-offset:2px}.tournament-fight-area-octagon.is-inactive{opacity:.38}.tournament-fight-areas-control__row--athlete .tournament-fight-area-octagon{cursor:default}.tournament-fight-areas-control__next-fight-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title showcase" "list showcase";align-items:start;column-gap:12px;row-gap:6px;width:100%}.tournament-fight-areas-control__next-fight-title{grid-area:title}.tournament-fight-areas-control__next-fight-showcase{grid-area:showcase;display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;align-self:center}.tournament-fight-areas-control__next-fight-summary{grid-area:showcase;display:grid;grid-template-columns:repeat(2,minmax(76px,1fr));gap:8px;align-self:center;justify-items:stretch}.tournament-fight-areas-control__next-fight-summary-item{display:grid;justify-items:center;align-content:center;gap:6px;min-height:90px;padding:8px 10px;border:1px solid rgba(20,35,57,.14);border-radius:10px;background:#ffffff73;text-align:center}.tournament-fight-areas-control__next-fight-summary-item small{color:#2f425d;font-size:.76rem;font-weight:800;line-height:1.2}.tournament-fight-areas-control__next-fight-summary-item strong{color:#15263f;font-size:2rem;font-weight:900;line-height:1}.tournament-fight-areas-control__next-fight-list{grid-area:list;display:grid;justify-items:start;gap:4px;width:100%}.tournament-fight-areas-control__next-fight-item{display:grid;grid-template-columns:34px 24px minmax(0,auto);align-items:center;justify-content:start;gap:6px}.tournament-next-fight-vest{flex:0 0 auto;width:68px;height:90px;background-image:url(/images/sprite-vest.png);background-repeat:no-repeat;background-size:200% 100%}.tournament-next-fight-vest--red{background-position:0% 0%}.tournament-next-fight-vest--blue{background-position:100% 0%}.tournament-next-fight-vest--small{width:24px;height:32px}.tournament-fight-area-octagon--next-fight-area{width:34px;height:34px;border-width:4px;font-size:.84rem;cursor:default}.tournament-fight-area-octagon--next-fight{width:76px;height:76px;border-width:5px;font-size:1.26rem;letter-spacing:.01em;cursor:default}.tournament-fight-area-octagon--next-fight.is-clickable{cursor:pointer}.tournament-fight-areas-control__next-fight-number{min-width:34px;color:#1b2a41;font-size:.9rem;font-weight:900;line-height:1;text-align:right}.tournament-fight-areas-control__next-fights{grid-column:1 / -1;display:grid;gap:6px;margin-top:2px}.tournament-fight-areas-control__next-fights-divider{width:100%;border-top:1px dashed rgba(18,32,52,.2);margin:2px 0 4px}.tournament-fight-areas-control__next-fights-title{margin:0}.tournament-fight-areas-control__next-fights-summary{color:#3c5271;font-size:.78rem;font-weight:700}.tournament-fight-areas-control__next-fights-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.tournament-fight-areas-control__starts-share{display:block;margin-top:6px}.tournament-fight-areas-control__starts-share-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%}.tournament-fight-areas-control__next-fights-area{display:grid;justify-items:center;align-content:start;gap:6px;min-height:134px;padding:8px 6px;border:1px solid rgba(20,35,57,.16);border-radius:10px;background:#ffffff85}.tournament-fight-areas-control__next-fights-area.is-clickable{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.tournament-fight-areas-control__next-fights-area.is-clickable:hover{border-color:#1555a070;box-shadow:0 8px 16px #09192c1f}.tournament-fight-areas-control__next-fights-area.is-clickable:focus-visible{outline:none;border-color:#1555a09e;box-shadow:0 0 0 2px #1456a038}.tournament-fight-areas-control__next-fights-area-key{margin:0;color:#213653;font-size:.7rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.tournament-fight-area-octagon--next-fight-by-area{display:grid;place-items:center;width:52px;height:52px;border-width:5px;font-size:1rem;line-height:1;text-align:center;letter-spacing:0;padding:0;cursor:default}.tournament-fight-areas-control__next-fights-current-row{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:0 8px;box-sizing:border-box}.tournament-next-fight-vest--tiny{width:18px;height:24px}.tournament-fight-areas-control__next-fights-name{color:#1b2a41;font-size:.78rem;font-weight:900;line-height:1.2;text-align:left}.tournament-fight-areas-control__next-fights-name.is-empty{color:#6f7f96}.tournament-fight-areas-control__next-fights-upcoming-row{margin:0;color:#2b3f5b;font-size:.76rem;font-weight:800;line-height:1.2;display:flex;align-items:center;justify-content:flex-start;gap:4px;text-align:left;width:100%;padding:0 8px;box-sizing:border-box}.tournament-fight-areas-control__next-fights-upcoming-name{color:#1b2a41;font-weight:900}.tournament-fight-areas-control__next-fights-upcoming-number{color:#3c5271;font-weight:800}.tournament-fight-areas-control__next-fights-upcoming-list{display:grid;justify-items:start;gap:2px;width:100%}.tournament-fight-areas-control--compact .tournament-fight-areas-control__next-fights-grid{gap:6px}.tournament-fight-areas-control--compact .tournament-fight-areas-control__starts-share{margin-top:4px}.tournament-fight-areas-control--compact .tournament-fight-areas-control__next-fights-area{min-height:114px;padding:6px 4px}.tournament-fight-areas-control--compact .tournament-fight-area-octagon--next-fight-by-area{width:44px;height:44px;border-width:4px;font-size:.88rem}.tournament-fight-areas-control--compact .tournament-fight-areas-control__next-fights-upcoming-row{font-size:.72rem}.tournament-fight-areas-control__coach-self-fight{display:grid;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed rgba(18,32,52,.2)}.tournament-hero-card__coach-row.is-draggable{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:manipulation}.tournament-hero-card__coach-row.is-dragging{opacity:.08;transform:none;pointer-events:none}.tournament-hero-card__coach-row.is-drag-overlay{width:min(100%,360px);opacity:.96;box-shadow:0 18px 28px #07101f52;border-color:#1122393d;pointer-events:none}.tournament-coach-drag-overlay{pointer-events:none}.tournament-fighter-group{display:grid;gap:8px}.tournament-fighter-group+.tournament-fighter-group{margin-top:10px}.tournament-fighter-group h5{margin:2px 0 0;color:#2e415e;font-size:.78rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.tournament-fighter-row{box-sizing:border-box;display:block;width:100%;gap:8px;padding:10px;background:#f5f8fc;border:1px solid rgba(17,26,43,.16);border-radius:12px;cursor:pointer;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.tournament-fighter-row.is-fight-assigned{border-color:#bc2b2b6b}.tournament-fighter-row.is-complete{border-color:#187a416b}.tournament-fighter-row.is-coach-drop-target{background:#e9f3ff;border-color:#145fb56b;box-shadow:0 0 0 2px #115baa2b}.tournament-fighter-row.is-coach-assigned-flash{animation:fighter-assigned-flash .78s ease}.tournament-fighter-row:focus-visible{outline:2px solid #115baa;outline-offset:2px}@keyframes fighter-assigned-flash{0%{box-shadow:0 0 #1e8f5259}70%{box-shadow:0 0 0 5px #1e8f5200}to{box-shadow:none}}.tournament-fighter-row__summary{display:grid;grid-template-columns:24px minmax(0,1fr) minmax(72px,82px);align-items:center;gap:10px;width:100%}.tournament-fighter-row__copy{display:grid;gap:2px;min-width:0}.tournament-fighter-row__copy strong{margin:0;color:#131c2c;font-size:.72rem;line-height:1.22;word-break:break-word}.tournament-fighter-row__copy small{margin:0;color:#5a687e;font-size:.65rem;font-weight:800;line-height:1.22;word-break:break-word}.tournament-fighter-row__coach{margin:3px 0 0;font-size:.72rem;font-weight:800;line-height:1.22;word-break:break-word}.tournament-fighter-row__coach.is-assigned{color:#2f556e}.tournament-fighter-row__coach.is-empty{color:#9b1d1d}.tournament-next-fight-box{display:grid;justify-items:center;align-content:center;gap:5px;width:100%;min-height:84px;padding:2px;border:0;border-radius:0;background:transparent;color:#18273c;text-align:center}.tournament-next-fight-box small{font-size:.54rem;font-weight:800;color:#4f6076}.tournament-next-fight-box__octagon{display:grid;place-items:center;width:64px;height:64px;border:5px solid #b10812;background:#1557a0;color:#fff;font-size:.94rem;font-weight:900;line-height:1;clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%)}.tournament-next-fight-box.is-vest-blue .tournament-next-fight-box__octagon{background:#1557a0;color:#fff}.tournament-next-fight-box.is-vest-red .tournament-next-fight-box__octagon{background:#b10812;color:#fff}.tournament-next-fight-box.is-complete .tournament-next-fight-box__octagon{border-color:#1d8a4d}.tournament-next-fight-box.is-assigned .tournament-next-fight-box__octagon{border-color:#b10812}.tournament-fighter-expanded{width:100%;margin-top:10px;padding-top:10px;border-top:1px dashed rgba(19,35,58,.22);display:grid;gap:10px}.tournament-fighter-expanded__fights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tournament-fighter-expanded__weigh-in{display:grid;gap:4px;max-width:220px}.tournament-fighter-expanded__weigh-in label{color:#31445f;font-size:.71rem;font-weight:900}.tournament-fighter-expanded__weigh-in input{width:100%;min-height:34px;padding:6px 8px;border-radius:8px;border:1px solid rgba(20,33,53,.2);background:#fff;color:#1b2a40;font-size:.92rem;font-weight:800}.tournament-fighter-expanded__weigh-in small{color:#5c6f8a;font-size:.69rem;font-weight:700}.tournament-fighter-fight-card{display:grid;gap:5px;padding:8px;border-radius:10px;border:1px solid rgba(20,33,53,.14);background:#f7f9fd}.tournament-fighter-fight-card label{color:#31445f;font-size:.71rem;font-weight:900}.tournament-fighter-fight-card input{width:100%;min-height:34px;padding:6px 7px;border-radius:8px;border:1px solid #0e3d74;background:#1557a0;color:#fff;font-size:.92rem;font-weight:800;text-align:center}.tournament-fighter-fight-card__number-row{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:6px}.tournament-fighter-fight-card__vest{width:24px;height:32px;padding:0;border:0;border-radius:0;background-color:transparent;background-image:url(/images/sprite-vest.png);background-repeat:no-repeat;background-size:200% 100%}.tournament-fighter-fight-card__vest--red{background-position:0% 0%}.tournament-fighter-fight-card__vest--blue{background-position:100% 0%}.tournament-fighter-fight-card__vest:not(:disabled){cursor:pointer}.tournament-fighter-fight-card__vest:disabled{opacity:.62;cursor:default}.tournament-fighter-fight-card input::placeholder{color:#ffffffe0}.tournament-fighter-fight-card input.is-vest-blue{border-color:#0e3d74;background:#1557a0;color:#fff}.tournament-fighter-fight-card input.is-vest-red{border-color:#8f0911;background:#b10812;color:#fff}.tournament-fighter-fight-card input[readonly]{opacity:.95}.tournament-fighter-fight-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tournament-fighter-fight-card__actions button{min-height:34px;border-radius:8px;border:1px solid rgba(20,33,53,.2);background:#fff;font-size:1rem}.tournament-fighter-fight-card__actions button:disabled{opacity:.55}.tournament-fighter-fight-card__actions button.is-active.is-win{border-color:#187a4185;background:#e7f7ee}.tournament-fighter-fight-card__actions button.is-active.is-loss{border-color:#bc2b2b85;background:#fdebec}.tournament-fighter-expanded__footer{display:grid;grid-template-columns:auto 44px auto auto auto;gap:8px;align-items:center}.tournament-fighter-expanded__footer label{color:#2b405d;font-size:.76rem;font-weight:900}.tournament-fighter-expanded__footer input{width:44px;min-height:30px;padding:4px 2px;border-radius:8px;border:1px solid rgba(20,33,53,.24);text-align:center;font-size:.82rem;font-weight:900}.tournament-fighter-expanded__placement-medal{font-size:1.2rem;line-height:1;justify-self:center}.tournament-fighter-expanded__done,.tournament-fighter-expanded__no-show{min-height:30px;padding-inline:10px;justify-self:start;border-radius:8px;font-size:.76rem}.tournament-fighter-expanded__stats{display:flex;flex-wrap:wrap;gap:6px}.tournament-fighter-expanded__stats span{padding:4px 8px;border-radius:999px;background:#eef3fa;color:#34465f;font-size:.72rem;font-weight:800}.tournament-day-summary-layer{position:fixed;inset:0;z-index:48;display:grid;place-items:center;padding:16px}.tournament-day-summary-layer__backdrop{position:absolute;inset:0;border:0;background:#07101fb3}.tournament-day-summary-layer__panel{position:relative;z-index:1;width:min(100%,520px);max-height:84vh;overflow:auto;display:grid;gap:12px;padding:16px;border:1px solid rgba(18,33,56,.18);border-radius:14px;background:#fff;box-shadow:0 22px 38px #07101f54}.tournament-day-summary-layer__header{display:flex;align-items:center;justify-content:space-between;gap:10px}.tournament-day-summary-layer__header h3{margin:0;color:#0f213a;font-size:1.18rem}.tournament-day-summary-layer__close{width:34px;height:34px;border:1px solid rgba(18,33,56,.2);border-radius:10px;background:#fff;font-size:1.4rem;line-height:1}.tournament-day-summary-layer__medals{display:grid;gap:6px;padding:10px 12px;border:1px solid rgba(18,33,56,.14);border-radius:12px;background:#f5f8fc}.tournament-day-summary-layer__intro{margin:0;padding:10px 12px;border:1px solid rgba(18,33,56,.14);border-radius:12px;background:#f5f8fc;color:#1b2d46;font-size:.96rem;font-weight:900}.tournament-day-summary-layer__medals p{margin:0;color:#1b2d46;font-size:.96rem;font-weight:900}.tournament-day-summary-layer__fighters{display:grid;gap:8px}.tournament-day-summary-layer__fighter-row{display:grid;gap:3px;padding:10px 11px;border:1px solid rgba(18,33,56,.14);border-radius:10px;background:#f8fbff}.tournament-day-summary-layer__fighter-row strong{color:#13233b;font-size:.94rem}.tournament-day-summary-layer__fighter-row small{color:#56657a;font-size:.78rem;font-weight:800}.tournament-day-summary-layer__actions{display:grid;gap:8px}.tournament-day-summary-layer__complete-button,.tournament-day-summary-layer__whatsapp-button{width:100%}.tournament-medal-box{min-width:126px;padding:8px 9px;border-radius:10px;border:1px solid rgba(20,33,53,.16);background:#f5f8fc}.tournament-medal-box>strong{display:block;margin-bottom:6px;font-size:.72rem;font-weight:900;text-align:center;text-transform:uppercase}.tournament-medal-box__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.tournament-medal-box__item{display:grid;justify-items:center;gap:1px;padding:4px 2px;border-radius:6px;border:1px solid rgba(20,33,53,.14);color:#56667d}.tournament-medal-box__item span{font-size:.6rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.tournament-medal-box__item strong{font-size:.9rem;line-height:1}.tournament-medal-box__item.is-active.is-gold{border-color:#a0790075;background:#fff8dc;color:#7f6213}.tournament-medal-box__item.is-active.is-silver{border-color:#57647d75;background:#f1f5fb;color:#4c5973}.tournament-medal-box__item.is-active.is-bronze{border-color:#834f2575;background:#f9eee3;color:#7a4b27}@media(prefers-reduced-motion:reduce){.tournament-hero__active-status-char{animation:none}}.tournament-placement-badge{display:inline-flex;align-items:center;gap:4px;color:#4f5f77}.tournament-placement-badge.is-gold:before,.tournament-placement-badge.is-silver:before,.tournament-placement-badge.is-bronze:before{content:"";width:12px;height:12px;border-radius:999px;box-shadow:inset 0 1px #ffffffb3}.tournament-placement-badge.is-gold:before{background:radial-gradient(circle at 30% 30%,#ffef99,#d2a408 72%)}.tournament-placement-badge.is-silver:before{background:radial-gradient(circle at 30% 30%,#f0f2f8,#96a1b7 72%)}.tournament-placement-badge.is-bronze:before{background:radial-gradient(circle at 30% 30%,#e8c2a2,#a35f2a 72%)}.tournament-status-check{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;font-size:.82rem;font-weight:900;line-height:1}.tournament-status-check.is-registered{color:#fff;background:linear-gradient(145deg,#3d89d1,#1f5d95)}.tournament-status-check.is-confirmed{color:#fff;background:linear-gradient(145deg,#26ad5a,#1a7d3f)}.tournament-status-check.is-pending{color:#fff;background:linear-gradient(145deg,#27b3c4,#1f7a95)}.tournament-status-check.is-interested{color:#fff;background:linear-gradient(145deg,#8f98a8,#5b6678)}.tournament-hero__fee-note{position:relative;display:inline-grid;align-items:center;justify-content:center;grid-template-columns:1fr;min-width:106px;min-height:44px;padding:8px 14px 7px;overflow:hidden;color:#0d2f63;background:linear-gradient(90deg,rgba(48,122,59,.09) 0 5%,transparent 5% 95%,rgba(48,122,59,.09) 95% 100%),repeating-linear-gradient(-22deg,#2169300f 0 2px,#ffffff1c 2px 4px),radial-gradient(circle at 20% 30%,rgba(255,255,255,.62),transparent 52%),linear-gradient(145deg,#d6f2c6,#8acb78);border:1px solid rgba(29,101,44,.44);border-radius:0;box-shadow:inset 0 1px #ffffffa8,0 8px 18px #1f572833;font-size:1.45rem;font-weight:900;letter-spacing:.01em;line-height:1}.tournament-hero__fee-note:before{content:"";position:absolute;inset:5px;border:1px dashed rgba(18,61,127,.34);border-radius:0;pointer-events:none}.tournament-hero__fee-note:after{content:"";position:absolute;width:62px;height:62px;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(27,67,128,.24);border-radius:50%;background:radial-gradient(circle,rgba(30,84,166,.08),rgba(30,84,166,.02) 63%,transparent 63%),conic-gradient(from 0deg,#2560b229,#2560b200 35%,#2560b229 65%,#2560b200);pointer-events:none}.tournament-hero__fee-note-value{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;color:#0a2c64;text-shadow:0 1px 0 rgba(255,255,255,.52),0 0 8px rgba(32,86,160,.15)}.tournament-hero__fee-note-strip{position:absolute;left:16px;top:0;bottom:0;width:10px;opacity:.68;background:linear-gradient(180deg,#29793a0a,#29793a61 16%,#e2f5df94,#29793a61 84%,#29793a0a);border-left:1px solid rgba(26,87,41,.2);border-right:1px solid rgba(26,87,41,.24);pointer-events:none}.tournament-hero__fee-note-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-48%);z-index:1;padding:0 6px;font-size:.42rem;font-weight:800;letter-spacing:.12em;color:#0c397f75;border:1px solid rgba(15,59,124,.28);background:#e8f4ff94;text-transform:uppercase;white-space:nowrap;pointer-events:none}.tournament-hero__fee-note-currency{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#0e3b8247;font-size:1.85rem;font-weight:900;line-height:1;pointer-events:none}.tournament-discipline-switch{margin-bottom:2px}.tournament-section-icon{width:44px;height:44px;border-radius:10px;background-image:url(/images/sprite-tournament.png);background-repeat:no-repeat;background-size:300% 200%}.tournament-section-icon--hero.tournament-section-icon--kyorugi{background-position:0% 0%}.tournament-section-icon--list.tournament-section-icon--kyorugi{background-position:50% 0%}.tournament-section-icon--past.tournament-section-icon--kyorugi{background-position:100% 0%}.tournament-section-icon--hero.tournament-section-icon--poomsae{background-position:0% 100%}.tournament-section-icon--list.tournament-section-icon--poomsae{background-position:50% 100%}.tournament-section-icon--past.tournament-section-icon--poomsae{background-position:100% 100%}.athlete-section-icon{background-image:url(/images/sprite-tournament.png);background-repeat:no-repeat;background-size:300% 200%}.athlete-section-icon--training-readiness{background-position:50% 0%}.athlete-section-icon--tournament-history-kyorugi{background-position:100% 0%}.athlete-section-icon--tournament-history-poomsae{background-position:100% 100%}.athlete-competition-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-shell{display:grid;grid-template-columns:1fr;gap:12px}.form-shell__row{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-shell label{display:grid;gap:6px;color:var(--color-muted);font-size:.82rem;font-weight:900}.form-shell input,.form-shell select{width:100%;min-height:44px;padding:10px 12px;color:var(--color-ink);background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-card)}.form-shell input:disabled,.form-shell select:disabled{color:var(--color-muted);background:#f1f4f8}.form-shell small{color:var(--color-blue);font-weight:800}.profile-club-field{position:relative}.profile-club-cta-button{grid-column:1 / -1;justify-self:start;width:min(100%,280px);color:#fff;background:linear-gradient(145deg,#1f6db8,#0f4f95);border-color:#0f4f95}@media(max-width:699px){.profile-club-cta-button{width:100%}}.profile-athlete-switcher{display:grid;gap:6px;color:var(--color-muted);font-size:.82rem;font-weight:900}.profile-athlete-switcher__toggle{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}.profile-athlete-switcher__toggle button{min-height:36px;padding:6px 8px;font-size:.74rem}.profile-athlete-switcher small{color:#4d6079;font-size:.76rem;line-height:1.3}.profile-club-select{position:relative}.profile-club-select__trigger,.profile-club-select__option{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 12px;text-align:left;color:var(--color-ink);background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-card)}.profile-club-select__trigger.is-open{border-color:#174f8680;box-shadow:0 0 0 2px #1f6db81f}.profile-club-select__logo{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;overflow:hidden;border-radius:999px;background:#f1f5f9;border:1px solid rgba(16,24,39,.12)}.profile-club-select__logo img{width:100%;height:100%;object-fit:cover}.profile-club-select__logo-text{color:#0f2e52;font-size:.74rem;font-weight:900;letter-spacing:.03em;line-height:1}.profile-club-select__name{min-width:0;overflow:hidden;font-size:.96rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.profile-club-select__chevron{color:var(--color-muted);font-size:1rem;line-height:1;transition:transform .16s ease}.profile-club-select__trigger.is-open .profile-club-select__chevron{transform:rotate(180deg)}.profile-club-select__menu{position:absolute;z-index:12;top:calc(100% + 6px);left:0;right:0;display:grid;gap:6px;max-height:260px;padding:8px;overflow-y:auto;background:#fff;border:1px solid rgba(16,24,39,.16);border-radius:10px;box-shadow:0 14px 28px #0a162733}.profile-club-select__option{grid-template-columns:34px minmax(0,1fr);border-color:#1018271a}.profile-club-select__option:hover{border-color:#174f8652;background:#f8fbff}.profile-club-select__option.is-selected{border-color:#174f8670;background:linear-gradient(145deg,#1f6db814,#1f6db805)}.profile-gender-field,.profile-avatar-field,.profile-theme-field{display:grid;gap:6px;color:var(--color-muted);font-size:.82rem;font-weight:900}.profile-gender-field{grid-column:1 / -1}.profile-gender-switch,.profile-theme-switch{max-width:360px}.profile-training-history{display:grid;gap:10px}.profile-training-history__switch{max-width:520px}.profile-training-history__switch.profile-training-history__switch--3{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-training-history__switch.profile-training-history__switch--3 button{min-height:38px;padding:6px 4px;font-size:.74rem}.profile-training-history__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.profile-training-history__item{display:grid;justify-items:center;gap:2px;min-height:76px;padding:10px 8px;border:1px solid rgba(15,37,66,.16);border-radius:10px;background:#f6f8fc;text-align:center}.profile-training-history__item strong{font-size:.82rem}.profile-training-history__item span{font-size:1.3rem;font-weight:900}.profile-training-history__item--kyorugi{color:#971018;border-color:#d30d165c;background:#d30d1614}.profile-training-history__item--poomsae{color:#0f4f95;border-color:#1f6db866;background:#1f6db817}.profile-training-history__item--breitensport{color:#7a5b00;border-color:#c597126b;background:#c597121a}.profile-graduation-field{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr);gap:4px}.profile-graduation-field label{margin:0}.profile-graduation-preview{display:grid;place-items:center;justify-self:center;width:clamp(220px,64vw,360px);line-height:0}.profile-graduation-preview img{display:block;width:100%;height:auto;max-height:220px;object-fit:contain}.profile-athlete-disciplines{display:grid;gap:6px;margin-top:4px}.profile-athlete-disciplines>span{color:var(--color-muted);font-size:.82rem;font-weight:900}.profile-athlete-disciplines__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.profile-athlete-disciplines__button{display:grid;grid-template-rows:auto auto;justify-items:center;align-content:center;gap:4px;min-height:72px;padding:8px 6px;border:1px solid rgba(15,37,66,.18);border-radius:10px;background:#f5f7fb;color:#5f6d83;text-align:center;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.profile-discipline-sprite{display:block;background-image:url(/images/discipline-sprites.png);background-repeat:no-repeat;background-size:300% 100%;opacity:.62}.profile-discipline-sprite--kyorugi{background-position:0% 0}.profile-discipline-sprite--poomsae{background-position:50% 0}.profile-discipline-sprite--breitensport{background-position:100% 0}.profile-athlete-disciplines__button .profile-discipline-sprite{width:30px;height:30px}.profile-athlete-disciplines__button strong{font-size:.72rem;line-height:1.1}.profile-athlete-disciplines__button.is-active{background:#fff;color:#0f213a}.profile-athlete-disciplines__button.is-active .profile-discipline-sprite{opacity:1}.profile-athlete-disciplines__button--kyorugi.is-active{border-color:#d30d1675;box-shadow:inset 0 0 0 1px #d30d1633;color:#971018}.profile-athlete-disciplines__button--poomsae.is-active{border-color:#1f6db87a;box-shadow:inset 0 0 0 1px #1f6db838;color:#0f4f95}.profile-athlete-disciplines__button--breitensport.is-active{border-color:#c5971285;box-shadow:inset 0 0 0 1px #c597123d;color:#7a5b00}.profile-avatar-field__control{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:10px}.profile-avatar-field .athlete-overview__avatar{width:62px;height:62px}.profile-avatar-field .athlete-overview__avatar strong{font-size:1.48rem}.profile-google-auth-line{margin:0;padding:10px 12px;color:var(--color-muted);background:#f1f4f8;border:1px solid var(--color-line);border-radius:var(--radius-card);font-size:.9rem;font-weight:700}.profile-avatar-badge{margin:0;padding:9px 12px;color:#8d0e16;background:linear-gradient(145deg,#d30d161f,#d30d1608);border:1px solid rgba(211,13,22,.2);border-radius:var(--radius-card);font-size:.86rem;font-weight:900}.profile-auth-actions{display:grid;gap:8px}.profile-auth-actions .action-button{width:fit-content;min-width:138px}.profile-auth-actions .profile-logout-button{justify-self:end;color:#fff;background:linear-gradient(145deg,#d30d16,#9c0710);border-color:#9c0710}.profile-language-picker{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.profile-language-picker__flags{display:flex;flex-wrap:wrap;gap:12px}.profile-language-option{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;padding:0;border:2px solid rgba(16,24,39,.16);border-radius:999px;background:#fff;font-size:2rem;line-height:1;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.profile-language-option:hover{transform:translateY(-1px)}.profile-language-option:focus-visible{outline:2px solid rgba(23,79,134,.52);outline-offset:2px}.profile-language-option.is-active{border-color:#d30d16eb;box-shadow:0 0 0 3px #d30d162e}.profile-language-option--request{border-radius:999px;color:#0f2e52;background:linear-gradient(145deg,#e8f0fa,#d4e4f8);font-size:2.15rem;font-weight:900}.profile-language-feedback{margin:12px 0 0;padding:10px 12px;color:#0f4f95;background:#174f861a;border:1px solid rgba(23,79,134,.22);border-radius:var(--radius-card);font-size:.92rem;font-weight:700;line-height:1.35}.profile-language-layer{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:18px}.profile-language-layer__backdrop{position:absolute;inset:0;border:0;background:#07101f99}.profile-language-layer__panel{position:relative;z-index:1;display:grid;gap:12px;width:min(100%,420px);padding:16px;background:#fff;border:1px solid var(--color-line);border-radius:calc(var(--radius-card) + 2px);box-shadow:var(--shadow-card)}.profile-language-layer__header{display:flex;align-items:center;justify-content:space-between;gap:10px}.profile-language-layer__header h3{font-size:1.15rem;line-height:1.2}.profile-language-layer__close{width:34px;height:34px;border:1px solid var(--color-line);border-radius:10px;background:#fff;font-size:1.5rem;line-height:1}.profile-language-layer__field{display:grid;gap:6px}.profile-language-layer__field span{color:var(--color-muted);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.profile-language-layer__submit{width:100%}.profile-onboarding-layer{position:fixed;inset:0;z-index:42;display:grid;place-items:start center;padding:8px 18px calc(124px + env(safe-area-inset-bottom))}.profile-onboarding-layer__backdrop{position:absolute;inset:0;background:#07101fb8}.profile-onboarding-layer__panel{position:relative;z-index:1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;width:min(100%,640px);min-height:calc(100vh - (132px + env(safe-area-inset-bottom)));min-height:calc(100dvh - (132px + env(safe-area-inset-bottom)));max-height:calc(100vh - (132px + env(safe-area-inset-bottom)));max-height:calc(100dvh - (132px + env(safe-area-inset-bottom)));overflow:auto;padding:20px;border:1px solid rgba(17,31,49,.14);border-radius:14px;background:#fff;box-shadow:0 24px 42px #07101f52}.profile-onboarding-layer .profile-club-select__menu{max-height:min(44vh,360px)}.profile-onboarding-layer__header{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.profile-onboarding-layer__header img{width:clamp(120px,35vw,180px);height:auto}.profile-onboarding-layer__header h3{margin:0;color:#0d2542;font-size:1.34rem;line-height:1.2}.profile-onboarding-layer__copy{display:grid;gap:9px}.profile-onboarding-layer__copy p{margin:0;color:#1a2c44;font-size:.95rem;line-height:1.42}.profile-onboarding-layer__form{display:flex;flex-direction:column;gap:10px}.profile-onboarding-layer__subsection{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid rgba(16,29,47,.12);border-radius:10px;background:#0c223d08}.profile-onboarding-layer__subsection--merge{gap:10px;background:linear-gradient(180deg,#1f6db814,#1f6db808),#0c223d08}.profile-onboarding-layer__readonly-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.profile-onboarding-layer__readonly-grid p{margin:0;display:grid;gap:2px;min-height:62px;padding:8px 10px;border:1px solid rgba(15,37,66,.16);border-radius:10px;background:#ffffffe0}.profile-onboarding-layer__readonly-grid strong{color:#536178;font-size:.72rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.profile-onboarding-layer__readonly-grid span{color:#102744;font-size:.92rem;font-weight:800;line-height:1.3}.profile-onboarding-layer__relationship-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-onboarding-layer__relationship-switch button{min-height:36px;padding:6px 8px;font-size:.78rem}.profile-onboarding-layer__checkbox-row{display:flex;align-items:center;gap:8px;color:#1a2c44;font-size:.88rem;font-weight:700}.profile-onboarding-layer__checkbox-row input[type=checkbox]{margin:0}.profile-onboarding-layer__field{display:flex;flex-direction:column;gap:4px}.profile-onboarding-layer__field>span{color:#536178;font-size:.8rem;font-weight:900;letter-spacing:.02em}.profile-onboarding-layer__field input,.profile-onboarding-layer__field select{width:100%;min-height:44px;padding:10px 12px;color:var(--color-ink);background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-card)}.profile-onboarding-layer__graduation-row{display:grid;grid-template-columns:minmax(0,1fr) 74px;gap:10px;align-items:end}.profile-onboarding-layer__belt{display:inline-flex;align-items:center;justify-content:center;width:74px;height:44px;padding:2px 8px;border:1px solid rgba(16,24,39,.12);border-radius:var(--radius-card);background:linear-gradient(145deg,#fff,#f6f8fb)}.profile-onboarding-layer__belt img{max-width:100%;max-height:100%;object-fit:contain}.profile-onboarding-layer__group-participation{display:flex;flex-direction:column;gap:6px}.profile-onboarding-layer__group-participation>span{color:#536178;font-size:.8rem;font-weight:900;letter-spacing:.02em}.profile-onboarding-layer__group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.profile-onboarding-layer__group-button{display:grid;grid-template-rows:auto auto auto;justify-items:center;align-content:center;gap:3px;min-height:92px;padding:8px 6px;border:1px solid rgba(15,37,66,.18);border-radius:12px;background:#f5f7fb;color:#5f6d83;text-align:center;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.profile-onboarding-layer__group-button .profile-discipline-sprite{width:34px;height:34px;opacity:.55}.profile-onboarding-layer__group-button strong{font-size:.72rem;line-height:1.15}.profile-onboarding-layer__group-button small{font-size:.65rem;font-weight:700;line-height:1.1}.profile-onboarding-layer__group-button.is-active{background:#fff;color:#0f213a;box-shadow:inset 0 0 0 1px #0e447f33}.profile-onboarding-layer__group-button.is-active .profile-discipline-sprite{opacity:1}.profile-onboarding-layer__group-button--kyorugi.is-active{border-color:#d30d1675;box-shadow:inset 0 0 0 1px #d30d1633;color:#971018}.profile-onboarding-layer__group-button--poomsae.is-active{border-color:#1f6db87a;box-shadow:inset 0 0 0 1px #1f6db838;color:#0f4f95}.profile-onboarding-layer__group-button--breitensport.is-active{border-color:#b7810675;box-shadow:inset 0 0 0 1px #b7810633;color:#8a5e00}.profile-onboarding-layer__consent{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:9px;padding:11px 12px;border-radius:10px;border:1px solid rgba(16,29,47,.12);background:#0c223d08}.profile-onboarding-layer__consent input[type=checkbox]{margin-top:2px}.profile-onboarding-layer__consent span{color:#102744;font-size:.9rem;line-height:1.35}.profile-onboarding-layer__text-link{padding:0;border:0;background:none;color:#0f4f95;font:inherit;font-weight:900;text-decoration:underline;cursor:pointer}.profile-onboarding-layer__text-link:hover{color:#0c3f77}.profile-onboarding-layer__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:auto}.profile-onboarding-layer__submit{min-height:44px;margin-top:auto;width:100%;align-self:stretch;flex:0 0 auto}.profile-onboarding-layer__hint{margin:0;color:#5f6d83;font-size:.86rem;line-height:1.4}.profile-onboarding-layer__hint--error{color:#b30710}.profile-avatar-mode-picker{display:flex;align-items:center;gap:10px}.profile-avatar-mode-option{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;padding:0;overflow:hidden;border:2px solid rgba(23,79,134,.2);border-radius:999px;background:linear-gradient(145deg,#dbe9fb,#c2d8f3);box-shadow:inset 0 1px #fffc;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.profile-avatar-mode-option:hover{transform:translateY(-1px)}.profile-avatar-mode-option:focus-visible{outline:2px solid rgba(23,79,134,.55);outline-offset:2px}.profile-avatar-mode-option img{width:100%;height:100%;object-fit:cover}.profile-avatar-mode-option strong{color:#0f2e52;font-size:1.26rem;font-weight:900;letter-spacing:.04em;line-height:1}.profile-avatar-mode-option--name{border-color:#d30d162e;background:linear-gradient(145deg,#f8d7df,#f1bcc8)}.profile-avatar-mode-option--name strong{color:#5e0f1f}.profile-avatar-mode-option.is-active{border-color:#d30d16e6;box-shadow:0 0 0 3px #d30d162e,inset 0 1px #ffffffd6}.profile-google-mark{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:999px;font-size:.8rem;font-weight:900;letter-spacing:-.02em;color:#fff;background:conic-gradient(from 220deg,#34a853 0deg 90deg,#4285f4 90deg 190deg,#ea4335 190deg 290deg,#fbbc05 290deg 360deg);box-shadow:0 1px 2px #07101f3d}.profile-google-fallback{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;color:#fff;background:#07101fad;border:2px solid rgba(255,255,255,.84);font-size:1.15rem;font-weight:900;line-height:1}.tournament-headcoach-select[multiple]{min-height:110px;padding-block:6px;font-size:1rem;font-weight:800;line-height:1.35}.tournament-headcoach-select[multiple] option{padding:8px 10px;font-size:1rem;font-weight:800}.tournament-headcoach-select--kyorugi option:checked{color:#6f1319;background:linear-gradient(90deg,#d50d1833,#d50d1814)!important}.tournament-headcoach-select--poomsae option:checked{color:#134c7d;background:linear-gradient(90deg,#1663a333,#1663a314)!important}.tournament-create-open-button{width:100%}.tournament-create-collapsed{display:grid;gap:12px}.tournament-participant-picker{display:grid;gap:8px}.tournament-participant-picker__results{display:grid;gap:6px;max-height:258px;padding-right:4px;overflow-y:auto;scrollbar-gutter:stable}.tournament-participant-picker__result{width:100%;min-height:38px;padding:8px 10px;color:var(--color-ink);text-align:left;background:#f5f8fc;border:1px solid var(--color-line);border-radius:var(--radius-card)}.tournament-participant-picker__selected{display:flex;flex-wrap:wrap;gap:6px}.tournament-participant-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;color:#0f4f95;background:#0f4f951a;border:1px solid rgba(15,79,149,.35);border-radius:999px;font-size:.8rem;font-weight:800}.tournament-participant-chip button{display:grid;place-items:center;width:18px;height:18px;padding:0;color:#0f4f95;background:transparent;border:0;border-radius:999px;font-size:.9rem;line-height:1}.auth-panel{display:grid;gap:10px}.auth-actions{display:grid;grid-template-columns:1fr;gap:8px}.action-button{min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-card);font-size:.9rem;font-weight:900}.action-button:disabled{cursor:not-allowed;opacity:.65}.action-button--primary{color:#fff;background:linear-gradient(145deg,#163f73,#07101f)}.action-button--whatsapp{color:#fff;background:linear-gradient(180deg,#22c55e,#16a34a);border-color:#15803d}.action-button--whatsapp:hover{background:linear-gradient(180deg,#16a34a,#15803d)}.action-button--secondary{color:#fff;background:linear-gradient(145deg,#d30d16,#9c0710)}.action-button--ghost{color:var(--color-navy);background:#fff;border-color:#10182733}.action-button--danger{color:#fff;background:linear-gradient(145deg,#7f0711,#5a050d)}.form-error{margin:0;color:#b42318;font-size:.86rem;font-weight:700}.athlete-overview{display:grid;gap:10px}.athlete-overview-card--female{background:radial-gradient(circle at left 18%,rgba(211,13,22,.2),transparent 52%),linear-gradient(90deg,rgba(211,13,22,.12),rgba(211,13,22,.03) 56%,transparent 86%),#fff;border-color:#d30d1633}.athlete-overview-card--male{background:radial-gradient(circle at right 18%,rgba(31,109,184,.24),transparent 52%),linear-gradient(270deg,rgba(31,109,184,.16),rgba(31,109,184,.04) 56%,transparent 86%),#fff;border-color:#1f6db833}.athlete-overview__identity{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px}.athlete-overview__identity--no-avatar{grid-template-columns:minmax(0,1fr)}.athlete-overview__avatar{display:grid;place-items:center;width:52px;height:52px;overflow:hidden;border-radius:999px;color:#0f2e52;background:linear-gradient(145deg,#dbe9fb,#c2d8f3);border:1px solid rgba(15,79,149,.24);box-shadow:inset 0 1px #ffffffb8}.athlete-overview__avatar--male{color:#0f2e52;background:linear-gradient(145deg,#dbe9fb,#c2d8f3);border-color:#0f4f953d}.athlete-overview__avatar--female{color:#5e0f1f;background:linear-gradient(145deg,#f8d7df,#f1bcc8);border-color:#b018353d}.athlete-overview__avatar img{width:100%;height:100%;object-fit:cover}.athlete-overview__avatar strong{color:currentColor;font-size:1.28rem;font-weight:900;letter-spacing:.04em;line-height:1}.athlete-overview__identity-copy{min-width:0}.athlete-overview__name-row{display:flex;align-items:center;gap:8px}.athlete-verified-badge{display:inline-block;width:16px;height:16px;object-fit:contain;flex:0 0 auto}.athlete-verified-badge--metric{width:15px;height:15px}.athlete-overview__roles{display:grid;justify-items:stretch;gap:8px;width:fit-content;max-width:100%}.athlete-overview__roles-main{display:flex;flex-wrap:wrap;gap:8px;width:100%;min-width:0;justify-self:stretch;margin-top:8px}.athlete-overview__role{align-items:center;border-radius:0;padding-right:11px;text-transform:uppercase;letter-spacing:.03em}.role-tag--athlet{color:#0f4f95;background:#1f6db81f;border-color:#1f6db84a;--tag-accent: #1f6db8}.role-tag--coach{color:#b30710;background:#d30d1617;border-color:#d30d1638;--tag-accent: #d30d16}.role-tag--master{color:#f7ce68;background:#111;border-color:#111;--tag-accent: #f7ce68}.athlete-overview__role--master{position:relative;width:auto;justify-self:stretch;justify-content:center;gap:0;padding-left:28px;text-align:center}.athlete-overview__role--master:before{display:none}.athlete-overview .athlete-overview__master-stripes{position:absolute;left:10px;top:50%;display:inline-flex;flex-direction:row;align-items:center;gap:2px;transform:translateY(-50%)}.athlete-overview .athlete-overview__master-stripes span{display:block;width:3px;height:14px;border-radius:999px;background:linear-gradient(180deg,#f7ce68,#c19723)}.athlete-overview .athlete-overview__role--master>span:last-child{display:inline-flex;align-items:center;color:#f7ce68}.athlete-overview__club-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.discipline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.discipline-tile{display:grid;place-items:center;min-height:106px;padding:10px 6px;background:var(--color-surface-strong);border:1px solid var(--color-line);border-radius:var(--radius-card);text-align:center}.discipline-tile__sprite{display:block;width:66px;height:66px;background-image:url(/images/discipline-sprites.png);background-repeat:no-repeat;background-size:300% 100%}.discipline-tile__sprite--kyorugi{background-position:0% 0}.discipline-tile__sprite--poomsae{background-position:50% 0}.discipline-tile__sprite--breitensport{background-position:100% 0}.discipline-tile strong{margin-top:8px;font-size:.78rem;line-height:1.1}.placeholder-grid--tight{margin-top:12px}.placeholder-grid--tight .muted-copy{margin-top:0;padding:10px;background:var(--color-surface-strong);border:1px dashed rgba(23,79,134,.26);border-radius:var(--radius-card)}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px;background:var(--color-surface-strong);border-radius:var(--radius-card)}.segmented-control button{width:100%;min-height:42px;border-radius:var(--radius-card)}.segmented-control button.is-active{color:#fff;background:var(--color-red)}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.league-page__stack{display:grid;gap:0;padding-top:56px}.league-page .page-heading{display:none}.league-page .page-stack{margin-top:0}.league-floating-logo{position:relative;z-index:3;display:flex;justify-content:center;margin:-165px auto 0;pointer-events:none}.league-floating-logo img{width:min(100%,380px);object-fit:contain;filter:drop-shadow(0 14px 30px rgba(3,8,17,.42))}.league-coming-soon{position:absolute;left:50%;top:calc(56% + 95px);margin:0;opacity:0;pointer-events:none;transform:translate(-50%,-50%) rotate(-30deg) scale(.42);transform-origin:center;color:#fff;font-family:Bebas Neue,Anton,Impact,sans-serif;font-size:clamp(2rem,9vw,4.5rem);font-weight:900;letter-spacing:.06em;line-height:.92;text-transform:uppercase;text-shadow:0 4px 10px rgba(4,8,18,.42),0 11px 26px rgba(4,8,18,.34);white-space:nowrap;z-index:4}.league-coming-soon.is-visible{animation:league-coming-soon-reveal .92s cubic-bezier(.18,.95,.28,1.18) forwards}.league-floating-logo.is-intro-animate img{animation:league-logo-intro .98s cubic-bezier(.22,.86,.24,1) 1;transform-origin:center center}.league-toggle-cluster{display:grid;gap:8px;margin-top:-80px;margin-bottom:8px}.league-switch-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.league-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;padding:4px;background:#ffffffd6;border:1px solid rgba(17,26,43,.14);border-radius:999px;box-shadow:0 6px 18px #0a162714}.league-switch button{min-height:42px;padding:10px 14px;margin:0;color:var(--color-muted);background:transparent;border:0;border-radius:999px;font-size:.86rem;font-weight:900;line-height:1;transition:transform .18s ease,color .18s ease,box-shadow .18s ease,background .18s ease}.league-switch button+button{margin-left:-10px}.league-switch button.is-active{color:#fff;transform:translateY(-1px);box-shadow:0 10px 24px #0a162742}.league-switch button.is-red.is-active{background:linear-gradient(145deg,#d30d16,#9c0710)}.league-switch button.is-blue.is-active{background:linear-gradient(145deg,#1f6db8,#174f86)}.league-summary-card{overflow:hidden;background:radial-gradient(circle at right 22%,rgba(31,109,184,.12),transparent 46%),radial-gradient(circle at left 18%,rgba(211,13,22,.11),transparent 42%),#fff}.league-summary-card .section-card__title{align-items:flex-start}.league-summary-card .section-card__title h2{font-size:1.18rem}.league-summary-card .section-card__title span{color:var(--color-muted);font-size:.78rem;font-weight:700}.league-summary-card__copy{margin-top:2px;color:var(--color-muted);font-size:.86rem;line-height:1.4}.league-medal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.league-medal-card{position:relative;display:grid;gap:4px;min-height:86px;padding:10px;border-radius:var(--radius-card);border:1px solid var(--color-line);background:#ffffffeb}.league-medal-card:before{content:"";position:absolute;inset:auto 10px 8px;height:2px;border-radius:var(--radius-pill);opacity:.52}.league-medal-card__icon{font-size:1.24rem;line-height:1}.league-medal-card strong{font-size:1.18rem;line-height:1}.league-medal-card small{color:var(--color-muted);font-size:.75rem;font-weight:700;line-height:1.25}.league-medal-card--gold:before{background:linear-gradient(90deg,#f7ce68,#c19723)}.league-medal-card--silver:before{background:linear-gradient(90deg,#eef2f8,#9aa6b6)}.league-medal-card--bronze:before{background:linear-gradient(90deg,#f0b37a,#a65f2b)}.league-medal-card--tournaments:before{background:linear-gradient(90deg,#2b87dd,#174f86)}.league-table-card{overflow:hidden;padding:0;background:#fff;transition:background .2s ease}.league-table-card--kyorugi{background:radial-gradient(circle at left 16%,rgba(211,13,22,.13),transparent 48%),linear-gradient(90deg,rgba(211,13,22,.06),transparent 44%),#fff}.league-table-card--poomsae{background:radial-gradient(circle at right 16%,rgba(31,109,184,.15),transparent 48%),linear-gradient(270deg,rgba(31,109,184,.08),transparent 44%),#fff}.league-table-card__header{display:grid;gap:6px;padding:14px 16px 12px}.league-table-card__header h2{font-size:1.03rem;line-height:1.1}.league-table-card__header-main{display:grid;gap:4px}.league-table-card__headline{margin:0;color:#4f5f77;font-size:.76rem;font-weight:800}.league-table-card__meta-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.league-table-card__meta{margin:0;color:var(--color-muted);font-size:.76rem;font-weight:700}.league-age-class-select{display:inline-grid;flex:0 0 auto}.league-age-class-select select{min-height:34px;min-width:126px;padding:7px 32px 7px 12px;color:var(--color-ink);background:#fff;border:1px solid rgba(16,24,39,.2);border-radius:var(--radius-pill);font-size:.79rem;font-weight:800;line-height:1.2}.league-table-shell{padding:0 10px 10px;overflow-x:auto;animation:league-table-in .36s cubic-bezier(.19,1,.22,1)}.league-table{min-width:760px}.league-table.is-compact-mobile{min-width:0}.league-table__head,.league-table__row{display:grid;align-items:center;gap:10px}.league-table--athlete .league-table__head,.league-table--athlete .league-table__row{grid-template-columns:50px minmax(172px,1.2fr) minmax(132px,1fr) 90px 144px 90px}.league-table--club .league-table__head,.league-table--club .league-table__row{grid-template-columns:50px minmax(216px,1.5fr) 90px 90px 144px 90px}.league-table__head{position:sticky;top:0;z-index:2;min-height:42px;padding:0 10px;color:var(--color-muted);background:#f7f9fc;border:1px solid var(--color-line);border-radius:8px 8px 0 0;font-size:.73rem;font-weight:900;letter-spacing:.01em;text-transform:uppercase}.league-table__head span:last-child{justify-self:end;text-align:right}.league-table__head.is-compact-mobile{grid-template-columns:44px minmax(0,1fr) 84px}.league-table__scroll{max-height:560px;overflow-y:auto;overscroll-behavior:contain}.league-table__row{min-height:52px;padding:6px 10px;background:#fffffff2;border:1px solid var(--color-line);border-top:0;opacity:0;transform:translateY(8px) scale(.992);animation:league-row-in .32s ease forwards;animation-delay:calc(var(--row-index) * 10ms)}.league-table__row:last-child{border-radius:0 0 8px 8px}.league-table__compact-item:last-child .league-table__row--compact:not(.is-expanded){border-radius:0 0 8px 8px}.league-table__row.is-rank-1{background:linear-gradient(90deg,#f7ce682b,#fffffff2);box-shadow:inset 4px 0 #c69a21}.league-table__row.is-rank-2{background:linear-gradient(90deg,#d6dee833,#fffffff2);box-shadow:inset 4px 0 #8f9cac}.league-table__row.is-rank-3{background:linear-gradient(90deg,#d6976c33,#fffffff2);box-shadow:inset 4px 0 #ad632e}.league-table__rank{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:#fff;background:#0f1f35;border-radius:50%;font-size:.82rem;font-weight:900;line-height:1}.league-table__rank.is-medal{width:34px;height:34px;background:transparent;border-radius:0;font-size:1.42rem;line-height:1}.league-table__name{overflow:hidden;color:var(--color-ink);font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.league-table__name:hover{color:var(--color-blue);text-decoration:underline;text-underline-offset:2px}.league-table.is-compact-mobile .league-table__row--compact{width:100%;grid-template-columns:44px minmax(0,1fr) 84px;text-align:left;cursor:pointer}.league-table.is-compact-mobile .league-table__row--compact .league-table__points{justify-self:end}.league-table__row--compact.is-expanded{border-radius:0}.league-table__club{overflow:hidden;color:var(--color-muted);font-size:.82rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.league-table__club--link:hover{color:var(--color-blue);text-decoration:underline;text-underline-offset:2px}.league-table__medals{display:inline-flex;gap:6px}.league-table__medals span{min-width:34px;padding:4px 6px;border-radius:var(--radius-pill);font-size:.72rem;font-weight:900;line-height:1;text-align:center}.league-table__medals .is-gold{color:#835f00;background:#f7ce6857}.league-table__medals .is-silver{color:#4d5a6a;background:#d6dee894}.league-table__medals .is-bronze{color:#7b451d;background:#d6976c59}.league-table__points{color:var(--color-blue);font-size:.95rem;line-height:1}.league-row-details{max-height:0;padding:0 12px;overflow:hidden;opacity:0;background:#f7f9fcf0;border:1px solid transparent;border-top:0;transition:max-height .26s ease,opacity .22s ease,padding .22s ease,border-color .22s ease}.league-row-details.is-open{max-height:220px;padding:10px 12px 12px;opacity:1;border-color:var(--color-line);border-radius:0}.league-row-details__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.league-row-details__grid span{color:var(--color-muted);font-size:.74rem;font-weight:700;line-height:1.3}.league-row-details__grid strong{color:var(--color-ink)}.league-row-details__medals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.league-row-details__medals span{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:28px;padding:4px 6px;border-radius:var(--radius-pill);font-size:.74rem;font-weight:900;line-height:1}.league-row-details__medals .is-gold{color:#835f00;background:#f7ce6857}.league-row-details__medals .is-silver{color:#4d5a6a;background:#d6dee894}.league-row-details__medals .is-bronze{color:#7b451d;background:#d6976c59}.league-row-details__cta{display:flex;align-items:center;justify-content:center;width:fit-content;margin-left:auto;min-height:34px;padding:6px 12px;color:#fff;background:linear-gradient(145deg,#d30d16,#9c0710);border-radius:var(--radius-pill);font-size:.76rem;font-weight:900;line-height:1}.league-loader{display:grid;justify-items:center;gap:8px;padding:14px 0 18px}.league-loader p{color:var(--color-muted);font-size:.78rem;font-weight:700}.league-loader__yin-yang{position:relative;width:34px;height:34px;border-radius:50%;background:conic-gradient(#d30d16 0deg 180deg,#1f6db8 180deg 360deg);animation:league-loader-spin .82s linear infinite}.league-loader__yin-yang:before,.league-loader__yin-yang:after{content:"";position:absolute;left:50%;width:14px;height:14px;border-radius:50%;transform:translate(-50%)}.league-loader__yin-yang:before{top:3px;background:#fff;border:4px solid #d30d16}.league-loader__yin-yang:after{bottom:3px;background:#fff;border:4px solid #1f6db8}@keyframes league-table-in{0%{opacity:0;transform:translateY(10px) scale(.996)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes league-row-in{0%{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes league-loader-spin{to{transform:rotate(360deg)}}@keyframes league-logo-intro{0%{transform:scale(1) rotate(0)}72%{transform:scale(1.09) rotate(-4deg)}to{transform:scale(1) rotate(0)}}@keyframes league-coming-soon-reveal{0%{opacity:0;transform:translate(-50%,-50%) rotate(-30deg) scale(.42)}62%{opacity:1;transform:translate(-50%,-50%) rotate(-30deg) scale(1.18)}to{opacity:1;transform:translate(-50%,-50%) rotate(-30deg) scale(1.06)}}@media(max-width:700px){.league-page__stack{padding-top:40px}.league-floating-logo{margin-top:-135px}.league-floating-logo img{width:min(100%,334px)}.league-coming-soon{top:calc(58% + 95px);font-size:clamp(1.6rem,12vw,3.2rem);letter-spacing:.05em}.league-toggle-cluster{margin-top:-70px}.league-switch button{min-height:38px;font-size:.8rem}.league-summary-card__copy{font-size:.79rem}.league-medal-grid{gap:8px}.league-medal-card{min-height:78px;padding:8px}.league-medal-card strong{font-size:1.03rem}.league-medal-card small{font-size:.7rem}.league-table-card__header{padding:11px 12px 10px}.league-table-card__header h2{font-size:.94rem}.league-table-card__headline,.league-table-card__meta{font-size:.69rem}.league-age-class-select select{min-width:112px}.league-age-class-select select{min-height:32px;min-width:142px;font-size:.72rem}.league-table-shell{padding:0 6px 8px}.league-table--club .league-table__head,.league-table--club .league-table__row{grid-template-columns:42px minmax(188px,1.4fr) 72px 76px 120px 76px}.league-table__head{min-height:38px;padding:0 8px;font-size:.66rem}.league-table__row{min-height:45px;gap:8px;padding:5px 8px}.league-table.is-compact-mobile .league-table__scroll{height:384px;max-height:384px}.league-table__rank{width:28px;height:28px;font-size:.74rem}.league-table__rank.is-medal{width:28px;height:28px;font-size:1.2rem}.league-table__name{font-size:.84rem}.league-table__club{font-size:.74rem}.league-table__medals{gap:4px}.league-table__medals span{min-width:30px;padding:4px 5px;font-size:.67rem}.league-table__points{font-size:.82rem}.club-toplist-card .league-table--athlete .league-table__head,.club-toplist-card .league-table--athlete .league-table__row{grid-template-columns:34px minmax(0,1fr) 24px 24px 24px 27px 27px 27px;gap:3px}.club-toplist-card .league-table__head{font-size:.62rem;letter-spacing:0}.club-toplist-card .league-table__name{font-size:.8rem}.club-toplist-card .league-table__medals span{padding:2px;font-size:.61rem}.club-toplist-cell{font-size:.76rem}.club-toplist-legend{margin:6px 8px 10px;padding:7px 8px}.club-toplist-legend__title,.club-toplist-legend__points,.club-toplist-legend__chips span{font-size:.64rem}.league-row-details__grid{grid-template-columns:1fr;gap:6px}.league-row-details__medals span{min-height:26px;padding:4px 5px;font-size:.72rem}}.club-page .page-stack{gap:12px;overflow-x:hidden}.club-page .section-card{max-width:100%;overflow:hidden}.club-intro-card{margin-top:-2px;overflow:visible}.club-intro{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin-bottom:12px}.club-intro__logo-wrap{display:grid;place-items:center;width:116px;height:116px}.club-intro__logo-wrap--placeholder{border:2px solid rgba(15,26,44,.28);border-radius:999px;background:radial-gradient(circle at 35% 28%,#f2f5fa,#d5dde8 68%);box-shadow:0 12px 24px #0814252e}.club-intro__logo-wrap img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 14px 24px rgba(3,8,17,.24))}.club-intro__logo-wrap span{color:#0f1a2c;font-size:1.6rem;font-weight:900;letter-spacing:.02em}.club-intro__logo-wrap--placeholder span{font-size:2rem;letter-spacing:.05em}.club-intro__guest-copy{text-align:center}.club-intro__guest-copy h2{color:#16395f;font-size:1.1rem;font-weight:800;line-height:1.2}.club-intro__guest-flag{margin-left:8px;font-size:.96em}.club-intro__guest-copy p{display:inline-flex;align-items:center;gap:5px;margin-top:4px;color:#2f5178;font-size:.84rem;font-weight:700;line-height:1.2}.club-intro__guest-copy p svg{width:14px;height:14px}.club-scope-row{display:flex;flex-wrap:nowrap;gap:8px;margin-top:6px;overflow-x:auto;padding:4px;background:#ffffffd6;border:1px solid rgba(17,26,43,.14);border-radius:999px;box-shadow:0 6px 18px #0a162714;-webkit-overflow-scrolling:touch;scrollbar-width:none}.club-scope-row--compact{width:min(100%,430px);margin-left:auto;margin-right:auto}.club-scope-row::-webkit-scrollbar{display:none}.club-scope-row__button{flex:1 0 auto;min-width:100px;min-height:40px;padding:8px 12px;margin:0;border:0;border-radius:999px;color:var(--color-muted);background:transparent;font-size:.8rem;font-weight:900;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1;transition:transform .18s ease,box-shadow .18s ease,color .18s ease,background .18s ease}.club-scope-row__button.is-active{color:#fff;transform:translateY(-1px);box-shadow:0 10px 18px #0a16272e}.club-scope-row__button.is-overall.is-active{background:linear-gradient(145deg,#112645,#07101f)}.club-scope-row__button.is-red.is-active{background:linear-gradient(145deg,#d30d16,#9c0710)}.club-scope-row__button.is-blue.is-active{background:linear-gradient(145deg,#1f6db8,#174f86)}.club-scope-row__button.is-yellow.is-active{color:#4d3200;background:linear-gradient(145deg,#f0cb56,#c8960f)}.club-discipline-focus-card{border-color:#10182724}.club-discipline-focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.club-discipline-focus-grid h3{font-size:.86rem;text-transform:uppercase;letter-spacing:.03em}.club-discipline-focus-grid p{margin-top:6px;color:#111a2b;font-weight:700;line-height:1.4}.club-inline-link{display:inline-flex;margin-top:6px;color:#0f4f95;font-weight:800;line-height:1.35;text-decoration:underline;text-underline-offset:2px}.club-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.club-config-grid--master{grid-template-columns:repeat(3,minmax(0,1fr))}.club-config-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;padding:0 6px;border:1px solid rgba(16,24,39,.2);border-radius:var(--radius-card);color:#1e293b;background:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:800;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.club-config-pill small{font-size:.68rem;font-weight:800;text-transform:uppercase}.club-config-pill.is-enabled{color:#fff;border-color:transparent;box-shadow:0 8px 14px #0a162724;transform:translateY(-1px)}.club-config-pill.is-red.is-enabled{background:linear-gradient(145deg,#d30d16,#9c0710)}.club-config-pill.is-blue.is-enabled{background:linear-gradient(145deg,#1f6db8,#174f86)}.club-config-pill.is-yellow.is-enabled{color:#4d3200;background:linear-gradient(145deg,#f0cb56,#c8960f)}.club-config-pill.is-red.is-disabled{color:#8f1d23;border-color:#d30d1659;background:#d30d161a}.club-config-pill.is-blue.is-disabled{color:#174f86;border-color:#1f6db859;background:#1f6db81a}.club-config-pill.is-yellow.is-disabled{color:#7b5700;border-color:#c5971259;background:#c597121f}.club-master-area{display:grid;gap:12px}.club-master-area__block{display:grid;gap:10px;padding:10px;background:var(--color-surface-strong);border:1px solid var(--color-line);border-radius:var(--radius-card)}.club-master-area__block h3{font-size:.92rem;text-transform:uppercase;letter-spacing:.03em}.club-master-area__block h4{margin-top:4px;font-size:.84rem;text-transform:uppercase;letter-spacing:.03em}.club-master-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.club-master-field{display:grid;gap:4px}.club-master-field span{color:var(--color-muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.club-master-field input,.club-master-field select{min-height:34px;border:1px solid rgba(16,24,39,.2);border-radius:10px;padding:7px 9px;background:#fff;font-size:.84rem}.club-master-field--full{grid-column:1 / -1}.club-master-inline-row{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:8px}.club-master-field--country select{max-width:100%}.club-master-logo-upload{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px;align-items:center}.club-master-logo-preview{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(16,24,39,.2);border-radius:999px;background:#fff;overflow:hidden}.club-master-logo-preview img{width:100%;height:100%;object-fit:cover}.club-master-logo-preview span{color:#2f405a;font-size:.96rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.club-master-logo-upload input[type=file]{width:100%}.profile-master-logo-upload{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;align-items:center}.profile-master-logo-preview{display:grid;place-items:center;width:62px;height:62px;border:1px solid rgba(16,24,39,.2);border-radius:999px;overflow:hidden}.profile-master-logo-preview img{width:100%;height:100%;object-fit:cover}.profile-master-logo-preview strong{font-size:.96rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.profile-master-logo-controls{display:grid;gap:6px}.profile-master-logo-controls .action-button{width:100%}.profile-master-logo-controls input[type=file]{display:none}.profile-master-logo-controls small{color:var(--color-muted);font-size:.72rem;font-weight:700;line-height:1.35;width:100%;text-align:center}.profile-master-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-master-color-field{display:grid;gap:4px}.profile-master-color-field span{color:var(--color-muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.profile-master-color-field input[type=color]{width:min(100%,56px);aspect-ratio:1 / 1;height:auto;border:1px solid rgba(16,24,39,.2);border-radius:10px;padding:2px;background:#fff;justify-self:start}.profile-master-role-row>span{font-size:.72rem}.profile-master-feedback{margin:0;color:#0f4f95;font-size:.84rem;font-weight:700}.profile-master-delete-club-button{margin-top:8px}.profile-master-delete-club-button.is-confirm{background:linear-gradient(145deg,#d30d16,#9c0710)}.profile-master-member-toolbar{display:grid;gap:8px}.profile-master-member-filters{display:flex;flex-wrap:wrap;gap:6px}.profile-master-member-filters__league-row{display:inline-flex;gap:6px;flex-wrap:nowrap}.profile-master-filter-chip{min-height:30px;padding:4px 10px;border:1px solid rgba(16,24,39,.2);border-radius:999px;color:#1e293b;background:#fff;font-size:.74rem;font-weight:800}.profile-master-filter-chip.is-active{color:#fff;background:#0f1a2c;border-color:#0f1a2c}.profile-master-member-entry{padding:0;overflow:hidden}.profile-master-member-toggle{width:100%;padding:8px 10px;text-align:left;background:#fff;border:0}.profile-master-member-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title title" "meta belt" "ids ids" "google google";align-items:start;gap:8px}.profile-master-member-title-row{grid-area:title;display:flex;align-items:baseline;gap:8px;flex-wrap:nowrap;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-master-member-title-row strong{font-size:.92rem;flex-shrink:0}.profile-master-member-title-row small{color:var(--color-muted);font-size:.76rem;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis}.profile-master-member-meta-row{grid-area:meta;min-width:0}.profile-master-member-tags{margin-top:0;display:flex;flex-wrap:wrap;gap:6px}.profile-master-member-google-summary{grid-area:google;display:block;margin-top:0;color:var(--color-muted);font-size:.74rem;font-weight:700}.profile-master-member-admin-ids{grid-area:ids;display:grid;gap:2px;color:var(--color-muted);font-size:.7rem;font-weight:800;line-height:1.25;min-width:0}.profile-master-member-admin-ids code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.68rem;font-weight:800;overflow-wrap:anywhere;word-break:break-word}.profile-master-member-belt{grid-area:belt;display:inline-flex;align-items:center;justify-content:center;width:66px;height:40px;padding:3px 6px;border:1px solid rgba(16,24,39,.16);border-radius:10px;background:linear-gradient(145deg,#fff,#f6f8fb)}.profile-master-member-belt img{max-width:100%;max-height:100%;object-fit:contain}.profile-master-member-editor{display:grid;gap:10px;padding:8px 10px 10px;border-top:1px solid var(--color-line);background:#f8fafc}.profile-master-member-profile-link{display:inline-flex;align-items:center;justify-content:center;width:100%}.profile-master-member-save,.profile-master-member-delete-athlete{width:100%}.profile-master-member-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-master-member-field--name{grid-column:1 / -1}.profile-master-member-gender-field{display:grid;gap:4px;grid-column:1 / -1}.profile-master-member-gender-field>span{color:var(--color-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.league-switch.profile-master-member-gender-switch{max-width:280px;padding:2px}.league-switch.profile-master-member-gender-switch button{min-height:30px;padding:6px 10px;font-size:.78rem}.profile-master-member-gender-field--create{margin-top:-2px}.profile-master-member-role-field{display:grid;gap:4px;padding:8px 10px;border:1px solid var(--color-line);border-radius:10px;background:#fff}.profile-master-member-role-field>span{color:var(--color-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.profile-master-member-role-field .profile-master-label-row{flex-wrap:nowrap;gap:5px}.profile-master-member-role-field .profile-master-label-chip{min-height:32px;padding:3px 7px;font-size:.78rem}.profile-master-member-field--graduation select{max-width:150px}.profile-master-verify-label{display:inline-flex;align-items:center;gap:6px}.profile-master-verify-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:none;border:0;border-radius:999px;box-shadow:none;outline:none;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;opacity:.4;filter:grayscale(1);transition:opacity .14s ease,filter .14s ease,transform .14s ease}.profile-master-verify-toggle img{display:block;width:16px;height:16px}.profile-master-verify-toggle.is-active{opacity:1;filter:grayscale(0)}.profile-master-verify-toggle:hover{transform:scale(1.04)}.profile-master-verify-toggle:focus-visible{outline:2px solid rgba(23,79,134,.5);outline-offset:2px}.profile-master-label-row{display:flex;flex-wrap:wrap;gap:6px}.profile-master-coach-roles-box{display:grid;gap:6px;padding:8px 10px;border:1px solid var(--color-line);border-radius:10px;background:#fff}.profile-master-coach-roles-box>span{color:var(--color-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.profile-master-coach-roles-checklist{display:grid;gap:6px}.profile-master-coach-roles-checklist label{display:flex;align-items:center;gap:8px;color:#1e293b;font-size:.82rem;font-weight:700}.profile-master-coach-roles-checklist input[type=checkbox]{margin:0}.profile-master-linked-google-box{display:grid;gap:6px}.profile-master-linked-google-box>span{color:var(--color-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.profile-master-linked-google-list{display:grid;gap:6px}.profile-master-linked-google-entry{display:grid;gap:3px;padding:8px 10px;border:1px solid var(--color-line);border-radius:10px;background:#fff}.profile-master-linked-google-entry strong{font-size:.84rem}.profile-master-linked-google-entry span{color:var(--color-muted);font-size:.74rem;font-weight:700;word-break:break-word}.profile-master-linked-google-entry--pending-patch{background:linear-gradient(180deg,#fffffff5,#f3f7fff5);border-color:#1e40af47}.profile-master-linked-google-patch-actions{display:flex;flex-wrap:wrap;gap:6px}.profile-master-linked-google-patch{min-width:92px}.profile-master-linked-google-remove{justify-self:start;min-height:28px;padding:3px 8px;font-size:.72rem}.profile-master-pagination{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.profile-master-pagination span{justify-self:center;color:var(--color-muted);font-size:.78rem;font-weight:700}.profile-master-pagination__nav{min-height:30px;padding:4px 10px;border:1px solid rgba(16,24,39,.2);border-radius:999px;color:#1e293b;background:#fff;font-size:.74rem;font-weight:800}.profile-master-pagination__nav:disabled{opacity:.44}.profile-master-create-member{display:grid;gap:8px}.profile-master-create-member__panel{display:grid;gap:8px;padding:10px;border:1px solid var(--color-line);border-radius:10px;background:#f8fafc}.profile-master-label-chip{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 10px;border:1px solid rgba(16,24,39,.2);border-radius:999px;color:#1e293b;background:#fff;font-size:.72rem;font-weight:800}.profile-master-label-chip.is-inactive{opacity:.46}.profile-master-label-chip.is-selected{opacity:1;color:#fff;border-color:transparent}.profile-master-label-chip--athlet.is-selected{background:linear-gradient(145deg,#d30d16,#9c0710)}.profile-master-label-chip--coach.is-selected{background:linear-gradient(145deg,#1f6db8,#174f86)}.profile-master-label-chip--master.is-selected{color:#f0cb56;background:#0b0b0f;border-radius:0}.profile-master-label-chip--lk1.is-selected{background:linear-gradient(145deg,#0f766e,#0b5a54)}.profile-master-label-chip--lk2.is-selected{background:linear-gradient(145deg,#334155,#1e293b)}.club-master-search-list{display:grid;gap:6px}.club-master-search-row{display:grid;gap:2px;padding:8px 10px;text-align:left;border:1px solid var(--color-line);border-radius:10px;background:#fff}.club-master-search-row strong{font-size:.9rem}.club-master-search-row span{color:var(--color-muted);font-size:.76rem;font-weight:700}.club-master-search-row.is-selected{border-color:#114f9573;box-shadow:0 0 0 2px #114f9526}.club-master-role-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:6px;align-items:center}.club-master-role-row>span{color:var(--color-muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.club-master-role-row>div{display:flex;flex-wrap:wrap;gap:6px}.club-master-role-row button{min-height:30px;padding:4px 10px;border:1px solid rgba(16,24,39,.2);border-radius:999px;color:#1e293b;background:#fff;font-size:.74rem;font-weight:800}.club-master-role-row button.tag--kyorugi,.club-master-role-row button.tag--poomsae,.club-master-role-row button.tag--breitensport{border-width:1px}.club-master-role-row button.is-selected{color:#fff;background:#0f1a2c;border-color:#0f1a2c}.club-master-role-row button.tag--kyorugi.is-selected{color:#fff;background:linear-gradient(145deg,#d30d16,#9c0710);border-color:transparent}.club-master-role-row button.tag--poomsae.is-selected{color:#fff;background:linear-gradient(145deg,#1f6db8,#174f86);border-color:transparent}.club-master-role-row button.tag--breitensport.is-selected{color:#4d3200;background:linear-gradient(145deg,#f0cb56,#c8960f);border-color:transparent}.club-master-assigned-list{display:grid;gap:8px}.club-master-assigned-list article{padding:8px 10px;border:1px solid var(--color-line);border-radius:10px;background:#fff}.club-master-assigned-list p{margin-top:3px;color:var(--color-muted);font-size:.8rem}.club-master-assigned-list__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.club-master-location-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.club-master-location-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.club-master-location-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--color-line);border-radius:10px;background:#fff}.club-master-location-list strong{font-size:.88rem}.club-master-location-list button{min-height:28px;padding:4px 10px;border:1px solid rgba(189,66,66,.45);border-radius:999px;color:#8a1f28;background:#f7c3c8;font-size:.74rem;font-weight:800}.club-master-location-list button.is-confirm{border-color:#720c14bf;color:#fff;background:#8a1f28}.club-master-location-list button:disabled{opacity:.48;cursor:not-allowed}.club-infobox-card{display:grid;gap:12px}.club-news-form{display:grid;gap:8px;padding:10px;background:var(--color-surface-strong);border:1px solid var(--color-line);border-radius:var(--radius-card)}.club-news-form h3{font-size:.96rem}.club-news-form__hint{margin:-2px 0 2px;color:var(--color-muted);font-size:.74rem;line-height:1.3}.club-news-form__scope{display:flex;flex-wrap:wrap;gap:6px}.club-news-form__scope-btn{min-height:28px;padding:4px 9px;border:1px solid rgba(16,24,39,.18);border-radius:var(--radius-card);color:#0f1a2c;background:#fff;font-size:.76rem;font-weight:800}.dojang-news-page{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.dojang-news-board{display:grid;gap:12px;margin-top:14px;padding:0 var(--space-page)}.dojang-news-board__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px}.dojang-news-board__header p{margin:0;color:var(--color-muted);font-size:.9rem;line-height:1.45}.dojang-news-board__mark-all,.dojang-news-board__load-more{min-height:36px;padding:8px 14px;color:#0f4f95;background:#1f6db814;border:1px solid rgba(31,109,184,.32);border-radius:var(--radius-pill);font-size:.82rem;font-weight:800}.dojang-news-board__mark-all:disabled,.dojang-news-board__load-more:disabled{opacity:.54}.dojang-news-board__state{margin:0;padding:12px 14px;color:var(--color-muted);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-card);font-size:.92rem}.dojang-news-board__state.is-error{color:#9e141b;border-color:#cb1c2452;background:#ec535a14}.dojang-news-board__list{display:grid;gap:10px}.dojang-news-card{display:grid;gap:8px;padding:12px 13px;border:1px solid var(--color-line);border-radius:14px;background:var(--color-surface);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.dojang-news-card.is-unread{border-color:#d30d164d;box-shadow:0 8px 18px #cb1e251f}.dojang-news-card:hover{transform:translateY(-1px)}.dojang-news-card:focus-visible{outline:2px solid rgba(31,109,184,.54);outline-offset:2px}.dojang-news-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.dojang-news-card__head-left{display:grid;gap:5px}.dojang-news-card__head-left strong{color:var(--color-ink);font-size:.92rem}.dojang-news-card__head-left small{display:inline-flex;align-items:center;min-height:20px;width:max-content;padding:0 8px;color:#174f86;background:#1f6db81f;border-radius:var(--radius-pill);font-size:.7rem;font-weight:800}.dojang-news-card__category-row{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.dojang-news-card__audience{color:#384a60a3;font-size:.68rem;font-weight:600}.dojang-news-card time{color:var(--color-muted);font-size:.76rem;font-weight:700;white-space:nowrap}.dojang-news-card__meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.dojang-news-card__meta h3{margin:0;color:var(--color-ink);font-size:.97rem;line-height:1.24}.dojang-news-card__read-state{display:inline-flex;align-items:center;min-height:20px;padding:0 8px;border-radius:var(--radius-pill);font-size:.7rem;font-weight:800;white-space:nowrap}.dojang-news-card__read-state.is-read{color:#0f4f95;background:#1f6db81f}.dojang-news-card__read-state.is-unread{color:#9b1017;background:#d9222b1f}.dojang-news-card p{margin:0;color:var(--color-ink);font-size:.9rem;line-height:1.45;white-space:pre-line}.dojang-news-card__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.dojang-news-card__reaction-details{margin-top:8px;padding:10px 12px;border:1px solid rgba(31,109,184,.24);border-radius:12px;background:#eff4fce6}.dojang-news-card__reaction-details-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dojang-news-card__reaction-details-head strong{color:#174f86;font-size:.82rem;line-height:1.2}.dojang-news-card__reaction-details-close{min-width:24px;min-height:24px;padding:0 7px;color:#174f86;background:#1f6db81a;border:1px solid rgba(31,109,184,.28);border-radius:999px;font-size:.74rem;font-weight:900}.dojang-news-card__reaction-details-state{margin:7px 0 0;color:#35577f;font-size:.76rem;font-weight:700}.dojang-news-card__reaction-details-state.is-error{color:#9b1017}.dojang-news-card__reaction-details-list{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:6px}.dojang-news-card__reaction-details-list li{display:flex;align-items:center;justify-content:space-between;gap:12px}.dojang-news-card__reaction-details-list li strong{color:#15263f;font-size:.8rem;font-weight:800}.dojang-news-card__reaction-details-list li small{color:#587191;font-size:.72rem;font-weight:700}.dojang-news-card__link{min-height:30px;padding:5px 10px;color:#0f4f95;background:#1f6db81a;border:1px solid rgba(31,109,184,.3);border-radius:var(--radius-pill);font-size:.8rem;font-weight:800}.dojang-news-card__link:hover{transform:translateY(-1px)}.dojang-news-card__fist{min-height:30px;padding:5px 10px;color:#174f86;background:#1f6db814;border:1px solid rgba(31,109,184,.26);border-radius:var(--radius-pill);font-size:.82rem;font-weight:800;transition:transform .1s ease,background-color .12s ease,border-color .12s ease}.dojang-news-card__fist:hover{transform:scale(1.03)}.dojang-news-card__fist.is-active{color:#8f0f16;background:#d9222b24;border-color:#d9222b6b}.dojang-news-card__delete{min-width:30px;min-height:30px;padding:0 9px;color:#9b1017;background:#d9222b14;border:1px solid rgba(217,34,43,.32);border-radius:var(--radius-pill);font-size:.82rem;font-weight:900}.dojang-news-card__delete.is-armed{color:#fff;background:#9b1017;border-color:#9b1017}.dojang-news-board__lazy-sentinel{width:100%;height:2px}.dojang-news-board__lazy-loader{display:grid;place-items:center;padding:6px 0 2px}.dojang-news-board__lazy-loader .league-loader{gap:6px}.dojang-news-board__lazy-loader .league-loader p{font-size:.8rem}.club-news-form__scope-btn.is-selected{color:#fff;background:#0f1a2c;border-color:#0f1a2c}.club-news-form input,.club-news-form textarea{width:100%;border:1px solid rgba(16,24,39,.18);border-radius:var(--radius-card);padding:8px 10px;font-size:.88rem}.club-news-form textarea{resize:vertical}.club-news-feed{display:grid;gap:8px}.club-news-item{padding:10px;border:1px solid rgba(16,24,39,.12);border-radius:var(--radius-card);background:#fff}.club-news-item header{display:flex;align-items:center;justify-content:space-between;gap:8px}.club-news-item header>span{color:var(--color-muted);font-size:.74rem;font-weight:700}.club-news-item h3{margin-top:8px;font-size:1rem}.club-news-item p{margin-top:5px;color:#1e293b;line-height:1.45}.club-news-item small{display:block;margin-top:8px;color:var(--color-muted);font-size:.74rem;font-weight:700}.club-toplist-range-switch{margin-bottom:10px}.club-toplist-filter-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:10px}.club-toplist-filter-row .league-age-class-select select{min-width:128px}.club-toplist-card--year{background:radial-gradient(circle at left 16%,rgba(211,13,22,.13),transparent 48%),linear-gradient(90deg,rgba(211,13,22,.06),transparent 44%),#fff}.club-toplist-card--all-time{background:radial-gradient(circle at right 16%,rgba(31,109,184,.15),transparent 48%),linear-gradient(270deg,rgba(31,109,184,.08),transparent 44%),#fff}.club-toplist-card .league-table__scroll{height:auto;max-height:none}.club-toplist-card .league-table-shell{overflow-x:hidden}.club-toplist-card .league-table{width:100%;min-width:0}.club-toplist-card .league-table.is-compact-mobile .league-table__scroll{height:auto;max-height:none}.club-toplist-card__header-main-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.club-toplist-league-filter{display:inline-flex;align-items:center;gap:2px;padding:2px;background:#eef2f7;border:1px solid #d5dde8;border-radius:999px}.club-toplist-league-filter__button{min-height:28px;padding:0 14px;color:#5b687d;background:transparent;border:0;border-radius:999px;font-size:.75rem;font-weight:900;letter-spacing:.01em;line-height:1}.club-toplist-league-filter__button.is-active{color:#fff}.club-toplist-league-filter__button--lk1.is-active{background:linear-gradient(145deg,#d30d16,#97040d)}.club-toplist-league-filter__button--all.is-active,.club-toplist-league-filter__button--lk2.is-active{background:linear-gradient(145deg,#1f6db8,#174f95)}.club-toplist-card .league-table--athlete .league-table__head,.club-toplist-card .league-table--athlete .league-table__row{grid-template-columns:38px 16px minmax(0,1fr) 26px 26px 26px 30px 30px 30px;gap:4px}.club-toplist-card .league-table__head{padding:0 8px}.club-toplist-card .league-table__head span:nth-child(2),.club-toplist-card .league-table__head span:nth-child(n+4){justify-self:center;text-align:center}.club-toplist-card .league-table__row{padding:6px 8px}.club-toplist-name{display:block;width:100%;min-width:0;justify-self:stretch;overflow:hidden}.club-toplist-card .league-table__name{min-width:0;overflow:hidden}.club-toplist-name__text{display:block;width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.club-toplist-trend{display:inline-flex;align-items:center;justify-content:center;min-width:12px;font-size:.72rem;font-weight:900;line-height:1}.club-toplist-trend--up{color:#188143}.club-toplist-trend--same{color:#566479}.club-toplist-trend--down{color:#a42020}.club-toplist-cell{justify-self:center;text-align:center;color:#23344d;font-size:.82rem;font-weight:900;line-height:1}.club-toplist-cell--gold{color:#8c6400}.club-toplist-cell--silver{color:#51647e}.club-toplist-cell--bronze{color:#8c5020}.club-toplist-legend{display:grid;gap:6px;margin:8px 12px 12px;padding:8px 10px;background:#ffffffb8;border:1px solid var(--color-line);border-radius:10px}.club-toplist-legend__title,.club-toplist-legend__points{color:#50627b;font-size:.69rem;font-weight:800;line-height:1.3}.club-toplist-legend__chips{display:grid;gap:4px}.club-toplist-legend__chips span{display:inline-flex;align-items:center;width:fit-content;min-height:22px;padding:2px 8px;border-radius:var(--radius-pill);font-size:.67rem;font-weight:900}.club-toplist-legend__chips .is-gold{color:#835f00;background:#f7ce6857}.club-toplist-legend__chips .is-silver{color:#4d5a6a;background:#d6dee894}.club-toplist-legend__chips .is-bronze{color:#7b451d;background:#d6976c59}.club-toplist-legend__chips .is-neutral{color:#33465f;background:#c7d0dc80}.club-staff-grid{display:grid;gap:8px}.club-staff-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;background:var(--color-surface-strong);border:1px solid var(--color-line);border-radius:var(--radius-card)}.club-staff-row h3{font-size:.95rem}.club-staff-row p{margin-top:4px;color:var(--color-muted);font-size:.84rem}.club-staff-row__disciplines{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.club-group-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.club-group-layout h3,.club-group-admin-grid h3{margin-bottom:8px;font-size:.86rem;text-transform:uppercase;letter-spacing:.03em}.club-person-list,.club-admin-list{display:grid;gap:7px}.club-person-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-height:52px;width:100%;padding:8px 10px;text-align:left;background:var(--color-surface-strong);border:1px solid var(--color-line);border-radius:var(--radius-card)}.club-person-row strong{font-size:.92rem}.club-person-row p{margin-top:4px;color:var(--color-muted);font-size:.82rem}.club-person-row--button{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease}.club-person-row--button:hover{border-color:#111a2b47;box-shadow:0 8px 16px #0a162714}.club-athlete-card-list{display:grid;gap:10px}.club-athlete-card-entry{padding:0;border:1px solid rgba(16,29,47,.14);border-radius:12px;background:#fff;box-shadow:0 2px 8px #0a16270a;overflow:hidden}.club-athlete-card-button{display:block;width:100%;min-height:92px;padding:14px 16px;text-align:left;border:0;background:#fff;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.club-athlete-card-button:hover{transform:translateY(-1px);box-shadow:0 10px 18px #0a162717}.club-athlete-card-button:focus-visible{outline:2px solid rgba(31,109,184,.42);outline-offset:-2px}.club-athlete-card-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 14px}.club-athlete-card-content{display:grid;gap:8px;min-width:0}.club-athlete-card-title-row{display:flex;align-items:baseline;gap:10px;min-width:0}.club-athlete-card-title-row strong{font-size:.95rem;flex-shrink:0}.club-athlete-card-title-row small{color:var(--color-muted);font-size:.76rem;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.club-athlete-card-tags{display:flex;flex-wrap:wrap;gap:6px}.club-athlete-card-chip{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 12px;border:1px solid rgba(16,24,39,.2);border-radius:999px;color:#1e293b;background:#fff;font-size:.72rem;font-weight:800;line-height:1}.club-athlete-card-chip--athlet{color:#fff;border-color:transparent;background:linear-gradient(145deg,#d30d16,#9c0710)}.club-athlete-card-chip--lk1{color:#fff;border-color:transparent;background:linear-gradient(145deg,#0f766e,#0b5a54)}.club-athlete-card-chip--lk2{color:#fff;border-color:transparent;background:linear-gradient(145deg,#334155,#1e293b)}.club-athlete-card-chip--coach{color:#fff;border-color:transparent;background:linear-gradient(145deg,#1f6db8,#174f86)}.club-athlete-card-chip--master{color:#f0cb56;border-color:transparent;background:#0b0b0f}.club-athlete-card-chip--admin{color:#fff;border-color:transparent;background:linear-gradient(145deg,#475569,#1f2937)}.club-athlete-card-chip--clubowner{color:#fff;border-color:transparent;background:linear-gradient(145deg,#b45309,#92400e)}.club-athlete-card-belt{position:relative;display:inline-flex;align-items:center;justify-content:center;align-self:center;width:98px;height:60px;padding:0;overflow:visible;border:0;border-radius:0;background:transparent}.club-athlete-card-belt-avatar{position:absolute;top:52%;left:50%;z-index:1;display:grid;place-items:center;width:64px;height:64px;border:1px solid rgba(15,79,149,.2);border-radius:999px;color:#0f2e52;background:linear-gradient(145deg,#dbe9fb,#c2d8f3);box-shadow:0 3px 8px #0812202e,inset 0 1px #ffffffb8;transform:translate(-50%,-50%)}.club-athlete-card-belt-avatar.has-image{border-color:#10182738;background:#eef3fb}.club-athlete-card-belt-avatar strong{font-size:.74rem;font-weight:900;letter-spacing:.03em;line-height:1}.club-athlete-card-belt-avatar-image{width:100%;height:100%;border-radius:inherit;object-fit:cover}.club-athlete-card-belt-image{position:relative;z-index:2;max-width:86%;max-height:86%;object-fit:contain;transform:translateY(22px);filter:drop-shadow(0 1px 1px rgba(5,10,20,.28))}.club-disclosure{color:#64748b;font-size:1.2rem;line-height:1}.club-join-button{margin-top:10px;width:100%}.club-group-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.club-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface-strong)}.club-admin-row p{margin-top:4px;color:var(--color-muted);font-size:.8rem}.club-admin-row button,.club-member-actions>button{min-height:30px;padding:4px 8px;border:1px solid rgba(16,24,39,.2);border-radius:8px;color:#0f1a2c;background:#fff;font-size:.74rem;font-weight:800}.club-participation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.club-participation-grid article{min-height:80px;padding:10px;background:var(--color-surface-strong);border:1px solid var(--color-line);border-radius:var(--radius-card);text-align:center}.club-participation-grid span{color:var(--color-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.club-participation-grid strong{display:block;margin-top:6px;font-size:1.45rem;line-height:1}.club-athlete-link-row{margin-top:12px}.club-athlete-link-row .action-button{width:100%}.club-member-table-wrap{margin-top:10px;overflow-x:hidden}.club-member-table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse}.club-member-table th,.club-member-table td{padding:8px;border-bottom:1px solid var(--color-line);vertical-align:top}.club-member-table th{text-align:left}.club-member-table th button{padding:0;border:0;color:#0f1a2c;background:transparent;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.club-member-table td input{width:100%;min-height:34px;padding:6px 8px;border:1px solid rgba(16,24,39,.2);border-radius:8px}.club-member-edit-fields{display:grid;gap:6px}.club-member-gender-field{display:grid;gap:4px}.club-member-gender-field span{color:var(--color-muted);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.02em}.league-switch.club-member-gender-switch{max-width:240px;padding:2px}.league-switch.club-member-gender-switch button{min-height:28px;padding:6px 9px;font-size:.74rem}.club-member-name strong{display:block;font-size:.92rem}.club-member-name small{color:var(--color-muted);font-size:.74rem;font-weight:700}.club-member-row--with-actions td{border-bottom:0;padding-bottom:4px}.club-member-actions-row td{padding-top:0;padding-bottom:12px}.club-discipline-short-tags{display:flex;flex-wrap:wrap;gap:6px}.club-discipline-short-tag{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;padding:2px 6px;border-radius:999px;font-size:.74rem;font-weight:900}.club-discipline-short-tag.tag--kyorugi{color:#9c0710;background:#d30d161f}.club-discipline-short-tag.tag--poomsae{color:#0f4f95;background:#1f6db81f}.club-discipline-short-tag.tag--breitensport{color:#8a5e00;background:#c5971229}.club-member-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-items:center}.club-member-actions__disciplines{display:flex;flex-wrap:wrap;gap:4px;grid-column:1 / -1;justify-content:flex-end;width:fit-content;margin-left:auto}.club-member-actions__discipline{min-width:26px;min-height:26px;border:1px solid rgba(16,24,39,.2);border-radius:999px;background:#fff;font-size:.72rem;font-weight:900}.club-member-actions__discipline.is-active{box-shadow:inset 0 0 0 2px currentColor}.club-guest-discipline-row+.club-guest-discipline-row{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-line)}.club-guest-discipline-row h3{font-size:.94rem}.club-guest-staff-list{margin-top:6px;display:grid;gap:4px}.club-guest-staff-list p{margin:0;color:#1e293b;font-size:.88rem}.club-tournament-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;align-items:start;transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease}.club-tournament-row__title{grid-column:1 / -1;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.club-tournament-row__details{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:4px 12px;align-items:center}.club-tournament-row__details p{margin:0}.club-tournament-row__location-flag{margin-left:6px}.club-tournament-row__system{grid-column:1 / -1}.club-tournament-row__athletes{align-self:center}.club-tournament-row:hover{transform:translateY(-1px);border-color:#111a2b3d;box-shadow:0 10px 20px #0a16271a}@media(max-width:760px){.club-page .page-stack{gap:10px}.club-intro__logo-wrap{width:102px;height:102px}.club-intro__guest-copy h2{font-size:1rem}.club-intro__guest-copy p{font-size:.8rem}.club-scope-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;overflow:visible}.club-scope-row--compact{width:min(100%,330px);grid-template-columns:repeat(3,minmax(0,1fr))}.club-scope-row__button{min-width:0;min-height:34px;padding:6px 4px;font-size:.72rem;letter-spacing:0}.club-discipline-focus-grid,.club-group-layout,.club-group-admin-grid,.tournament-hero-card__detail-grid{grid-template-columns:1fr}.tournament-hero-card__person-row--with-scale{grid-template-columns:24px minmax(0,1fr) 84px}.tournament-complete-overview{gap:8px;padding:10px}.tournament-complete-overview__group{padding:9px}.tournament-complete-overview__medals{gap:6px}.tournament-complete-overview__table-head,.tournament-complete-overview__row{grid-template-columns:minmax(72px,84px) minmax(120px,1fr) minmax(72px,88px) minmax(46px,52px);min-width:0;gap:6px}.tournament-fight-areas-control__row{align-items:flex-start;flex-wrap:wrap}.tournament-fight-areas-octagons{justify-content:center}.tournament-fight-areas-control__next-fights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-fighter-row__summary{grid-template-columns:24px minmax(0,1fr) minmax(68px,76px);align-items:center}.tournament-next-fight-box{grid-column:3 / 4;width:100%;justify-self:stretch;margin-top:0}.tournament-fighter-expanded__fights{grid-template-columns:repeat(3,minmax(0,1fr))}.tournament-fighter-expanded__footer{grid-template-columns:auto 44px auto auto auto;justify-content:start}.tournament-fighter-expanded__no-show,.tournament-fighter-expanded__done{grid-column:auto;justify-self:start}.club-participation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.club-athlete-card-title-row{flex-wrap:wrap;gap:4px 8px}.club-athlete-card-button{min-height:86px;padding:12px 14px}.club-athlete-card-layout{gap:8px 12px}.club-athlete-card-belt{width:86px;height:52px}.club-athlete-card-belt-avatar{width:54px;height:54px}.club-member-table th,.club-member-table td{padding:7px 6px}.club-member-table th button{font-size:.68rem}.club-member-name strong{font-size:.88rem}.club-member-name small{font-size:.72rem}.club-member-actions__disciplines{justify-content:flex-end}.club-staff-row{grid-template-columns:1fr}.club-staff-row__disciplines{justify-content:flex-start}.club-tournament-row{grid-template-columns:1fr;gap:8px}.club-tournament-row__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px}.club-tournament-row__athletes{justify-self:start}.club-master-form-grid{grid-template-columns:1fr}.profile-master-color-grid,.profile-master-member-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-master-member-field--name{grid-column:1 / -1}.club-master-inline-row{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.club-master-role-row{grid-template-columns:1fr}.club-master-role-row>div{justify-content:flex-start}.profile-master-logo-upload{grid-template-columns:62px minmax(0,1fr)}.club-master-location-entry{grid-template-columns:1fr}.club-master-location-list article{align-items:flex-start;flex-direction:column}.club-config-pill{min-height:42px;font-size:.76rem}.club-config-pill small{font-size:.62rem}}@media(max-width:560px){.tournament-past-pagination{gap:6px}.tournament-past-pagination span{font-size:.68rem}.tournament-past-pagination__nav{min-height:28px;padding:3px 9px;font-size:.67rem}.club-toplist-card .league-table--athlete .league-table__head,.club-toplist-card .league-table--athlete .league-table__row{grid-template-columns:32px 14px minmax(0,1fr) 22px 22px 22px 24px 24px 24px;gap:3px}.club-toplist-league-filter{gap:1px;padding:1px}.club-toplist-league-filter__button{min-height:24px;padding:0 10px;font-size:.67rem}.club-toplist-card .league-table__head{min-height:34px;padding:0 7px;font-size:.58rem}.club-toplist-card .league-table__row{min-height:42px;padding:5px 7px}.club-toplist-cell{font-size:.72rem}.tournament-complete-overview{padding:9px}.tournament-complete-overview__header h4{font-size:.82rem}.tournament-complete-overview__status{min-height:22px;padding:2px 8px;font-size:.62rem}.tournament-complete-overview__table-head,.tournament-complete-overview__row{grid-template-columns:minmax(66px,78px) minmax(112px,1fr) minmax(66px,80px) minmax(44px,50px);min-width:0}.tournament-complete-overview__placement input,.tournament-complete-overview__wins input,.tournament-complete-overview__placement-readonly{width:40px;min-height:26px;font-size:.78rem}.tournament-complete-overview__athlete strong{font-size:.75rem}.tournament-complete-overview__athlete small,.tournament-complete-overview__class,.tournament-complete-overview__wins{font-size:.7rem}.tournament-fighter-expanded__footer{grid-template-columns:auto 40px auto auto auto;gap:6px}}@media(max-width:430px){.tournament-fight-areas-control__next-fights-grid{gap:6px}.tournament-fight-areas-control__next-fights-area{min-height:106px;gap:5px;padding:6px 4px}.tournament-fight-area-octagon--next-fight-by-area{width:40px;height:40px;border-width:4px;font-size:.82rem}.club-toplist-card__header-main-row{gap:6px}.club-toplist-league-filter__button{min-height:22px;padding:0 8px;font-size:.62rem}.club-toplist-card .league-table--athlete .league-table__head,.club-toplist-card .league-table--athlete .league-table__row{grid-template-columns:28px 12px minmax(0,1fr) 19px 19px 19px 21px 21px 21px;gap:2px}.club-toplist-card .league-table__head span{font-size:.56rem}.club-toplist-card .league-table__name{font-size:.76rem}.club-toplist-card .league-table__medals span{min-width:0;padding:1px;font-size:.55rem}.club-toplist-card .league-table__points{font-size:.7rem}.club-toplist-cell{font-size:.68rem}.club-page .page-stack{gap:8px}.club-intro-card,.club-page .section-card{padding:12px}.club-scope-row{gap:3px;padding:3px}.club-scope-row--compact{width:min(100%,300px)}.club-scope-row__button{min-height:32px;padding:5px 3px;font-size:.66rem}.club-config-pill{min-height:40px;font-size:.72rem}.club-config-grid--master{gap:6px}.club-master-area__block{padding:9px}.tournament-complete-overview__table-head,.tournament-complete-overview__row{grid-template-columns:minmax(62px,72px) minmax(104px,1fr) minmax(62px,74px) minmax(42px,48px);min-width:0;gap:5px}.tournament-complete-overview__table-head span{font-size:.58rem}.club-master-inline-row{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:6px}.club-master-logo-upload{grid-template-columns:52px minmax(0,1fr);gap:7px}.club-master-logo-preview{width:52px;height:52px}.club-news-form__scope-btn{font-size:.72rem}}@media(min-width:400px){.dashboard-page .dashboard-grid{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)}.dashboard-grid .event-card:first-child,.dashboard-grid .event-card--full,.dashboard-grid .section-card--full{grid-column:1 / -1}}@media(max-width:380px){.dashboard-header__content{min-height:326px;padding-bottom:86px}.hero-banner{min-height:326px}.dashboard-header__logo{flex-basis:112px;width:112px;height:54px}.header-news-button,.header-profile-button{width:40px;height:40px}.header-news-button__badge{min-width:18px;height:18px;font-size:.66rem}.club-summary{grid-template-columns:60px minmax(0,1fr);gap:10px}.club-summary__mark{width:60px;height:68px}.dashboard-header__stats{gap:8px}.dashboard-stat-card{padding:9px 9px 8px}.dashboard-stat-card__top span{font-size:.76rem}.dashboard-stat-card strong{font-size:1.5rem}.dashboard-stat-card__bottom small{font-size:.82rem}.event-card--next-training .event-card__content{grid-template-columns:56px minmax(0,1fr);padding:16px}.event-card--next-training .event-card__background{right:-22%;height:118%;opacity:.68}.event-card--next-training .event-card__icon{width:56px;height:56px}.page-with-header .page-heading{margin-top:-46px}.page-with-header .page-heading h1{font-size:clamp(1.9rem,11.5vw,2.4rem)}.page-heading__top{align-items:flex-start;flex-wrap:wrap}.page-heading__action{width:100%;justify-content:flex-start}.page-with-header .page-heading.page-heading--with-action .page-heading__action{position:static}}@media(max-width:430px){.app-shell,.app-main,.page-with-header,.page-with-header .page-stack,.hero-banner,.dashboard-header__content,.dashboard-header__top,.dashboard-header__club-row,.club-summary,.club-summary__copy,.club-summary__title-row,.section-card,.metric-grid,.metric-tile,.club-summary__title-row h2,.club-summary__title-link{min-width:0;max-width:100%}.club-summary__copy p{display:flex;flex-wrap:wrap;row-gap:4px}.dashboard-page .dashboard-header--with-stats .hero-banner,.dashboard-page .dashboard-header--with-stats .dashboard-header__content{min-height:344px;max-height:none;height:auto}.dashboard-page .dashboard-header--with-stats .dashboard-header__content{min-height:0;align-content:start;gap:12px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:64px}.page-with-header .dashboard-header--with-stats .hero-banner,.page-with-header .dashboard-header--with-stats .dashboard-header__content{min-height:326px;max-height:none;height:auto}.page-with-header .dashboard-header--with-stats .dashboard-header__content{min-height:0;align-content:start;gap:10px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:48px}.dashboard-header:not(.dashboard-header--with-stats) .hero-banner,.dashboard-header:not(.dashboard-header--with-stats) .dashboard-header__content{min-height:236px;max-height:236px;height:236px}.dashboard-header:not(.dashboard-header--with-stats) .dashboard-header__content{min-height:0;align-content:start;gap:10px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:14px}.club-summary{margin-top:0}.dashboard-page .dashboard-grid{margin-top:-72px}.dashboard-page .dashboard-header--with-stats+.dashboard-grid{margin-top:-40px}.page-with-header .page-stack{margin-top:24px}.page-with-header .dashboard-header--with-stats~.page-stack{margin-top:30px}.league-page .page-stack{margin-top:0}.hero-banner__image{object-fit:contain;object-position:right 20px}.dashboard-header__logo{flex-basis:120px;width:120px;height:56px}.header-news-button,.header-profile-button{width:44px;height:44px}.dashboard-header__club-row{gap:12px}.dashboard-header__stats{width:100%;gap:8px}.training-calendar{padding:6px}.training-calendar .fc .fc-col-header-cell-cushion{padding:8px 3px;font-size:.68rem}.training-calendar--week .fc .fc-scrollgrid{min-height:0}.training-calendar--month .fc .fc-scrollgrid{min-height:332px}.training-calendar .fc .fc-daygrid-day-frame{min-height:68px;padding:5px}.training-calendar .fc .fc-daygrid-day-number{font-size:1.08rem}.training-calendar .training-fc-day__content.has-markers{min-height:56px}.training-calendar .training-fc-day__markers{gap:5px;padding-bottom:4px}.training-calendar .training-fc-day__belts{gap:5px}.training-calendar .training-fc-day__tournament-logo{width:28px;height:28px}.training-calendar .training-fc-day__belt{width:26px;height:8px}.training-calendar .training-fc-day__belt:before{width:26px;height:3px}.training-calendar .training-fc-day__belt:after{width:24px;height:8px}.training-calendar .training-fc-day .fc-daygrid-day-frame:after{font-size:1rem;right:1px;bottom:1px}.training-row__labels{gap:3px}.training-label{min-height:18px;padding:1px 18px 1px 12px;font-size:.7rem}.training-overlay__panel{max-height:min(92vh,780px);padding:14px}.training-overlay__header h3{font-size:1.1rem}.training-overlay__check,.training-overlay__verify-buttons button{min-height:46px}.training-calendar__nav strong{font-size:.82rem}.event-card--next-tournament .event-card__registered{gap:8px 10px}.event-card--next-tournament .event-card__registered-avatars{width:100%;justify-content:flex-start;margin-left:0;margin-top:2px}.event-card--next-tournament .event-card__avatar{width:30px;height:30px;font-size:.6rem}.event-card--next-tournament .event-card__avatar+.event-card__avatar{margin-left:-7px}.dashboard-stat-card{padding:10px 10px 9px;border-radius:14px}.dashboard-stat-card strong{font-size:clamp(1.58rem,8vw,1.95rem)}.dashboard-stat-card__bottom small{font-size:.92rem}.page-with-header .page-heading{margin-top:-56px;margin-bottom:8px}.page-with-header .dashboard-header--with-stats+.page-heading{margin-top:-20px}.page-with-header .page-heading h1{font-size:clamp(2rem,11vw,2.58rem)}}@media(min-width:700px){.app-shell{padding-bottom:calc(128px + env(safe-area-inset-bottom))}.hero-banner,.dashboard-header__content{min-height:422px}.dashboard-header:not(.dashboard-header--with-stats) .hero-banner,.dashboard-header:not(.dashboard-header--with-stats) .dashboard-header__content{min-height:344px}.dashboard-header__logo{flex-basis:224px;width:224px;height:88px}.dashboard-header__actions{gap:12px}.header-news-button,.header-profile-button{width:56px;height:56px}.header-news-button svg{width:28px;height:28px}.header-news-button__badge{min-width:22px;height:22px;font-size:.78rem}.dashboard-header__content{padding-top:max(28px,env(safe-area-inset-top));padding-bottom:88px;align-content:start;gap:clamp(44px,6vw,72px)}.club-summary{grid-template-columns:72px minmax(0,1fr);gap:18px;max-width:none}.club-summary__mark{width:72px;height:82px}.dashboard-header__club-row{grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:22px}.dashboard-header__stats{width:100%;gap:12px}.dashboard-stat-card{padding:14px 14px 11px}.dashboard-page .dashboard-grid{margin-top:-88px}.page-stack{gap:18px}.page-with-header .page-heading{margin-top:-60px;margin-bottom:14px}.event-card--next-training{min-height:198px}.event-card--next-training .event-card__content{min-height:198px;padding:26px}.event-card--next-training .event-card__background{right:-6%;height:145%;opacity:.78}.metric-grid,.placeholder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.placeholder-grid .section-card:last-child{grid-column:1 / -1}.form-shell{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-auth-actions{grid-column:1 / -1}.auth-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-nav{bottom:14px;width:min(960px,calc(100% - (var(--space-page) * 2)));gap:8px;padding:10px 16px;border:1px solid var(--color-line);border-radius:16px}.bottom-nav__item{min-height:84px;gap:6px;padding:6px 4px;border-radius:14px}.bottom-nav__icon{--sprite-size: 54px}.bottom-nav__label{font-size:.78rem}}
