
:root{
  --bg:#F5F0E6; --card:#FFFDF8; --ink:#1F2420; --muted:#8A857B; --line:#ECE6DA; --seg:#ECE5D5;
  --green:#3E7A65; --orange:#D9654A; --orange-d:#C24F37; --gold:#C9A12E; --off:#CEC6B4;
  --shadow:0 6px 20px rgba(80,60,20,.08);
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#151917; --card:#1F2522; --ink:#ECEFEA; --muted:#98A29C; --line:#2E3632; --seg:#28302C;
    --green:#5FA88C; --orange:#D9654A; --orange-d:#B44A33; --gold:#D8B445; --off:#4A524E; --shadow:0 6px 20px rgba(0,0,0,.35);
  }
}
:root[data-theme="dark"]{
  --bg:#151917; --card:#1F2522; --ink:#ECEFEA; --muted:#98A29C; --line:#2E3632; --seg:#28302C;
  --green:#5FA88C; --orange:#D9654A; --orange-d:#B44A33; --gold:#D8B445; --off:#4A524E; --shadow:0 6px 20px rgba(0,0,0,.35);
}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans KR",system-ui,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit}
button:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.app{max-width:480px;margin:0 auto;padding-bottom:96px}
.serif{font-family:inherit;font-weight:900;letter-spacing:-.01em}

/* splash */
#splash{position:fixed;inset:0;z-index:100;background:#05070a;display:flex;align-items:center;justify-content:center;transition:opacity .45s}
#splash{background:radial-gradient(ellipse at 50% 70%,#0e1a2a 0%,#05070a 70%)}
#splash img{width:100%;height:100%;object-fit:contain}
@media (orientation:portrait){#splash img{object-fit:cover}}
#splash .sp-t{text-align:center;padding:0 16px}
#splash h1{margin:.1em 0;font-size:clamp(64px,20vmin,160px);font-weight:900;letter-spacing:.08em;color:#e9e4da;text-shadow:0 0 24px rgba(255,255,255,.15),3px 3px 0 #000;animation:spIn 1.2s ease}
#splash .sp-s{margin:0;color:#c9c3b8;font-size:clamp(14px,3.6vmin,22px);letter-spacing:.3em}
#splash .sp-c{margin:.6em 0 0;color:#d4141f;font-weight:700;font-size:clamp(13px,3.2vmin,20px);letter-spacing:.25em}
@keyframes spIn{from{opacity:0;filter:blur(8px)}to{opacity:1;filter:none}}
#splash.out{opacity:0;pointer-events:none}

.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-size:1.65rem;font-weight:900;margin:0}
.icons{display:flex;gap:8px}
.ibtn{position:relative;width:48px;height:48px;border-radius:14px;border:0;background:var(--card);box-shadow:var(--shadow);font-size:1.35rem;cursor:pointer}
.ibtn .rdot{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:#C8432F}
.page{padding:22px 18px}
.screen[hidden]{display:none}
h2{display:flex;align-items:center;gap:10px;font-size:1.25rem;font-weight:900;margin:26px 0 14px}
h2:first-child{margin-top:0}
.card{background:var(--card);border-radius:22px;box-shadow:var(--shadow)}

.hero{position:relative;overflow:hidden;color:#fff;border-radius:22px;padding:24px 24px 22px;
  background:radial-gradient(circle at 92% 18%,rgba(201,161,46,.45),transparent 30%),linear-gradient(135deg,#2B5B4C,#1F4A3E)}
.hero .hi{opacity:.85;font-size:.95rem}
.hero .rt{font-size:2rem;margin:6px 0 16px}
.hero .meta{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;border:1px solid rgba(201,161,46,.6);background:rgba(201,161,46,.15);color:#E9C85A;font-weight:700;font-size:.95rem}
.wr b{display:block;font-size:1.45rem;font-weight:900;line-height:1.1}
.wr small{opacity:.75;font-size:.8rem}
.quick{display:block;width:100%;text-align:left;border:0;cursor:pointer;margin-top:16px;color:#fff;border-radius:22px;padding:24px;background:linear-gradient(120deg,var(--orange),var(--orange-d));box-shadow:0 10px 24px rgba(194,79,55,.28)}
.quick b{display:block;font-size:1.7rem;font-weight:900}
.quick small{opacity:.9;font-size:.92rem}
.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.mode{position:relative;border:0;cursor:pointer;background:var(--card);border-radius:20px;box-shadow:var(--shadow);padding:20px 6px 16px;display:flex;flex-direction:column;align-items:center;gap:10px;font-weight:700;font-size:.95rem}
.mode span{font-size:1.8rem}
.mode em{position:absolute;top:8px;right:8px;font-style:normal;font-size:.7rem;background:var(--green);color:#fff;border-radius:999px;padding:2px 7px}
.empty{padding:36px 20px;text-align:center;color:var(--muted);font-size:.92rem;line-height:1.6}
.rec{display:flex;align-items:center;gap:12px;padding:14px 18px;border-top:1px solid var(--line)}
.rec:first-child{border-top:0}
.badge{font-size:.78rem;font-weight:700;padding:4px 9px;border-radius:8px;flex:none}
.badge.win{background:rgba(62,122,101,.15);color:var(--green)}
.badge.loss{background:rgba(217,101,74,.15);color:var(--orange)}
.badge.draw{background:var(--seg);color:var(--muted)}
.rec .mid{flex:1;min-width:0}
.rec .mid b{display:block;font-size:.95rem}
.rec .mid small{color:var(--muted);font-size:.78rem}
.rec .dl{font-weight:700;font-size:.95rem}
.up{color:var(--green)} .down{color:var(--orange)}

.tabs{display:grid;grid-template-columns:repeat(2,1fr);background:var(--seg);border-radius:18px;padding:5px;margin-bottom:16px}
.tabs button{border:0;background:transparent;padding:11px 0;border-radius:14px;cursor:pointer;color:var(--muted);font-weight:500}
.tabs button[aria-pressed="true"]{background:var(--card);color:var(--ink);font-weight:700;box-shadow:var(--shadow)}
.rk{display:grid;grid-template-columns:30px minmax(0,1fr) 34px 34px 34px 52px;align-items:center;gap:4px;padding:14px 16px;font-weight:700;border-top:1px solid var(--line)}
.rk:first-child{border-top:0}
.rk.head{font-size:.78rem;color:var(--muted);font-weight:500;padding-top:12px;padding-bottom:10px}
.rk .n{color:var(--muted)}
.rk .nm{display:flex;align-items:center;gap:6px;min-width:0}
.rk .nm span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rk .c{text-align:center;font-variant-numeric:tabular-nums}
.rk .pct{text-align:right;font-variant-numeric:tabular-nums}
.rk.me{background:rgba(62,122,101,.1)}
.on-dot{width:7px;height:7px;border-radius:50%;background:#3FB27F;flex:none}
.foot{font-size:.78rem;color:var(--muted);text-align:center;margin-top:14px;line-height:1.6}

.prof{padding:28px 20px;text-align:center}
.avatar{width:84px;height:84px;margin:0 auto 12px;border-radius:50%;background:var(--seg);display:grid;place-items:center;font-size:2.6rem}
.prof h3{margin:0 0 10px;font-size:1.4rem}
.prof .pill{color:var(--gold)}
.prof .big{font-size:2.2rem;margin-top:14px}
.prof .big small{display:block;font-family:"Noto Sans KR",sans-serif;font-size:.8rem;color:var(--muted);font-weight:400}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.stat{padding:18px;border-radius:18px;background:var(--card);box-shadow:var(--shadow)}
.stat small{color:var(--muted);font-size:.82rem}
.stat b{display:block;font-size:1.5rem;font-weight:900;margin-top:4px}

.setrow{display:flex;align-items:center;gap:12px;padding:20px 24px;border-top:1px solid var(--line);font-size:1.15rem;font-weight:700}
.setrow:first-child{border-top:0}
.setrow .lbl{flex:1;display:flex;align-items:center;gap:12px}
.sw{width:64px;height:38px;border-radius:999px;border:0;background:var(--off);position:relative;cursor:pointer;flex:none;transition:background .2s}
.sw::after{content:"";position:absolute;top:5px;left:5px;width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.sw[aria-checked="true"]{background:var(--green)}
.sw[aria-checked="true"]::after{transform:translateX(26px)}
.themes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px}
.th{border:2px solid var(--line);background:var(--card);border-radius:18px;padding:10px 10px 14px;cursor:pointer;font-weight:700;font-size:1.05rem}
.th i{display:block;height:44px;border-radius:12px;margin-bottom:12px}
.th[aria-pressed="true"]{border-color:var(--gold);background:rgba(201,161,46,.1)}
.acct{display:flex;align-items:center;padding:24px}
.acct + .acct{border-top:1px solid var(--line)}
.acct div{flex:1}
.acct b{display:block;font-size:1.2rem}
.acct small{color:var(--muted);font-size:1rem}
.link{border:0;background:none;color:var(--green);font-weight:700;font-size:1.05rem;cursor:pointer;padding:8px}
.link.red{color:var(--orange)}

nav.bot{position:fixed;left:0;right:0;bottom:0;z-index:6;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
nav.bot div{max-width:480px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
nav.bot button{border:0;background:none;padding:10px 0;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;color:var(--muted);font-size:.85rem}
nav.bot button span{font-size:1.6rem}
nav.bot button[aria-current="page"]{color:var(--green);font-weight:700}

/* full screens */
.full{position:fixed;inset:0;z-index:20;background:var(--bg);overflow:auto;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.full[hidden]{display:none}
.full > div{max-width:480px;margin:0 auto;padding-bottom:28px}
.gtop{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}
.gtop button{border:0;background:none;font-size:1.15rem;font-weight:700;cursor:pointer;padding:4px 0}
.gtop small{color:var(--muted);font-weight:500}
.vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 10px;margin:16px 18px 0}
.side{text-align:center;padding:8px 4px;border-radius:16px;transition:background .2s;min-width:0}
.side.on{background:rgba(62,122,101,.12)}
.side .e{font-size:1.9rem}
.side b{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:4px;overflow:hidden;white-space:nowrap}
.side small{color:var(--muted)}
.vs .x{color:var(--gold);font-weight:900;font-size:1.2rem}
.sdot{display:inline-block;width:14px;height:14px;border-radius:50%;flex:none;box-shadow:0 1px 2px rgba(0,0,0,.35)}
.sdot.b{background:radial-gradient(circle at 35% 30%,#666,#0a0a0a 70%)}
.sdot.w{background:radial-gradient(circle at 35% 30%,#fff,#cfcfcf 75%)}
.turn{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:1.05rem;margin:14px 0 10px;min-height:28px}
.bwrap{margin:0 14px;aspect-ratio:1/1;border-radius:16px;overflow:hidden;box-shadow:0 10px 26px rgba(60,40,10,.25);touch-action:manipulation}
canvas{display:block;width:100%;height:100%;cursor:pointer}
.gbtns{display:flex;gap:10px;margin:16px 18px 0}
.gbtns button{flex:1;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--card);font-weight:700;cursor:pointer}
.gbtns button[hidden]{display:none}
.gbtns button.pri{background:var(--green);border-color:var(--green);color:#fff}
.gbtns button:disabled{opacity:.45;cursor:default}

.lob{padding:20px 18px}
.mecard{display:flex;align-items:center;gap:14px;padding:18px 20px}
.mecard .e{font-size:2rem}
.mecard div{flex:1}
.mecard small{color:var(--muted)}
.pl{display:flex;align-items:center;gap:12px;padding:16px 18px;border-top:1px solid var(--line)}
.pl:first-child{border-top:0}
.pl .mid{flex:1;min-width:0}
.pl .mid b{display:flex;align-items:center;gap:6px}
.pl .mid small{color:var(--muted);font-size:.8rem}
.pl button{border:0;border-radius:12px;padding:10px 14px;font-weight:700;background:var(--green);color:#fff;cursor:pointer;flex:none}
.pl button:disabled{background:var(--seg);color:var(--muted);cursor:default}
.hintbox{padding:16px 18px;font-size:.85rem;color:var(--muted);line-height:1.6}

.ov{position:fixed;inset:0;z-index:40;background:rgba(20,18,12,.45);display:flex;align-items:flex-end;justify-content:center}
.ov[hidden]{display:none}
.sheet{width:100%;max-width:480px;background:var(--card);border-radius:24px 24px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px));max-height:85vh;overflow:auto}
.sheet h3{margin:0 0 12px;font-size:1.25rem}
.sheet p.m{color:var(--muted);margin:0;line-height:1.6}
.sheet .sub{font-size:.88rem;color:var(--muted);margin:16px 0 8px;font-weight:700}
.opts{display:grid;gap:8px}
.opts.c3{grid-template-columns:repeat(3,1fr)}
.opt{border:2px solid var(--line);background:var(--card);border-radius:14px;padding:13px 8px;cursor:pointer;font-weight:700;text-align:center}
.opt small{display:block;font-weight:400;color:var(--muted);font-size:.78rem;margin-top:2px}
.opt[aria-pressed="true"]{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 4px 12px rgba(62,122,101,.35)}
.opt[aria-pressed="true"] small{color:rgba(255,255,255,.85)}
.sbtns{display:flex;gap:10px;margin-top:22px}
.sbtns button{flex:1;padding:15px;border-radius:14px;border:1px solid var(--line);background:var(--card);font-weight:700;cursor:pointer}
.sbtns .pri{background:var(--green);border-color:var(--green);color:#fff}
.sbtns .warn{background:var(--orange);border-color:var(--orange);color:#fff}
.sbtns button:disabled{opacity:.5;cursor:default}
.sheet input{width:100%;padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:1rem}
.result{text-align:center}
.result .e{font-size:3rem}
.result h3{font-size:1.7rem;margin:6px 0 4px}
.result p{color:var(--muted);margin:0}
.result .d{font-size:1.4rem;font-weight:900;margin-top:10px}
.nt{padding:14px 0;border-top:1px solid var(--line);font-size:.95rem}
.nt:first-of-type{border-top:0}
.nt small{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}
.match{text-align:center;padding:20px 0}
.spin{width:54px;height:54px;margin:0 auto 16px;border-radius:50%;border:5px solid var(--seg);border-top-color:var(--orange);animation:sp .9s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.toast{position:fixed;left:50%;bottom:calc(100px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:11px 18px;border-radius:12px;font-size:.9rem;z-index:90;opacity:0;transition:opacity .25s;pointer-events:none;max-width:90vw;text-align:center}
.toast.show{opacity:1}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:3s}.sw,.sw::after,#splash{transition:none}}

/* ===== shared additions ===== */
.banner{background:rgba(217,101,74,.12);color:var(--ink);border:1px solid rgba(217,101,74,.35);border-radius:16px;padding:14px 16px;font-size:.88rem;line-height:1.6;margin-bottom:16px}
.money{font-variant-numeric:tabular-nums}
.hero .mn{font-size:2rem;margin:6px 0 14px}
.hero .refill{margin-top:14px;border:0;border-radius:12px;padding:10px 14px;font-weight:700;background:#E9C85A;color:#2a2410;cursor:pointer}
.games{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gcard{border:0;cursor:pointer;text-align:left;border-radius:22px;padding:18px 18px;color:#fff;box-shadow:var(--shadow);min-height:150px;display:flex;flex-direction:column;justify-content:flex-start;gap:10px}
.gcard small{display:block;line-height:1.45}
.gcard .ic{font-size:2.4rem}
.gcard b{display:block;font-size:1.5rem;font-weight:900}
.gcard small{opacity:.88;font-size:.82rem}
.gcard.omok{background:linear-gradient(135deg,#C9934E,#8A5A26)}
.gcard.matgo{background:linear-gradient(135deg,#B3261E,#6E120E)}
.onlinebtn{display:flex;align-items:center;gap:14px;width:100%;border:0;cursor:pointer;margin-top:12px;color:#fff;border-radius:22px;padding:20px 22px;text-align:left;background:linear-gradient(120deg,var(--orange),var(--orange-d));box-shadow:0 10px 24px rgba(194,79,55,.28)}
.onlinebtn span{font-size:2rem}
.onlinebtn b{display:block;font-size:1.35rem;font-weight:900}
.onlinebtn small{opacity:.9}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.rk2{display:grid;grid-template-columns:30px minmax(0,1fr) auto 52px;align-items:center;gap:8px;padding:14px 16px;font-weight:700;border-top:1px solid var(--line)}
.rk2:first-child{border-top:0}
.rk2.head{font-size:.78rem;color:var(--muted);font-weight:500;padding-top:12px;padding-bottom:10px}
.rk2 .nm{min-width:0}
.rk2 .nm span{display:flex;align-items:center;gap:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.rk2 .nm small{display:block;color:var(--muted);font-weight:500;font-size:.75rem}
.rk2 .mo{text-align:right;font-variant-numeric:tabular-nums}
.rk2 .pct{text-align:right;font-variant-numeric:tabular-nums}
.rk2.me{background:rgba(62,122,101,.1)}
.rk2 .n{color:var(--muted)}

/* ===== hwatu cards ===== */
.hc{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:7px;background:#FBF4E4;border:2px solid #B3261E;box-shadow:0 2px 4px rgba(0,0,0,.28);color:#2a1a10;user-select:none;-webkit-user-select:none;line-height:1;overflow:hidden}
.hc.l{width:60px;height:88px;font-size:28px}
.hc.m{width:40px;height:58px;font-size:20px}
.hc.s{width:24px;height:35px;font-size:13px;border-width:1.5px;border-radius:4px}
.hc .mo{position:absolute;top:3px;left:4px;font-size:11px;font-weight:900;color:#B3261E;font-family:"Noto Sans KR",sans-serif}
.hc.m .mo{font-size:9px;top:2px;left:3px}
.hc.s .mo{display:none}
.hc .bd{position:absolute;left:0;right:0;bottom:3px;display:flex;justify-content:center;font-family:"Noto Sans KR",sans-serif;font-weight:900}
.hc .bd i{font-style:normal;font-size:10px;line-height:1;padding:3px 4px;border-radius:4px;color:#fff;background:#3A2A1A}
.hc.m .bd i{font-size:8px;padding:2px 3px}
.hc.s .bd{bottom:1px}
.hc.s .bd i{font-size:0;padding:0;width:8px;height:4px;border-radius:2px}
.hc .bd i.g{background:#C62828;border-radius:999px;padding:3px 6px}
.hc.s .bd i.g{width:7px;height:7px;padding:0}
.hc .bd i.hong{background:#D03A2E}
.hc .bd i.cheong{background:#2F5DA8}
.hc .bd i.cho{background:#7A8B3A}
.hc .bd i.tt{background:#B97A3A}
.hc .bd i.y{background:#3A2A1A}
.hc .bd i.sp{background:#6B4FA0}
.hc.back{background:repeating-linear-gradient(45deg,#9E1B16 0 5px,#B3261E 5px 10px);border-color:#6E120E}
.hc.back .bk{font-size:.45em;color:#FBE3A0;font-weight:900;font-family:"Noto Sans KR",sans-serif}
.hc.dummy{background:#3A2A1A;border-color:#C9A12E;color:#E9C85A}
.hc.dummy .bk{font-size:12px;font-weight:900;font-family:"Noto Sans KR",sans-serif}
.hc.hint{box-shadow:0 0 0 3px #F2C14E,0 2px 6px rgba(0,0,0,.3)}
.hc.flash{animation:cpop .45s ease-out}
.hc.lastp{box-shadow:0 0 0 3px #F2C14E}
.hc.lastf{box-shadow:0 0 0 3px #5DB3D0}
@keyframes cpop{0%{transform:scale(1.35) translateY(-10px);opacity:.3}100%{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.hc.flash{animation:none}}
#splash[hidden]{display:none}
.ptabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:-6px 0 14px}
.ptabs button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 0;font-weight:700;font-size:.85rem;cursor:pointer;color:var(--muted)}
.ptabs button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff}
.rk3{display:grid;grid-template-columns:30px minmax(0,1fr) 40px 40px 52px;align-items:center;gap:4px;padding:14px 16px;font-weight:700;border-top:1px solid var(--line)}
.rk3:first-child{border-top:0}
.rk3.head{font-size:.78rem;color:var(--muted);font-weight:500;padding-top:12px;padding-bottom:10px}
.rk3 .n{color:var(--muted)}
.rk3 .nm{display:flex;align-items:center;gap:6px;min-width:0}
.rk3 .nm span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rk3 .c{text-align:center;font-variant-numeric:tabular-nums}
.rk3 .pct{text-align:right;font-variant-numeric:tabular-nums}
.rk3.me{background:rgba(62,122,101,.1)}
.lg{display:flex;align-items:center;gap:12px;padding:14px 16px;border-top:1px solid var(--line)}
.lg:first-child{border-top:0}
.lg .gi{font-size:1.5rem;width:36px;height:36px;border-radius:10px;background:var(--seg);display:grid;place-items:center;flex:none}
.lg .mid{flex:1;min-width:0}
.lg .mid b{display:block;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg .mid .vsx{color:var(--orange);font-size:.8rem;font-weight:900;margin:0 3px}
.lg .mid small{color:var(--muted);font-size:.78rem}
.lg .st{flex:none;font-size:.72rem;font-weight:700;padding:4px 9px;border-radius:999px;background:rgba(62,122,101,.15);color:var(--green);display:inline-flex;align-items:center;gap:5px}
.lg .st::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;animation:blink 1.2s infinite}
.lg .st.end{background:var(--seg);color:var(--muted)}
.lg .st.end::before,.lg .st.ai::before{animation:none}
.lg .st.ai{background:var(--seg);color:var(--muted)}
.lg.me{background:rgba(62,122,101,.08)}
@keyframes blink{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.lg .st::before{animation:none}}

button,input,select,textarea{font-family:inherit}
/* chat */
.chatb{position:fixed;z-index:70;transform:translate(-50%,0) scale(.8);opacity:0;transition:opacity .2s,transform .2s;background:#fff;color:#1F2420;font-weight:700;font-size:.95rem;padding:8px 12px;border-radius:14px;box-shadow:0 6px 18px rgba(0,0,0,.3);max-width:70vw;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chatb.mine{transform:translate(-50%,-100%) scale(.8);background:#FFE38A}
.chatb.show{opacity:1;transform:translate(-50%,0) scale(1)}
.chatb.mine.show{transform:translate(-50%,-100%) scale(1)}
.emog{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.emog button{font-size:1.7rem;border:0;background:var(--seg);border-radius:12px;padding:8px 0;cursor:pointer}
.phr{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.phr button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 12px;font-weight:700;font-size:.85rem;cursor:pointer}
.chatin{display:flex;gap:8px;margin-top:14px}
.chatin input{flex:1}
.chatin button{border:0;border-radius:12px;padding:0 16px;font-weight:700;background:var(--green);color:#fff;cursor:pointer}
.chatbtn{border:0;background:rgba(0,0,0,.08);border-radius:10px;padding:6px 10px;font-size:1.1rem;cursor:pointer}
.chatbtn[hidden]{display:none}
.resume{display:flex;align-items:center;gap:12px;background:var(--card);border:2px solid var(--green);border-radius:18px;padding:14px 16px;margin-bottom:14px;box-shadow:var(--shadow)}
.resume div{flex:1}
.resume b{display:block}
.resume small{color:var(--muted)}
.resume button{border:0;border-radius:12px;padding:10px 14px;font-weight:700;background:var(--green);color:#fff;cursor:pointer}
.sharebtn{width:100%;border:2px dashed var(--green);background:transparent;color:var(--green);border-radius:16px;padding:14px;font-weight:700;font-size:1rem;cursor:pointer;margin-top:16px}
.gcard.reversi{background:linear-gradient(135deg,#2E8B57,#1B5E3B)}
.tabs.t3{grid-template-columns:repeat(3,1fr)}
.pl.tap{cursor:pointer}
.pl.tap:active{background:rgba(62,122,101,.08)}
.pl .where{font-size:1.3rem;width:34px;height:34px;border-radius:10px;background:var(--seg);display:grid;place-items:center;flex:none}
.lg.tap{cursor:pointer}
.lg.tap:active{background:rgba(62,122,101,.08)}
.lg .wbtn{flex:none;font-size:.78rem;font-weight:700;color:#fff;background:var(--green);border-radius:10px;padding:6px 10px;margin-left:6px}
.gcard.janggi{background:linear-gradient(135deg,#C08A44,#7A4E1E)}
.gcard .jgi{font-family:"Noto Serif KR","Batang",serif;font-weight:900;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;font-size:1.6rem;color:#B5211A;background:#F3E2BF;clip-path:polygon(29% 0,71% 0,100% 29%,100% 71%,71% 100%,29% 100%,0 71%,0 29%)}
.tabs.t4{grid-template-columns:repeat(4,1fr)}
.tabs.t4 button{font-size:.85rem}
.gcard.seotda{background:linear-gradient(135deg,#3B4A8F,#1F2A5C)}
.gcard.gostop{background:linear-gradient(135deg,#9C3D7A,#5E1F49)}
.tabs.t6{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.tabs.t6::-webkit-scrollbar{display:none}
.tabs.t6 button{padding:10px 4px;font-size:.85rem;white-space:nowrap}
.gcard.omokji{grid-column:1 / -1;min-height:120px;background:radial-gradient(ellipse at 20% 0%,#2A3B45 0%,#121B21 55%,#06090B 100%);border:1px solid #2E4A57;position:relative;overflow:hidden}
.gcard.omokji b{letter-spacing:.12em;text-shadow:0 0 12px rgba(150,200,220,.45)}
.gcard.omokji::after{content:"";position:absolute;left:10%;right:10%;top:8px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#BFE3EF,transparent);box-shadow:0 0 12px rgba(190,230,240,.7);animation:flick 6s infinite}
@keyframes flick{0%,92%,100%{opacity:1}93%{opacity:.25}94%{opacity:1}96%{opacity:.45}}

/* 큰 대사 창 */
.bigsay{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(4,8,10,.72);cursor:pointer;animation:bsIn .25s ease}
.bigsay.out{opacity:0;transition:opacity .2s}
@keyframes bsIn{from{opacity:0}}
.bs-card{max-width:min(92vw,560px);background:linear-gradient(180deg,#1A262D,#0E161B);border:1px solid #3A5562;border-radius:22px;padding:22px 24px 16px;text-align:center;color:#EEF4F6;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.bs-card.in{animation:bsPop .3s cubic-bezier(.2,.9,.3,1.2)}
@keyframes bsPop{from{transform:scale(.85);opacity:0}}
.bs-av{font-size:3.6rem;line-height:1.1}
.bs-name{font-size:1rem;font-weight:900;color:#9FC3D2;margin-top:4px;letter-spacing:.06em}
.bs-text{font-size:clamp(1.35rem,4.6vw,1.9rem);font-weight:900;line-height:1.45;margin-top:10px;word-break:keep-all}
.bs-tap{font-size:.8rem;opacity:.55;margin-top:14px}
.bigsay.warm .bs-card{background:radial-gradient(circle at 50% 0%,#5A4C2E,#2B2619 70%);border-color:#E3C27A;color:#FFF4D6}
.bigsay.warm .bs-name{color:#F3D58C}
.bigsay.dark .bs-card{background:linear-gradient(180deg,#1C0E12,#0A0507);border-color:#5A2A33}
.bigsay.dark .bs-name{color:#D9828F}
.ttimer{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 8px);transform:translateX(-50%);z-index:65;background:rgba(0,0,0,.6);color:#fff;font-weight:900;font-size:.95rem;padding:5px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.25);pointer-events:none}
.ttimer.low{background:#C0392B;animation:tpulse .5s infinite alternate}
.ttimer[hidden]{display:none}
@keyframes tpulse{to{transform:translateX(-50%) scale(1.08)}}
.gtop .sndbtn{margin-left:auto;margin-right:10px;padding:6px 10px;background:rgba(127,127,127,.14);border-radius:10px;font-size:1.05rem}
.topbar .sndbtn{background:rgba(127,127,127,.18)}
.tabs.t6 .ojtab{grid-column:1 / -1}

/* ===================== 칭호 ===================== */
.ttl{display:inline-block;vertical-align:middle;font-size:.68rem;font-weight:800;line-height:1.5;padding:0 7px;border-radius:999px;margin:0 4px;white-space:nowrap;letter-spacing:-.01em}
.ttl.sm{font-size:.6rem;padding:0 5px;margin:0 3px}
.ttl.tt0{background:rgba(138,143,152,.18);color:#6f747c;border:1px solid rgba(138,143,152,.45)}
.ttl.tt1{background:rgba(62,155,107,.16);color:#2f8a5a;border:1px solid rgba(62,155,107,.55)}
.ttl.tt2{background:rgba(60,127,217,.15);color:#2f6fca;border:1px solid rgba(60,127,217,.55)}
.ttl.tt3{background:linear-gradient(90deg,#7B3FD0,#C04FD9);color:#fff;border:1px solid #9B4FD9;box-shadow:0 0 8px rgba(155,79,217,.45)}
.ttl.tt4{background:linear-gradient(100deg,#8a5a00,#ffd86b 30%,#fff6c9 45%,#e3a21a 60%,#8a5a00);background-size:250% 100%;color:#3a2400;border:1px solid #f3c34a;box-shadow:0 0 10px rgba(227,162,26,.6);animation:ttlShine 2.6s linear infinite;text-shadow:0 1px 0 rgba(255,255,255,.4)}
@keyframes ttlShine{from{background-position:120% 0}to{background-position:-130% 0}}
[data-theme="dark"] .ttl.tt0{color:#b5bac2}[data-theme="dark"] .ttl.tt1{color:#6fd39e}[data-theme="dark"] .ttl.tt2{color:#7fb2ff}

/* ===================== 화투 뒷면 스킨 ===================== */
body[data-back] .cd.back::before,:is(.sprev,.bigprev) .cd.back::before{content:none}
:is(.sprev,.bigprev) .cd.back.bk-red{background:radial-gradient(circle at 50% 50%,#C8322A 0 30%,#A3201A 31% 100%);border:calc(var(--w,40px)*.06) solid #7E1510}
:is(.sprev,.bigprev) .cd.back.bk-red::after{content:"";position:absolute;inset:18%;border:2px solid rgba(255,220,160,.35);border-radius:4px}
body[data-back="navy"] .cd.back,:is(.sprev,.bigprev) .cd.back.bk-navy{background:radial-gradient(circle at 50% 50%,#2f5aa8 0 26%,transparent 27%),repeating-linear-gradient(45deg,#1b3a7a 0 6%,#22468f 6% 12%);border:calc(var(--w,40px)*.06) solid #e9eef8}
body[data-back="navy"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-navy::after{content:"";position:absolute;inset:12%;border:2px solid rgba(160,195,255,.75);border-radius:4px}
body[data-back="celadon"] .cd.back,:is(.sprev,.bigprev) .cd.back.bk-celadon{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35) 0 8%,transparent 9%),radial-gradient(circle at 70% 68%,rgba(255,255,255,.3) 0 7%,transparent 8%),linear-gradient(160deg,#a9cfbf,#6fa391);border:calc(var(--w,40px)*.06) solid #4f7f6e}
body[data-back="celadon"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-celadon::after{content:"";position:absolute;inset:16%;border:2px solid rgba(255,255,255,.55);border-radius:50%/40%}
body[data-back="dancheong"] .cd.back,:is(.sprev,.bigprev) .cd.back.bk-dancheong{background:radial-gradient(circle at 50% 50%,#e8c13a 0 12%,#c6302c 13% 22%,#2b7a5a 23% 32%,transparent 33%),repeating-conic-gradient(from 0deg at 50% 50%,#1f6f8b 0 15deg,#2e8b57 15deg 30deg,#c6302c 30deg 45deg,#e8c13a 45deg 60deg);border:calc(var(--w,40px)*.07) solid #7a1d1a}
body[data-back="dancheong"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-dancheong::after{content:"";position:absolute;inset:8%;border:2px solid rgba(255,235,170,.8);border-radius:3px}
body[data-back="najeon"] .cd.back,:is(.sprev,.bigprev) .cd.back.bk-najeon{background:linear-gradient(115deg,#111 0%,#1a1a22 30%,#5ac8fa 42%,#b388ff 50%,#ffd1dc 56%,#1a1a22 70%,#111 100%);background-size:300% 300%;animation:najeon 4s ease-in-out infinite alternate;border:calc(var(--w,40px)*.06) solid #000}
body[data-back="najeon"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-najeon::after{content:"";position:absolute;inset:14%;border:1px solid rgba(255,255,255,.45);border-radius:50%}
@keyframes najeon{from{background-position:0% 50%}to{background-position:100% 50%}}
body[data-back="goldfoil"] .cd.back,:is(.sprev,.bigprev) .cd.back.bk-goldfoil{background:radial-gradient(circle at 50% 50%,#fff3c4 0 10%,transparent 11%),linear-gradient(145deg,#8d6512,#f1cf6a 35%,#c9972a 55%,#f7e19a 75%,#8d6512);border:calc(var(--w,40px)*.06) solid #6b4a08}
body[data-back="goldfoil"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-goldfoil::after{content:"福";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:calc(var(--w,40px)*.55);color:#7a2a10;border:0;text-shadow:0 1px 0 rgba(255,240,190,.8);background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.75) 45%,transparent 60%);background-size:300% 100%;animation:foil 2.4s linear infinite}
@keyframes foil{from{background-position:130% 0}to{background-position:-60% 0}}
body[data-back="neonb"] .cd.back,:is(.sprev,.bigprev) .cd.back.bk-neonb{background:radial-gradient(circle at 50% 50%,#2a0f45,#0b0414);border:calc(var(--w,40px)*.05) solid #ff4fd8;animation:neonb 1.8s ease-in-out infinite}
body[data-back="neonb"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-neonb::after{content:"";position:absolute;inset:16%;border:2px solid #4ff0ff;border-radius:50%;box-shadow:0 0 8px #4ff0ff,inset 0 0 8px #4ff0ff}
@keyframes neonb{50%{box-shadow:0 0 14px #ff4fd8,0 2px 4px rgba(0,0,0,.45);border-color:#ff9cf0}}
body[data-back="phoenix"] .cd.back,:is(.sprev,.bigprev) .cd.back.bk-phoenix,body[data-back="dragon"] .cd.back,:is(.sprev,.bigprev) .cd.back.bk-dragon{border:0;background:#2a0505;isolation:isolate}
body[data-back="phoenix"] .cd.back::before,:is(.sprev,.bigprev) .cd.back.bk-phoenix::before,body[data-back="dragon"] .cd.back::before,:is(.sprev,.bigprev) .cd.back.bk-dragon::before{content:"";position:absolute;left:50%;top:50%;width:170%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:-2;animation:spinB 3s linear infinite}
body[data-back="phoenix"] .cd.back::before,:is(.sprev,.bigprev) .cd.back.bk-phoenix::before{background:conic-gradient(#ff3d00,#ffd54a,#ff8a00,#fff3b0,#ff3d00)}
body[data-back="dragon"] .cd.back::before,:is(.sprev,.bigprev) .cd.back.bk-dragon::before{background:conic-gradient(#00e5ff,#7c4dff,#ff4081,#ffd740,#69f0ae,#00e5ff)}
body[data-back="phoenix"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-phoenix::after,body[data-back="dragon"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-dragon::after{position:absolute;inset:calc(var(--w,40px)*.07);border-radius:calc(var(--w,40px)*.05);z-index:-1;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:calc(var(--w,40px)*.5);border:0}
body[data-back="phoenix"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-phoenix::after{content:"鳳";background:radial-gradient(circle at 50% 45%,#b3121a,#4a0306 75%);color:#ffd54a;text-shadow:0 0 6px #ff8a00,0 0 12px #ff3d00;animation:glowP 1.6s ease-in-out infinite alternate}
body[data-back="dragon"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-dragon::after{content:"龍";background:radial-gradient(circle at 50% 45%,#0e4f6b,#03141f 75%);color:#b9f6ff;text-shadow:0 0 6px #00e5ff,0 0 12px #7c4dff;animation:glowP 1.6s ease-in-out infinite alternate}
@keyframes spinB{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes glowP{to{filter:brightness(1.35)}}
body[data-back="lakeb"] .cd.back,:is(.sprev,.bigprev) .cd.back.bk-lakeb{border:calc(var(--w,40px)*.05) solid #000;background:radial-gradient(circle at 50% 55%,#0d1b24,#000 80%)}
body[data-back="lakeb"] .cd.back::before,:is(.sprev,.bigprev) .cd.back.bk-lakeb::before{content:"";position:absolute;left:50%;top:55%;width:30%;aspect-ratio:1;border-radius:50%;border:2px solid rgba(140,190,210,.5);transform:translate(-50%,-50%);animation:ripple 2.6s ease-out infinite}
body[data-back="lakeb"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-lakeb::after{content:"池";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:calc(var(--w,40px)*.48);color:#c4121f;text-shadow:0 0 8px rgba(255,0,20,.7);border:0;animation:flickR 3.2s steps(1) infinite}
@keyframes ripple{from{width:10%;opacity:1}to{width:120%;opacity:0}}
@keyframes flickR{0%,100%{opacity:.95}46%{opacity:.2}48%{opacity:.95}50%{opacity:.35}52%{opacity:.95}}
@media (prefers-reduced-motion:reduce){.ttl.tt4,.cd.back,.cd.back::before,.cd.back::after{animation:none!important}}

/* ===================== 상점 ===================== */
.shopbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}
.shopbar .money{font-weight:900;font-size:1.15rem}
.shopgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sitem{position:relative;background:var(--card);border-radius:18px;box-shadow:var(--shadow);padding:12px 10px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;border:2px solid transparent;cursor:pointer;text-align:center;font:inherit;color:inherit}
.sitem.eq{border-color:var(--green)}
.sitem .tier{position:absolute;top:8px;left:8px;font-size:.62rem;font-weight:800;color:#fff;border-radius:999px;padding:1px 7px}
.sitem .own{position:absolute;top:8px;right:8px;font-size:.62rem;font-weight:800;color:var(--green)}
.sitem b{font-size:.9rem}
.sitem small{font-size:.72rem;color:var(--muted);min-height:2.3em;line-height:1.3}
.sitem .pr{font-weight:800;font-size:.85rem}
.sitem.t3{background:linear-gradient(160deg,var(--card),rgba(155,79,217,.12))}
.sitem.t4{background:linear-gradient(160deg,var(--card),rgba(227,162,26,.18));box-shadow:0 0 0 1px rgba(227,162,26,.35),var(--shadow)}
.sitem.t4::after{content:"";position:absolute;inset:0;border-radius:16px;pointer-events:none;background:linear-gradient(110deg,transparent 35%,rgba(255,230,150,.35) 50%,transparent 65%);background-size:300% 100%;animation:foil 3s linear infinite}
.sprev{width:100%;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px}
.sprev.board{background:radial-gradient(circle at 30% 25%,#E9C690,#C9934E)}
.sprev.felt{background:radial-gradient(circle at 50% 40%,#3f7a4c,#24502f)}
.sprev canvas{width:120px;height:64px}
.sprev .cd{--w:34px}
.sprev .cd.back{position:relative;display:inline-block;width:var(--w);aspect-ratio:200/328;border-radius:calc(var(--w)*.08);box-shadow:0 2px 4px rgba(0,0,0,.45);overflow:hidden}
.bigprev{display:flex;justify-content:center;gap:10px;padding:14px;border-radius:16px;margin-bottom:10px}
.bigprev canvas{width:220px;height:110px}
.bigprev .cd{--w:62px}
.bigprev .cd.back{position:relative;display:inline-block;width:var(--w);aspect-ratio:200/328;border-radius:calc(var(--w)*.08);box-shadow:0 3px 8px rgba(0,0,0,.5);overflow:hidden}
.ttlgrp{margin:14px 0 6px;font-weight:800;font-size:.9rem}
.ttlrow{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:var(--card);box-shadow:var(--shadow);margin-bottom:8px}
.ttlrow .mid{flex:1;min-width:0}
.ttlrow small{display:block;color:var(--muted);font-size:.72rem;margin-top:2px}
.ttlrow.lock{opacity:.6}
.ttlrow.lock .ttl{filter:grayscale(.85)}
.ttlrow button{border:0;border-radius:10px;padding:7px 11px;font-weight:700;cursor:pointer;background:var(--seg);color:var(--ink);white-space:nowrap}
.ttlrow button.pri{background:var(--green);color:#fff}
.pbar{height:5px;border-radius:3px;background:var(--seg);margin-top:5px;overflow:hidden}.pbar i{display:block;height:100%;background:var(--green)}
.itemrow{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:var(--card);box-shadow:var(--shadow);margin-bottom:8px}
.itemrow .ic{font-size:1.8rem}
.itemrow .mid{flex:1}.itemrow small{display:block;color:var(--muted);font-size:.75rem}
.itemrow button{border:0;border-radius:12px;padding:9px 12px;font-weight:800;cursor:pointer;background:var(--green);color:#fff;white-space:nowrap}
.itemrow button:disabled{opacity:.45}
nav.bot div{grid-template-columns:repeat(5,1fr)}

/* ===== 추가 화투 뒷면 ===== */
body[data-back="hanji"] .cd.back,:is(.sprev,.bigprev) .cd.back.bk-hanji{background:radial-gradient(circle at 30% 35%,#d2384a 0 5%,transparent 6%),radial-gradient(circle at 62% 58%,#d2384a 0 6%,transparent 7%),radial-gradient(circle at 45% 75%,#e2627a 0 4%,transparent 5%),linear-gradient(170deg,transparent 40%,rgba(70,40,20,.55) 41% 43%,transparent 44%),linear-gradient(160deg,#f3ead6,#e2d4b6);border:calc(var(--w,40px)*.06) solid #b89a6a}
body[data-back="hanji"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-hanji::after{content:"";position:absolute;inset:10%;border:1px solid rgba(140,100,50,.45);border-radius:3px}
body[data-back="sumuk"] .cd.back,:is(.sprev,.bigprev) .cd.back.bk-sumuk{background:radial-gradient(ellipse 60% 30% at 30% 78%,#1d1d1d,transparent 70%),radial-gradient(ellipse 70% 35% at 75% 70%,#3a3a3a,transparent 70%),radial-gradient(ellipse 80% 40% at 50% 92%,#0d0d0d,transparent 70%),radial-gradient(ellipse 50% 22% at 60% 55%,rgba(60,60,60,.6),transparent 70%),linear-gradient(180deg,#f4f0e6,#d9d3c4);border:calc(var(--w,40px)*.06) solid #2b2b2b}
body[data-back="sumuk"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-sumuk::after{content:"印";position:absolute;right:10%;top:9%;width:calc(var(--w,40px)*.26);height:calc(var(--w,40px)*.26);display:flex;align-items:center;justify-content:center;font-size:calc(var(--w,40px)*.18);font-weight:900;color:#fff;background:#b3201c;border-radius:2px;border:0}
body[data-back="aurora"] .cd.back,:is(.sprev,.bigprev) .cd.back.bk-aurora{background:linear-gradient(160deg,#03101e 0%,#0b2a3a 25%,#1fd38a 45%,#7b4dff 60%,#0b2a3a 78%,#03101e 100%);background-size:100% 300%;animation:auroraB 5s ease-in-out infinite alternate;border:calc(var(--w,40px)*.05) solid #0a1a26}
body[data-back="aurora"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-aurora::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 15%,#fff 0 1px,transparent 2px),radial-gradient(circle at 75% 25%,#fff 0 1px,transparent 2px),radial-gradient(circle at 55% 10%,#fff 0 1px,transparent 2px);border:0;opacity:.8}
@keyframes auroraB{from{background-position:0 0%}to{background-position:0 100%}}
body[data-back="sakurab"] .cd.back,:is(.sprev,.bigprev) .cd.back.bk-sakurab{background:radial-gradient(circle,#ffd1df 0 2px,transparent 3px) 0 0/40% 22%,radial-gradient(circle,#ff9fbf 0 2px,transparent 3px) 20% 10%/34% 19%,linear-gradient(170deg,#4a1a33,#8a2c55 55%,#d76a92);animation:sakuraFall 3.2s linear infinite;border:calc(var(--w,40px)*.06) solid #ffd1df}
body[data-back="sakurab"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-sakurab::after{content:"🌸";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:calc(var(--w,40px)*.42);border:0;filter:drop-shadow(0 0 6px rgba(255,180,210,.9));animation:glowP 1.8s ease-in-out infinite alternate}
@keyframes sakuraFall{from{background-position:0 0,20% 10%,0 0}to{background-position:15% 100%,5% 110%,0 0}}
body[data-back="galaxyb"] .cd.back,:is(.sprev,.bigprev) .cd.back.bk-galaxyb,body[data-back="emperor"] .cd.back,:is(.sprev,.bigprev) .cd.back.bk-emperor{border:0;background:#05010f;isolation:isolate}
body[data-back="galaxyb"] .cd.back::before,:is(.sprev,.bigprev) .cd.back.bk-galaxyb::before,body[data-back="emperor"] .cd.back::before,:is(.sprev,.bigprev) .cd.back.bk-emperor::before{content:"";position:absolute;left:50%;top:50%;width:180%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:-2;animation:spinB 2.4s linear infinite}
body[data-back="galaxyb"] .cd.back::before,:is(.sprev,.bigprev) .cd.back.bk-galaxyb::before{background:conic-gradient(#ff0055,#ff9900,#ffee00,#33ff99,#00ccff,#9966ff,#ff0055)}
body[data-back="emperor"] .cd.back::before,:is(.sprev,.bigprev) .cd.back.bk-emperor::before{background:conic-gradient(#fff6c9,#e3a21a,#7a4b00,#ffd86b,#fffbe6,#e3a21a,#fff6c9)}
body[data-back="galaxyb"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-galaxyb::after,body[data-back="emperor"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-emperor::after{position:absolute;inset:calc(var(--w,40px)*.08);border-radius:calc(var(--w,40px)*.05);z-index:-1;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:calc(var(--w,40px)*.5);border:0}
body[data-back="galaxyb"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-galaxyb::after{content:"星";color:#fff;text-shadow:0 0 6px #9cf,0 0 14px #c6f;background:radial-gradient(circle at 25% 20%,#fff 0 1px,transparent 2px),radial-gradient(circle at 70% 30%,#fff 0 1px,transparent 2px),radial-gradient(circle at 40% 80%,#fff 0 1px,transparent 2px),radial-gradient(circle at 80% 75%,#fff 0 1px,transparent 2px),radial-gradient(ellipse at 30% 40%,rgba(255,60,180,.55),transparent 55%),radial-gradient(ellipse at 70% 65%,rgba(60,140,255,.55),transparent 55%),#0a0420;animation:twinkleB 1.6s ease-in-out infinite alternate}
body[data-back="emperor"] .cd.back::after,:is(.sprev,.bigprev) .cd.back.bk-emperor::after{content:"皇";color:#fff6c9;text-shadow:0 0 6px #ffd54a,0 0 16px #ff9800,0 2px 0 #7a4b00;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 45%,transparent 60%) 0 0/300% 100%,radial-gradient(circle at 50% 45%,#7a1010,#2a0303 75%);animation:foil 2s linear infinite,glowP 1.2s ease-in-out infinite alternate}
@keyframes twinkleB{to{filter:brightness(1.4) saturate(1.3)}}

/* ===== 신화 등급 ===== */
.ttl.tt5{background:linear-gradient(90deg,#ff0055,#ff9900,#ffee00,#33ff99,#00ccff,#9966ff,#ff0055);background-size:300% 100%;color:#fff;border:1px solid #fff;text-shadow:0 1px 2px rgba(0,0,0,.6);box-shadow:0 0 12px rgba(255,80,160,.7);animation:ttlShine 2s linear infinite,ttlPulse 1.4s ease-in-out infinite alternate}
@keyframes ttlPulse{to{box-shadow:0 0 18px rgba(120,200,255,.9)}}
.sitem.t5{background:linear-gradient(160deg,var(--card),rgba(229,56,59,.16));isolation:isolate;overflow:hidden;border-color:transparent}
.sitem.t5::before{content:"";position:absolute;left:50%;top:50%;width:160%;aspect-ratio:1;transform:translate(-50%,-50%);background:conic-gradient(#ff0055,#ff9900,#ffee00,#33ff99,#00ccff,#9966ff,#ff0055);z-index:-2;animation:spinB 3s linear infinite}
.sitem.t5::after{content:"";position:absolute;inset:3px;border-radius:15px;background:linear-gradient(160deg,var(--card) 55%,#fff1f1);z-index:-1}
[data-theme="dark"] .sitem.t5::after{background:linear-gradient(160deg,var(--card) 55%,#3a1420)}
.sitem.t5 .tier{background:linear-gradient(90deg,#ff0055,#9966ff)!important;box-shadow:0 0 8px rgba(255,0,85,.6)}

/* 화투 패 준비 화면 */
.cardgate{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,#2f6a45,#173a26);color:#fff;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s}
.cardgate.on{opacity:1;pointer-events:auto}.cardgate.out{opacity:0;pointer-events:none}
.cardgate .cg-ic{font-size:3rem;animation:cgSpin 1.2s ease-in-out infinite}
.cardgate b{display:block;margin:10px 0 12px;font-size:1.05rem}
.cardgate .cg-bar{width:220px;height:8px;border-radius:4px;background:rgba(255,255,255,.2);overflow:hidden;margin:0 auto 6px}.cardgate .cg-bar i{display:block;height:100%;width:0;background:#FFD54A;transition:width .15s}
.cardgate small{opacity:.8}
@keyframes cgSpin{50%{transform:rotateY(180deg)}}
.cd img{background:#f4efe4}
