@font-face{font-family:CatRound;src:url('assets/fonts/NanumSquareRound-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:CatRound;src:url('assets/fonts/NanumSquareRound-Bold.ttf') format('truetype');font-weight:600 700;font-display:swap}
@font-face{font-family:CatRound;src:url('assets/fonts/NanumSquareRound-ExtraBold.ttf') format('truetype');font-weight:800 900;font-display:swap}
:root{--bg:#e7eddc;--bg2:#f6efdf;--panel:rgba(255,252,242,.97);--line:#ded9c4;--text:#405346;--muted:#758173;--gold:#ab731d;--mana:#57835a;--primary:#cb785c;--coop:#5c9474;--boss:#8f7ca5;--danger:#bd5d58;font-family:CatRound,"Malgun Gothic",sans-serif}
body,input,button,select,textarea{font-family:CatRound,"Malgun Gothic",sans-serif}
body{font-size:15px;line-height:1.4}h1,h2,h3,b,strong{font-weight:800}h1{text-shadow:none}
#screen-title{background:#dfe9d5}#lobby-scene:after{background:linear-gradient(180deg,rgba(255,250,237,.12),transparent 70%)}
#lobby-brand{position:absolute;z-index:2;top:13%;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;white-space:nowrap;color:#46634f;filter:drop-shadow(0 2px 0 #fff9e8)}
#lobby-brand small{font-size:14px;letter-spacing:5px;font-weight:800;color:#77825c}
#lobby-brand h1{font-size:clamp(32px,5vw,58px);margin:0;letter-spacing:-2px;color:#41614e}
#lobby-brand p{font-size:14px;margin:3px 0;font-weight:700}
#hero-art{top:52%;gap:4px;filter:drop-shadow(0 8px 5px #3e4a3c55)}
#hero-art img{width:clamp(100px,15vh,150px);height:auto;animation:none;object-fit:contain}
#hero-art img:nth-child(2){width:clamp(120px,18vh,180px);animation:none}
.lb-top{background:linear-gradient(#fffdf3ed,#fffdf3bd);border-bottom:1px solid #ddd9c4;box-shadow:0 2px 15px #54634d15;color:#405346}
.lb-profile,.lb-iconbtn{background:#fffaf0;color:#405346;border-color:#d9d6bd;text-shadow:none;box-shadow:0 3px 0 #b9c3ab}
.lb-avatar{background:#e8eedb;border-color:#cad5ba}.lb-pinfo small{color:#7a8973}
.chip{background:#fffaf1;color:#52664f;border:1px solid #dcdcc5;text-shadow:none;box-shadow:0 2px 0 #bec8b044}
.lb-side .lb-icon{background:#fff9e9f2;color:#4c6150;border:1px solid #c6cdb3;box-shadow:0 4px 0 #a3b19799;text-shadow:none;border-radius:18px}
.lb-side .lb-icon .ic{filter:none}.lb-side{gap:13px}.lb-side.left{left:16px}.lb-side.right{right:16px}
.lb-actions{bottom:88px;width:min(420px,56vw);gap:12px}
.btn{color:#4c6251;background:linear-gradient(#fffdf5,#ecebd7);border:1px solid #b6c4a9;text-shadow:none;box-shadow:0 4px 0 #9bad8b, inset 0 1px 0 #fff;border-radius:14px;font-weight:800}
.btn:hover{filter:brightness(1.03)}.btn:active{box-shadow:0 1px 0 #9bad8b;transform:translateY(3px)}
.btn.primary,.btn.coop,.lb-start{color:#fffdf2;background:linear-gradient(#81ad8c,#5e9076);border-color:#507c63;box-shadow:0 5px 0 #456b53,inset 0 2px 0 #b8d0a9;text-shadow:0 1px #456b5370}
.lb-start{font-size:27px;min-height:78px;border-radius:24px}.lb-start small{color:#f0f6df;font-size:13px;letter-spacing:2px}
.btn.boss,.btn.tower{background:linear-gradient(#eadfeb,#d7c9dd);color:#725d83;border-color:#b5a6bf;box-shadow:0 4px 0 #ad9db7}
.btn.ghost{box-shadow:none;background:transparent;border-color:transparent;color:#778573}
.lb-pill{font-size:15px;background:#fff9e9ed;color:#56674e;border-color:#b8c4a9;text-shadow:none}
.lb-pill.rune,.lb-pill.boss{background:#fff9e9ed;color:#56674e;box-shadow:0 4px 0 #9bad8b}
.lb-tabs{background:#fff9eaed;border-top:1px solid #ced1b8;box-shadow:0 -4px 20px #5b6b5215;min-height:65px}
.lb-tab{color:#7d8973;text-shadow:none}.lb-tab.active{background:#e6edd8;color:#43644b;border-color:#a6b995}.lb-tab span{filter:none}
.panel,.lb-box,.login-box,.mon-detail,.detail-box,.card,.gacha-card,.shop-item,.pass-row,.relic-card{color:var(--text);background:var(--panel);border-color:var(--line);box-shadow:0 12px 35px #394d3025;text-shadow:none}
.panel h3,.lb-box h3{color:#63775b}.lb-popup{background:#3045347a;backdrop-filter:blur(5px)}.lb-box{border:2px solid #c7d3b5;border-radius:24px}
input,select,textarea,.field input,.join-row input{color:#435c49;background:#fffdf6;border:1px solid #cdd4bc;border-radius:12px;outline-color:#83a284}
.diff{background:#eff1e4;color:#4a5d4c}.diff.sel{background:#e4eedb;border-color:#88ab81}.diff small{color:#75816c}
.tchat,.chat-panel,#chat,.game-log{color:#4a5e4b;background:#fffbeeeb;border:1px solid #c9d2b9;box-shadow:0 5px 18px #41503820;border-radius:18px}
.tchat{bottom:82px;left:88px;width:280px;height:215px;font-size:13px}.tchat-head{background:#e7ecd9;border-color:#d1d9c0;color:#55694f}
.online,.online-list{color:#73846b}.tchat input{color:#4b624d;background:#fffef6}.news{line-height:1.7}
#screen-game,#game-wrap{background:radial-gradient(ellipse at 50% 40%,#f4f0dd,#dbe5cf)}#board{background:#dce8d2;border-radius:16px;box-shadow:0 8px 30px #61744b30}
#hud-top,#hud-bottom,.hud-panel,.floating-panel,.side-panel,#selection,#missions,#cards,#result{color:#435746;background:#fffbefef;border-color:#c6d0b5;text-shadow:none;box-shadow:0 4px 15px #52644920}
#hud-top .chip,.stat{color:#53664d;background:#f5f2de;border-color:#d9dec4}
#hud-bottom .btn{font-size:14px}.gold{color:#9e782d}.mana{color:#608951}.hint{line-height:1.55;color:#78816e}.panel-title{color:#4c6251;border-color:#dbe0c7}
#hud-story{font-size:12px;letter-spacing:1px;color:#7a8669;margin-left:8px}
.mon-card,.mon-item,.relic,.shop-card,.rune,.trait{background:#f1f2e5;color:#4c6251;border-color:#d7dfc5}
.mon-card img,.mon-item img,.gacha-card img{image-rendering:auto}
.story-copy{font-size:16px;line-height:1.9}.story-chapters{display:flex;flex-wrap:wrap;gap:8px}.story-chapters span{background:#e8efdd;border-radius:14px;padding:8px 12px;font-size:13px}
#toast .toast,.toast{background:#fff9e9;color:#4e624f;border:1px solid #b6c4a9;text-shadow:none;box-shadow:0 4px 15px #4b61422a}.toast.err{color:#a9534f}
#btn-story{position:absolute;top:28%;left:50%;transform:translateX(-50%);z-index:3;background:#fff8e7d9;color:#647851;border:1px solid #c7ceb1;border-radius:20px;padding:7px 16px;font-size:13px;box-shadow:0 3px 0 #aab99b}
@media(min-width:1000px) and (min-height:600px){.panel{font-size:16px}.lb-box{padding:24px}.panel-head h2{font-size:24px}}
@media(max-height:600px){#lobby-brand{top:15%}#lobby-brand h1{font-size:30px}#lobby-brand small,#lobby-brand p{display:none}#btn-story{top:26%;font-size:11px;padding:4px 12px}#hero-art{top:47%}#hero-art img{width:76px}#hero-art img:nth-child(2){width:92px}.lb-actions{bottom:58px;width:min(360px,48vw);gap:6px}.lb-start{min-height:48px;font-size:22px}.lb-start small{font-size:10px}.lb-row .btn{padding:6px 10px;font-size:12px}.lb-tabs{min-height:48px}.lb-side{gap:6px}.lb-side .lb-icon{border-radius:12px}.lb-side.left{left:10px}.lb-side.right{right:10px}#hud-story{display:none}.tchat{bottom:60px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}

/* Verified in the actual game, not the earlier concept preview. */
#lobby-bg{width:100%;height:100%}
#lobby-brand{padding:8px 28px;border-radius:28px;background:radial-gradient(ellipse,#fff8e7c9,transparent 75%)}
.lb-tab{background:linear-gradient(#fffcf1,#eeefdc);border-color:#c1ccb2;color:#75826b;box-shadow:inset 0 2px #fff;text-shadow:none}
#hero-art img{filter:drop-shadow(0 5px 4px #4e4a333d)}
#hud-top .wave-num{text-shadow:none;color:#4c634e}
.wave-next{color:#78866e}.wave-next b{color:#a88030}
.hud-res .res{background:#f1eedc;border:1px solid #d5d9bd;color:#648055}
.castle-bar{background:#e3e8d2;border-color:#bacaaa;color:#5d7555}
.mute{background:#e6ecd7;color:#587252;border:1px solid #c5d1b5;border-radius:12px}
#hud-bottom{background:linear-gradient(#fff9e9d9,#f0eed7f2);border-radius:18px 18px 0 0;padding:8px;gap:7px}
.act{background:linear-gradient(#fffdf2,#e5e9d0);border:1px solid #aebf9b;color:#536a4d;text-shadow:none;box-shadow:0 4px 0 #99ab87,inset 0 2px #fff}
.act .ic{filter:none}.act.summon{background:linear-gradient(#8cb799,#62957b);color:#fffdf0;border-color:#547b5b;box-shadow:0 4px 0 #4e7756;animation:none!important}
.act.summon .cost{color:#fff8d8}.act.on{background:#b6d1a5}.act.disabled{opacity:.65}
#gamelog{background:#fffbeddd;border-color:#ced6bc;color:#75836c}#gamelog .good{color:#5e946e}#gamelog .err{color:#b65f56}
#hud-partner{background:#fff9e6;color:#667c5a;border:1px solid #c3d0b1}
#hud-boss{background:#fff4e2f5;color:#996d4d;border-color:#d9a97a}#hud-boss .bhp,#hud-boss .btimer{color:#9d7b5c}#hud-boss .btimer b{color:#b75e4f}
#hud-boss .bbar{background:#e7dac6}#hud-boss .bbar i{background:linear-gradient(#e4a890,#cf887c)}
#card-modal{background:#4e614ccc;backdrop-filter:blur(5px)}.card-title{color:#fff9e5;text-shadow:0 2px #526447}.card .cn{color:#8b783c}
.card{background:linear-gradient(90deg,#fffaf0,#eff1df);color:#52674e;border-color:#b6c7a6}
#monster-detail{background:#edf0df}.mcard{background:#eff2e3;border-color:#d2ddc4}.mcard.sel{border-color:#91b086}.mcard .bar{background:#d5ddc5}.mcard .bar i{background:#a3c4a2}
.skin,.line-pick button{background:#f1f2df;color:#53694c;border:1px solid #c9d5b8}
.skin.eq{border-color:#91b086;background:#e4eed8}.btn.gacha{background:linear-gradient(#efd5ce,#dda69c);border-color:#c7968b;color:#784e4b;box-shadow:0 4px #b5847b}
.ctab.on{color:#607547;background:#f3ebcd;border-color:#d3c18f}.chat-quick button{background:#e5ecd7;color:#677b54}
#chat-input,#gchat-input{letter-spacing:0;text-transform:none;text-align:left;flex:1;min-width:0}.join-row .btn{white-space:nowrap;flex-shrink:0}
#result{background:#3d523bbf}#result-why .why{color:#b96454}
.lb-side #btn-guild .ic{font-size:0}.lb-side #btn-guild .ic:after{content:'🐾';font-size:24px}
@media(max-height:600px){#game-wrap.compact #hud-top{background:#fffbefec}#game-wrap.compact #hud-bottom{background:#f8f4e4ed}.act .lb{font-size:10px}.act .cost{font-size:9px}.act{padding:4px 2px;gap:0}.act .ic{font-size:17px}#lobby-brand{padding:0 24px}.lb-actions{bottom:55px}}

@media(max-height:600px){#hero-art{top:29%}}
@media(min-height:601px){#hero-art img:nth-child(2){width:220px}}
#upgrade-panel .panel-title{font-size:14px;line-height:1.45}
#hud-res .res{white-space:nowrap}
