/* NAGA — platform components (club privé, live feed, app, consoles) */

[hidden]{display:none!important}
html:lang(ja){--f-sans:'Flags','Inter','Noto Sans JP',system-ui,sans-serif;--f-serif:'Flags','Playfair Display','Noto Sans JP',Georgia,serif}
html:lang(ko){--f-sans:'Flags','Inter','Noto Sans KR',system-ui,sans-serif;--f-serif:'Flags','Playfair Display','Noto Sans KR',Georgia,serif}
html:lang(th){--f-sans:'Flags','Inter','Noto Sans Thai',system-ui,sans-serif;--f-serif:'Flags','Playfair Display','Noto Sans Thai',Georgia,serif}
.detail>*,.console-grid>*,.fgrid>*,.hero-grid>*{min-width:0}
.hero{overflow:hidden}
pre.code{max-width:100%}
.m-only{display:none}
@media (max-width:980px){.nav-links a.m-only{display:block}}
#weapons-grid{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){#weapons-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){#weapons-grid{grid-template-columns:1fr}}

/* ---------- Live feed ticker ---------- */
.livebar{display:flex;align-items:center;gap:1rem;height:40px;border-bottom:1px solid var(--line-soft);background:linear-gradient(90deg,rgba(214,168,79,.07),rgba(6,10,20,.6) 30%);overflow:hidden;font-size:.8rem}
.livebar .tag{flex:none;display:flex;align-items:center;gap:.45rem;padding:0 1rem 0 4vw;color:var(--gold-2);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.7rem}
.livebar .tag i{width:8px;height:8px;border-radius:50%;background:var(--ruby);box-shadow:0 0 0 0 rgba(224,90,79,.6);animation:livepulse 1.6s infinite}
@keyframes livepulse{70%{box-shadow:0 0 0 8px rgba(224,90,79,0)}}
.livebar .feed{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 94%,transparent)}
.feed-track{display:flex;gap:2.2rem;width:max-content;white-space:nowrap}
.feed-track.run{animation:marq 60s linear infinite}
.livebar:hover .feed-track{animation-play-state:paused}
.feed-item{display:inline-flex;align-items:center;gap:.45rem;color:var(--muted)}
.feed-item b{color:var(--text);font-weight:600}
.feed-item em{font-style:normal;color:var(--dim);font-size:.72rem}
.feed-item .pulse{width:5px;height:5px;border-radius:50%;background:var(--jade)}
.feed-item.muted{color:var(--dim)}

/* ---------- Club ---------- */
.club-chip{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border:1px solid var(--line);padding:.3rem .7rem;border-radius:99px;background:rgba(214,168,79,.05)}
.member-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .75rem .35rem .35rem;border-radius:99px;border:1px solid var(--line);font-size:.82rem;background:rgba(255,255,255,.03)}
.member-pill .avatar{width:26px;height:26px;font-size:.66rem}
.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.8rem;color:#140e04;background:linear-gradient(135deg,var(--gold-2),var(--gold-3));flex:none}
.toast.bad{border-color:var(--ruby)}
.toast.bad::before{content:"!";color:var(--ruby)}

/* ---------- Agent ---------- */
.agent{border:1px solid var(--line);border-radius:20px;background:radial-gradient(500px 200px at 0% 0%,rgba(214,168,79,.12),transparent 60%),rgba(14,21,39,.85);padding:1.4rem;box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.agent h3{display:flex;align-items:center;gap:.6rem;font-family:var(--f-serif);font-size:1.25rem}
.agent h3 .dot{width:9px;height:9px;border-radius:50%;background:var(--jade);box-shadow:0 0 12px var(--jade)}
.agent p.hint{color:var(--muted);font-size:.88rem;margin:.3rem 0 1rem}
.agent form{display:flex;gap:.5rem}
.agent input{flex:1;min-width:0;padding:.85rem 1rem;border-radius:12px;border:1px solid var(--line);background:#070c18;outline:none;font-size:.92rem}
.agent input:focus{border-color:var(--gold)}
.agent-out{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}
.agent-answer{color:var(--text);font-size:.92rem}
.agent-pick{display:flex;align-items:center;gap:.75rem;padding:.7rem .8rem;border-radius:12px;border:1px solid var(--line-soft);background:rgba(6,10,20,.5);transition:.2s}
.agent-pick:hover{border-color:var(--gold)}
.agent-pick b{display:block;font-size:.9rem}.agent-pick small{color:var(--dim);font-size:.75rem}
.agent-pick em{margin-left:auto;font-style:normal;font-size:.72rem;padding:.2rem .55rem;border-radius:99px}
.agent-pick em.ok{color:var(--jade);border:1px solid rgba(47,211,180,.35)}
.agent-pick em.na{color:var(--dim);border:1px solid var(--line-soft)}
.agent-thinking{display:flex;gap:.35rem;padding:.5rem}
.agent-thinking i{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:bounce 1s infinite}
.agent-thinking i:nth-child(2){animation-delay:.15s}.agent-thinking i:nth-child(3){animation-delay:.3s}
@keyframes bounce{50%{transform:translateY(-6px);opacity:.5}}

/* ---------- Generic ---------- */
.logo{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:.85rem;flex:none;color:#fff}
.logo.sm{width:34px;height:34px;font-size:.72rem;border-radius:10px}
.logo.lg{width:64px;height:64px;font-size:1.2rem;border-radius:16px}
.panel{padding:1.5rem;border-radius:18px;border:1px solid var(--line-soft);background:rgba(14,21,39,.75)}
.panel h3{font-size:1.05rem;margin-bottom:.9rem;display:flex;align-items:center;gap:.6rem}
.label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem;display:block}
.muted{color:var(--muted)}.dim{color:var(--dim)}
.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.spacer{flex:1}
.badge-s{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;padding:.22rem .6rem;border-radius:99px;border:1px solid var(--line-soft);color:var(--muted);white-space:nowrap}
.badge-s.ok{color:var(--jade);border-color:rgba(47,211,180,.35);background:rgba(47,211,180,.06)}
.badge-s.gold{color:var(--gold-2);border-color:var(--line);background:rgba(214,168,79,.08)}
.badge-s.warn{color:#f5b84a;border-color:rgba(245,184,74,.35)}
.badge-s.bad{color:var(--ruby);border-color:rgba(224,90,79,.35)}
.badge-s.na{color:var(--dim)}
.inp,select,textarea{width:100%;padding:.7rem .9rem;border-radius:10px;border:1px solid var(--line-soft);background:#070c18;outline:none;font-size:.9rem;transition:.2s}
.inp:focus,select:focus,textarea:focus{border-color:var(--gold)}
.inp.err,select.err,textarea.err{border-color:var(--ruby)}
select option{background:#0e1527}
textarea{resize:vertical;min-height:90px;font-family:inherit}
.field{display:flex;flex-direction:column;gap:.4rem}
.field label{font-size:.8rem;color:var(--muted);font-weight:500}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fgrid .full{grid-column:1/-1}
.hint{font-size:.76rem;color:var(--dim)}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace}
pre.code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.7;padding:1rem;border-radius:12px;background:#070c18;border:1px solid var(--line-soft);overflow:auto;color:#c9d1e6;white-space:pre}
.tabs{display:flex;gap:.3rem;border-bottom:1px solid var(--line-soft);margin-bottom:1rem;flex-wrap:wrap}
.tabs button{background:none;border:0;padding:.6rem .9rem;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;font-size:.86rem}
.tabs button.on{color:var(--gold-2);border-bottom-color:var(--gold)}
table.t{width:100%;border-collapse:collapse;font-size:.86rem}
table.t th{text-align:left;font-weight:600;color:var(--dim);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:.6rem .5rem;border-bottom:1px solid var(--line-soft)}
table.t td{padding:.7rem .5rem;border-bottom:1px solid var(--line-soft);vertical-align:middle}
.tablewrap{overflow-x:auto}
.empty{padding:2.5rem 1rem;text-align:center;color:var(--muted)}
.keybox{display:flex;gap:.5rem;align-items:center;padding:.8rem 1rem;border-radius:12px;border:1px dashed var(--gold);background:rgba(214,168,79,.06);font-family:ui-monospace,Menlo,monospace;font-size:.84rem;word-break:break-all}

/* ---------- App shell ---------- */
.app-main{padding:2rem 0 5rem;min-height:70vh}
.vhead{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.vhead h1{font-family:var(--f-serif);font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:700;line-height:1.1}
.vhead p{color:var(--muted)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}
.kpi{padding:1.1rem 1.2rem;border-radius:14px;border:1px solid var(--line-soft);background:linear-gradient(180deg,rgba(18,27,49,.7),rgba(10,16,32,.7))}
.kpi span{font-size:.78rem;color:var(--muted)}
.kpi b{display:block;font-size:1.5rem;font-weight:700;margin-top:.15rem}
.filters{padding:1.1rem;border-radius:16px;border:1px solid var(--line-soft);background:rgba(14,21,39,.7);display:flex;flex-direction:column;gap:1rem}
.search{position:relative}
.search svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--dim)}
.search input{width:100%;padding:.95rem 1rem .95rem 2.9rem;border-radius:12px;border:1px solid var(--line);background:#070c18;outline:none;font-size:.95rem}
.search input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(214,168,79,.1)}
.chips{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.2rem;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{display:flex;align-items:center;gap:.4rem;padding:.48rem .85rem;border-radius:99px;border:1px solid var(--line-soft);background:rgba(255,255,255,.02);cursor:pointer;font-size:.83rem;white-space:nowrap;transition:.2s;color:var(--muted)}
.chip:hover{border-color:var(--line);color:var(--text)}
.chip.on{background:rgba(214,168,79,.12);border-color:var(--gold);color:var(--gold-2)}
.frow{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}
.frow select{width:auto}
.sel{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--dim)}
.count{margin-left:auto;font-size:.85rem;color:var(--muted)}.count b{color:var(--gold-2)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.1rem;margin-top:1.3rem}
.api{position:relative;padding:1.3rem;border-radius:16px;border:1px solid var(--line-soft);background:linear-gradient(180deg,rgba(18,27,49,.8),rgba(10,16,32,.8));display:flex;flex-direction:column;gap:.85rem;transition:.3s}
.api:hover{transform:translateY(-4px);border-color:var(--line);box-shadow:var(--shadow)}
.api.demo{opacity:.72}
.api.demo:hover{opacity:.9}
.api-h{display:flex;gap:.8rem;align-items:center}
.api-h b{display:block;font-size:1rem}.api-h small{color:var(--dim);font-size:.78rem}
.api-h .fl{margin-left:auto;font-size:1.3rem}
.api p{color:var(--muted);font-size:.86rem;line-height:1.55;min-height:2.7em}
.tags{display:flex;gap:.4rem;flex-wrap:wrap}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;padding:.75rem 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.metrics div{text-align:center}.metrics b{display:block;font-size:.92rem}.metrics span{font-size:.66rem;color:var(--dim);text-transform:uppercase;letter-spacing:.06em}
.api-f{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.price{font-size:.8rem;color:var(--dim)}.price b{color:var(--text);font-size:1.02rem}

/* ---------- API detail ---------- */
.detail{display:grid;grid-template-columns:1.35fr .9fr;gap:1.5rem;align-items:start}
.detail-h{display:flex;gap:1.1rem;align-items:center;margin-bottom:1.2rem}
.detail-h h1{font-family:var(--f-serif);font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.05}
.gauge{--v:0;width:130px;height:130px;border-radius:50%;display:grid;place-items:center;position:relative;flex:none;
  background:conic-gradient(var(--gold) calc(var(--v)*1%),rgba(255,255,255,.06) 0)}
.gauge::after{content:"";position:absolute;inset:10px;border-radius:50%;background:#0b1222}
.gauge span{position:relative;z-index:1;text-align:center;font-family:var(--f-serif);font-size:2rem;font-weight:800;line-height:1}
.gauge span small{display:block;font-family:var(--f-sans);font-size:.62rem;letter-spacing:.14em;color:var(--dim);font-weight:500;margin-top:.3rem}
.bars{display:flex;flex-direction:column;gap:.75rem;flex:1}
.tbar{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem}
.tbar .track{height:6px;border-radius:6px;background:rgba(255,255,255,.06);overflow:hidden}
.tbar .track i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--jade));border-radius:6px}
.plan{padding:1.1rem;border-radius:14px;border:1px solid var(--line-soft);background:rgba(6,10,20,.5)}
.plan b{font-size:1.4rem;font-family:var(--f-serif)}
.plan.free{border-color:rgba(47,211,180,.35)}
.result{max-height:360px}
.side-sticky{position:sticky;top:90px;display:flex;flex-direction:column;gap:1.2rem}

/* ---------- Auth ---------- */
.auth{max-width:460px;margin:3rem auto;padding:2.2rem;border-radius:22px;border:1px solid var(--line);background:radial-gradient(400px 200px at 50% 0%,rgba(214,168,79,.12),transparent 70%),rgba(14,21,39,.9);box-shadow:var(--shadow)}
.auth .emblem-sm{width:84px;height:84px;margin:0 auto 1rem;border-radius:50%;overflow:hidden;border:1px solid var(--gold-3);box-shadow:0 0 40px rgba(214,168,79,.3)}
.auth h1{font-family:var(--f-serif);text-align:center;font-size:1.8rem;margin-bottom:.3rem}
.auth form{display:flex;flex-direction:column;gap:1rem;margin-top:1.4rem}
.roles{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.roles label{padding:.9rem;border-radius:12px;border:1px solid var(--line-soft);cursor:pointer;text-align:center;font-size:.9rem;color:var(--muted);transition:.2s}
.roles input{display:none}
.roles input:checked+label{border-color:var(--gold);color:var(--gold-2);background:rgba(214,168,79,.08)}
.err-msg{color:var(--ruby);font-size:.85rem;min-height:1.2em}

/* ---------- Bounties ---------- */
.bounty{padding:1.3rem;border-radius:16px;border:1px solid var(--line-soft);background:linear-gradient(180deg,rgba(18,27,49,.8),rgba(10,16,32,.8));display:flex;flex-direction:column;gap:.75rem;transition:.25s}
.bounty:hover{border-color:var(--line);transform:translateY(-3px)}
.bounty .reward{font-family:var(--f-serif);font-size:1.6rem;font-weight:800;color:var(--gold-2)}
.bounty h3{font-size:1.02rem}
.escrow-box{padding:1.2rem;border-radius:14px;border:1px solid var(--gold);background:rgba(214,168,79,.06);display:flex;flex-direction:column;gap:.5rem;font-size:.88rem}
.escrow-box .mono{word-break:break-all}

/* ---------- Console ---------- */
.kpis.k5{grid-template-columns:repeat(5,1fr)}
@media (max-width:980px){.kpis.k5{grid-template-columns:repeat(2,1fr)}}
.seat-sel{width:auto;min-width:180px;max-width:100%}
@media (max-width:640px){.seat{grid-template-columns:auto 1fr}.seat .seat-sel,.seat .badge-s{grid-column:1/-1;width:100%}.row .sel{flex-wrap:wrap}#split-mode{max-width:100%}}
.switch{width:58px;height:32px;border-radius:99px;border:1px solid var(--line);background:rgba(255,255,255,.06);position:relative;cursor:pointer;transition:.25s;flex:none}
.switch i{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--dim);transition:.25s}
.switch.on{background:rgba(47,211,180,.2);border-color:var(--jade)}
.switch.on i{left:29px;background:var(--jade);box-shadow:0 0 12px var(--jade)}
.console-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
.console-grid .full{grid-column:1/-1}
.seat{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:.9rem 1rem;border-radius:12px;border:1px solid var(--line-soft);background:rgba(6,10,20,.45)}
.seat .pct{font-family:var(--f-serif);font-size:1.4rem;font-weight:800;color:var(--gold-2);min-width:70px}

@media (max-width:980px){
  .detail,.console-grid{grid-template-columns:1fr}
  .side-sticky{position:static}
  .kpis{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .hero h1{font-size:clamp(2.1rem,10vw,2.6rem);overflow-wrap:anywhere}
  .hero-visual .ring{inset:0}
  .hero-visual .ring.r2{inset:8%}
  .bgnaga{display:none}
  .chip,.btn-sm,.tabs button,.lang-btn{min-height:44px}
  .chip{padding:.55rem .95rem}

  .fgrid{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  .count{margin-left:0;width:100%}
  .livebar .tag span{display:none}
  .detail-h{flex-wrap:wrap}
}
@media (max-width:760px){.codewin{max-width:100%;min-width:0}.codewin pre{max-width:100%;overflow-x:auto;white-space:pre}}

.sb-doc{border:1px dashed var(--line);border-radius:12px;padding:.9rem 1rem}.sb-doc .row{gap:.6rem;flex-wrap:wrap}.sb-doc select,.sb-doc input[type=file]{width:100%;max-width:100%}

.kdoc{background:#070c18;border:1px solid var(--line-soft);border-radius:12px;padding:1.1rem 1.2rem;max-height:520px;overflow:auto}
.kd h2{font-size:1.25rem;margin:0}.kd .kd-orig{color:var(--dim);font-size:.85rem;margin:.2rem 0 .6rem}
.kd h4{margin:1.1rem 0 .45rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2)}.kd h5{margin:.8rem 0 .2rem;font-size:.95rem}
.kd p{margin:.3rem 0;line-height:1.65;color:#d7dceb}.kd ul{margin:.3rem 0;padding-inline-start:1.2rem;color:#d7dceb}
.kd table{width:100%;border-collapse:collapse;font-size:.88rem}.kd th,.kd td{padding:.45rem .55rem;border-bottom:1px solid var(--line-soft);text-align:start;vertical-align:top}.kd th{color:var(--dim);font-weight:500;width:40%}
.kd-badge{display:inline-block;font-size:.75rem;padding:.25rem .6rem;border-radius:99px;margin-bottom:.7rem}.kd-badge.ok{color:var(--jade);border:1px solid var(--jade)}.kd-badge.warn{color:var(--gold-2);border:1px solid var(--gold-2)}
#sb-tabs{margin-bottom:.6rem}
@media (max-width:760px){.kd th{width:45%}.kdoc{padding:.9rem}}
