:root {
	--navy:#001C4D;
	--navy-2:#001C4D;
	--gold:#FEE005;
	--orange:var(--gold);
	--orange-2:var(--gold);
	--green:#001C4D;
	--blue:#001C4D;
	--red:#001C4D;
	--purple:#001C4D;
	--gray:#001C4D;
	--line:#FFFFFF;
	--bg:#001C4D;
	--white:#FFFFFF;
	--text:#001C4D;
	--shadow:0 10px 28px rgba(0,28,77,.11);
	--radius:8px;
	--mobile-width:430px;
}
* { box-sizing:border-box; }
html { min-height:100%; touch-action:pan-x pan-y; -webkit-text-size-adjust:100%; text-size-adjust:100%; background:var(--bg); color:var(--text); font-family:Arial,'Apple SD Gothic Neo','Noto Sans KR',sans-serif; font-size:18px; }
body { margin:0; min-height:100%; letter-spacing:0; background:#001C4D; }
.runtime-app-aos body,.runtime-app-ios body { -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }
.runtime-app-aos :is(input,textarea,[contenteditable="true"]),.runtime-app-ios :is(input,textarea,[contenteditable="true"]) { -webkit-user-select:text; user-select:text; -webkit-touch-callout:default; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; letter-spacing:0; font-size:1rem; }
button { cursor:pointer; }
img { max-width:100%; }
#pageloading { position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center; background:rgba(0,28,77,.28); }
#pageloading span { padding:12px 18px; border-radius:var(--radius); background:var(--white); color:var(--navy); font-weight:800; box-shadow:var(--shadow); }
.alert-layer { position:fixed; left:50%; top:50%; z-index:110; display:none; width:calc(100% - 32px); max-width:420px; transform:translate(-50%,-50%); padding:16px 20px; border:1px solid #001C4D; border-radius:14px; background:#001C4D; color:#FFFFFF; box-shadow:0 12px 32px rgba(0,12,40,.32); }
.alert-layer.is-active { display:flex; flex-direction:column; gap:4px; }
.alert-layer strong,.alert-layer span { color:#FFFFFF; }
.android-back-game-toast { position:fixed; left:50%; bottom:calc(50px + env(safe-area-inset-bottom)); z-index:150; display:none; width:max-content; max-width:calc(100% - 32px); transform:translateX(-50%); padding:12px 18px; border-radius:12px; background:#001C4D; color:#FFFFFF; font-size:15px; font-weight:800; line-height:1.4; text-align:center; box-shadow:0 10px 28px rgba(0,28,77,.24); }
.android-back-game-toast.is-visible { display:block; }
.confirm-layer { position:fixed; inset:0; z-index:120; display:none; align-items:center; justify-content:center; padding:24px; background:rgba(0,28,77,.48); }
.confirm-layer.is-active { display:flex; }
.confirm-dialog { display:grid; gap:14px; width:100%; max-width:360px; padding:22px; border-radius:18px; background:#FFFFFF; box-shadow:0 20px 50px rgba(0,28,77,.24); }
.confirm-dialog > strong { color:var(--navy); font-size:20px; }
.confirm-dialog > span { color:#001C4D; font-size:15px; font-weight:600; line-height:1.6; }
.confirm-dialog > div { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:6px; }
.confirm-dialog button { min-height:48px; border-radius:12px; font-size:16px; font-weight:800; }
.confirm-cancel { border:1px solid #001C4D; background:#FFFFFF; color:#001C4D; }
.confirm-submit { border:1px solid var(--navy); background:var(--navy); color:#FFFFFF; }
.page-admin { background:#001C4D; }
.admin-shell { display:grid; grid-template-columns:220px 1fr; min-height:100vh; background:#001C4D; }
.admin-sidebar { position:sticky; top:0; height:100vh; padding:18px 14px; background:var(--navy); color:var(--white); }
.admin-brand { display:flex; align-items:center; gap:10px; margin-bottom:24px; font-weight:900; }
.admin-brand img { width:42px; height:42px; border-radius:var(--radius); object-fit:cover; }
.admin-sidebar nav { display:grid; gap:5px; }
.admin-sidebar nav a { padding:11px 12px; border-radius:var(--radius); color:#FFFFFF; font-weight:800; }
.admin-sidebar nav a:hover { background:rgba(255,255,255,.1); color:var(--white); }
.admin-content { min-width:0; padding:24px; }
.admin-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.admin-header p { margin:0 0 6px; color:var(--gray); font-weight:800; }
.admin-header h1 { margin:0; color:var(--navy); font-size:28px; }
.status-pill { display:inline-flex; align-items:center; gap:7px; min-height:32px; padding:0 11px; border:1px solid #FFFFFF; border-radius:999px; background:#FFFFFF; color:#001C4D; font-size:13px; font-weight:800; white-space:nowrap; }
.dot { width:8px; height:8px; border-radius:50%; background:var(--green); }
.primary-button,.line-button,.danger-button,.dark-button { display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:48px; padding:0 14px; border-radius:var(--radius); font-weight:900; text-align:center; }
.primary-button { border:0; background:var(--orange); color:var(--white); }
.line-button { border:1px solid var(--navy); background:var(--white); color:var(--navy); }
.dark-button { border:0; background:var(--navy); color:var(--white); }
.danger-button { border:1px solid #FFFFFF; background:#FFFFFF; color:#001C4D; }
.form-stack { display:grid; gap:12px; }
@media (max-width:900px) {
	.admin-shell { grid-template-columns:1fr; background:#001C4D; }
	.admin-sidebar { position:relative; height:auto; }
	.admin-sidebar nav { grid-template-columns:repeat(3,1fr); }
	.admin-content { padding:18px 14px; }
}
