:root{--ink:#1d2433;--sub:#5b6478;--line:#e3e6ee;--bg:#f7f8fb;--card:#fff;--purple:#6b5e93;--teal:#3bbbbc}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);word-break:keep-all;margin:0;font-family:Pretendard,Malgun Gothic,Apple SD Gothic Neo,sans-serif;line-height:1.65}main{max-width:1040px;margin:0 auto;padding:40px 16px 64px}.brand{align-items:center;gap:16px;margin-bottom:28px;display:flex}.brand img{width:auto;height:64px}h1{margin:0 0 10px;font-size:clamp(26px,4.4vw,40px);line-height:1.25}.lead{color:var(--sub);margin:0 0 28px;font-size:clamp(16px,2.2vw,19px)}.video{aspect-ratio:16/9;background:#0d1220;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 14px 40px #1418282e}.video video,.video img{object-fit:cover;width:100%;height:100%;display:block}.grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:32px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px}.card h2{color:var(--purple);margin:0 0 6px;font-size:17px}.card p{color:var(--sub);margin:0;font-size:15px}footer{color:var(--sub);border-top:1px solid var(--line);margin-top:48px;padding-top:16px;font-size:13px}.box{background:var(--card);border:1px solid var(--line);border-radius:16px;max-width:420px;margin:12vh auto 0;padding:28px 24px}.box h1{font-size:22px}.box p{color:var(--sub);margin:0 0 16px;font-size:14px}label{margin:12px 0 6px;font-size:14px;display:block}input{width:100%;font:inherit;border:1px solid var(--line);border-radius:10px;padding:11px 12px}button{width:100%;font:inherit;background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:10px;margin-top:16px;padding:12px;font-weight:700}button[disabled]{opacity:.6;cursor:default}.note{color:var(--sub);margin-top:12px;font-size:13px}.err{color:#b42318}.admin{max-width:1280px}.admin-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-head h1{margin:0;font-size:26px}.admin-head button{width:auto;margin:0;padding:8px 14px}.tabs{border-bottom:1px solid var(--line);gap:8px;margin:18px 0 12px;display:flex}.tabs a{color:var(--sub);border-bottom:3px solid #0000;padding:8px 14px;text-decoration:none}.tabs a.on{color:var(--purple);border-color:var(--purple);font-weight:700}.msg{border:1px solid var(--teal);background:#eef8f8;border-radius:10px;padding:10px 14px}.admin .card{margin:12px 0}.admin h2{margin:0 0 10px;font-size:16px}.row-form{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.row-form input,.row-form select{width:auto;min-width:140px;font:inherit;border:1px solid var(--line);background:#fff;border-radius:10px;flex:160px;padding:9px 10px}.row-form button{width:auto;margin:0;padding:9px 16px}button.ghost{color:var(--purple);border:1px solid var(--purple);background:#fff}.check{color:var(--sub);align-items:center;gap:8px;margin:14px 0 0;font-size:13px;display:flex}.check input{width:auto;margin:0}.passkey-box{border-bottom:1px solid var(--line);margin-bottom:4px;padding-bottom:16px}button.danger{background:#b42318}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}thead{display:table-header-group}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:8px 10px}td.wrap{white-space:normal;min-width:180px}th{color:var(--ink);background:#f3f2f8;position:sticky;top:0}tr.off td{color:#9aa1b1}tr.warn td{background:#fff6f5}td form button{width:auto;margin:0;padding:5px 12px;font-size:13px}.entry{background:#f1eff8;border:1px solid #dcd7ec;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;margin-top:28px;padding:22px 24px;display:flex}.entry h2{color:var(--purple);margin:0 0 6px;font-size:19px}.entry p{color:var(--sub);max-width:640px;margin:0;font-size:15px}.entry-btns{flex-wrap:wrap;gap:10px;display:flex}a.enter-btn{background:var(--purple);color:#fff;text-align:center;border-radius:10px;padding:12px 20px;font-weight:700;text-decoration:none;display:inline-block}a.enter-btn.ghost{color:var(--purple);border:1px solid var(--purple);background:#fff}.enter-list{gap:10px;margin:0 0 8px;padding:0;list-style:none;display:grid}.enter-list a.enter-btn{display:block}
