@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&family=Rajdhani:wght@500;600;700&display=swap');
.hero .row{flex-wrap:wrap}.badge{white-space:nowrap}.modal-cards .game-card:disabled{opacity:1}.mobile-controls{display:none}@media(max-width:760px){.mobile-controls{display:block;position:fixed;bottom:0;left:0;right:0;z-index:10;background:#17232af5;border-top:1px solid #637847;padding:10px 16px;box-shadow:0 -5px 25px #0008;backdrop-filter:blur(10px)}.mobile-controls strong{font-size:12px}.mobile-controls .actions{display:flex;gap:8px;margin:5px 0 0}.mobile-controls .actions button{flex:1;font-size:11px;padding:11px 7px}.battle:has(.mobile-controls){padding-bottom:140px}.inspector .actions{display:none}}
:root{color-scheme:dark;--bg:#0c1014;--panel:#141a20;--line:#2b343e;--muted:#8e9ba8;--text:#e9edf0;--yellow:#f1ed40;--cyan:#50d8d6;--red:#fb6678}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'Noto Sans KR',system-ui,sans-serif;font-size:13px}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;color:inherit;background:#1b242c;border:1px solid var(--line);border-radius:4px;padding:10px 15px;font-weight:700;transition:background .15s,border .15s,transform .15s}button:hover:not(:disabled){border-color:var(--cyan);background:#26343d}button:disabled{cursor:not-allowed;opacity:.35}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}.primary{background:var(--yellow);border-color:var(--yellow);color:#101412}.primary:hover:not(:disabled){background:#ffff7a;border-color:#ffff7a}.danger{color:var(--red)}.quiet{background:transparent}.small{font-size:11px;padding:6px 9px}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{background:#0b1116;border:1px solid var(--line);color:var(--text);padding:11px;border-radius:4px;min-width:0}h1,h2,h3,p{margin:0}h2{font-size:22px;letter-spacing:-.7px}h3{font-size:15px}.muted{color:var(--muted)}.mono,.eyebrow,.number{font-family:Rajdhani,'Noto Sans KR',sans-serif}.eyebrow{font-weight:600;letter-spacing:2.5px;font-size:12px;color:var(--cyan)}.number{font-size:30px;font-weight:700}.badge{display:inline-block;font-size:10px;font-weight:700;padding:4px 7px;border:1px solid var(--line);border-radius:3px;color:var(--muted)}.yellow{color:var(--yellow)}.row{display:flex;gap:10px;align-items:center}.spread{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:14px}.header{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);background:#0d1217;gap:20px;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px;color:var(--text)}.brand-mark{width:37px;height:37px;display:grid;place-items:center;background:var(--yellow);color:#080c0e;font-family:Rajdhani;font-weight:700;font-size:26px;transform:skew(-8deg)}.brand strong{display:block;font-family:Rajdhani;font-size:21px;line-height:1;letter-spacing:1px}.brand small{font-size:10px;color:var(--muted);letter-spacing:2px}.nav{display:flex;gap:4px}.nav button{border:0;background:transparent;font-size:12px;padding:26px 18px;color:var(--muted);border-radius:0;border-bottom:2px solid transparent}.nav button.active{color:var(--yellow);border-bottom-color:var(--yellow)}.status-dot{width:6px;height:6px;background:var(--cyan);display:inline-block;border-radius:50%;box-shadow:0 0 12px #50d8d655}.header-end{font-size:10px;color:var(--muted);letter-spacing:1px;white-space:nowrap}.page{max-width:1380px;margin:auto;padding:36px 40px 50px}.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1.2fr 1fr;min-height:300px;border:1px solid var(--line);background:linear-gradient(110deg,#161f27,#0c171d);margin-bottom:28px}.hero:after{content:'NIGHT CITY / 2077';position:absolute;right:20px;bottom:15px;font:600 11px Rajdhani;letter-spacing:4px;color:#a2bdca66}.hero-text{padding:38px 40px;position:relative;z-index:1}.hero h1{font-size:clamp(26px,3.3vw,43px);line-height:1.4;letter-spacing:-2px;font-weight:900;margin:13px 0 15px}.hero h1 span{color:var(--yellow)}.hero p{color:#9daebc;line-height:1.9;max-width:470px}.hero-art{position:relative;min-height:260px;overflow:hidden;background:repeating-linear-gradient(90deg,transparent 0 39px,#68afc70b 40px)}.hero-art img{position:absolute;width:190px;border-radius:8px;box-shadow:0 16px 55px #0009;transform:rotate(11deg);top:5px;right:30px}.hero-art img:first-child{transform:rotate(-11deg);right:180px;top:40px}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0f1c24 0%,transparent 30%)}.lobby-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-head small{font-size:11px;color:var(--muted)}.deck-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.deck-option{text-align:left;padding:0;overflow:hidden;background:var(--panel);border-color:var(--line);border-radius:6px}.deck-option.chosen{border-color:var(--yellow)}.deck-art{height:145px;display:flex;justify-content:center;gap:4px;overflow:hidden;position:relative;background:#222c2b}.deck-art img{height:190px;width:33%;object-fit:cover;object-position:top}.deck-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#141a20,transparent 70%)}.deck-option .deck-info{padding:16px;margin-top:-10px;position:relative}.deck-info h3{margin-bottom:9px}.deck-info p{font-size:11px;color:var(--muted);font-weight:400;line-height:1.8}.color-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px}.Red{--card-color:#f66c71}.Green{--card-color:#82c493}.Blue{--card-color:#61bdf1}.Yellow{--card-color:#eccb53}.color-dot{background:var(--card-color)}.setup-panel{border:1px solid var(--line);background:var(--panel);padding:22px;border-radius:6px}.field-label{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}.setup-panel select{width:100%;margin-bottom:16px}.difficulty{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:18px}.difficulty button{font-size:12px;padding:9px 5px}.difficulty button.chosen{color:var(--cyan);border-color:var(--cyan);background:#103030}.start{width:100%;padding:15px;font-size:15px;margin-top:16px;display:flex;align-items:center;justify-content:space-between}.note{font-size:11px;line-height:1.9;color:var(--muted)}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}.feature{border-top:1px solid var(--line);padding-top:16px;display:flex;gap:12px;align-items:flex-start}.feature b{font:700 24px Rajdhani;color:var(--cyan)}.feature strong{display:block;font-size:12px;margin:2px 0 5px}.footer{margin-top:32px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;line-height:1.8;color:var(--muted)}.battle{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:16px;padding:18px 24px;max-width:1800px;margin:auto}.board{min-width:0;border:1px solid var(--line);background:radial-gradient(ellipse at 50% 50%,#1b2c30 0%,#121c22 55%,#10181e 100%);border-radius:6px;overflow:hidden;position:relative}.seat{padding:13px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff09;background:#080d1233}.seat-name{font-size:13px;font-weight:800}.seat-name small{color:var(--muted);font-weight:400;margin-left:10px;font-size:10px}.resource{display:flex;gap:12px;align-items:center;font-family:Rajdhani,'Noto Sans KR';font-size:11px;color:var(--muted)}.resource b{font-size:18px;color:var(--text);margin:0 3px}.opponent .seat-name{color:#ff8a96}.zone-layout{display:grid;grid-template-columns:125px 1fr;gap:10px;padding:12px 16px}.side-zone{border-right:1px solid #ffffff0b;padding-right:12px;display:flex;flex-direction:column;gap:10px}.zone-label{color:#7c929f;font-size:9px;letter-spacing:1.5px;font-weight:600;font-family:Rajdhani,'Noto Sans KR'}.legend-row{display:flex;gap:5px;flex-wrap:wrap;margin:6px 0}.legend-mini{width:31px;height:46px;padding:0;border-radius:3px;overflow:hidden;border-color:#9c943f;position:relative}.legend-mini img{width:100%;height:100%;object-fit:cover}.legend-mini.spent{filter:brightness(.55);transform:rotate(7deg)}.back{background:repeating-linear-gradient(130deg,#e4df3a 0 9px,#161b1b 10px 15px);color:#eee84b;display:grid;place-items:center}.back span{background:#111920;padding:4px;font-family:Rajdhani;font-weight:700;transform:skew(-7deg);font-size:15px}.field-zone{min-height:139px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:6px 0;position:relative}.empty-zone{width:100%;height:110px;border:1px dashed #53636b33;border-radius:4px;display:grid;place-items:center;color:#566772;font-size:11px;letter-spacing:1px}.game-card{position:relative;padding:0;width:94px;flex-shrink:0;text-align:left;border:1px solid #57666e;background:#11171b;overflow:hidden;border-radius:5px;align-self:center;box-shadow:0 3px 6px #0004}.game-card img{width:100%;height:126px;display:block;object-fit:cover;object-position:top}.game-card .card-caption{padding:5px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;color:#e8eef1;font-weight:500;border-top:2px solid var(--card-color)}.game-card .power{position:absolute;bottom:26px;right:4px;border:1px solid #c3e8de88;background:#0a171ce8;min-width:26px;text-align:center;font:700 22px Rajdhani;border-radius:4px;color:white}.game-card .card-state{position:absolute;top:5px;left:4px;font-size:8px;padding:3px 5px;background:#0b101be6;color:var(--yellow);border-radius:2px}.game-card .gears{position:absolute;top:5px;right:4px;background:#203b42;font-size:9px;padding:2px 4px;border-radius:3px}.game-card.spent img{filter:brightness(.5) saturate(.5)}.game-card.spent:after{content:'소진';position:absolute;top:58px;left:0;right:0;text-align:center;font-weight:800;font-size:15px;letter-spacing:4px;transform:rotate(-12deg);color:#eef2f3}.game-card.selected{border:2px solid var(--yellow);box-shadow:0 0 15px #ecef3a33;transform:translateY(-4px)}.game-card.playable{border-color:#60ba9b}.gig-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.die{width:35px;height:37px;display:grid;place-items:center;background:#17333b;border:1px solid #4b9296;border-radius:5px;clip-path:polygon(20% 0,80% 0,100% 20%,100% 80%,80% 100%,20% 100%,0 80%,0 20%);font:700 18px Rajdhani;color:#a6f4f1;position:relative;padding-bottom:6px}.die small{position:absolute;bottom:1px;font-size:8px;color:#8ac0c1}.die.enemy{background:#3b1e29;border-color:#ad5668;color:#ff99aa}.die.empty{background:#111b21;color:#58727c;border-color:#30454f}.midline{border-top:1px solid #4c6976;border-bottom:1px solid #4c6976;background:#0c131bcc;display:flex;align-items:center;justify-content:space-between;padding:10px 17px;gap:12px}.phase-title{font-size:13px;font-weight:800;color:var(--yellow)}.phase-title.ai{color:var(--red)}.turn-info{font-family:Rajdhani;font-size:12px;letter-spacing:1px;color:var(--muted)}.opponent-hand{display:flex;gap:3px;padding:8px 16px;align-items:center;justify-content:center}.opponent-hand .back{width:22px;height:32px;border-radius:2px;opacity:.7}.opponent-hand .back span{font-size:8px;padding:1px}.hand-zone{padding:12px 16px 18px;border-top:1px solid #ffffff09;background:#0a101c44}.hand{display:flex;gap:8px;overflow-x:auto;padding:12px 2px 5px;min-height:168px;scrollbar-width:thin}.side-panel{display:flex;flex-direction:column;gap:12px;min-width:0}.inspector{padding:17px;background:var(--panel);border:1px solid var(--line);border-radius:6px;min-height:260px}.inspector .inspect-art{width:100%;max-height:240px;object-fit:contain;border-radius:6px;display:block;margin-bottom:15px}.inspector h3{font-size:15px;line-height:1.6;margin:9px 0}.rules-text{font-size:12px;line-height:1.9;color:#c0ccd5;white-space:pre-line}.keyword{color:var(--cyan);font-weight:800}.card-stats{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.actions{display:grid;grid-template-columns:1fr;gap:7px;margin:14px 0 5px}.log-panel{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#10171d}.log-panel h3{font-size:11px;padding:12px;border-bottom:1px solid var(--line)}.log-list{max-height:240px;overflow:auto;padding:5px 12px;scrollbar-width:thin}.log-entry{font-size:10px;line-height:1.8;padding:7px 0;border-bottom:1px solid #ffffff08;color:#8b9ea9}.log-entry.turn{color:var(--yellow)}.log-entry.combat{color:#dce7ec}.log-entry.steal{color:var(--cyan)}.log-entry.victory{color:var(--yellow);font-size:13px}.battle-bottom{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;z-index:20;background:#03070bce;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}.modal{width:min(750px,100%);max-height:90vh;overflow:auto;border:1px solid #56717d;background:#111a22;box-shadow:0 20px 120px #000b;border-radius:8px;padding:26px;position:relative}.modal h2{font-size:21px;line-height:1.5}.modal .description{color:#a4b4c0;line-height:1.8;font-size:12px;margin:12px 0 20px}.choice-grid{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.choice{flex:1 0 145px;padding:14px;text-align:left;max-width:100%;line-height:1.7}.choice img{width:100%;max-height:190px;object-fit:contain;margin-bottom:10px}.choice .die{margin:0 auto 10px;width:55px;height:60px;font-size:29px}.choice:last-child:first-child{width:100%}.modal-cards{display:flex;gap:8px;overflow-x:auto;margin:20px 0}.modal-cards .game-card{width:95px;pointer-events:none}.modal-close{position:absolute;top:14px;right:14px}.catalog-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:22px 0}.catalog-toolbar input{min-width:220px;flex:1}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px}.catalog-card{padding:0;background:var(--panel);overflow:hidden;text-align:left;border-color:#29313c}.catalog-card img{width:100%;aspect-ratio:2/2.8;object-fit:cover;display:block}.catalog-card .info{padding:11px}.catalog-card h3{font-size:11px;line-height:1.7;min-height:38px;margin-bottom:5px}.catalog-card .meta{font-size:10px;color:var(--muted)}.deck-editor{display:grid;grid-template-columns:1fr 330px;gap:24px}.editor-pool{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:10px}.edit-row{border:1px solid var(--line);background:var(--panel);display:flex;gap:10px;padding:10px;border-radius:4px;align-items:center}.edit-row img{width:45px;height:63px;object-fit:cover}.edit-row .title{font-size:10px;line-height:1.7;flex:1}.counter{display:flex;align-items:center;gap:7px}.counter button{padding:3px 7px;font-size:13px}.deck-summary{position:sticky;top:20px;align-self:start;border:1px solid var(--line);padding:20px;background:var(--panel);border-radius:6px}.deck-summary input{width:100%;margin:12px 0}.legend-picker{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:16px 0}.legend-picker button{text-align:left;font-size:10px;padding:8px;line-height:1.7}.legend-picker button.chosen{border-color:var(--yellow);color:var(--yellow)}.errors{color:var(--red);font-size:11px;line-height:1.8;margin:12px 0}.guide{max-width:940px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}.guide-card{background:var(--panel);border:1px solid var(--line);padding:23px;border-radius:5px}.guide-card .step{font:700 30px Rajdhani;color:var(--cyan);margin-bottom:10px}.guide-card h3{font-size:15px;margin-bottom:12px}.guide-card p,.guide-card li{font-size:12px;line-height:2;color:#acbbc5}.guide-card ul{padding-left:16px;margin:10px 0 0}.coverage{padding:17px;border:1px solid #576331;margin:20px 0;background:#262b192e;font-size:12px;line-height:1.9;color:#c6cdac}.boot{padding:20vh 12vw;color:var(--yellow);font-family:Rajdhani;font-size:13px;letter-spacing:3px}.boot strong{font:700 21px 'Noto Sans KR';display:block;margin-top:20px;color:white}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;background:#e4ebee;color:#111c24;padding:12px 20px;border-radius:5px;box-shadow:0 5px 25px #0008;display:none;max-width:90vw}.victory-banner{background:var(--yellow);color:#101414;text-align:center;padding:24px}.victory-banner h2{font-size:30px}.mobile-inspect{display:none}@media(min-width:1500px){.game-card{width:108px}.game-card img{height:145px}.field-zone{min-height:165px}.battle{grid-template-columns:minmax(0,1fr) 320px}}@media(max-width:1050px){.header{padding:0 20px}.header-end{display:none}.page{padding:25px}.hero-text{padding:28px}.hero-art img{width:160px;right:10px}.hero-art img:first-child{right:120px}.lobby-grid{grid-template-columns:1.2fr 1fr}.battle{padding:12px;grid-template-columns:minmax(0,1fr) 245px;gap:10px}.zone-layout{grid-template-columns:96px 1fr;padding:8px;gap:7px}.side-zone{padding-right:6px}.legend-mini{width:24px;height:37px}.game-card{width:75px}.game-card img{height:101px}.game-card .card-caption{font-size:8px}.die{width:29px;height:32px}.resource{gap:4px}.resource b{font-size:15px}.hero-art{min-height:250px}.deck-editor{grid-template-columns:1fr 280px}}@media(max-width:760px){.header{height:auto;min-height:68px;flex-wrap:wrap;padding:15px 18px 0;gap:10px}.brand strong{font-size:18px}.brand small{font-size:8px}.nav{width:100%;justify-content:space-between}.nav button{padding:12px 15px}.page{padding:18px}.hero{grid-template-columns:1.2fr 1fr;min-height:235px}.hero-text{padding:25px 20px}.hero h1{font-size:26px;letter-spacing:-1px}.hero p{font-size:11px}.hero-art img{width:140px;right:-25px;top:20px}.hero-art img:first-child{right:60px;top:65px}.hero .eyebrow{font-size:10px}.lobby-grid{grid-template-columns:1fr}.deck-art{height:135px}.feature-strip{gap:9px}.feature b{font-size:20px}.feature .note{font-size:10px}.feature strong{font-size:10px}.battle{display:block;padding:10px}.side-panel{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;align-items:start}.inspector{min-height:200px}.inspector .inspect-art{height:145px}.battle-bottom{grid-column:1/-1}.field-zone{min-height:131px}.game-card{width:79px}.game-card img{height:107px}.zone-layout{grid-template-columns:100px 1fr;padding:10px}.legend-mini{width:26px;height:38px}.seat{padding:10px}.seat-name small{display:none}.resource{font-size:10px}.midline{padding:8px 10px}.midline button{font-size:11px;padding:10px}.phase-title{font-size:12px}.deck-editor{display:flex;flex-direction:column-reverse}.deck-summary{position:static}.guide-grid{grid-template-columns:1fr}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.catalog-card .info{padding:8px}.catalog-card h3{font-size:10px}.footer{flex-direction:column;gap:8px}.modal{padding:22px 18px}.choice{flex-basis:120px;padding:10px}.choice img{max-height:145px}.hand{min-height:145px}.header-end{display:none}}@media(max-width:420px){.hero{grid-template-columns:1fr}.hero-art{display:none}.hero-text{padding:25px}.catalog-grid{grid-template-columns:repeat(2,1fr)}.side-panel{grid-template-columns:1fr}.zone-layout{grid-template-columns:83px 1fr}.legend-mini{width:21px;height:32px}.game-card{width:72px}.game-card img{height:98px}.resource{gap:1px}.seat-name{font-size:11px}.feature-strip{grid-template-columns:1fr}.feature{align-items:center}.feature strong{font-size:12px}.feature .note{font-size:11px}.deck-info h3{font-size:12px}}
