:root{--bg: #11131a;--panel: #1b1e29;--panel-2: #232735;--line: #313749;--text: #e7eaf3;--muted: #9aa3b8;--accent: #e0b53d;--good: #2e9e6b;--bad: #d23b57;font-family:system-ui,Segoe UI,Roboto,Noto Sans KR,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button{font-family:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}input{font-family:inherit;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--text)}.app{max-width:1180px;margin:0 auto;padding:16px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:12px}.spread{justify-content:space-between}.muted{color:var(--muted)}.small{font-size:12px}.tag{font-size:11px;padding:2px 7px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);white-space:nowrap}.btn{padding:8px 14px;border-radius:9px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-weight:600;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--accent)}.btn.primary{background:var(--accent);color:#1a1500;border-color:var(--accent)}.btn.ghost{background:transparent}.btn.small{padding:4px 9px;font-size:12px}.card-surface{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px}.center-screen{min-height:80vh;display:grid;place-items:center}.box{width:420px;max-width:92vw}.title{font-size:30px;font-weight:800;letter-spacing:.5px}.title .accent{color:var(--accent)}.bank{display:flex;gap:10px;flex-wrap:wrap}.token{width:64px;border-radius:12px;border:2px solid transparent;background:var(--panel-2);padding:8px 6px;text-align:center;-webkit-user-select:none;user-select:none}.token.selectable:hover{border-color:var(--accent)}.token.selected{border-color:var(--accent);box-shadow:0 0 0 2px #e0b53d4d}.gem-dot{width:26px;height:26px;border-radius:50%;margin:0 auto 4px;border:1px solid rgba(0,0,0,.35);display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex:none}.gem-sym{font-size:12px;font-weight:800;line-height:1}.cost-chip .gem-sym{font-size:11px}.mini .gem-sym{display:none}.token .count{font-weight:800;font-size:18px}.token .nm{font-size:10px;color:var(--muted)}.tiers{display:flex;flex-direction:column;gap:12px}.tier-row{display:grid;grid-template-columns:70px repeat(4,1fr);gap:10px;align-items:stretch}.deck{border-radius:12px;border:1px dashed var(--line);display:grid;place-items:center;background:var(--panel-2);font-weight:800;gap:2px;padding:6px}.dev-card{border-radius:12px;border:1px solid var(--line);background:var(--panel-2);padding:8px;display:flex;flex-direction:column;gap:6px;min-height:132px}.dev-card .head{display:flex;justify-content:space-between;align-items:center}.dev-card .pts{font-weight:800;font-size:18px}.dev-card .cost{display:flex;gap:5px;flex-wrap:wrap;margin-top:auto}.cost-chip{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:700}.cost-chip .gem-dot{width:16px;height:16px;margin:0}.dev-card .actions{display:flex;gap:6px}.dev-card.affordable{border-color:var(--good)}.card-back{background:repeating-linear-gradient(45deg,#2a2f3e,#2a2f3e 8px,#232735 8px,#232735 16px)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stat-tile{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:8px 4px;text-align:center}.stat-val{font-size:20px;font-weight:800}.stat-val.good{color:var(--good)}.stat-val.accent{color:var(--accent)}.stat-label{font-size:11px;color:var(--muted);margin-top:2px}.hist-list{gap:6px;max-height:46vh;overflow-y:auto}.hist-row{padding:7px 10px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2)}.hist-row.won{border-left:3px solid var(--good)}.hist-row.lost{border-left:3px solid var(--muted)}.hist-badge{font-weight:800;font-size:12px;border-radius:6px;padding:1px 7px}.hist-badge.good{color:var(--good);border:1px solid var(--good)}.hist-badge.bad{color:var(--muted);border:1px solid var(--line)}.hist-badge.pending{color:#ebcb8b;border:1px solid #ebcb8b;font-size:11px}.tag-ai{color:#b48ead;border-color:#b48ead}.tag-human{color:#88c0d0;border-color:#88c0d0}.split-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.split-card{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:8px 10px}.split-title{font-size:12px;font-weight:700;margin-bottom:2px}.split-body{display:flex;align-items:baseline;gap:8px}.split-rate{font-size:18px;font-weight:800;color:var(--accent)}.nobles{display:flex;gap:10px;flex-wrap:wrap}.noble{width:92px;border-radius:12px;border:1px solid var(--line);background:var(--panel-2);padding:8px;text-align:center}.noble .pts{font-weight:800}.noble-char{position:relative;width:104px;padding:0;overflow:hidden}.noble-art{width:100%;height:92px;object-fit:cover;object-position:center top;display:block;background:radial-gradient(ellipse 85% 75% at 50% 40%,#0a2f5c,#051426 55%,#01060f)}.noble-name{font-weight:800;font-size:12px;text-align:center;padding:5px 4px 2px}.noble-char .noble-req{padding:2px 4px 8px}.noble-pts{position:absolute;top:5px;right:5px;z-index:1;background:#0009;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:800}@media(max-width:480px){.noble-char{width:122px}.noble-art{height:108px}.noble-name{font-size:13px}}.players{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.player{border-radius:12px;border:1px solid var(--line);background:var(--panel);padding:12px}.player.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.prestige-bar{height:6px;border-radius:999px;background:var(--panel-2);overflow:hidden;margin-top:6px}.prestige-bar>span{display:block;height:100%;background:var(--accent);transition:width .3s ease}.prestige-bar.won>span{background:var(--good)}.player.you .name:after{content:" (나)";color:var(--accent);font-size:12px}.stat-line{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.mini{display:flex;align-items:center;gap:3px;font-size:12px;font-weight:700}.mini .gem-dot{width:14px;height:14px;margin:0}.actionbar{position:sticky;bottom:0;margin-top:12px}.turnpill{padding:6px 12px;border-radius:999px;font-weight:700}.turnpill.mine{background:var(--good);color:#04210f}.turnpill.theirs{background:var(--panel-2);color:var(--muted)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:50}.modal{width:460px;max-width:92vw}.game-layout{display:flex;gap:12px;align-items:stretch}.game-main{flex:3;min-width:0}.game-side{flex:1;min-width:240px}@media(max-width:860px){.app{padding:10px}.game-layout{flex-direction:column}.game-side{min-width:0}.players{grid-template-columns:1fr}.title{font-size:24px}.tiers{overflow:visible;gap:14px}.tier-row{display:flex;overflow-x:auto;gap:10px;padding-bottom:8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.tier-row>*{scroll-snap-align:start}.deck{flex:0 0 66px}.dev-card{flex:0 0 160px;min-height:152px;padding:11px;gap:8px}.dev-card .pts{font-size:22px}.dev-card .head .tag{font-size:12px}.cost-chip{font-size:15px;gap:5px}.cost-chip .gem-dot{width:22px;height:22px}.cost-chip .gem-sym{font-size:13px}.dev-card .actions{gap:8px}.dev-card .actions .btn{flex:1;padding:10px 6px;font-size:13px;text-align:center}}@media(max-width:480px){.token{width:64px;padding:10px 6px}.token .gem-dot{width:30px;height:30px}.token .gem-sym{font-size:14px}.token .count{font-size:20px}.token .nm{font-size:11px}.bank{gap:8px;justify-content:flex-start}.actionbar{flex-direction:column;align-items:stretch;gap:10px}.actionbar .btn{padding:12px;font-size:14px}}.rulebook{width:560px;max-width:94vw;max-height:88vh}.rulebook>.row.spread{background:var(--panel);padding-bottom:8px;border-bottom:1px solid var(--line);z-index:1}.rulebook-body{overflow-y:auto;gap:16px;padding:2px 2px 2px 0;-webkit-overflow-scrolling:touch}.rule-sec{display:flex;flex-direction:column;gap:6px}.rule-h{font-size:15px;margin:0;display:flex;align-items:center;gap:8px}.rule-ico{font-size:18px}.rulebook p{margin:0;font-size:14px;line-height:1.65;color:var(--text)}.rule-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px}.rule-list li{font-size:14px;line-height:1.6}.rule-actions{counter-reset:act;list-style:decimal}.rule-note{font-size:13px!important;color:var(--muted)!important;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:9px 12px}.gem-legend{display:flex;flex-wrap:wrap;gap:10px 14px;padding:4px 0}.gem-leg{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600}.gem-leg .gem-dot{margin:0;width:22px;height:22px}@media(max-width:480px){.rulebook{max-height:90vh}.rule-h{font-size:15px}.rulebook p,.rule-list li{font-size:14.5px}}.banner{padding:10px 14px;border-radius:10px;background:var(--bad);color:#fff;font-weight:600}.banner.win{background:var(--good)}.reward-banner{padding:10px 14px;border-radius:10px;font-weight:600;background:#e0b53d24;border:1px solid var(--accent);color:var(--accent)}.reward-banner b{font-size:18px}.reward-modal{max-width:320px;align-items:center;text-align:center;gap:10px;padding:22px 20px;border:1px solid var(--accent);box-shadow:0 0 40px #e0b53d40}.reward-emoji{font-size:44px;line-height:1}.reward-title{font-size:18px}.reward-amount{font-size:34px;font-weight:800;color:var(--accent)}.reward-cur{font-size:16px;font-weight:700}.reward-modal .btn{margin-top:4px;min-width:120px}.log{max-height:120px;overflow:auto;font-size:12px;color:var(--muted)}
