:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f8f1d9;background:#819eac;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button{font:inherit;touch-action:manipulation;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #f3c67e;outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}#app{position:relative;width:100%;height:100%;height:100dvh;overflow:hidden;isolation:isolate}#game-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;display:block;background:linear-gradient(180deg,#8cc9e1 0%,#c2dcd9 45%,#e8dfc9 68%,#9cb08d 100%)}#vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(19,29,29,.35),transparent 24%,transparent 75%,rgba(20,40,41,.12));z-index:1}.hidden{display:none!important}#world-labels{position:absolute;inset:0;pointer-events:none;z-index:2}.world-label{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;color:#fff8e3;font-size:12px;font-weight:750;padding:6px 12px;border:1px solid rgba(252,231,179,.62);background:rgba(27,51,46,.8);border-radius:30px;box-shadow:0 5px 18px #14241e44;transition:opacity .15s}.world-label-castle{background:rgba(47,61,56,.8)}.world-label-dog{background:rgba(236,189,101,.96);color:#2a352b;border-color:#fff2c4}.top-bar{position:absolute;z-index:4;top:max(16px,env(safe-area-inset-top));left:16px;right:16px;display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.objective{background:rgba(28,55,49,.92);color:#fff6e2;border:1px solid rgba(246,214,154,.5);box-shadow:0 6px 24px #0004;border-radius:18px;text-align:left;max-width:min(280px,75vw);padding:10px 14px;display:flex;align-items:center;gap:9px;min-height:58px}.objective-star{color:#f2bc74;font-size:23px}.objective-body{display:flex;flex-direction:column;gap:2px}.objective-body strong{font-weight:800;font-size:14px}.objective-body small{font-size:11px;line-height:1.25;color:#e7e3cd}.circle-button{width:49px;height:49px;background:rgba(29,53,48,.9);color:#fff0d3;border:1px solid #efc57c8c;border-radius:17px;font-size:20px;box-shadow:0 6px 22px #0004}.hint{position:absolute;left:50%;bottom:clamp(136px,22vh,210px);transform:translateX(-50%);border-radius:16px;background:rgba(23,48,44,.84);color:white;padding:9px 14px;text-align:center;max-width:80%;width:max-content;font-weight:650;font-size:12px;box-shadow:0 4px 16px #0004;opacity:1;transition:opacity .6s;z-index:3;pointer-events:none}.hint.out{opacity:0}.joystick{position:absolute;bottom:max(26px,calc(env(safe-area-inset-bottom) + 18px));left:26px;width:122px;height:122px;border-radius:50%;border:2px solid rgba(255,237,195,.5);background:rgba(31,57,49,.34);box-shadow:0 4px 25px #243b3344,inset 0 0 22px #f1ddb01e;z-index:5;touch-action:none;user-select:none;display:grid;place-items:center}.joystick:before,.joystick:after{content:"";position:absolute;background:rgba(249,238,206,.18)}.joystick:before{width:1px;height:98px}.joystick:after{width:98px;height:1px}.joystick-knob{width:59px;height:59px;background:radial-gradient(circle at 35% 25%,#eacda0,#a67e51);border:3px solid #f2e5c6;border-radius:50%;box-shadow:0 4px 10px #273b3388;z-index:2;transform:translate(0,0)}.interact{position:absolute;right:24px;bottom:max(42px,calc(env(safe-area-inset-bottom) + 25px));width:88px;height:88px;border-radius:50%;border:3px solid #fff2ca;background:linear-gradient(160deg,#f5ce88,#cc9557);color:#3c2d25;z-index:5;box-shadow:0 7px 24px #2b362866;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-weight:800}.interact span{font-size:25px}.interact small{font-size:12px}.toast{position:absolute;top:max(91px,calc(env(safe-area-inset-top) + 76px));left:50%;transform:translate(-50%,-12px);max-width:80%;min-width:100px;text-align:center;padding:10px 16px;border-radius:20px;background:#254a3d;color:#fff1c6;font-size:12px;font-weight:750;box-shadow:0 5px 18px #152e2b55;opacity:0;transition:opacity .25s,transform .25s;z-index:5;pointer-events:none}.toast.active{opacity:1;transform:translate(-50%,0)}
.onboarding{position:absolute;z-index:10;inset:0;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,rgba(13,34,35,.87),rgba(24,43,40,.94) 75%,rgba(19,37,33,.98));backdrop-filter:blur(7px);overflow:hidden}.onboard-scroll{padding:clamp(20px,5vh,42px) 22px 0;overflow-y:auto;flex:1;min-height:0;max-width:640px;width:100%;margin:0 auto;scrollbar-width:none}.onboard-scroll::-webkit-scrollbar{display:none}.eyebrow{letter-spacing:.18em;font-size:10px;font-weight:800;color:#e5c58d}.wordmark{font-family:Georgia,serif;font-weight:700;font-size:clamp(35px,10vw,60px);line-height:.92;letter-spacing:-.06em;margin:15px 0 12px;color:#f1d6a3;text-shadow:0 4px 20px #0008}.wordmark em{font-weight:400;font-size:.42em;letter-spacing:0}.wordmark span{font-size:1.2em;font-style:italic}.welcome-subtitle{font-family:Georgia,serif;font-style:italic;color:#ece5d1;margin:0 0 20px;font-size:15px}.onboard-divider{display:flex;gap:10px;align-items:center;color:#edd5a8;font-size:10px;font-weight:800;letter-spacing:.11em;margin:7px 0 12px}.onboard-divider span{height:1px;background:#e5c18f77;flex:1}.avatar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.avatar-card{padding:5px 3px 8px;border-radius:13px;min-height:117px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;background:#36544c75;color:#e8e8d6;border:1px solid #8b9d8657;font-size:10px;font-weight:800}.avatar-card.selected{border:2px solid #eec681;background:#5d66517a;box-shadow:0 0 0 2px #eec68125}.portrait{width:100%;height:76px;display:block;position:relative;overflow:hidden;border-radius:9px;background:linear-gradient(#a3b7a5,#6f8c85)}.portrait .face{position:absolute;left:50%;top:15px;transform:translateX(-50%);width:28px;height:34px;border-radius:44% 44% 45% 45%;background:#d6a47e;z-index:2}.portrait .hair{position:absolute;width:36px;height:39px;left:50%;top:10px;transform:translateX(-50%);border-radius:50% 50% 25% 25%;background:#473127;z-index:1}.portrait .shirt{position:absolute;width:59px;height:49px;left:50%;bottom:-23px;transform:translateX(-50%);border-radius:50% 50% 0 0;background:#b77751;z-index:3}.p2{background:linear-gradient(#aeb4ab,#789493)}.p2 .hair{background:#282b26}.p2 .face{background:#b9876c}.p2 .shirt{background:#4f8a94}.p3{background:linear-gradient(#b5a589,#9e9b83)}.p3 .hair{background:#79412e}.p3 .shirt{background:#bd9e64}.p4{background:linear-gradient(#9dae9a,#7d998a)}.p4 .hair{background:#282727}.p4 .face{background:#a67a54}.p4 .shirt{background:#63836b}.interests-label{margin:17px 0 9px;color:#eae9d9;font-weight:760;font-size:12px}.interests-label small{color:#acbaac;font-weight:450;margin-left:5px}.interest-grid{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.interest{font-weight:650;font-size:12px;color:#e6e4cc;background:#35564b94;border:1px solid #b0bca57a;padding:8px 11px;border-radius:12px}.interest.active{color:#263c32;background:#e6c78c;border-color:#f8e3b6}.onboard-bottom{padding:14px 22px max(16px,calc(env(safe-area-inset-bottom) + 14px));background:linear-gradient(transparent,#162b2a 24%);flex:0 0 auto;text-align:center}.primary{background:linear-gradient(165deg,#f4d89f,#d9ae70);color:#263829;padding:14px 21px;border:1px solid #f7e8bc;border-radius:15px;font-weight:850;font-size:15px;width:100%;box-shadow:0 5px 12px #101a173b}.primary span{margin-left:9px}.onboard-bottom p{color:#bccbc0;font-size:10px;margin:8px 0 0}.modal{position:absolute;inset:0;z-index:20;background:rgba(17,33,33,.62);backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:flex-end;padding:14px 15px max(18px,calc(env(safe-area-inset-bottom) + 10px))}.dialogue-card,.menu-card,.success-card{max-width:550px;width:100%;padding:25px 23px 22px;background:linear-gradient(160deg,#f7edda,#e8d7b5);color:#344239;border:2px solid #fff6dd;border-radius:21px;box-shadow:0 13px 50px #0007}.dialogue-npc{letter-spacing:.15em;color:#827154;font-size:11px;font-weight:850}.dialogue-card h2,.menu-card h2,.success-card h2{margin:9px 0;font:700 29px/1.08 Georgia,serif}.dialogue-card p,.menu-card p,.success-card p{font-size:14px;line-height:1.5;color:#4e564b}.dialogue-card .primary,.success-card .primary{margin-top:12px}.menu-head{display:flex;justify-content:space-between;align-items:start}.menu-head .eyebrow{color:#97825b}.menu-head h2{font-size:25px}.close{background:#dbcba8;border:1px solid #ad9b7a;border-radius:50%;width:34px;height:34px;color:#3d493b;font-size:18px}.progress{display:flex;align-items:center;gap:12px;background:#f3e6ca;padding:12px;border-radius:12px}.medal{font-size:30px;color:#af8051}.progress strong{font-size:14px}.progress p{margin:4px 0 0;font-size:12px}.menu-list{display:flex;flex-direction:column;gap:4px;margin-top:13px}.menu-list button,.menu-list a{background:#f3e8d2;color:#3a4a3e;border:0;border-bottom:1px solid #d9ccae;display:flex;align-items:center;gap:12px;padding:13px 8px;text-align:left;font-size:15px;text-decoration:none}.menu-list span{flex:1}.menu-list b{color:#8e7458;font-size:13px}.smallprint{font-size:10px!important;color:#68766e!important;margin:15px 0 0}.success-card{text-align:center}.success-sparkle{color:#b68643;font-size:56px}.success-card .eyebrow{color:#916e43}.success-reward{display:flex;justify-content:space-between;gap:10px;background:#e2d7b4;padding:12px 14px;border-radius:14px;font-size:14px;margin:18px 0 3px}.success-reward strong{color:#80612b}.success-card small{display:block;margin-top:12px;color:#697368}.hidden{display:none!important}
@media(min-width:740px){.onboarding{justify-content:center}.onboard-scroll{flex:0 1 auto;background:#223c35bb;border:1px solid #b6a58333;border-radius:22px 22px 0 0;padding:32px}.onboard-bottom{max-width:640px;width:100%;align-self:center;background:#223c35ed;border-radius:0 0 22px 22px}.avatar-card{min-height:139px}.portrait{height:95px}.world-label{font-size:14px}}@media(max-height:650px){.onboard-scroll{padding-top:15px}.wordmark{font-size:35px;margin:7px 0}.welcome-subtitle{margin-bottom:9px}.avatar-card{min-height:88px}.portrait{height:50px}.interests-label{margin:8px 0}.onboard-bottom{padding-top:6px;padding-bottom:8px}.onboard-bottom p{display:none}.modal{align-items:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
