
:root{--bg:#06101d;--line:rgba(160,190,230,.20);--text:#f5f8ff;--muted:#9db0ce;--mint:#35f5c6;--red:#ff5575;--blue:#5d90ff;--gold:#ffd36a}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#06101d;color:var(--text);font-family:Arial,"Noto Sans KR",sans-serif;overscroll-behavior:none;touch-action:manipulation}
body{background:linear-gradient(rgba(4,10,19,.66),rgba(4,10,19,.84)),url("../bg/sitewide_bg_competition.png") center/cover fixed no-repeat,radial-gradient(circle at 50% 0%,#17335d,#06101d 58%)}
button,a{font:inherit}a{color:inherit;text-decoration:none}
.top{position:sticky;top:0;z-index:50;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;background:rgba(4,10,19,.90);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.brand{font-weight:1000;color:var(--mint);font-size:14px;white-space:nowrap}
.nav{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0;overflow-x:auto}
.nav a{padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04);color:var(--muted);font-size:10px;font-weight:900;white-space:nowrap}
.nav a.on{color:#fff;border-color:rgba(53,245,198,.55)}
.joolab-language-switch{display:flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:999px;background:#07111f}
.joolab-language-switch button{min-width:34px;height:26px;padding:0 7px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-weight:1000;font-size:9px}
.joolab-language-switch button.on{background:var(--mint);color:#031714}
.wrap{width:min(100%,980px);margin:0 auto;padding:8px}
.hero,.panel,.stat{border:1px solid var(--line);background:linear-gradient(180deg,rgba(16,31,53,.88),rgba(7,15,29,.90));backdrop-filter:blur(9px);box-shadow:0 18px 50px rgba(0,0,0,.22)}
.hero{border-radius:18px;padding:14px;margin-bottom:7px}.hero h1{margin:0 0 5px;font-size:24px;letter-spacing:-.04em}.hero p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-bottom:7px}
.stat{border-radius:13px;padding:8px;text-align:center;min-width:0}.stat em{display:block;color:var(--muted);font-style:normal;font-size:9px;margin-bottom:4px}.stat strong{display:block;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.panel{border-radius:18px;padding:9px}
.gameCanvas{display:block;width:100%;height:58vh;min-height:380px;max-height:650px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#09182a,#050b14);touch-action:none}
.bigBtn{width:100%;height:56px;margin-top:7px;border:0;border-radius:15px;background:linear-gradient(180deg,#35f5c6,#14ac8e);color:#031714;font-weight:1000;font-size:20px;box-shadow:0 8px 22px rgba(53,245,198,.15)}
.bigBtn:active{transform:translateY(1px)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
.smallBtn{min-height:38px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.055);color:#fff;font-weight:900}
.msg{min-height:34px;display:flex;align-items:center;justify-content:center;margin-top:6px;padding:7px 9px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.035);color:var(--muted);text-align:center;font-size:11px}
.progress{height:8px;margin:0 0 7px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.07)}.progress>i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--mint),var(--gold));transition:width .15s linear}
@media(max-width:720px){.top{min-height:42px;padding:5px 6px;gap:5px}.brand{font-size:12px}.nav{gap:3px}.nav a{padding:6px 7px;font-size:9px}.wrap{padding:5px}.hero{padding:10px;border-radius:14px;margin-bottom:5px}.hero h1{font-size:19px}.hero p{font-size:10px}.stats{gap:4px;margin-bottom:5px}.stat{padding:5px 3px;border-radius:10px}.stat em{font-size:7.5px;margin-bottom:3px}.stat strong{font-size:11px}.panel{padding:6px;border-radius:14px}.gameCanvas{height:62vh;min-height:390px;max-height:540px;border-radius:13px}.bigBtn{height:50px;border-radius:13px;font-size:17px}.smallBtn{min-height:34px;font-size:11px}.msg{font-size:10px;min-height:30px;padding:5px}}
