:root{font-family:'Malgun Gothic','Apple SD Gothic Neo',system-ui,sans-serif;color:#f3e7cc;background:#120e0a;--gold:#e9b95c;--stroke:#634d32;--panel:#211910}*{box-sizing:border-box}body{margin:0;min-width:330px;background:radial-gradient(ellipse at top,#3b2919 0,#17120d 42%,#0e0c09 100%);min-height:100vh}button{font:inherit;cursor:pointer}button:disabled{opacity:.43;cursor:not-allowed}button:focus-visible{outline:2px solid #ffdc84;outline-offset:2px}[hidden]{display:none!important}#app{max-width:1710px;margin:0 auto;padding:12px clamp(8px,1.5vw,28px) 25px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:7px 6px 15px;gap:12px}.brand{display:flex;align-items:center;gap:14px}.brand-icon{font-size:36px;color:var(--gold);text-shadow:0 0 17px #dca33e99}.brand b{font-family:Georgia,'Times New Roman',serif;font-size:27px;letter-spacing:1px;color:#ffd683;text-shadow:0 2px 0 #7a431c}.brand small{display:block;font-size:10px;letter-spacing:2.2px;color:#bd9970;margin-top:3px}.top-tools{display:flex;gap:8px;align-items:center}.top-btn{border:1px solid #685138;background:#2e241a;color:#d8c39c;border-radius:5px;padding:8px 12px;font-size:12px}.top-btn:hover,.bottom-menu button:hover{background:#57412b;color:#fff}.statline{border:1px solid #74532d;box-shadow:inset 0 1px #b88c4b66,0 5px 20px #0004;background:linear-gradient(180deg,#39291a,#1b170f);display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap;padding:10px 8px;gap:10px;margin-bottom:12px;border-radius:7px}.stat{display:flex;gap:9px;align-items:center;font-size:12px;white-space:nowrap}.stat span{color:#bba384}.stat b{color:#f4d08a;font-size:14px;font-variant-numeric:tabular-nums}.stat-meter{gap:6px}.stat-meter .meter{height:8px;width:52px;background:#4b3629;border-radius:10px;overflow:hidden;outline:1px solid #74563a}.meter i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#9a3e27,#6ec787);border-radius:10px;transition:width .25s}.layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:12px}.playcol{min-width:0}.stage{position:relative;overflow:hidden;aspect-ratio:16/9;border:4px ridge #896237;background:#382a20;box-shadow:0 0 0 1px #100b07,0 20px 35px #0007}.stage canvas{width:100%;height:100%;display:block;object-fit:fill}.stage-heading{position:absolute;left:15px;right:15px;top:12px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;gap:5px}.stage-heading span{display:inline-block;background:#130f0bd9;border:1px solid #b78441af;padding:8px 12px;border-radius:3px;font-size:12px;box-shadow:0 4px 12px #0006}.stage-heading span:first-child{color:#ffd98a;font-size:14px;font-weight:bold;letter-spacing:.6px}.toast{position:absolute;top:16%;left:50%;transform:translateX(-50%);min-width:200px;max-width:76%;text-align:center;background:#23180eec;border:1px solid #dfbb6f;color:#ffe4ab;box-shadow:0 10px 45px #000a;font-size:15px;padding:13px 20px;opacity:0;pointer-events:none;transition:opacity .3s;border-radius:5px;z-index:4}.toast.show{opacity:1}.target-hint{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);pointer-events:none;background:#17110ae5;border:1px solid #cda25a;color:#ffeac2;font-size:13px;padding:8px 17px;border-radius:20px;opacity:0;transition:opacity .2s}.target-hint.show{opacity:1}.actionbar{display:flex;gap:15px;justify-content:space-between;align-items:center;background:linear-gradient(110deg,#38271a,#211811);border:1px solid #715031;padding:12px 14px;min-height:88px}.action-left{display:flex;flex-direction:column;gap:5px;min-width:180px;flex:1}.action-left b{color:#ffd47f;font-size:15px}.action-left span{font-size:12px;color:#c9b396;line-height:1.5}.action-buttons{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.btn{border:1px solid #86613c;color:#f4deb5;padding:10px 15px;border-radius:4px;background:linear-gradient(#4c3724,#332418);font-size:13px;box-shadow:inset 0 1px #b6976145,0 2px 5px #0005;transition:filter .15s,transform .15s}.btn:hover{filter:brightness(1.22);transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn-gold{background:linear-gradient(#f4c86c,#bd8132);color:#261709;border-color:#ffe5a1;font-weight:800}.btn-glass{background:#140f0bb0;border-color:#e3bd7299}.btn-small{padding:8px 10px;font-size:12px}.btn-big{font-size:18px;padding:16px 29px}.btn-big span{margin-left:12px}.bottom-menu{display:flex;background:#20160f;border:1px solid #533b25;border-top:0;gap:1px;padding:5px;justify-content:space-between}.bottom-menu button{flex:1;color:#e3cba3;border:0;background:#302216;padding:10px 6px;font-size:12px;white-space:nowrap}.bottom-menu kbd{border:1px solid #88704e;padding:1px 4px;font-size:10px;color:#b8a17c;margin-left:5px;border-radius:3px}.sidecol{display:flex;flex-direction:column;gap:11px;min-width:0}.side-panel{background:linear-gradient(135deg,#2c2017,#1b160f);border:1px solid #745234;box-shadow:inset 0 1px #c19f5b32;padding:12px 13px}.panel-title{color:#f1c779;font-size:14px;font-weight:800;border-bottom:1px solid #76502b;padding-bottom:10px;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between}.panel-title button{background:none;border:0;color:#e9c88a;font-size:21px}.panel-title small{color:#ab8c67;font-weight:400;font-size:12px}#minimap{width:100%;height:auto;display:block;background:#9d865b;border:2px solid #6c4f2d;border-radius:3px;cursor:pointer}.map-legend{display:flex;justify-content:space-between;gap:4px;flex-wrap:wrap;padding-top:7px;font-size:10px;color:#a7977d}.log{height:215px;overflow:auto;display:flex;flex-direction:column;gap:9px;scrollbar-color:#75532c #201710}.logline{border-left:2px solid #896941;padding-left:9px;font-size:12px;color:#d9c4a0;line-height:1.55}.logline small{color:#8f806e;display:block;font-size:10px}.quest-box p{font-size:12px;color:#cdb99a;line-height:1.8;margin:0 0 13px}.clue-row{display:flex;gap:7px;margin-bottom:12px}.clue-row i{flex:1;height:22px;clip-path:polygon(10% 0,90% 0,100% 90%,0 100%);border:1px solid #b18c50;background:#4b3a2b}.clue-row i.got{background:linear-gradient(140deg,#fbdf95,#ac702c);box-shadow:0 0 13px #e9bd6c}.linkbtn{border:0;background:none;color:#ffd078;font-size:12px;padding:0;text-decoration:underline;text-underline-offset:3px}.side-foot{text-align:center;color:#8e765b;font-size:11px;padding:8px}.title-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px;text-align:center;background:linear-gradient(0deg,#100b07d9,#100b0711 43%,#120b04b8);z-index:5}.title-overlay .title-ornament{letter-spacing:3px;color:#ffd37e;font-size:11px;margin-bottom:9px;text-shadow:0 1px 5px #160d06}.title-overlay h1{font-family:Georgia,'Noto Serif KR',serif;line-height:1.18;font-size:clamp(42px,6.8vw,90px);margin:8px 0;font-weight:1000;color:#f7c65c;text-shadow:2px 5px 0 #592b13,0 8px 28px #100902,1px 1px 2px #fffbdb;-webkit-text-stroke:1px #48220e}.title-overlay h2{font-family:Georgia,serif;color:#f5e2bd;letter-spacing:6px;font-size:clamp(15px,2.3vw,27px);text-shadow:0 3px 10px #20130c;margin:0}.title-overlay p{font-size:18px;color:#fce6bc;text-shadow:0 3px 10px #20130c;margin:32px 0 24px}.title-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.title-overlay small{font-size:10px;color:#e3bf8e;margin-top:22px;text-shadow:0 1px 4px #000}.dialog-backdrop{position:fixed;inset:0;background:#040301b9;display:flex;justify-content:center;align-items:center;padding:12px;z-index:50;backdrop-filter:blur(4px)}.dialog{width:min(740px,98vw);max-height:min(86vh,950px);overflow:auto;background:linear-gradient(135deg,#332316,#16120e);border:2px solid #a4773a;border-radius:6px;box-shadow:0 30px 100px #000e,inset 0 0 0 2px #120a06;padding:25px;position:relative;scrollbar-color:#9c7947 #1c140e}.dialog-close{position:sticky;top:0;float:right;z-index:5;font-size:25px;border:1px solid #775538;color:#f6d89b;background:#302015;width:34px;height:34px}.dialog h2{font-family:Georgia,'Malgun Gothic',serif;color:#ffd27b;margin:0 0 12px;font-size:24px}.dialog h3{color:#f0d29d;margin:18px 0 8px}.dialog p{line-height:1.8;color:#dac8ab;font-size:13px}.dialog .minor{font-size:11px;color:#ad9576}.dialog .lead{font-size:15px;color:#f5dfb7;border-left:3px solid #d6a351;padding-left:12px}.dialog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0}.shop-row,.inv-row{border:1px solid #644a32;border-radius:4px;background:#292015;padding:11px;display:flex;align-items:center;gap:10px;justify-content:space-between}.shop-row .desc{flex:1;min-width:0}.shop-row .desc b{display:block;font-size:13px;color:#f0d59b}.shop-row .desc small{font-size:11px;color:#ab9577;line-height:1.5}.item-icon{font-size:27px;min-width:30px;text-align:center}.pill{font-size:11px;border:1px solid #886942;background:#332416;color:#ffe1a4;padding:5px 9px;border-radius:20px;white-space:nowrap}.choices{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 0}.choices button{min-width:110px}.dialog input[type="number"]{background:#130e09;color:#f7d398;padding:9px;border:1px solid #a37c44;border-radius:3px;width:130px}.note{background:#3c2a19;border-left:3px solid #d5a354;padding:10px;color:#e6cca2;margin-top:10px;font-size:12px;line-height:1.65}.card-hand{display:flex;justify-content:center;gap:8px;margin:18px 0;flex-wrap:wrap}.poker-card{width:86px;height:121px;background:#fff9e7;border:3px solid #e5d2ac;border-radius:8px;color:#29231e;display:flex;flex-direction:column;justify-content:space-between;padding:7px;text-align:left;font-family:Georgia,serif;box-shadow:1px 6px 9px #0008;position:relative;transition:transform .2s}.poker-card.red{color:#b43b30}.poker-card.selected{transform:translateY(-14px);box-shadow:0 0 0 4px #dfb957,0 9px 12px #0008}.poker-card b{font-size:18px}.poker-card span{text-align:center;font-size:41px}.poker-card small{text-align:right;font-size:15px}.poker-card.back{background:repeating-linear-gradient(45deg,#643e29,#643e29 9px,#e0b477 9px,#e0b477 11px);border:4px double #e9c58c}.big-map{width:100%;height:auto;max-height:480px;border:2px solid #be9051}.clue-list{display:flex;flex-direction:column;gap:8px;margin:12px 0}.clue-list div{background:#2f2115;border-left:2px solid #bd904c;padding:10px;font-size:13px}.clue-list .unknown{opacity:.55}.win-title{color:#ffe88b!important;text-align:center;font-size:32px!important}.mobile-pad{display:none}body.mobile .mobile-pad{display:flex}body.mobile .bottom-menu kbd{display:none}@media(max-width:1180px){.layout{grid-template-columns:minmax(0,1fr) 248px}.stat{font-size:11px}.stat b{font-size:12px}.statline{gap:7px}.brand b{font-size:22px}}@media(max-width:960px){.layout{grid-template-columns:1fr}.sidecol{display:grid;grid-template-columns:1fr 1fr}.quest-box{grid-column:1/-1}.side-foot{display:none}.log{height:190px}.statline{justify-content:center;gap:10px}.topbar{flex-wrap:wrap}.stage{border-width:2px}.actionbar{flex-direction:column;align-items:stretch}.action-buttons{justify-content:center}}@media(max-width:600px){#app{padding:7px}.topbar{padding:4px 0 8px}.top-tools{gap:3px}.top-btn{font-size:10px;padding:6px}.brand{gap:5px}.brand-icon{font-size:23px}.brand b{font-size:18px}.brand small{font-size:8px;letter-spacing:.6px}.stat{font-size:10px}.statline{gap:5px;padding:8px 3px}.stat-meter .meter{width:31px}.stat b{font-size:10px}.stage-heading{top:5px;left:5px;right:5px}.stage-heading span{padding:5px;font-size:9px!important}.actionbar{gap:7px;padding:8px}.action-buttons .btn{padding:7px;font-size:11px}.action-left b{font-size:12px}.action-left span{font-size:10px}.bottom-menu button{font-size:10px;padding:8px 2px}.sidecol{grid-template-columns:1fr}.title-overlay h1{font-size:40px}.title-overlay h2{font-size:12px;letter-spacing:2px}.title-overlay .title-ornament{font-size:7px}.title-overlay p{font-size:12px;margin:10px 0}.title-actions{gap:5px}.btn-big{padding:9px;font-size:12px}.title-overlay small{font-size:8px;margin-top:8px}.dialog{padding:13px}.dialog-grid{grid-template-columns:1fr}.mobile-pad{position:absolute;bottom:8px;left:7px;right:7px;justify-content:space-between;align-items:end;pointer-events:none}.mobile-pad button{pointer-events:auto;border:1px solid #ffd7898a;color:#ffe5b0;background:#100d09a6;border-radius:8px;min-width:45px;min-height:32px;touch-action:none}.dpad>button{display:block;margin:0 auto 3px}.dpad>div{display:flex;gap:3px}.mobile-pad #touchAction{width:57px;height:57px;border-radius:50%;font-size:17px;color:#ffe5b0;background:#a16b28d9}.mobile-pad small{font-size:10px}.target-hint{bottom:60px;white-space:nowrap;max-width:95%;font-size:10px}.poker-card{width:50px;height:79px;padding:3px}.poker-card b{font-size:12px}.poker-card span{font-size:25px}.poker-card small{font-size:10px}}

/* HD Edition — crafted western adventure finish */
:root{--gold:#f5c472;--panel:#231910}
body{background:radial-gradient(ellipse at 50% -24%,#61402a 0,#21170f 45%,#0e0b09 100%);background-attachment:fixed}
#app{max-width:1810px;padding-top:15px}
.topbar{padding-bottom:17px}.brand-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid #ac7b42;box-shadow:inset 0 0 0 3px #23160d,0 4px 18px #0c0705;background:#4e331d;border-radius:50%;font-size:27px}
.brand b{font-size:30px}.brand small{color:#d2b188;letter-spacing:2.8px}
.top-btn{padding:10px 13px;border:1px solid #87623a;border-radius:7px;background:linear-gradient(180deg,#42301f,#221a15);box-shadow:inset 0 1px #ba9b5c44,0 3px 8px #0004}
.statline{border:2px double #aa7943;background:linear-gradient(180deg,#44301d,#21180f);padding:14px 10px;box-shadow:inset 0 0 0 2px #1e160f,0 10px 24px #0006}
.stat span{color:#dec39a}.stat b{color:#ffe0a1}
.stage{border:5px ridge #c59350;border-radius:7px;box-shadow:inset 0 0 0 1px #f8deae,0 0 0 1px #000,0 28px 58px #000b}
.stage:after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid #f8daa24b;box-shadow:inset 0 0 43px #11090545;z-index:2}
.stage-heading span{border:1px solid #c99856;background:linear-gradient(#241910eb,#170f09e0);box-shadow:inset 0 1px #f2c87855,0 5px 14px #0009;color:#fce1aa}
.actionbar{border:2px solid #8d653b;background:linear-gradient(160deg,#422e1c,#21170f 70%);border-radius:4px;box-shadow:inset 0 1px #c49b5f4d;min-height:106px;padding:16px 17px}
.action-left b{color:#ffe4a0;font-size:17px}.action-left span{color:#d6bfa0;font-size:13px}
.btn{border-radius:7px;border-color:#967149;background:linear-gradient(180deg,#58402a,#302317 85%);text-shadow:0 1px #211306;box-shadow:inset 0 1px #f4cd8a2d,0 4px 8px #0005;transition:transform .12s,filter .14s,box-shadow .14s}
.btn:hover{filter:brightness(1.16);box-shadow:0 0 14px #dea95e2f,inset 0 1px #f4cd8a2d}
.btn-gold{background:linear-gradient(180deg,#ffe1a1 0%,#e7ad4f 45%,#ae6b28 100%);color:#271808;border:1px solid #ffdf90;text-shadow:none;box-shadow:inset 0 1px #fff4c2b8,0 5px 15px #0009}
.bottom-menu{margin-top:2px;background:#17110b;border:1px solid #765436;border-radius:3px;padding:6px}
.bottom-menu button{background:linear-gradient(180deg,#3d2a1a,#241a12);padding:13px 6px;border-right:1px solid #715037}
.side-panel{border:2px solid #8a653d;border-radius:7px;background:linear-gradient(160deg,#382617,#19130e);padding:16px;box-shadow:inset 0 0 0 1px #291e15,0 5px 18px #0007}
.panel-title{font-family:Georgia,'Malgun Gothic',serif;letter-spacing:.6px;font-size:15px;color:#ffdc93}
#minimap{border:3px ridge #c1904d;border-radius:5px;box-shadow:0 5px 16px #0008}
.logline{border-left-color:#c3924e}.quest-box p{color:#dbc6a6}
.title-overlay{justify-content:flex-start;padding-top:clamp(18px,3vw,38px);background:linear-gradient(90deg,#0b0908d9 0,#150e0870 46%,#20120408 100%),linear-gradient(0deg,#0d0805c9 0,#0000 53%);gap:0}
.hero-logo{display:block;width:min(59%,620px);max-height:33%;object-fit:contain;margin:3px auto 2px;filter:drop-shadow(0 6px 11px #080502ec)}
.title-overlay h1{font-family:Georgia,'Malgun Gothic',serif;font-size:clamp(18px,2.4vw,36px);-webkit-text-stroke:0;color:#f4deb4;text-shadow:0 3px 15px #100903;margin:2px 0 9px}
.title-overlay h2{font-size:clamp(10px,1.25vw,18px);letter-spacing:3px;color:#ffcb75}
.title-overlay p{font-size:clamp(11px,1.4vw,17px);margin:13px 0 17px;color:#ffe5b9}
.title-overlay .title-ornament{color:#ffe0ab;font-size:clamp(8px,1vw,13px);letter-spacing:3px}
.title-actions{gap:15px}.title-actions .btn{min-width:210px}
.title-overlay small{margin-top:13px;font-size:11px;color:#fae1b7}
.dialog{border:5px ridge #b88445;border-radius:9px;background:linear-gradient(145deg,#41301f,#1d160f 70%);box-shadow:0 28px 115px #000f,inset 0 0 0 2px #17100a;padding:26px}
.dialog h2{font-size:27px;color:#ffda8f}.dialog-grid{gap:10px}
.shop-row,.inv-row{border:1px solid #89613c;background:linear-gradient(150deg,#38291d,#211a13);border-radius:7px;min-height:74px}
.item-icon{width:52px;height:53px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.atlas-icon{display:inline-block;width:45px;height:45px;background-image:url('../assets/item-atlas.webp');background-size:180px 180px;background-repeat:no-repeat;filter:drop-shadow(0 3px 3px #0009)}
.poker-card{box-shadow:inset 0 0 0 2px #d5be98,1px 6px 15px #0009}
@media(max-width:700px){.brand b{font-size:20px}.statline{padding:8px 5px}.hero-logo{width:83%;max-height:36%;margin:0 auto}.title-overlay{padding:7px}.title-overlay h1{font-size:15px;margin:0}.title-overlay h2{font-size:9px;letter-spacing:1px}.title-overlay p{margin:4px 0 6px;font-size:10px}.title-actions .btn{min-width:110px}.title-overlay small{font-size:8px;margin-top:4px}.title-overlay .title-ornament{font-size:7px}.side-panel{padding:11px}.actionbar{min-height:92px;padding:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.explorer-panel{display:flex;align-items:center;gap:13px;padding:11px 13px;background:linear-gradient(115deg,#422c1e,#1a120d);min-height:106px}
.portrait-frame{width:74px;height:85px;border:3px ridge #d4a359;border-radius:7px;overflow:hidden;background:radial-gradient(circle at center,#9e7345,#281c17);box-shadow:inset 0 1px #fff4cb66,0 3px 12px #0009;flex-shrink:0}
.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 0;filter:drop-shadow(1px 2px 2px #0008)}
.explorer-profile{display:flex;flex-direction:column;gap:4px;min-width:0}
.explorer-profile small{color:#b79c73;font:10px Georgia,serif;letter-spacing:1px}
.explorer-profile b{color:#ffe0a1;font-size:15px}.explorer-profile span{font-size:9px;color:#ab8761;letter-spacing:.4px}
.explorer-profile em{color:#e0c198;font-size:10px;line-height:1.45}
@media(max-width:960px){.explorer-panel{grid-column:1/-1}}
