*{box-sizing:border-box}html,body{margin:0;height:100%;background:#14251e;color:#edf1d6;font-family:ui-sans-serif,system-ui,sans-serif}body{padding:16px 24px}main{height:100%;max-width:1680px;margin:auto;display:flex;flex-direction:column}button{font:inherit;color:inherit;cursor:pointer}header{display:flex;align-items:center;gap:28px;height:64px;flex-shrink:0;padding:0 3px 15px}.brand{display:grid;grid-template-columns:36px 1fr;align-items:center;color:#e4e8b2;text-decoration:none;font-size:18px;letter-spacing:3px;font-weight:800}.emblem{grid-row:span 2;font-size:32px;color:#d9c975}.brand small{font-size:9px;letter-spacing:2px;font-weight:400;color:#9aaa8b;margin-top:4px}.season{display:flex;gap:12px;align-items:center;margin-left:auto;font-size:14px}.season>span{font-size:27px;color:#e8ce80}.season small{display:block;font:12px monospace;color:#b1bd9a;margin-top:3px}header button{background:#283c2e;border:1px solid #536245;border-radius:5px;padding:9px 13px;font-size:14px}header button span{font:11px monospace;border:1px solid #718060;border-radius:3px;padding:1px 4px;margin-left:9px}.world{position:relative;flex:1;min-height:230px;overflow:hidden;border:1px solid #74825a;border-radius:10px;background:#70954f;box-shadow:0 15px 50px #0004}canvas{display:block;width:100%;height:100%;image-rendering:pixelated;touch-action:none}button:focus-visible,canvas:focus-visible{outline:2px solid #f6dc92;outline-offset:2px}.vitals{position:absolute;left:20px;top:18px;display:flex;gap:20px;align-items:center;background:#183023ec;border:1px solid #c5cc922f;padding:11px 15px;border-radius:6px;pointer-events:none}#health{color:#e89680;font-size:19px;letter-spacing:2px}.coin{color:#e8cd77;font-size:14px}.coin b{color:#f1e1a2;margin-left:4px;font-variant-numeric:tabular-nums}.place{position:absolute;top:22px;right:22px;color:#f3edcd;background:#183023cb;padding:8px 12px;border-radius:4px;font-size:13px;letter-spacing:1px;pointer-events:none}footer{display:flex;align-items:center;gap:25px;min-height:93px;padding-top:13px}.tools{display:flex;gap:6px}.tools button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:66px;height:65px;background:#21372a;border:1px solid #506445;border-radius:6px;color:#adbda0;font-size:11px}.tools button>span{font-size:25px;line-height:29px;color:#e0dab2}.tools button.selected{border-color:#e1cb82;box-shadow:inset 0 0 0 1px #e1cb82;background:#43513a;color:#fff1c3}.tools kbd{position:absolute;left:5px;top:4px;font:10px monospace;color:#a7b792}.inventory{display:flex;gap:21px;font-size:12px;color:#a7b89b}.inventory span{display:flex;flex-direction:column;gap:4px}.inventory b{font:19px monospace;color:#ece6bb}.controls{margin-left:auto;font-size:12px;line-height:1.9;color:#8fa48f}.controls b{font-weight:500;color:#c3cfaf}.pad{position:absolute;bottom:20px;left:20px;display:grid;grid-template-columns:repeat(3,40px);gap:4px}.pad button{height:40px;padding:0;background:#183829cf;border:1px solid #b6cf9566;border-radius:6px;font-size:22px;touch-action:none;user-select:none}.pad button:first-child{grid-column:2}.pad button:nth-child(2){grid-column:1;grid-row:2}.pad button:nth-child(3){grid-column:2;grid-row:2}.pad button:nth-child(4){grid-column:3;grid-row:2}.pad button.active{background:#77964b}#interact,#action{position:absolute;bottom:20px;right:20px;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;border:1px solid #dbd49a;background:#263d2be8;font-size:22px;touch-action:manipulation}#action{right:96px;border-color:#9eaf81;font-size:25px}#interact span,#action span{font-size:8px;letter-spacing:.6px}#hint{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);background:#173225ed;color:#f3e9b5;border:1px solid #a1b07666;padding:10px 15px;border-radius:5px;font-size:13px;text-align:center;max-width:40%;pointer-events:none}#toast{position:absolute;top:80px;left:50%;transform:translateX(-50%);background:#f5e9be;color:#35442c;border:1px solid #8f9b63;border-radius:6px;box-shadow:0 4px 20px #14322433;padding:12px 20px;max-width:80%;text-align:center;font-size:14px;pointer-events:none;opacity:0;transition:opacity .2s}#toast.visible{opacity:1}.fishing{position:absolute;top:25%;left:50%;transform:translateX(-50%);padding:16px 22px;min-width:255px;text-align:center;background:#163a32ed;border:1px solid #9fbea0;border-radius:8px;font-size:15px}.fish-meter{height:6px;background:#375b4a;margin-top:12px;border-radius:4px;overflow:hidden}.fish-meter i{display:block;height:100%;background:#e9d583;transition:width .1s}#loading{position:absolute;inset:0;background:#173628;display:grid;place-content:center;color:#e7dfa6;z-index:9}[hidden],#loading[hidden]{display:none!important}aside{position:absolute;right:14px;top:14px;bottom:14px;width:340px;max-width:calc(100% - 28px);overflow:auto;background:#f0e6bf;color:#34422e;border:1px solid #8c945f;border-radius:8px;padding:22px;box-shadow:0 8px 45px #15251d80;z-index:5}.journal-head{display:flex;align-items:start;gap:10px}.journal-head h1{font-family:Georgia,serif;font-size:24px;font-weight:500;line-height:1.1;margin:0}.journal-head button{background:none;border:0;color:#526040;font-size:25px;padding:0;margin-left:auto}aside h2{font-size:12px;text-transform:uppercase;letter-spacing:1.4px;margin:24px 0 10px;color:#69734c}aside p{font-size:14px;line-height:1.65}aside small{font-size:12px;line-height:1.6;display:block;color:#6a7456}aside ul{list-style:none;padding:0;font-size:14px;line-height:2}aside li.done{color:#6a8244}aside li::before{content:'○';margin-right:9px}aside li.done::before{content:'✓'}@media(max-width:700px){body{padding:8px}header{gap:12px;height:59px;padding-bottom:10px}.brand{font-size:14px;letter-spacing:1.5px;grid-template-columns:28px 1fr}.brand small{font-size:7px;letter-spacing:1px}.emblem{font-size:26px}header button{font-size:12px;padding:8px}header button span{display:none}.season{font-size:11px;gap:6px}.season>span{font-size:20px}.season small{font-size:10px}.vitals{left:12px;top:12px;padding:8px 10px;gap:13px}#health{font-size:15px}.place{top:65px;left:12px;right:auto;font-size:11px;padding:5px 8px}footer{min-height:86px;gap:13px;padding:9px 2px 0}.tools{gap:4px}.tools button{width:48px;height:62px}.inventory{gap:12px;font-size:10px}.inventory b{font-size:17px}.controls{display:none}.pad{left:12px;bottom:14px}#interact{right:12px;bottom:17px;width:58px;height:58px}#action{right:80px;bottom:17px;width:54px;height:54px}#hint{bottom:111px;max-width:90%;width:max-content;font-size:12px;padding:8px 12px}#toast{top:105px;max-width:90%;width:max-content;font-size:13px}.fishing{top:32%}}
