@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#353d31;--paper:#fffdf4;--orange:#e97534;--green:#68774b}*{box-sizing:border-box}body{margin:0;overflow:hidden;font-family:'Noto Sans SC',sans-serif;color:var(--ink);background:#c6d3b6}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit;color:inherit}#game,#game canvas,#vignette{position:fixed;inset:0;width:100%;height:100%}#vignette{pointer-events:none;background:linear-gradient(90deg,#fff4dc35,transparent 30%),linear-gradient(0deg,#343f2d40,transparent 18%)}header{position:absolute;top:30px;left:38px;right:38px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-weight:900;font-size:23px;letter-spacing:1px}.brand-icon{width:43px;height:43px;background:var(--orange);border-radius:14px;color:#fff4db;display:grid;place-items:center;font-size:38px;transform:rotate(-8deg)}.brand small{display:block;font-size:9px;letter-spacing:2.5px;margin-top:3px}.brand b{font-size:9px;border:1px solid #48503d55;padding:5px 7px;border-radius:5px;align-self:start;margin:4px 0 0 7px;letter-spacing:1px}.top-right{display:flex;align-items:center;gap:8px}.top-right button{border:1px solid #fff8;background:#fffaf0c9;border-radius:11px;width:38px;height:38px;font-size:19px;box-shadow:0 3px 10px #3643290b}.live{font-size:11px;font-weight:600;margin-right:16px}.live i{display:inline-block;width:6px;height:6px;background:#6e873d;border-radius:50%;margin-right:6px}.left{position:absolute;top:133px;left:38px;width:269px;pointer-events:none}.location>span{font-size:11px;color:#687254;letter-spacing:3px}.location h1{font-size:38px;margin:7px 0 10px;font-weight:900;letter-spacing:1px;line-height:1.3}.location h1 span{display:block;font-size:11px;font-weight:500;letter-spacing:6px;margin-top:7px}.location p{font-size:11px;color:#677052;margin-bottom:28px}.quests{background:#fffdf2e8;backdrop-filter:blur(12px);border:1px solid #fff9;border-radius:17px;box-shadow:0 12px 40px #48553b13;overflow:hidden}.section-title{font-size:11px;font-weight:700;padding:17px 17px 9px;display:flex;justify-content:space-between}.section-title span{font-size:8px;color:#9c9d89;letter-spacing:1px}.quest{display:flex;gap:12px;padding:15px 17px}.quest>i{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;background:#f2ead4;color:#9f713e;border-radius:9px;font-style:normal;font-size:19px}.quest:nth-child(3)>i{background:#ecebdd;color:#7d8957}.quest:nth-child(4)>i{background:#faedd4;color:#d59d3a}.quest>div{flex:1}.quest strong{font-size:12px;font-weight:700}.quest p{font-size:9px;color:#999985;margin:6px 0 9px;display:flex;justify-content:space-between;gap:5px}.quest p b{font-weight:500;color:#6b735e;white-space:nowrap}.track{height:3px;background:#e9e6d9;border-radius:5px;overflow:hidden}.track em{display:block;width:0;height:100%;background:#d99b52;transition:width .3s}.quest-footer{font-size:9px;background:#efeddf99;padding:13px 17px;display:flex;justify-content:space-between;color:#8a8f77}.score{position:absolute;top:112px;right:38px;text-align:right}.score>span{font-size:10px;letter-spacing:3px}.score strong{display:block;font-family:Arial,sans-serif;font-size:50px;font-weight:800;letter-spacing:-2px;line-height:1.25}.score>div{font-size:11px;color:#66744d;display:flex;justify-content:end;align-items:center;gap:6px}.score i{font-size:19px;color:#e38938;font-style:normal}.mapbox{position:absolute;right:38px;bottom:108px;background:#fffdf0e8;border:1px solid #fff9;border-radius:14px;padding:13px 13px 10px;width:206px;box-shadow:0 8px 25px #273c2617}.maphead{font-size:10px;font-weight:700;display:flex;justify-content:space-between;margin-bottom:8px}.maphead span{font-size:8px;color:#90967b}#map{width:180px;height:150px;border-radius:7px;background:#e4e8cb}.maplegend{display:flex;align-items:center;gap:5px;font-size:8px;color:#8a907b;margin-top:8px}.maplegend i,.maplegend b,.maplegend em{width:5px;height:5px;border-radius:50%;background:#e27638;display:inline-block;margin-left:6px}.maplegend b{background:#9d7649}.maplegend em{background:#eabf39}.playerlabel{position:absolute;left:50%;bottom:26%;transform:translateX(-50%);font-size:10px;font-weight:600;text-shadow:0 1px 8px #fff8;background:#fff9;padding:5px 11px;border-radius:20px;pointer-events:none}.playerlabel span{color:#e2863e;margin-right:3px;font-size:8px}.playerlabel small{font-size:7px;color:#79816c;margin-left:6px;letter-spacing:1px}footer{position:absolute;bottom:25px;left:38px;right:38px;display:flex;align-items:center;justify-content:space-between;color:#fffced}.controls{display:flex;align-items:center;gap:19px;background:#424b39b8;border:1px solid #ffffff25;border-radius:12px;padding:12px 17px;backdrop-filter:blur(15px)}.controls>span{font-size:9px;white-space:nowrap;display:flex;align-items:center;gap:4px}kbd{font:9px Arial;background:#ffffff17;border:1px solid #ffffff38;border-radius:4px;padding:4px;min-width:19px;text-align:center}.controls .mousehint{color:#dddcc5;font-size:8px}.footnote{font-size:9px;letter-spacing:1px;color:#f9f9d9}.footnote span{opacity:.5;margin-left:10px}#toast{position:absolute;left:50%;top:19%;transform:translateX(-50%) translateY(-10px);padding:11px 22px;background:#fff9e9ef;border:1px solid #fff;border-radius:30px;font-size:13px;font-weight:600;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}#combo{position:absolute;left:56%;top:43%;font-weight:900;color:#fff1b8;font-size:28px;transform:rotate(-8deg);text-shadow:0 3px 0 #ad673e;pointer-events:none}.modal{position:fixed;inset:0;background:#28332570;backdrop-filter:blur(8px);display:grid;place-items:center;z-index:10}.hidden{display:none!important}.modal-card{background:#fffbed;border:1px solid #fff;border-radius:25px;padding:38px;width:min(500px,90vw);box-shadow:0 30px 90px #23332130}.eyebrow{font-size:8px;letter-spacing:2px;color:#9c9e80}.modal h2{font-size:26px;margin:16px 0}.modal p{font-size:12px;line-height:1.9;color:#8a8e78}.guide{border-top:1px solid #e8e7d5;border-bottom:1px solid #e8e7d5;margin:22px 0;padding:8px 0}.guide p{display:flex;justify-content:space-between;font-size:11px}.guide b{color:#65714d}#resume{background:#e57f40;border:0;color:white;border-radius:10px;padding:13px 20px;width:100%;font-size:13px;font-weight:700}.secondary{border:0;background:transparent;display:block;margin:14px auto 0;font-size:10px;color:#8e927c}#loading{position:fixed;inset:0;z-index:20;background:#f5f0df;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#6c7752}#loading>span{font-size:75px;color:#df8a43}#loading h2{margin:10px;letter-spacing:8px}#loading p{font-size:12px;letter-spacing:2px}.touch{display:none}@media(max-width:1000px){.controls{gap:9px}.mousehint,.footnote{display:none!important}.left{width:235px}.mapbox{right:22px}header{left:22px;right:22px}.left{left:22px}.brand b{display:none}}@media(max-width:650px){header{top:17px;left:16px;right:16px}.brand{font-size:17px;gap:7px}.brand-icon{width:34px;height:34px;font-size:30px}.brand small{font-size:6px}.top-right{gap:4px}.top-right button{width:30px;height:30px;font-size:15px}.live{display:none}.left{top:83px;left:16px;width:185px}.location>span,.location p,.location h1 span{display:none}.location h1{font-size:25px;margin:0 0 15px}.section-title{padding:12px;font-size:10px}.section-title span{display:none}.quest{padding:10px 12px;gap:8px}.quest>i{width:22px;height:22px;font-size:15px}.quest strong{font-size:10px}.quest p{font-size:8px}.quest-footer{display:none}.score{top:83px;right:18px}.score strong{font-size:34px}.score>span{font-size:8px}.mapbox{right:16px;bottom:136px;width:132px;padding:8px}#map{width:114px;height:95px}.maplegend{display:none}.maphead{font-size:8px}footer{display:none}.touch{position:fixed;left:18px;right:18px;bottom:24px;display:flex;justify-content:space-between;align-items:end;user-select:none}.touch button{width:48px;height:44px;border:1px solid #fff8;border-radius:12px;background:#fff9dfbb;backdrop-filter:blur(8px);font-size:20px;margin:3px;touch-action:none}.touch>div:first-child{text-align:center}.touch>div:last-child button{width:56px;height:56px;background:#e88b48d9;color:white}.playerlabel{bottom:23%}#toast{top:55%;font-size:11px;max-width:85vw;width:max-content}.modal-card{padding:25px}}
