@import url('https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
:root{--ink:#e8e4c8;--muted:#a9b5a0;--gold:#d9bd77;--edge:#83907366;--panel:#243b34ee}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#263e35;color:var(--ink);font-family:'Noto Sans KR',sans-serif;font-size:12px}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:3px}#game{width:100vw;height:100dvh;min-height:480px;position:relative;overflow:hidden}#world{display:block;width:100%;height:100%;outline:none}.panel{background:linear-gradient(135deg,#344d40ed,#203831f5);border:1px solid var(--edge);box-shadow:0 5px 22px #162c2933,inset 0 0 0 3px #293d3066;border-radius:4px}.brand{position:absolute;left:28px;top:22px;display:flex;align-items:center;gap:12px;text-shadow:0 2px 4px #182e25}.brand-icon{font-size:43px;color:#f0da9e}.brand h1{font-family:'Gowun Batang',serif;font-size:28px;margin:0;letter-spacing:5px}.brand h1 span{font:9px 'Noto Sans KR',sans-serif;letter-spacing:3px;vertical-align:middle;margin-left:6px}.brand p{margin:3px 0;color:#d0d8b9;font-size:10px;letter-spacing:3px}.build{font-size:8px;letter-spacing:1.5px;border-left:1px solid #d8d9aa55;padding-left:14px;margin-left:6px;color:#e6e4be}.status{position:absolute;top:100px;left:28px;width:273px;padding:12px;display:flex;gap:12px}.portrait{width:50px;height:58px;border:1px solid #9d9c6b;background:radial-gradient(#648073,#2e4640);display:grid;place-items:center;font-size:30px;color:#e8d59b;border-radius:3px}.stats{flex:1}.name{font-weight:700;margin-bottom:8px}.name span{font-weight:400;font-size:9px;color:#c8cbb0;float:right;margin-top:3px}.bar{height:12px;position:relative;background:#142b26;border:1px solid #10251e;margin-top:5px;border-radius:2px;overflow:hidden}.bar i{height:100%;display:block;transition:width .2s}.hp i{background:linear-gradient(#b97762,#935743)}.mp i{background:linear-gradient(#79a8b7,#507d95)}.bar span{position:absolute;width:100%;text-align:center;top:-2px;font-size:9px;text-shadow:0 1px 2px #111}.bar b{position:absolute;left:4px;top:0;font-size:7px;color:#eee9d2}.right{position:absolute;right:24px;top:24px;width:220px}.map{padding:10px}.maptitle{display:flex;justify-content:space-between;padding:1px 2px 10px;font-weight:600}.maptitle small{font-weight:400;color:var(--muted);font-size:9px}#minimap{width:100%;height:125px;background:#6a8060;border:1px solid #91a17455;border-radius:2px}.mapfooter{font-size:9px;color:#b8c3ab;padding:8px 0 0}.mapfooter #coords{float:right}.live-dot{display:inline-block;width:5px;height:5px;background:#d3d594;border-radius:50%;margin:0 4px}.quest{margin-top:12px;padding:17px}.eyebrow{font-size:8px;letter-spacing:2px;color:var(--gold)}.eyebrow span{float:right}.quest h2{font-family:'Gowun Batang',serif;font-size:19px;margin:12px 0}.quest p{font-size:11px;line-height:1.9;color:#c3cbb7}.quest-progress{display:flex;justify-content:space-between;font-size:11px;margin-top:17px}.quest-progress strong{color:#ead499}.quest-track{height:3px;background:#162c24;margin:9px 0 15px}.quest-track i{display:block;height:100%;width:0;background:#ccbd78;transition:width .3s}.reward{font-size:9px;color:#aab49e;display:flex;gap:12px}.reward span{color:#d9cf9b}.location{position:absolute;top:11%;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;text-shadow:0 2px 8px #1c392c;color:#f5f0cf;transition:opacity 2s}.location small{font-size:9px;letter-spacing:4px}.location h2{font:36px 'Gowun Batang',serif;letter-spacing:8px;margin:10px 0}.location p{font-size:11px;letter-spacing:2px}.bottom{position:absolute;bottom:30px;left:24px;right:24px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;pointer-events:none}.bottom>*{pointer-events:auto}.log{width:300px;padding:12px;height:129px;flex-shrink:0;background:#263e33d9}.log nav{border-bottom:1px solid #9bab7c33;padding-bottom:8px;font-size:10px}.log nav span{float:right;font-size:8px;letter-spacing:1px;color:#93a58f}#messages{height:78px;overflow:auto;padding-top:7px;font-size:10px;line-height:1.9;color:#d1d7bd}#messages div:first-child{color:#ead99c}.actionbar{position:absolute;left:50%;transform:translateX(-50%);bottom:0;text-align:center}.actions{display:flex;padding:7px;gap:5px}.actions button{position:relative;width:61px;height:67px;background:linear-gradient(#547060,#324a3e);border:1px solid #86937566;border-radius:3px;overflow:hidden}.actions button:hover{background:#657d5d;border-color:var(--gold)}.actions button:active{transform:translateY(2px)}kbd{font:8px 'Noto Sans KR',sans-serif;color:#d9d9bc}.actions kbd{position:absolute;top:4px;left:5px;font-size:8px}.actions button>span{font-size:29px;line-height:39px;display:block;color:#e1d4a2}.actions button small{font-size:9px;display:block}.actions #magic>span{color:#b0e3de}.bottle{color:#e1a193!important}.divider{width:1px;background:#a7b38b44;margin:5px 3px}.actions i{position:absolute;bottom:0;left:0;right:0;background:#132c2699;pointer-events:none}.actionbar p{font-size:9px;color:#e1e6c9;margin:9px 0 0;text-shadow:0 1px 4px #152c22}.actionbar p span{margin:0 6px}.utilities{margin-left:auto;text-align:right}.coins{color:#e3cd8a;font-size:17px;margin-bottom:16px;text-shadow:0 2px 4px #203228}.coins small{font-size:8px;letter-spacing:2px;margin-left:6px}.utilities button{background:#2d463ce6;border:1px solid #82947777;border-radius:3px;height:31px;min-width:32px;margin-left:5px;font-size:11px}.xp{position:absolute;bottom:0;left:0;right:0;height:16px;background:#223b32;border-top:1px solid #8a987344}.xp i{height:3px;background:#cbb778;width:0;display:block;transition:width .3s}.xp span{font-size:7px;letter-spacing:2px;display:block;text-align:center;line-height:11px;color:#c7ceac}#toast{position:absolute;top:29%;left:50%;transform:translateX(-50%);background:#243a32ed;padding:10px 24px;border:1px solid #aeb58488;color:#f2e4b1;border-radius:3px;opacity:0;transition:opacity .2s;pointer-events:none;text-align:center;max-width:70vw}#dialog{position:absolute;bottom:155px;left:50%;transform:translateX(-50%);width:440px;padding:24px;z-index:5}#dialog small,.modal>small{font-size:9px;letter-spacing:2px;color:var(--gold)}#dialog h2,.modal h2{font:25px 'Gowun Batang',serif;margin:9px 0 16px}#dialog p{line-height:1.9;color:#d4dbc5}#dialog button,.itemrow button{background:#758062;border:1px solid #b1b18a;padding:8px 14px;border-radius:3px;float:right}#dialog:after{content:'';display:block;clear:both}.modal{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:460px;padding:26px;z-index:7}.close{position:absolute;right:14px;top:8px;border:0;background:none;font-size:26px;color:#b4bea4}.itemrow{padding:16px 0;display:flex;gap:15px;align-items:center;border-top:1px solid #91a27e33}.itemrow>span{font-size:28px;color:var(--gold)}.itemrow p{margin:5px 0 0;font-size:10px;color:var(--muted)}.itemrow em{margin-left:auto;font-size:9px;color:var(--gold);font-style:normal}.modal footer{border-top:1px solid #91a27e33;padding-top:18px;color:var(--muted)}.modal footer strong{float:right;color:var(--gold)}dl{display:grid;grid-template-columns:1fr 1.2fr;gap:14px 5px;font-size:11px}dd{margin:0;color:#c5d0bc}.modal>p{font-size:10px;color:#aebda9;line-height:1.9;border-top:1px solid #91a27e33;padding-top:13px}#loading{position:absolute;inset:0;z-index:20;background:#253e34;display:flex;flex-direction:column;align-items:center;justify-content:center}#loading h1{font:34px 'Gowun Batang',serif;letter-spacing:8px}#loading p{color:#bec8ac;font-size:12px}.sigil{font-size:70px;color:#d9c888;animation:pulse 2s infinite}@keyframes pulse{50%{opacity:.4;transform:scale(.9)}}[hidden]{display:none!important}@media(max-width:1050px){.log{width:220px;height:100px}.log #messages{height:49px}.actionbar{left:54%}.right{width:190px}.brand .build{display:none}}@media(max-width:760px){.brand{top:12px;left:14px}.brand h1{font-size:22px}.brand p,.brand h1 span{display:none}.brand-icon{font-size:30px}.status{top:64px;left:12px;width:210px;padding:8px}.portrait{display:none}.right{right:12px;top:12px;width:145px}.map{padding:6px}#minimap{height:83px}.maptitle small,.mapfooter{display:none}.quest{padding:10px;margin-top:7px}.quest h2{font-size:15px;margin:7px 0}.quest p{font-size:9px}.reward{display:none}.quest-progress{font-size:9px;margin-top:8px}.quest-track{margin-bottom:1px}.bottom{left:12px;right:12px;bottom:29px}.log{display:none}.actionbar{position:relative;left:0;transform:none}.actions button{width:46px;height:59px}.actions button>span{font-size:24px}.actions{gap:3px;padding:5px}.utilities .coins{font-size:13px}.utilities button{margin:2px;min-width:26px}.utilities #full{display:none}.actionbar p{font-size:7px}.modal{width:min(460px,94vw)}#dialog{width:min(440px,94vw)}.location{top:35%}.location h2{font-size:28px}.location p{font-size:9px}.location small{font-size:7px}}
/* Character creation and zoom controls */
#creation{position:absolute;inset:0;z-index:15;display:grid;place-items:center;background:radial-gradient(ellipse at 35% 45%,#355d5688,#112b2bef);backdrop-filter:blur(7px)}.createcard{width:min(740px,94vw);padding:38px;background:linear-gradient(140deg,#304c46f5,#1c322ff5);border:1px solid #b9ad7b88;box-shadow:0 28px 100px #091a1acc;border-radius:8px}.createcard>small{letter-spacing:3px;color:#d6c391;font-size:10px}.createcard h1{font:32px 'Gowun Batang',serif;margin:18px 0 12px}.createcard p{color:#b6c8b8;line-height:1.9;font-size:12px}.createbody{display:flex;align-items:center;gap:32px;padding:12px 0 25px}.createbody canvas{width:256px;height:300px;background:radial-gradient(ellipse,#bfc9a833,transparent 65%);border-bottom:1px solid #b9ad7b44}.createfields{flex:1}.createfields label{display:block;font-size:11px;color:#d6c391;margin:16px 0}.createfields input,.createfields select{display:block;width:100%;padding:12px;background:#172d2a;color:#f3edd9;border:1px solid #698076;border-radius:3px;margin-top:9px;font:14px sans-serif}.createfields button{width:100%;padding:15px;background:#d5bf86;color:#263c34;border:0;border-radius:3px;font-weight:bold;cursor:pointer}.zoomtools{position:absolute;right:25px;top:440px;display:flex;align-items:center;padding:5px;gap:12px}.zoomtools button{background:#455f50;border:0;color:#eee5c8;width:30px;height:30px;font-size:20px;cursor:pointer}.zoomtools span{font-size:11px}.modal{max-height:80vh;overflow:auto}#inventory .itemrow{padding:12px 0}@media(max-width:760px){.createcard{padding:22px}.createcard h1{font-size:24px}.createbody{gap:12px}.createbody canvas{width:40%;height:auto}.createfields{min-width:0}.zoomtools{right:12px;top:310px}}
.actions #magic small{font-size:8px;white-space:nowrap;letter-spacing:-.6px}.createfields select{cursor:pointer}
