/* PSG font loaded via local woff2 */

html { background-color: var(--color-bg); }

/* DEFAULT ------------------------------------------------------ */

*, *:after, *:before { margin:0; padding:0; box-sizing: border-box; background-repeat: no-repeat; word-break: keep-all; }
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    vertical-align: baseline;
    border: 0;
    outline: 0;
    background: transparent;
    font-style: normal;
    text-decoration: none;
    font-weight: inherit;
}

*::-webkit-scrollbar { display: none; }

ol, ul { list-style: none; }
blockquote, q { quotes: none; }
table { border-collapse: collapse; border-spacing: 0; }
html { -webkit-font-smoothing: subpixel-antialiased; }
a { color: var(--color-text); cursor: pointer !important; }
a,u { text-decoration: none; }

input, select, option, textarea, button { font-family: -apple-system, "Helvetica Neue", 'Apple SD Gothic Neo', 'Roboto', 'Noto Sans KR', 'Malgun Gothic', sans-serif; letter-spacing: -.02em; outline: none; -webkit-appearance: none; border: 0; line-height: 1.5; transition: all .2s ease; }


/* BODY ------------------------------------------------------ */
html, body { height: 100%; }

body {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	width: 100%;
	font-family: -apple-system, 'Helvetica Neue', 'Helvetica', 'Apple SD Gothic Neo', 'Roboto', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
	color: var(--color-text);
	background-color: var(--color-bg);
	font-size: 17px;
	letter-spacing: -.02em;
	line-height: 1.5;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}

body.scrollx { overflow: hidden; }

header { width: 100%; height: 44px; background-color: var(--color-bg); position: absolute; top: 0; left: 0; z-index: 69; transition: all .35s cubic-bezier(.4,0,.6,1);  overflow: hidden; }

header .container { width: 100%; display: flex; justify-content: space-between; align-items: center; height: 44px; position: relative; padding: 0 16px; }

header .container > a { flex: 1; height: 50px; height: 100%; display: flex;  align-items: center;}
header .container .header_right a { flex: none; }
header .container a.side { display: flex; justify-content: right; width: 34px; height: 44px; align-items: center; margin: 0; }
header .container a.side i { font-size: 24px; }
header .container a .logo_img { height: 28px; width: auto; position: relative; top: -1px; -webkit-animation: logoReveal .7s cubic-bezier(.22,1,.36,1) both; animation: logoReveal .7s cubic-bezier(.22,1,.36,1) both; }
@-webkit-keyframes logoReveal {
	0% { opacity:0; -webkit-transform:scale(.8); -webkit-filter:blur(12px); }
	100% { opacity:1; -webkit-transform:scale(1); -webkit-filter:blur(0); }
}
@keyframes logoReveal {
	0% { opacity:0; transform:scale(.8); filter:blur(12px); }
	100% { opacity:1; transform:scale(1); filter:blur(0); }
}
@-webkit-keyframes logoRevealDark {
	0% { opacity:0; -webkit-transform:scale(.8); -webkit-filter:blur(12px) invert(1); }
	100% { opacity:1; -webkit-transform:scale(1); -webkit-filter:blur(0) invert(1); }
}
@keyframes logoRevealDark {
	0% { opacity:0; transform:scale(.8); filter:blur(12px) invert(1); }
	100% { opacity:1; transform:scale(1); filter:blur(0) invert(1); }
}
header .container a.logo { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); flex: none; z-index: 1; }
header .container a h1 { text-transform: uppercase; font-family: "PSG", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; font-size: 19px; letter-spacing: 1.5px; font-weight: 700; }

header .container .match_notify { font-size: 10px; font-weight: 600; display: flex; align-items: center; gap: 3px; align-self: center; position: relative; font-variant-numeric: tabular-nums; max-width: 40vw; cursor: pointer; }
header .container .match_notify .nm_icon { font-size: 20px; flex-shrink: 0; }
header .container .match_notify .nm_info { display: flex; flex-direction: column; line-height: 1.1; overflow: hidden; }
header .container .match_notify .nm_team { font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
header .container .match_notify .nm_time { opacity: 0.7; }
header .container .match_notify .nm_time.countdown { opacity: 1; letter-spacing: 0; }
header .container .match_notify .nm_icon.countdown { font-variation-settings: 'FILL' 0; }
header .container .match_notify .nm_icon.live { animation: ballBounce .5s ease-in infinite alternate, ballSpin 1s linear infinite; font-variation-settings: 'FILL' 0; }
@keyframes ballBounce {
	0% { translate: 0 -4px; }
	100% { translate: 0 1px; }
}
@keyframes ballSpin {
	to { rotate: 360deg; }
}
header .container .match_notify { color: var(--color-accent); }
header .container .match_notify:after { display: none; }
header .container .match_notify.muted { color: var(--color-text); }
header .container .match_notify.muted:after { display: none; }

header .container a.urgent { font-size: 11px; font-weight: 600; }

/* Apple-style menu animation */
header .shortcut {
	position: absolute;
	top: 50px;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	padding: 20px 30px;
	opacity: 0;
	transform: translateY(-20px);
	visibility: hidden;
	transition: all 0.5s cubic-bezier(0.28, 0.11, 0.32, 1);
}

header .shortcut a {
	font-size: 26px;
	font-weight: 700;
	color: var(--color-text);
	text-decoration: none;
	padding: 12px 0;
	opacity: 0;
	transition: opacity 0.4s cubic-bezier(0.28, 0.11, 0.32, 1), transform 0.4s cubic-bezier(0.28, 0.11, 0.32, 1);
	text-align: center;
	font-family: "Paperlogy";
}

header .shortcut a:last-child {
	border-bottom: none;
}

header.unfold {
	height: 100%;
	background-color: rgba(255, 255, 255, 0.5);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
}

@media (prefers-color-scheme: dark) {
	header.unfold {
		background-color: rgba(0, 0, 0, 0.5);
	}
}

header.unfold .shortcut {
	opacity: 1;
	transform: translateY(0);
	visibility: visible;
}

header.unfold .shortcut a {
	opacity: 1;
	transform: translateY(0);
}

/* Sequential animation delays */
header.unfold .shortcut a:nth-child(1) { transition-delay: 0.05s; }
header.unfold .shortcut a:nth-child(2) { transition-delay: 0.08s; }
header.unfold .shortcut a:nth-child(3) { transition-delay: 0.11s; }
header.unfold .shortcut a:nth-child(4) { transition-delay: 0.14s; }
header.unfold .shortcut a:nth-child(5) { transition-delay: 0.17s; }
header.unfold .shortcut a:nth-child(6) { transition-delay: 0.20s; }
header.unfold .shortcut a:nth-child(7) { transition-delay: 0.23s; }
header.unfold .shortcut a:nth-child(8) { transition-delay: 0.26s; }
header.unfold .shortcut a:nth-child(9) { transition-delay: 0.29s; }

header.unfold a.menu { color: var(--color-primary); }

header.scrolled {  }

article { padding-top: 50px; }
article, section { width: 100%; }


footer { padding: 20px 20px 80px 20px; color: #C7C7CC; }
footer > * { display: block; text-align: center; }
footer img { width: 34px; margin: 0 auto 5px auto; filter: brightness(0) saturate(100%) invert(87%) sepia(5%) saturate(0%) hue-rotate(96deg) brightness(93%) contrast(89%); }
footer .move_to_top { margin-bottom: 30px; text-align: center; color: var(--color-text-muted); }
footer .move_to_top i { font-size: 30px !important; }


footer p { font-size: 13px; text-transform: uppercase; font-weight: 700; }
footer span { text-transform: uppercase; letter-spacing: 1px; font-size: 9px; font-weight: 600; margin-top: 0px; }
footer .contact { font-size: 11px; margin-top: 15px; color: #C7C7CC; }
footer u { font-size: 11px; margin-top: 0; }

.global_title_large {
	font-size: 24px;
	font-weight: 800;
	line-height: 1.2;
	margin-top: 25px;
}
.global_title_medium {
	font-size: 17px;
	font-weight: 700;
	margin-top: 25px;
}

#non-member { padding: 80px 0; }
#non-member .container > * { display: block; text-align: center; }
#non-member i { font-size: 50px; }
#non-member p { font-size: 17px; font-weight: 600; margin-top: 15px; }
#non-member span { font-size: 13px; margin-top: 3px; }
#non-member a { text-decoration: underline; }

#user #non-member { padding: 140px 0 80px 0; }

@media only screen and (min-width: 900px) {
	body, header .container, header .shortcut, .schedule_layer, header .shortcut, .notif_layer { width: 640px; margin: 0 auto; }

	section#news { position: relative; }
	section#news:before, section#news:after { content: ""; position: absolute; width: 20px; height: 100%; z-index: 2; left: 0; top: 0; background-image: linear-gradient(to right, var(--color-bg), transparent); }
	section#news:after { left: inherit; right: 0; background-image: linear-gradient(to right, transparent, var(--color-bg)); }
}

@media (prefers-color-scheme: dark) {
	footer, footer .contact { color: #3A3A3C; }
	footer img { filter: brightness(0) saturate(100%) invert(20%) sepia(5%) saturate(329%) hue-rotate(202deg) brightness(88%) contrast(86%); }

	header .container .match_notify.muted { color: var(--color-text); }
	header .container a .logo_img { -webkit-animation-name: logoRevealDark; animation-name: logoRevealDark; }
}

/* 순위 버튼 */
.standings_btn { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; cursor: pointer; flex-shrink: 0; }
.standings_btn i { font-size: 22px; color: var(--color-text-muted); }
.standings_btn.active i { color: var(--color-accent); }
