/* ══ Variables ══ */
:root,[data-theme="dark"]{
    --gold:#d4af37;--gold-dim:rgba(212,175,55,.15);
    --bg:#0a0f1d;--surf:#111827;--surf2:#1e293b;
    --glass:rgba(255,255,255,.05);--glass-b:rgba(255,255,255,.1);
    --txt:#fff;--txt2:#94a3b8;
    --nav-bg:rgba(0,0,0,.45);--item-bg:rgba(0,0,0,.65);
    --app-from:#1e293b;--app-to:#0a0f1d;--modal-bg:rgba(0,0,0,.87);
    --sp:cubic-bezier(.34,1.56,.64,1);
    --red:#ff6b6b;--green:#4ade80;--blue:#60a5fa;--purple:#a78bfa;
}
[data-theme="light"]{
    --bg:#f0f4f8;--surf:#fff;--surf2:#e2e8f0;
    --glass:rgba(0,0,0,.04);--glass-b:rgba(0,0,0,.12);
    --txt:#0f172a;--txt2:#475569;
    --nav-bg:rgba(255,255,255,.9);--item-bg:rgba(255,255,255,.93);
    --app-from:#dde3ea;--app-to:#f0f4f8;--modal-bg:rgba(15,23,42,.8);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0;}
html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--txt);font-family:'Pretendard',-apple-system,sans-serif;transition:background .3s,color .3s;}

/* Keyframes */
@keyframes popIn   {from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes slideUp {from{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes blink   {from{opacity:1}to{opacity:.2}}
@keyframes pulse   {0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes comboFly{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}45%{transform:translate(-50%,-75%) scale(1.35);opacity:1}100%{transform:translate(-50%,-120%) scale(.9);opacity:0}}
@keyframes succ    {0%{transform:scale(1)}50%{transform:scale(1.12);filter:brightness(1.6)}100%{transform:scale(1)}}
@keyframes shake   {0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
@keyframes starsIn {from{opacity:0;transform:scale(.4) rotate(-25deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes toastIn {from{transform:translateX(120%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes toastOut{from{transform:translateX(0);opacity:1}to{transform:translateX(120%);opacity:0}}
@keyframes lvlUp   {0%{transform:scale(.8) translateY(20px);opacity:0}60%{transform:scale(1.1) translateY(-5px);opacity:1}100%{transform:scale(1) translateY(0);opacity:1}}
@keyframes spin    {from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes turnPulse{0%,100%{background:var(--glass)}50%{background:var(--gold-dim)}}
@keyframes barFill {from{width:0}to{width:100%}}
@keyframes previewFlip{0%{opacity:1}80%{opacity:1}100%{opacity:0}}

/* Layout */
.app{display:flex;flex-direction:column;width:100%;height:100dvh;background:radial-gradient(circle at 50% 15%,var(--app-from),var(--app-to));}

/* Nav */
.top-nav{display:flex;align-items:center;gap:4px;padding:env(safe-area-inset-top) 9px 7px;background:var(--nav-bg);border-bottom:1px solid var(--glass-b);backdrop-filter:blur(8px);}
.nav-logo{flex:1;font-weight:900;color:var(--gold);font-size:.88rem;display:flex;align-items:center;gap:5px;min-width:0;}
.nav-logo img{width:22px;height:22px;border-radius:5px;object-fit:cover;flex-shrink:0;}
.nav-logo-sub{font-size:.55rem;color:var(--txt2);font-weight:600;white-space:nowrap;}
.nb{padding:2px;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(0,0,0,.2));border-radius:9px;box-shadow:2px 2px 5px rgba(0,0,0,.3);transition:.18s;flex-shrink:0;}
.nb:active{transform:scale(.9);}
.nb button{background:transparent;border:none;padding:4px 7px;color:var(--gold);font-weight:800;font-size:.7rem;cursor:pointer;white-space:nowrap;}

/* Daily banner */
#daily-banner{display:none;align-items:center;gap:7px;padding:5px 12px;background:linear-gradient(135deg,rgba(212,175,55,.2),rgba(74,222,128,.1));border-bottom:1px solid rgba(212,175,55,.25);font-size:.68rem;cursor:pointer;}
#daily-banner.show{display:flex;}
.dbadge{background:var(--gold);color:#000;font-weight:900;font-size:.6rem;padding:1px 6px;border-radius:20px;}

/* Stats */
.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:6px 9px 3px;}
.sc{background:var(--glass);border:1px solid var(--glass-b);border-radius:9px;padding:5px 3px;text-align:center;transition:.3s;}
.sc.p1{border-color:var(--blue)!important;background:rgba(96,165,250,.12);animation:turnPulse 1s infinite;}
.sc.p2{border-color:var(--red)!important;background:rgba(255,107,107,.12);animation:turnPulse 1s infinite;}
.sv{font-size:.9rem;font-weight:800;display:block;line-height:1.2;color:var(--txt);}
.sl{font-size:.5rem;color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;display:block;}
.sv.warn{color:var(--red)!important;animation:blink .5s infinite alternate;}
.sv.cglow{color:var(--gold);animation:pulse .45s infinite;}

/* Combo strip */
#combo-strip{text-align:center;height:18px;font-size:.65rem;font-weight:900;color:var(--gold);opacity:0;transition:opacity .3s;display:flex;align-items:center;justify-content:center;gap:4px;}
#combo-strip.show{opacity:1;}
.cdot{width:5px;height:5px;border-radius:50%;background:var(--gold);display:inline-block;animation:pulse .5s infinite;}

/* Timer bar */
#tbar-wrap{padding:0 9px 3px;}
#tbar-bg{height:3px;background:rgba(128,128,128,.18);border-radius:4px;overflow:hidden;}
#tbar{height:100%;background:var(--gold);border-radius:4px;transition:width .9s linear,background .5s;}

/* XP bar */
#xpbar-wrap{padding:0 9px 3px;}
#xpbar-bg{height:2px;background:rgba(128,128,128,.15);border-radius:4px;overflow:hidden;}
#xpbar{height:100%;background:linear-gradient(90deg,var(--purple),var(--blue));border-radius:4px;transition:width .5s ease;}

/* Grid */
.grid-container{flex:1;display:flex;align-items:center;justify-content:center;padding:6px;position:relative;overflow:hidden;}
.grid{display:grid;gap:5px;perspective:1000px;}
.card{aspect-ratio:1/1;cursor:pointer;}
.card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .5s var(--sp);border-radius:11px;}
.card.flipped .card-inner{transform:rotateY(180deg);}
.card.matched{animation:succ .5s ease-out;}
.card.miss{animation:shake .35s ease;}
.card.matched[data-ev="bomb"]{filter:brightness(.6) sepia(1) saturate(3) hue-rotate(-10deg);}
.card.matched[data-ev="bonus"]{animation:spin .6s ease;}
.card-front,.card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:11px;border:1px solid rgba(212,175,55,.28);box-shadow:0 3px 8px rgba(0,0,0,.35);}
.card-back{background:var(--surf2) url('https://kstacoin.com/mmatch/2026bb.png') no-repeat center/cover;}
.card-front{transform:rotateY(180deg);display:flex;align-items:center;justify-content:center;font-size:1.9rem;background:linear-gradient(145deg,#1a2f50,#0d1c36);position:relative;}
[data-theme="light"] .card-front{background:linear-gradient(145deg,#e8f0fe,#d0e4ff);}
.card-front::before{content:'';position:absolute;inset:0;border-radius:10px;background:transparent;transition:background .25s;}
.card[data-ev="bomb"]  .card-front::before{background:rgba(255,70,70,.5);}
.card[data-ev="bonus"] .card-front::before{background:rgba(212,175,55,.45);}
.card-front .ci{position:relative;z-index:1;}
.card-front .ci img{width:60%;height:60%;object-fit:cover;border-radius:50%;}
.ev-badge{position:absolute;top:3px;right:3px;font-size:.65rem;z-index:2;animation:pulse .5s infinite;}
/* Preview overlay */
.card.preview-show .card-inner{transform:rotateY(180deg);}

/* Overlay (preview countdown) */
#preview-overlay{position:absolute;inset:0;background:rgba(10,15,29,.75);display:flex;align-items:center;justify-content:center;z-index:150;font-size:3rem;font-weight:900;color:var(--gold);pointer-events:none;opacity:0;transition:opacity .3s;}
#preview-overlay.show{opacity:1;}

/* Event / combo popups */
#ev-alert,#combo-popup{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);font-weight:900;pointer-events:none;z-index:200;opacity:0;white-space:nowrap;}
#ev-alert.show,#combo-popup.show{animation:comboFly .9s ease forwards;}
#combo-popup{color:var(--gold);text-shadow:0 0 20px rgba(212,175,55,.9);}

/* Item bar */
.item-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:7px 9px calc(env(safe-area-inset-bottom)+4px);background:var(--item-bg);border-top:1px solid var(--glass-b);}
.iw{padding:2px;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(0,0,0,.2));border-radius:12px;box-shadow:2px 2px 5px rgba(0,0,0,.3);transition:.18s;}
.iw:active{transform:scale(.91);}
.iw.dis{opacity:.35;pointer-events:none;}
.ibtn{background:transparent;border:none;padding:6px 3px;text-align:center;color:var(--txt);width:100%;cursor:pointer;}
.iname{display:block;font-size:.55rem;font-weight:700;color:var(--txt2);margin-bottom:1px;}
.iico{display:block;font-size:1rem;margin-bottom:1px;}
.icnt{font-size:.6rem;font-weight:900;background:var(--gold);color:#000;padding:1px 6px;border-radius:20px;}
.fs-btn{position:absolute;bottom:7px;right:7px;width:30px;height:30px;background:rgba(212,175,55,.6);border:none;border-radius:8px;z-index:100;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;}

/* Toast notification */
#toast-wrap{position:fixed;top:80px;right:12px;z-index:20000;display:flex;flex-direction:column;gap:6px;pointer-events:none;}
.toast{background:var(--surf);border:1px solid var(--gold);border-radius:12px;padding:9px 12px;font-size:.75rem;max-width:220px;animation:toastIn .4s var(--sp) forwards;box-shadow:0 4px 14px rgba(0,0,0,.4);}
.toast.out{animation:toastOut .35s ease forwards;}
.toast-icon{font-size:1.1rem;margin-right:5px;}

/* Level-up banner */
#lvl-banner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,var(--surf),var(--surf2));border:2px solid var(--gold);border-radius:18px;padding:18px 24px;text-align:center;z-index:15000;display:none;animation:lvlUp .5s var(--sp);}
#lvl-banner h3{font-size:1.4rem;color:var(--gold);margin-bottom:4px;}
#lvl-banner p{font-size:.8rem;color:var(--txt2);}

/* Modals */
.modal{position:fixed;inset:0;background:var(--modal-bg);backdrop-filter:blur(12px);display:none;align-items:center;justify-content:center;z-index:10000;padding:12px;}
.popup{background:var(--surf);border:1px solid var(--gold);border-radius:22px;padding:18px 16px;width:100%;max-width:320px;text-align:center;animation:popIn .4s var(--sp);max-height:92dvh;overflow-y:auto;}
.ph2{font-size:1.2rem;font-weight:900;margin-bottom:4px;}

/* Shared option buttons */
.slabel{font-size:.66rem;color:var(--txt2);text-align:left;margin-bottom:5px;display:block;font-weight:600;letter-spacing:.04em;}
.og{display:grid;gap:5px;margin-bottom:10px;}
.og.c2{grid-template-columns:repeat(2,1fr);}
.og.c3{grid-template-columns:repeat(3,1fr);}
.ob{padding:7px 4px;background:var(--glass);border:1px solid var(--glass-b);border-radius:9px;color:var(--txt);font-size:.74rem;cursor:pointer;transition:.2s;}
.ob.on{border-color:var(--gold);background:var(--gold-dim);color:var(--gold);font-weight:700;}
.ob.easy.on{border-color:var(--green);background:rgba(74,222,128,.12);color:var(--green);}
.ob.hard.on{border-color:var(--red);background:rgba(255,107,107,.12);color:var(--red);}
.mrow{display:flex;align-items:center;justify-content:space-between;background:var(--glass);border:1px solid var(--glass-b);border-radius:9px;padding:8px 12px;margin-bottom:9px;}
.mrow span{font-size:.76rem;color:var(--txt2);}
.tsw{position:relative;width:38px;height:20px;}
.tsw input{opacity:0;width:0;height:0;}
.tsl{position:absolute;inset:0;background:#334155;border-radius:20px;cursor:pointer;transition:.3s;}
.tsl:before{content:'';position:absolute;width:14px;height:14px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.3s;}
.tsw input:checked+.tsl{background:var(--gold);}
.tsw input:checked+.tsl:before{transform:translateX(18px);}

/* Shared buttons */
.bg{padding:2px;background:var(--gold);border-radius:12px;}
.bd{padding:2px;background:#334155;border-radius:12px;}
.bp{padding:2px;background:var(--purple);border-radius:12px;}
.bg button,.bd button,.bp button{width:100%;padding:10px;background:transparent;border:none;font-weight:800;font-size:.88rem;cursor:pointer;}
.bg button{color:#000;}.bd button{color:#fff;}.bp button{color:#fff;}
.br2{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.br3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;}
.rank-inp{width:100%;padding:9px;border-radius:8px;border:1px solid #334155;background:var(--surf2);color:var(--txt);text-align:center;font-size:.9rem;margin-bottom:10px;outline:none;}
.rank-inp:focus{border-color:var(--gold);}
#rank-list,#friend-list{list-style:none;padding:0;margin:8px 0;text-align:left;}
#rank-list li,#friend-list li{display:flex;justify-content:space-between;align-items:center;padding:7px 4px;border-bottom:1px solid var(--glass-b);font-size:.85rem;}
#rank-list li b,#friend-list li b{color:var(--gold);}

/* Stage clear */
.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:6px 0;}
.si{background:var(--glass);border:1px solid var(--glass-b);border-radius:8px;padding:7px 4px;}
.sv2{font-size:1.05rem;font-weight:900;color:var(--gold);display:block;}
.sl2{font-size:.56rem;color:var(--txt2);display:block;margin-top:1px;}
.brow{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;font-size:.68rem;font-weight:700;color:var(--green);margin-bottom:8px;}
.star-row{font-size:1.8rem;margin:4px 0;animation:starsIn .5s var(--sp);}
.dcbadge{display:none;background:linear-gradient(135deg,var(--gold-dim),rgba(74,222,128,.1));border:1px solid var(--gold);border-radius:8px;padding:6px;margin-bottom:8px;font-size:.7rem;font-weight:700;color:var(--green);}

/* Versus */
.vgrid{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center;margin:9px 0;}
.vp{background:var(--glass);border:1px solid var(--glass-b);border-radius:10px;padding:10px 6px;}
.vp.win{border-color:var(--gold);background:var(--gold-dim);}
.vname{font-size:.7rem;color:var(--txt2);margin-bottom:2px;}
.vsco{font-size:1.2rem;font-weight:900;color:var(--gold);}
.vsub{font-size:.6rem;color:var(--txt2);margin-top:2px;}

/* Achievements */
#achiev-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0;max-height:320px;overflow-y:auto;}
.ach-item{background:var(--glass);border:1px solid var(--glass-b);border-radius:10px;padding:9px 7px;text-align:center;transition:.3s;}
.ach-item.done{border-color:var(--gold);background:var(--gold-dim);}
.ach-item.done .ach-name{color:var(--gold);}
.ach-ico{font-size:1.4rem;margin-bottom:3px;}
.ach-name{font-size:.65rem;font-weight:700;display:block;margin-bottom:2px;color:var(--txt2);}
.ach-desc{font-size:.56rem;color:var(--txt2);}

/* Records */
.ri{display:flex;align-items:center;justify-content:space-between;padding:8px 4px;border-bottom:1px solid var(--glass-b);font-size:.78rem;}
.ri:last-child{border:none;}
.rvals{text-align:right;font-size:.68rem;color:var(--txt2);line-height:1.55;}
.rvals b{color:var(--txt);}

/* Daily */
.dcard{background:linear-gradient(135deg,var(--gold-dim),rgba(74,222,128,.08));border:1px solid rgba(212,175,55,.4);border-radius:12px;padding:13px;margin:8px 0;}
.dtitle{font-size:.92rem;font-weight:900;color:var(--gold);margin-bottom:4px;}
.ddesc{font-size:.76rem;color:var(--txt2);margin-bottom:5px;}
.drwd{font-size:.7rem;font-weight:700;color:var(--green);}

/* Online room */
.room-code{font-size:2.2rem;font-weight:900;letter-spacing:.3em;color:var(--gold);background:var(--surf2);border-radius:12px;padding:12px;margin:10px 0;font-family:monospace;}
.room-status{font-size:.75rem;color:var(--txt2);margin-bottom:8px;}

/* Custom cards */
.custom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0;}
.ccard-slot{aspect-ratio:1;border:2px dashed var(--glass-b);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--txt2);cursor:pointer;overflow:hidden;position:relative;}
.ccard-slot img{width:100%;height:100%;object-fit:cover;border-radius:8px;}
.ccard-slot:hover{border-color:var(--gold);}

/* Pause modal */
.pause-info{font-size:.76rem;color:var(--txt2);margin-bottom:12px;line-height:1.6;}

/* Settings */
.setting-row{display:flex;align-items:center;justify-content:space-between;padding:8px 4px;border-bottom:1px solid var(--glass-b);}
.setting-row:last-child{border:none;}
.setting-label{font-size:.8rem;font-weight:600;}
.setting-sub{font-size:.64rem;color:var(--txt2);}
/* ══ SEASON SYSTEM ══ */
.season-tabs{display:flex;gap:0;margin-bottom:11px;border-radius:10px;overflow:hidden;border:1px solid var(--glass-b);}
.stab{flex:1;padding:8px 4px;background:var(--glass);border:none;color:var(--txt2);font-size:.7rem;font-weight:700;cursor:pointer;transition:.2s;}
.stab.on{background:var(--purple);color:#fff;}
.season-panel{display:none;}
.season-panel.show{display:block;}
/* Rank badges */
.srb{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:.68rem;font-weight:900;}
.srb.bronze  {background:rgba(205,127,50,.18); border:1px solid #cd7f32;color:#cd7f32;}
.srb.silver  {background:rgba(192,192,192,.18);border:1px solid #bbb;   color:#ccc;}
.srb.gold    {background:var(--gold-dim);       border:1px solid var(--gold);color:var(--gold);}
.srb.platinum{background:rgba(96,165,250,.15);  border:1px solid #60a5fa;color:#60a5fa;}
.srb.diamond {background:rgba(167,139,250,.15); border:1px solid #a78bfa;color:#a78bfa;}
.srb.master  {background:rgba(251,191,36,.22);  border:1px solid #fbbf24;color:#fbbf24;}
/* Season pass */
.pass-scroll{max-height:300px;overflow-y:auto;}
.pass-row{display:flex;align-items:center;gap:8px;padding:7px 3px;border-bottom:1px solid var(--glass-b);}
.pass-row:last-child{border:none;}
.pass-num{width:26px;height:26px;border-radius:50%;background:var(--surf2);border:2px solid var(--glass-b);display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:900;color:var(--txt2);flex-shrink:0;}
.pass-num.done{background:var(--gold);border-color:var(--gold);color:#000;}
.pass-num.cur {border-color:var(--gold);color:var(--gold);animation:pulse .5s infinite;}
.pass-xpbar-bg{height:4px;background:var(--glass-b);border-radius:4px;overflow:hidden;margin-top:3px;}
.pass-xpbar   {height:100%;background:var(--gold);border-radius:4px;transition:width .5s;}
.pass-rwd{font-size:.72rem;font-weight:700;color:var(--green);white-space:nowrap;}
.pass-rwd.claimed{color:var(--txt2);text-decoration:line-through;}
/* Missions */
.mc{background:var(--glass);border:1px solid var(--glass-b);border-radius:9px;padding:9px 11px;margin-bottom:6px;}
.mc.done{border-color:var(--green);background:rgba(74,222,128,.06);}
.mc-hd{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:5px;}
.mc-name{font-size:.77rem;font-weight:700;}
.mc-rwd{font-size:.68rem;color:var(--purple);font-weight:700;}
.mc-bar-bg{height:5px;background:var(--glass-b);border-radius:5px;overflow:hidden;}
.mc-bar{height:100%;background:linear-gradient(90deg,var(--purple),var(--gold));border-radius:5px;transition:width .4s;}
.mc-pct{font-size:.6rem;color:var(--txt2);text-align:right;margin-top:2px;}
/* Season leaderboard */
#srk-list{list-style:none;padding:0;margin:6px 0;max-height:230px;overflow-y:auto;}
#srk-list li{display:flex;justify-content:space-between;align-items:center;padding:7px 4px;border-bottom:1px solid var(--glass-b);font-size:.82rem;}
#srk-list li b{color:var(--gold);}
.my-row{background:var(--gold-dim);border-radius:8px;padding:7px 11px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;font-size:.78rem;}
/* Season banner */
#season-banner{display:none;align-items:center;gap:7px;padding:5px 12px;background:linear-gradient(135deg,rgba(167,139,250,.18),rgba(212,175,55,.1));border-bottom:1px solid rgba(167,139,250,.28);font-size:.67rem;cursor:pointer;}
#season-banner.show{display:flex;}

/* ══════════════════════════════════
   ADMIN MODE
══════════════════════════════════ */
#admin-auth{position:fixed;inset:0;background:rgba(0,0,0,.94);backdrop-filter:blur(14px);display:none;align-items:center;justify-content:center;z-index:60000;}
#admin-auth.show{display:flex;}
.auth-box{background:#161b22;border:1px solid #ff4444;border-radius:18px;padding:24px 20px;width:90%;max-width:290px;text-align:center;}
.auth-box h3{color:#ff4444;font-size:1.1rem;margin-bottom:3px;}
.auth-box p{color:#8b949e;font-size:.72rem;margin-bottom:13px;}
.auth-err{color:#ff4444;font-size:.72rem;margin-top:6px;min-height:18px;}
#admin-panel{position:fixed;inset:0;background:#0d1117;z-index:50000;display:none;flex-direction:column;overflow:hidden;}
#admin-panel.show{display:flex;}
.adm-hd{background:#161b22;border-bottom:1px solid #30363d;padding:10px 14px;display:flex;align-items:center;gap:10px;flex-shrink:0;}
.adm-badge{background:#ff4444;color:#fff;font-size:.6rem;font-weight:900;padding:2px 7px;border-radius:4px;letter-spacing:.05em;}
.adm-title{flex:1;color:#e6edf3;font-weight:900;font-size:.95rem;}
.adm-tabs{display:flex;background:#161b22;border-bottom:1px solid #30363d;overflow-x:auto;flex-shrink:0;}
.atab{padding:9px 12px;background:transparent;border:none;border-bottom:2px solid transparent;color:#8b949e;font-size:.68rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:.2s;}
.atab.on{color:#ff4444;border-bottom-color:#ff4444;}
.adm-body{flex:1;overflow-y:auto;padding:14px;}
.apanel{display:none;}.apanel.show{display:block;}
.asec{font-size:.72rem;font-weight:900;color:#ff4444;text-transform:uppercase;letter-spacing:.05em;margin:14px 0 8px;}
.asec:first-child{margin-top:0;}
.asgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px;}
.asc{background:#161b22;border:1px solid #30363d;border-radius:9px;padding:11px 10px;}
.asv{font-size:1.2rem;font-weight:900;color:#f0883e;display:block;}
.asl{font-size:.62rem;color:#8b949e;margin-top:2px;display:block;}
.atable{width:100%;border-collapse:collapse;font-size:.73rem;}
.atable th{background:#161b22;color:#8b949e;padding:7px 5px;text-align:left;border-bottom:1px solid #30363d;font-weight:700;}
.atable td{padding:7px 5px;border-bottom:1px solid #21262d;color:#e6edf3;}
.ainp{width:100%;padding:8px 11px;background:#161b22;border:1px solid #30363d;border-radius:8px;color:#e6edf3;font-size:.82rem;margin-bottom:7px;outline:none;box-sizing:border-box;}
.ainp:focus{border-color:#ff4444;}
.ainp.sm{margin-bottom:0;}
.abtn{padding:8px 13px;border:none;border-radius:7px;font-weight:700;font-size:.78rem;cursor:pointer;transition:.18s;}
.abtn:active{transform:scale(.94);}
.abtn-r{background:#ff4444;color:#fff;}.abtn-g{background:#4ade80;color:#000;}.abtn-b{background:#60a5fa;color:#000;}
.abtn-gold{background:#d4af37;color:#000;}.abtn-gray{background:#30363d;color:#e6edf3;}.abtn-pur{background:#a78bfa;color:#fff;}
.arow{display:flex;gap:7px;margin-bottom:7px;align-items:center;}
.acard{background:#161b22;border:1px solid #30363d;border-radius:9px;padding:11px 12px;margin-bottom:7px;}
.acard h4{color:#e6edf3;font-size:.8rem;margin-bottom:3px;}
.acard p{color:#8b949e;font-size:.7rem;line-height:1.5;}
.acard-meta{font-size:.6rem;color:#6e7681;margin-top:5px;}
.atrow{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #21262d;}
.atrow:last-child{border:none;}
.atrow-label{font-size:.78rem;color:#e6edf3;}
.atrow-sub{font-size:.63rem;color:#8b949e;}
select.ainp{appearance:auto;}
/* Maintenance overlay */
#maint-overlay{position:fixed;inset:0;background:#0d1117;z-index:70000;display:none;align-items:center;justify-content:center;text-align:center;}
#maint-overlay.show{display:flex;}
/* Announcement banner */
#ann-banner{display:none;align-items:center;gap:7px;padding:5px 12px;background:linear-gradient(135deg,rgba(255,68,68,.16),rgba(255,68,68,.06));border-bottom:1px solid rgba(255,68,68,.28);font-size:.67rem;cursor:pointer;}
#ann-banner.show{display:flex;}
.ann-badge{background:#ff4444;color:#fff;font-size:.58rem;font-weight:900;padding:1px 6px;border-radius:20px;flex-shrink:0;}
/* FAQ v2 — 아코디언 */
.faq2{border-bottom:1px solid rgba(255,255,255,.06);cursor:pointer;}
.faq2:last-child{border-bottom:none;}
.faq2-q{
  display:flex;align-items:center;gap:10px;
  padding:13px 2px;
  font-size:.82rem;font-weight:700;color:var(--txt);
  text-align:left;
  position:relative;
}
.faq2-q::after{
  content:'›';
  position:absolute;right:2px;
  font-size:1.1rem;color:var(--txt2);
  transition:transform .25s;
  line-height:1;
}
.faq2.open .faq2-q::after{transform:rotate(90deg);color:var(--gold);}
.faq2-num{
  font-size:.6rem;font-weight:900;
  color:var(--gold);opacity:.7;
  min-width:22px;flex-shrink:0;
  font-family:monospace;
}
.faq2-a{
  display:none;
  font-size:.76rem;color:var(--txt2);
  line-height:1.8;text-align:left;
  padding:0 4px 13px 32px;
}
.faq2.open .faq2-a{display:block;}
