:root{--cream:#fff4cf;--ink:#402012;--brown:#7d3b22;--orange:#e47727;--green:#607d2f;--paper:#fff7dc;--shadow:#52260f80}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#26140e;color:var(--ink);font-family:"Noto Sans KR",sans-serif;overflow:hidden}.game-shell{height:100vh;display:grid;grid-template-rows:74px 1fr 104px;background:#3c1e13}.topbar{z-index:5;display:flex;align-items:center;gap:18px;padding:8px clamp(12px,2.5vw,42px);background:linear-gradient(#fff7da,#f5dca5);border-bottom:5px solid #6a321c;box-shadow:0 5px 15px #2d130c88}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand-mark{display:grid;place-items:center;width:48px;height:48px;color:#fff8d8;font:900 28px Gaegu;background:radial-gradient(circle at 35% 25%,#b86c54,#713621);border:3px solid #402013;border-radius:46% 53% 48% 45%;transform:rotate(-7deg);box-shadow:inset 4px 5px #e5a085}.brand strong{display:block;font:700 26px Gaegu;line-height:24px}.brand small{font-size:8px;letter-spacing:2.6px;color:#91634a}.season,.wallet{display:flex;align-items:center;gap:10px;padding:9px 16px;border:2px solid #b48551;border-radius:12px;background:#fff9e9;box-shadow:inset 0 -3px #eed8aa}.season strong{color:#9f3a1e}.season i{font-style:normal;font-size:23px}.wallet .coin{display:grid;place-items:center;width:23px;height:23px;color:#f8bd36;border:3px solid #a7641e;border-radius:50%;background:#ffc845}.wallet small{font-weight:900;color:#9c633d}.round-button{width:42px;height:42px;border:2px solid #a86a3d;border-radius:50%;background:#fff7dd;color:#66341d;font:bold 22px Georgia;box-shadow:0 3px #7a4224;cursor:pointer}.round-button:active{transform:translateY(2px);box-shadow:0 1px #7a4224}.game-stage{position:relative;min-height:0;overflow:hidden;background:#bd8c39}.world-art{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.game-stage:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 75px #35140970}canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}.paper-card{position:absolute;z-index:3;background:linear-gradient(120deg,#fff9df,#f7e4b2);border:3px solid #7d4427;border-radius:10px;box-shadow:0 5px 0 #4d2618,0 10px 20px #36180c55}.quest-card{top:20px;left:22px;width:250px;padding:40px 14px 10px}.ribbon{position:absolute;top:-11px;left:18px;right:18px;padding:8px;text-align:center;color:#fff8db;font:700 20px Gaegu;background:#c45527;border:3px solid #713018;border-radius:7px;box-shadow:0 3px #73351d}.quest-card label{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:7px;padding:7px 2px;font-size:13px;border-bottom:1px dashed #bf9362}.quest-card label:last-child{border:0}.quest-card input{appearance:none;width:18px;height:18px;border:2px solid #95613c;background:#fffdf1;border-radius:4px}.quest-card input:checked{background:#6f9b3e}.quest-card input:checked:after{content:"✓";display:block;color:white;font-weight:900;line-height:13px;text-align:center}.quest-card b{color:#a75b31}.players-card{top:20px;right:22px;width:245px;padding:12px}.card-title{display:flex;justify-content:space-between;padding-bottom:8px;border-bottom:2px solid #c99b61;font:700 16px Gaegu}.card-title b{font:700 11px "Noto Sans KR";color:#55752e}.card-title i{display:inline-block;width:7px;height:7px;background:#63a83d;border-radius:50%}.player-row{display:flex;align-items:center;gap:9px;margin-top:9px}.avatar{display:grid;place-items:center;width:35px;height:35px;border:2px solid #713a22;border-radius:50%;background:#e7ad6d}.avatar.pink{background:#e8a3a2}.avatar.blue{background:#8eb7ba}.player-row div{flex:1}.player-row strong,.player-row small{display:block;font-size:11px}.player-row small{font-size:8px;color:#906b50}.player-row em{padding:1px 4px;color:#fff;background:#ba6031;border-radius:4px;font-size:8px;font-style:normal}.online{width:7px;height:7px;border-radius:50%;background:#6fa843}.toast{position:absolute;z-index:4;left:50%;bottom:18px;transform:translateX(-50%);padding:9px 20px;color:#fff7d8;background:#3b2018df;border:2px solid #f3c985;border-radius:20px;font:700 14px Gaegu;transition:.25s;pointer-events:none}.toast.pop{transform:translateX(-50%) translateY(-5px) scale(1.05)}.chat-button{position:absolute;z-index:4;right:25px;bottom:20px;padding:10px 16px;border:2px solid #66341d;border-radius:22px;background:#fff1c9;color:#4d2718;font-weight:900;box-shadow:0 4px #572b19;cursor:pointer}.chat-button b{position:absolute;top:-8px;right:-5px;width:18px;height:18px;color:white;background:#d95f36;border-radius:50%;font-size:11px}.chat-panel{display:none;position:absolute;z-index:5;right:24px;bottom:70px;width:280px;padding:12px;background:#fff8dfed;border:3px solid #754226;border-radius:12px;box-shadow:0 7px 18px #33150966;font-size:12px}.chat-panel.open{display:block}.chat-panel div{padding:7px;border-bottom:1px solid #dab985}.chat-panel form{display:flex;margin-top:8px}.chat-panel input{min-width:0;flex:1;padding:8px;border:1px solid #b98555;border-radius:6px 0 0 6px}.chat-panel button{border:0;background:#8b4d2b;color:white;border-radius:0 6px 6px 0}.hud{z-index:6;display:grid;grid-template-columns:260px 1fr 220px;align-items:center;gap:20px;padding:10px 28px;background:linear-gradient(#6d351f,#3f1d13);border-top:5px solid #9a5930;box-shadow:0 -7px 20px #32150bbb}.status-panel{display:flex;gap:10px;align-items:center}.mini-avatar{display:grid;place-items:center;width:65px;height:65px;border:4px solid #dca956;border-radius:50%;background:#91b463;font-size:34px;box-shadow:0 3px #2c160e}.bars{flex:1;color:#ffe9bb;font-size:9px}.bars label{display:flex;justify-content:space-between;margin:3px}.bar{height:10px;border:2px solid #28130d;border-radius:8px;background:#2b180f;overflow:hidden}.bar i{display:block;height:100%;border-radius:6px}.bar.hp i{width:93%;background:linear-gradient(90deg,#c9412e,#f17949)}.bar.energy i{width:84%;background:linear-gradient(90deg,#d79e20,#ffe063);transition:.3s}.hotbar{display:flex;justify-content:center;gap:6px}.hotbar button{position:relative;width:68px;height:72px;padding:5px;border:3px solid #4f291a;border-radius:9px;background:linear-gradient(#f5d796,#c99150);box-shadow:0 4px #27130c;cursor:pointer}.hotbar button.selected{transform:translateY(-7px);border-color:#fff0a5;outline:3px solid #e6762d;background:linear-gradient(#fff1b2,#dfa454)}.hotbar kbd{position:absolute;top:2px;left:5px;color:#70452d;background:transparent;font:bold 10px sans-serif}.hotbar span{display:block;font-size:27px}.hotbar small{display:block;font:700 10px Gaegu}.hotbar em{position:absolute;right:3px;bottom:2px;color:#fff;background:#7d3b22;border-radius:8px;padding:1px 5px;font-size:10px;font-style:normal}.tip{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:#f7d99a;font-size:10px}.tip kbd{padding:5px 7px;color:#4a2719;background:#f7dfac;border-radius:5px;box-shadow:0 2px #9a6133}.modal{position:fixed;z-index:20;inset:0;display:grid;place-items:center;background:#21110da8;backdrop-filter:blur(5px)}.modal.hidden{display:none}.modal-card{position:relative;width:min(440px,90vw);padding:25px;text-align:center;background:#fff4cf;border:5px solid #7a3d22;border-radius:18px;box-shadow:0 12px 0 #3d1b11}.modal-card .close{position:absolute;right:12px;top:8px;border:0;background:none;color:#744027;font-size:30px;cursor:pointer}.big-potato{font-size:64px}.modal-card h2{margin:3px;font:700 32px Gaegu}.modal-card p{line-height:1.8;font-size:14px}.steps{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px}.steps b{padding:10px;background:#edcf90;border-radius:8px}.steps i{font-style:normal}.primary{padding:12px 22px;color:white;background:#b6542b;border:0;border-radius:9px;font-weight:900;box-shadow:0 4px #6b2e1b;cursor:pointer}@media(max-width:900px){.players-card{display:none}.hud{grid-template-columns:160px 1fr;padding:8px 10px}.tip{display:none}.hotbar button{width:55px}.brand small{display:none}.season span{display:none}}@media(max-width:650px){.topbar{gap:7px;padding:7px}.brand strong{font-size:19px}.brand-mark{width:40px;height:40px}.season{padding:7px}.wallet{display:none}.quest-card{transform:scale(.82);transform-origin:top left}.hud{grid-template-columns:1fr;height:100px}.status-panel{display:none}.hotbar{gap:2px}.hotbar button{width:15.5vw;max-width:62px}.chat-button span{display:none}}
