:root{font-family:DM Sans,system-ui,sans-serif;color:#244d41;font-synthesis:none;--green:#285c49;--cream:#fcf9ee;--gold:#d59e3b}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#c2d9cb}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible,a:focus-visible{outline:3px solid #d8a13c;outline-offset:4px}#world{display:block;width:100vw;height:100dvh;touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 120px #294f3620}.topbar{position:fixed;top:24px;left:32px;right:32px;display:flex;align-items:center;gap:12px;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:11px;color:#284f3f;text-decoration:none;font-family:Manrope,sans-serif;font-size:25px;font-weight:800;letter-spacing:-1px}.brand-icon{font-size:48px;line-height:1}.brand small{display:block;font-size:8px;font-weight:700;letter-spacing:2.2px;margin-top:3px}.balances{margin-left:auto;display:flex;gap:10px}.balances>div{background:#fffbedeb;min-width:132px;height:52px;border:1px solid #fffaf4;box-shadow:0 4px 20px #345b3512;border-radius:17px;display:grid;grid-template-columns:34px 1fr;align-content:center;padding:7px 14px;column-gap:4px}.balances span{font-size:29px;grid-row:span 2;color:#ce9a38;align-self:center}.balances strong{font-size:19px;line-height:21px}.balances small{font-size:9px;text-transform:uppercase;letter-spacing:1.4px;color:#7b8978}.balances .xp span{color:#7d9c74}.icon-button{width:44px;height:44px;background:#fffbedde;border:1px solid #fffdf6;border-radius:50%;font-size:21px;box-shadow:0 3px 15px #345b3512}.glass{background:#fffcefef;border:1px solid #fffef8;box-shadow:0 8px 32px #294e3510;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.quest-panel{position:fixed;top:115px;left:32px;width:276px;padding:23px;border-radius:22px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:700;display:flex;align-items:center;gap:8px;color:#6d826c}.green-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#69976a;box-shadow:0 0 0 4px #779c6c12}.eyebrow #chapter{margin-left:auto;background:#e8eddc;padding:4px 7px;border-radius:6px;color:#49734d;letter-spacing:0}h1{font-family:Manrope,sans-serif;font-size:23px;line-height:1.25;letter-spacing:-.8px;margin:17px 0 6px}p{font-size:12px;line-height:1.65;color:#7d8876;margin:0 0 16px}.objective{display:flex;align-items:center;gap:10px;margin:20px 0;font-size:11px;font-weight:500}.objective .check{font-size:20px;color:#b5bea4}.objective>div{flex:1}.objective>small{font-size:10px;color:#9caa91}.objective-bar{height:3px;background:#e7eadc;margin-top:8px;border-radius:3px;overflow:hidden}.objective-bar i{display:block;background:#83a16b;height:100%;border-radius:3px;transition:width .4s}.objective.done{color:#6b955d}.objective.done .check{color:#76a66b}.reward{font-size:9px;letter-spacing:1px;padding:12px 0;border-top:1px solid #e8e9da;color:#a88a49;white-space:pre-wrap}.quest-bottom{display:flex;justify-content:space-between;border-top:1px solid #e8e9da;padding-top:12px;color:#8b987b;font-size:9px;align-items:center}.quest-bottom>span:last-child{font-size:21px}.right-panel{position:fixed;right:30px;top:115px;display:grid;gap:10px;width:194px}.map-button{border-radius:15px;display:flex;align-items:center;text-align:left;gap:13px;padding:13px 16px;transition:transform .2s,background .2s}.map-button:hover{transform:translate(-4px);background:#fffdf6}.map-button>span{font-size:28px;color:#799171;width:28px;text-align:center}.map-button>div{font-size:12px;font-weight:700}.map-button small{display:block;font-size:9px;font-weight:400;color:#93a084;margin-top:4px}.map-button.expansion{background:#315e49e8;color:#fff6dc;border-color:#5d7956}.map-button.expansion small,.map-button.expansion>span{color:#b7c3a0}.map-button.available{border-color:#e5bd69;box-shadow:0 0 0 3px #e5bd6930}.orders{position:fixed;right:30px;top:426px;width:194px;padding:18px;border-radius:18px}.orders .eyebrow{font-size:8px;margin-bottom:14px}.orders p{font-size:10px;margin:0}.order{display:grid;grid-template-columns:15px 1fr;column-gap:7px;margin-top:14px;align-items:center}.order strong{font-size:11px;font-weight:600}.order small{grid-column:2;font-size:9px;color:#98a086;margin-top:3px}.product-dot{width:11px;height:11px;border-radius:50%;display:inline-block;border:2px solid #ffffff80;box-shadow:0 1px 3px #193b3020}.bottom{position:fixed;bottom:29px;left:32px;right:32px;display:flex;align-items:center;gap:12px;pointer-events:none}.bottom>*{pointer-events:auto}.location{width:calc(50% - 210px);font-size:9px;letter-spacing:1.5px;color:#416448;font-weight:700;min-width:120px}.location .green-dot{margin-right:8px}.location small{display:block;margin:8px 0 0 14px;font-size:18px;letter-spacing:-.6px;color:#365540;font-family:Manrope,sans-serif}.bag-panel{display:flex;align-items:center;gap:15px;padding:13px 16px;border-radius:19px;width:340px}.bag-symbol{font-size:32px;color:#789269}.bag-details{flex:1}.bag-details>div:first-child{display:flex;justify-content:space-between;font-size:11px}.bag-details strong{font-weight:700}.bag-details span{font-size:10px;color:#869b78}.bar{height:5px;background:#e2e8d3;margin:8px 0 5px;border-radius:4px;overflow:hidden}.bar i{display:block;height:100%;background:#83a466;border-radius:4px;transition:width .2s}.bag-details>small{font-size:9px;color:#939c86;display:block;max-width:215px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#upgrade{background:#e6edd9;border-radius:11px;padding:3px 9px;font-size:22px;color:#5c7c4d}#upgrade small{display:block;font-size:8px;padding-bottom:6px}.inventory-button{height:66px;border-radius:18px;padding:0 18px;font-size:26px}.inventory-button span{display:block;font-size:8px;font-weight:600;margin-top:2px}.controls{position:fixed;bottom:112px;left:50%;transform:translate(-50%);font-size:9px;font-weight:700;letter-spacing:2px;color:#3f6348;white-space:nowrap;pointer-events:none}.controls span{font-weight:400;letter-spacing:0;margin:0 7px}.controls b{font-size:13px}.hint{position:fixed;bottom:145px;left:50%;transform:translate(-50%);font-size:11px;background:#2e5848d9;color:#fff8dc;padding:10px 19px;border-radius:22px;pointer-events:none;box-shadow:0 4px 16px #294e3520;text-align:center;white-space:nowrap}#toast{position:fixed;top:98px;left:50%;transform:translate(-50%,-14px);background:#fff7dd;color:#486441;padding:15px 24px;border-radius:15px;box-shadow:0 8px 40px #284f3030;font-size:12px;font-weight:600;opacity:0;pointer-events:none;transition:.3s;max-width:90vw;text-align:center;z-index:6}#toast.show{transform:translate(-50%);opacity:1}dialog{border:1px solid #fffdf5;background:#fcf9ed;color:#305441;border-radius:27px;padding:38px;max-width:520px;width:calc(100% - 32px);box-shadow:0 30px 100px #17382b40}dialog::backdrop{background:#173d3855;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}h2{font-family:Manrope,sans-serif;font-size:32px;line-height:1.2;letter-spacing:-1px;margin:16px 0}h3{font-size:15px;margin:24px 0 12px}.close{position:absolute;right:19px;top:14px;font-size:28px;background:transparent;color:#8e9b7c}ol{padding-left:20px;font-size:13px;line-height:1.75;color:#667c64}li{padding-left:6px;margin-bottom:10px}.primary{border-radius:13px;background:#376c50;color:#fff6dc;padding:14px 24px;width:100%;font-weight:600}.muted{opacity:.65}.welcome{position:fixed;inset:0;background:#234e3a32;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:grid;place-items:center;z-index:10;padding:18px}.welcome-card{max-width:490px;width:100%;text-align:center;background:#fffbef;border:1px solid #fffef7;border-radius:30px;padding:38px;box-shadow:0 25px 100px #1d453c30}.welcome .eyebrow{justify-content:center;font-size:8px}.welcome h2{font-size:40px;margin:20px 0 14px}.welcome p{font-size:12px}.character-options{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:24px 0}.character-options button{display:flex;flex-direction:column;align-items:center;background:#f0f1e3;border:2px solid transparent;border-radius:19px;padding:15px 8px;transition:.2s}.character-options button:hover{border-color:#769269;transform:translateY(-4px);background:#e8efdc}.portrait{font-size:70px;line-height:1.5;filter:drop-shadow(0 5px 5px #40603015)}.character-options strong{font-size:13px}.character-options small{font-size:9px;color:#8a977c;margin-top:5px}.welcome-note{font-size:10px!important}.welcome-seal{font-size:9px;letter-spacing:2px;color:#86a071}.hidden{display:none!important}#inventory-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}#inventory-grid>div{background:#edf0df;border-radius:12px;padding:14px;display:grid;grid-template-columns:16px 1fr 25px;align-items:center;gap:5px}#inventory-grid strong{font-size:11px}#inventory-grid b{font-size:18px}#inventory-grid small{grid-column:2/4;font-size:9px;color:#90a07e}.achievement{font-size:11px;background:#edf0e3;color:#9ca78d;border-radius:9px;padding:11px;margin:5px 0}.achievement small{float:right}.achievement.earned{background:#e2ecd3;color:#64834c}#joystick{display:none;position:fixed;left:24px;bottom:110px;width:112px;height:112px;border-radius:50%;background:#fffbe83a;border:1px solid #fffce670;touch-action:none;align-items:center;justify-content:center}#joystick i{width:48px;height:48px;display:block;background:#fff9e8bd;border:1px solid #fffdec;border-radius:50%;box-shadow:0 3px 15px #315b4320;pointer-events:none}#loading{position:fixed;inset:0;display:grid;align-content:center;justify-content:center;text-align:center;background:#e9edda;z-index:20}#loading>span{font-size:65px;color:#618656;animation:rotate 8s linear infinite}#loading p{font-size:12px;letter-spacing:1px}@keyframes rotate{to{transform:rotate(360deg)}}@media(max-width:1000px){.quest-panel{left:18px;width:230px;padding:18px}.topbar{left:20px;right:20px}.right-panel,.orders{right:18px;width:165px}.map-button{padding:12px;gap:9px}.bottom{left:20px;right:20px}.brand{font-size:22px}.balances>div{min-width:105px}.orders{top:414px}.location{min-width:100px}.quest-panel h1{font-size:21px}}@media(pointer:coarse){#joystick{display:flex}.controls{display:none}}@media(max-width:650px){.topbar{top:16px;left:16px;right:16px;gap:7px}.brand{font-size:18px;gap:7px}.brand-icon{font-size:34px}.brand small{font-size:5px;letter-spacing:1.2px}.balances{gap:6px}.balances>div{min-width:72px;padding:6px 9px;height:43px;border-radius:13px;grid-template-columns:20px 1fr;column-gap:3px}.balances span{font-size:22px}.balances strong{font-size:14px;line-height:17px}.balances small{font-size:6px;letter-spacing:.8px}.balances .xp{display:none}.icon-button{width:34px;height:34px;font-size:17px}.quest-panel{left:14px;top:80px;width:185px;padding:15px;border-radius:17px}.eyebrow{font-size:7px;letter-spacing:1.1px}.quest-panel h1{font-size:18px;margin-top:12px}.quest-panel p{font-size:9px;margin-bottom:10px}.objective{font-size:9px;gap:6px;margin:13px 0}.objective .check{font-size:16px}.objective>small{font-size:8px}.objective-bar{margin-top:5px}.reward{font-size:7px;letter-spacing:.6px;padding:9px 0}.quest-bottom{display:none}.right-panel{top:80px;right:14px;width:54px;gap:8px}.map-button{padding:10px;border-radius:14px;justify-content:center;width:54px;height:48px}.map-button>span{font-size:25px;flex-shrink:0}.map-button>div{display:none}.orders{right:14px;top:312px;width:138px;padding:12px;border-radius:14px}.orders .eyebrow{font-size:7px;margin-bottom:9px}.order{margin-top:9px;column-gap:4px;grid-template-columns:12px 1fr}.order strong{font-size:9px}.order small{font-size:8px}.bottom{bottom:18px;left:14px;right:14px;gap:8px}.location{display:none}.bag-panel{flex:1;width:auto;padding:11px 12px;gap:9px;border-radius:16px;min-width:0}.bag-details{min-width:0}.bag-details>small{font-size:8px}.bag-symbol{font-size:27px}.bag-details>div:first-child{font-size:10px}.inventory-button{height:65px;padding:0 13px}.hint{bottom:98px;font-size:9px;padding:9px 13px;max-width:90%;white-space:normal;width:max-content}.controls{display:none}#joystick{display:flex;bottom:145px;left:20px;width:100px;height:100px}#toast{top:64px;font-size:10px;padding:12px 18px}.welcome-card{padding:28px 22px}.welcome h2{font-size:35px}.portrait{font-size:58px}dialog{padding:30px 24px;max-height:85dvh}h2{font-size:27px}#inventory-grid>div{padding:10px;grid-template-columns:13px 1fr 20px}}@media(max-height:650px)and (min-width:651px){.quest-panel,.right-panel{top:90px}.orders{top:385px}.bottom{bottom:16px}.hint{bottom:113px}.controls{bottom:93px}.quest-panel{padding:17px}.objective{margin:13px 0}.quest-bottom{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.portrait{display:block;width:100%;height:150px;line-height:1}.portrait img{display:block;width:100%;height:100%;object-fit:contain}.character-options button{overflow:hidden}.character-options{margin-top:15px}.portrait img{transform:scale(1.15);transform-origin:center bottom}@media(max-width:650px){.portrait{height:135px}}.scene-views{position:fixed;top:80px;left:50%;transform:translate(-50%);display:flex;gap:4px;z-index:12;max-width:94vw;flex-wrap:wrap;justify-content:center}.scene-views button,.farm-actions button{border:1px solid #c6dcb3;border-radius:16px;background:#fff9e9;color:#244f38;padding:8px 10px;font:600 12px system-ui;cursor:pointer}.scene-views button:focus,.scene-views button:hover{background:#d9efb6}.farm-actions{position:fixed;bottom:118px;left:50%;transform:translate(-50%);z-index:12;display:flex;gap:5px;max-width:96vw}.farm-actions button:disabled{opacity:.5;cursor:default}.feature-view .quest-panel,.feature-view .orders{display:none}#farm-map{width:min(1000px,94vw);max-height:90dvh;background:#fffbee;color:#254c35;border:0;border-radius:24px;padding:24px;overflow:auto}#farm-map::backdrop{background:#123d34aa}.map-scroll svg{width:100%;min-width:580px}.map-scroll{overflow:auto}#farm-map [data-area]{cursor:pointer}#farm-map [data-area]:focus rect{stroke:#ee8b27;stroke-width:5}#area-details{padding:15px;border-radius:16px;background:#e6f2d9}#farm-map p{font:14px/1.5 system-ui}@media(max-width:650px){.scene-views{top:70px;width:96vw;gap:3px}.scene-views button{font-size:10px;padding:6px 8px}.quest-panel{top:132px!important;padding:12px!important;max-width:160px}.quest-panel h1{font-size:17px}.quest-panel>p,.quest-panel .reward,.quest-panel .quest-bottom{display:none}.right-panel{top:134px!important}.farm-actions{bottom:133px;width:96vw;justify-content:center}.farm-actions button{font-size:10px;padding:7px}.feature-view .hint{display:none}#farm-map{padding:18px}.map-scroll svg{min-width:640px}}@media(max-width:650px){.orders{top:376px!important}}#farm-map{max-width:1000px}.physical-wallet{position:fixed;bottom:86px;left:50%;transform:translate(-50%);padding:9px 16px;border-radius:14px;max-width:90vw;font-size:12px;text-align:center;pointer-events:none;z-index:8;color:#214e43;background:#fff9e5ee}.farm-actions{flex-wrap:wrap;max-width:94vw}.farm-actions button{font-size:11px;padding:7px}@media(max-width:700px){.physical-wallet{bottom:150px;max-width:85vw;width:310px;font-size:10px}.scene-views{max-width:95vw;overflow-x:auto;flex-wrap:nowrap}.farm-actions{bottom:94px!important;gap:4px!important;justify-content:center}.farm-actions button{font-size:10px;padding:6px}}@media(max-width:700px){.scene-views{justify-content:flex-start;left:2vw;transform:none;width:96vw;max-width:96vw}#toast{top:110px}.hint{bottom:210px}}body:not([data-view=hero]) #equip-tool,body:not([data-view=hero]) #hero-gait{display:none}body[data-view=hero] #collect-bale,body[data-view=hero] #fish-action,body[data-view=hero] #store-stock,body[data-view=hero] #retrieve-stock,body[data-view=hero] #bank-action{display:none}.camera-controls{position:fixed;z-index:12;left:32px;bottom:160px;display:flex;gap:4px;align-items:center}.camera-controls button{min-width:40px;height:36px;padding:0 10px;border:1px solid #c6dcb3;border-radius:12px;background:#fff9e9;color:#244f38;font:600 13px system-ui}.camera-controls #camera-reset{min-width:58px;font-size:11px}.scene-views button[aria-pressed=true]{background:#d9efb6;border-color:#71965b}@media(max-width:700px){.camera-controls{left:14px;bottom:265px}.camera-controls button{min-width:44px;height:42px}}@media(max-width:700px){body[data-view=follow] .right-panel{width:108px;grid-template-columns:repeat(2,50px);gap:6px}body[data-view=follow] .right-panel .map-button{width:50px;padding:8px}body[data-view=follow] .orders{top:246px!important;max-height:132px;overflow:auto}}
