.guide{position:fixed;z-index:8;top:112px;left:38px;display:flex;align-items:center;gap:12px;padding:16px 18px;background:#faf7efed;border:1px solid #ffffffe0;border-radius:10px;backdrop-filter:blur(16px);box-shadow:0 5px 20px #5f593610}.guide-icon{font-size:30px;color:#81916e}.eyebrow{font-size:8px;letter-spacing:1.8px;color:#889078}.guide p{font-size:13px;margin:5px 0 0;letter-spacing:-.3px}.guide-button{margin-left:16px;padding:9px 11px;border:1px solid #b7c3a7;border-radius:5px;background:#eff1e6;color:#60745a;font-size:10px;white-space:nowrap}.guide-button span{margin-left:10px}.inventory{position:fixed;z-index:8;left:38px;bottom:90px;width:267px;padding:18px 19px;background:#faf7efed;border:1px solid #fff9;border-radius:12px;backdrop-filter:blur(16px)}.inventory-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:600}.inventory-top>span+span{font-size:9px;font-weight:400;color:#8b927b}.plate-items{display:flex;align-items:center;gap:10px;min-height:67px;margin-top:10px}.empty-plate{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#fffdf6;border:1px solid #dfdacb;border-radius:50%;font-size:37px;color:#ded9c8;flex-shrink:0}.plate-items>p{font-size:10px;color:#939580;line-height:1.8;margin:0}.plate-food{position:relative;background:#ede8d9;border:1px solid #e6dece;border-radius:50%;height:49px;width:49px;display:flex;align-items:center;justify-content:center;font-size:28px}.plate-food>span{position:absolute;right:-3px;bottom:-1px;border-radius:12px;background:#657e60;color:#fff8e8;font-size:9px;min-width:18px;padding:3px;text-align:center}.held-tool{border-top:1px solid var(--line);margin-top:8px;padding-top:10px;font-size:10px;color:#a0794f}.interaction{position:fixed;z-index:15;bottom:100px;left:50%;transform:translate(-50%);text-align:center;min-width:240px;background:#faf7eff5;border:1px solid #fffc;border-radius:12px;padding:14px 17px 11px;box-shadow:0 8px 35px #453d2220;backdrop-filter:blur(16px)}.interaction-eyebrow{font-size:10px;color:#7b856e;letter-spacing:.4px;margin-bottom:9px}.primary-action{width:100%;min-height:47px;display:flex;align-items:center;justify-content:space-between;gap:30px;border:0;border-radius:6px;background:#56795f;color:#fffbee;padding:10px 13px;font-size:14px}.primary-action:hover{background:#45694e}.primary-action:disabled{cursor:default;background:#a1aa91}.primary-action kbd{color:#f5f4de;border-color:#c5cdb17d;background:#ffffff12;font-size:11px}.interaction p{margin:9px 0 0;font-size:10px;color:#8c8e77;max-width:270px;line-height:1.7}.secondary-action{border:0;background:none;display:flex;gap:20px;align-items:center;justify-content:space-between;width:100%;font-size:11px;padding:12px 2px 0;color:#816d50}.secondary-action kbd{font-size:9px}.toast{position:fixed;z-index:25;left:50%;top:85px;transform:translate(-50%);background:#526e55f2;color:#fff9e6;border:1px solid #ffffffe0;padding:13px 21px;border-radius:30px;font-size:12px;max-width:calc(100% - 32px);text-align:center;box-shadow:0 5px 25px #3d483124;animation:arrive .2s ease-out}.toast.error{background:#987354f2}.world-labels{position:fixed;inset:0;pointer-events:none;z-index:4}.world-tag{position:absolute;left:0;top:0;transform:translate(-50%,-100%);border-radius:8px;background:#faf7efe8;border:1px solid #fff9;padding:8px 12px;text-align:center;white-space:nowrap;box-shadow:0 3px 12px #645b3210;pointer-events:auto;font-size:11px}.world-tag strong{font-size:11px;font-weight:500;display:block}.world-tag span{display:block;margin-top:4px;font-size:9px;color:#87927b}.world-tag:after{content:"";position:absolute;left:50%;bottom:-5px;width:8px;height:8px;background:#faf7ef;transform:translate(-50%) rotate(45deg)}.help-dialog{padding:32px 35px;border:1px solid #dfdacb;border-radius:16px;background:#faf7ef;color:#4a5645;max-width:510px;width:calc(100% - 32px);max-height:85vh;box-shadow:0 25px 100px #34382050}.help-dialog::backdrop{background:#4c584e70;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:28px;color:#828b72}.help-dialog h2{font-size:24px;font-weight:500;letter-spacing:-1px;margin:12px 0 25px}.help-dialog ol{padding:0;list-style:none;margin:0}.help-dialog li{display:flex;gap:16px;margin:22px 0}.help-dialog li>span{font:21px Georgia,serif;color:#a0ab8d;min-width:25px}.help-dialog strong{font-size:13px;font-weight:500}.help-dialog li p{font-size:11px;line-height:1.8;color:#858c77;margin:5px 0 0}.help-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);padding-top:18px;font-size:10px;color:#7d8670}.help-controls>span{display:flex;align-items:center;gap:8px}.help-tip{font-size:10px;color:#8c917d;line-height:1.9;margin:20px 0 0}.playing .menu-panel{top:112px}.playing .menu-description{margin-bottom:15px}.playing .menu-item{padding:13px 0}@media(min-width:1700px){.welcome{left:9%;top:29%}.menu-panel{right:5%;top:22%;width:270px}.topbar{left:4%;right:4%}}@media(max-width:1100px){.topbar{left:22px;right:22px;top:20px}.menu-panel{right:22px;width:221px;padding:20px 17px;top:120px}.welcome{left:6%;top:26%}.welcome h1{font-size:43px}.bottom-bar{left:22px;right:22px;bottom:18px}.controls{display:none}.guide{left:22px;top:99px;padding:13px}.guide-button{margin-left:5px}.guide p{font-size:11px}.inventory{left:22px;bottom:80px;width:230px}.interaction{bottom:90px}.brand-title{font-size:17px}.playing .menu-panel{top:99px}}@media(max-width:780px){.topbar{left:18px;right:18px;top:18px}.brand-mark{font-size:32px}.brand-title{font-size:15px}.brand-subtitle{font-size:7px;letter-spacing:1.7px}.top-actions{gap:6px}.connection{padding:8px 11px;font-size:10px}.icon-button{height:33px;width:33px;font-size:16px}.pill-button{height:33px;font-size:10px;gap:6px;padding:0 9px}.welcome{left:27px;top:auto;bottom:110px}.welcome h1{font-size:39px;letter-spacing:-1.8px}.welcome p{font-size:12px;line-height:1.85;margin-bottom:25px}.welcome-eyebrow{font-size:8px;letter-spacing:1.7px}.welcome-controls{display:none}.menu-panel{display:none;right:18px;top:72px;width:232px}.menu-panel.open{display:block}.menu-toggle{display:flex}.playing .menu-panel{top:72px}.menu-panel h2{font-size:18px}.guide{top:76px;left:18px;right:18px;max-width:430px;padding:10px 12px}.guide-icon{font-size:24px}.guide-button{margin-left:auto}.guide .eyebrow{font-size:7px}.guide p{font-size:11px}.inventory{left:18px;bottom:74px;width:180px;padding:13px}.inventory-top{font-size:10px;flex-wrap:wrap;gap:5px}.inventory-top>span+span{font-size:8px}.plate-items{min-height:40px;margin-top:7px;gap:5px}.plate-items p{font-size:8px}.empty-plate{height:35px;width:35px;font-size:27px}.plate-food{height:37px;width:37px;font-size:22px}.plate-food>span{font-size:8px;min-width:15px}.held-tool{font-size:9px}.interaction{left:auto;right:18px;bottom:74px;transform:none;min-width:170px;max-width:calc(100vw - 225px);padding:11px}.primary-action{font-size:12px;gap:8px;min-height:41px;padding:9px}.primary-action kbd{display:none}.interaction p,.interaction-eyebrow{font-size:9px}.secondary-action{font-size:9px;gap:5px}.bottom-bar{left:18px;right:18px;bottom:16px}.room-caption{font-size:9px;gap:6px}.emotes button{height:30px;width:30px;font-size:18px}.emotes{padding:3px}.caption-divider{display:none}.room-caption #guest-count{max-width:80px}.world-tag{font-size:9px;padding:6px 8px}.world-tag strong{font-size:9px}.world-tag span{font-size:8px}.text-button{font-size:10px;padding:8px 4px}.playing .topbar .connection{display:none}.toast{top:137px;font-size:11px;min-width:220px;border-radius:9px}.help-dialog{padding:25px}.vignette{background:linear-gradient(0deg,#f5f0e2f2,#f5f0e214 85%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}:root{font-family:Apple SD Gothic Neo,Noto Sans CJK KR,Malgun Gothic,sans-serif;color:#4a4c3e;background:#e8e3d4;font-synthesis:none;font-weight:400;--sage:#527764;--ink:#414d40;--paper:#faf7ef;--line:rgba(98,99,74,.17)}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible{outline:3px solid #78977a;outline-offset:4px}button{touch-action:manipulation}button,dialog{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}#app,#world{position:fixed;inset:0;width:100%;height:100%}#world{display:block;touch-action:none;outline:none}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(245,240,226,.76),transparent 48%),linear-gradient(0deg,rgba(224,219,200,.35),transparent 27%);transition:opacity .8s}.playing .vignette{opacity:.28}.loading{position:fixed;inset:0;background:#f5f0e7;z-index:40;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;font-size:14px}.loading span{color:#8a8c7d;font-size:12px}.loading-plate{font-size:65px;color:#658269;animation:breathe 1.4s infinite}@keyframes breathe{50%{opacity:.35;transform:rotate(70deg)}}.topbar{position:fixed;z-index:10;left:38px;right:38px;top:28px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:11px}.brand-mark{font-size:39px;line-height:1;color:#5d7d65;transform:rotate(-22deg)}.brand-title{display:block;font-size:19px;font-weight:700;letter-spacing:-.7px}.brand-subtitle{display:block;font:9px/1.8 Georgia,serif;letter-spacing:2.4px;color:#7b806e}.top-actions{display:flex;align-items:center;gap:10px}.connection{display:flex;align-items:center;gap:8px;font-size:12px;background:#faf7eede;border:1px solid var(--line);border-radius:30px;padding:10px 15px;backdrop-filter:blur(14px)}.connection i,.status-dot{width:6px;height:6px;border-radius:50%;background:#769478;display:inline-block}.connection.offline i{background:#bd9273}.icon-button,.pill-button{position:relative;display:flex;align-items:center;justify-content:center;background:#faf7eee0;border:1px solid var(--line);height:38px;border-radius:30px;backdrop-filter:blur(14px)}.icon-button{width:38px;font-size:18px}.icon-button:hover,.pill-button:hover{background:#fffdf4}.pill-button{font-size:12px;gap:16px;padding:0 15px}.sound-off{position:absolute;right:8px;bottom:6px;font-size:11px;color:#956e52}.text-button{border:0;background:transparent;font-size:12px;padding:10px}.menu-toggle{display:none}.welcome{position:fixed;z-index:5;left:6.5%;top:27%;animation:arrive 1.1s ease-out}.welcome-eyebrow{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:2.5px;color:#71816d}.welcome-eyebrow>span{width:24px;height:1px;background:#809178}.welcome h1{font-size:clamp(34px,4vw,57px);letter-spacing:-2.8px;line-height:1.42;font-weight:500;margin:23px 0 22px;color:#3e5143}.welcome h1>span{color:#627b60}.welcome p{font-size:14px;line-height:1.95;color:#7a7c68;margin-bottom:32px}.enter-button{display:flex;gap:50px;align-items:center;justify-content:space-between;background:#52745e;color:#fff9e9;border:0;border-radius:8px;padding:19px 23px;font-size:14px;min-width:250px;box-shadow:0 8px 25px #35472d15;transition:background .2s,transform .2s}.enter-button:hover{background:#41644e;transform:translateY(-2px)}.enter-arrow{font-size:23px;font-weight:300}.welcome-footnote{display:flex;gap:7px;align-items:center;font-size:11px;color:#888b77;margin-top:17px}.welcome-footnote>span{font-size:18px}.welcome-controls{display:flex;gap:20px;color:#81836f;font-size:10px;margin-top:39px}.welcome-controls>span{display:flex;align-items:center;gap:7px}kbd{font-family:inherit;font-size:10px;line-height:1.2;border:1px solid #92947742;border-radius:4px;padding:4px 6px;background:#fbf8ee66;color:#777d69;white-space:nowrap}.menu-panel{position:fixed;z-index:7;right:38px;top:136px;width:248px;padding:24px 21px 18px;background:#faf7ede8;border:1px solid rgba(255,255,255,.65);box-shadow:0 8px 50px #6453330c;border-radius:12px;backdrop-filter:blur(18px);transition:opacity .3s,transform .3s}.menu-heading{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:2px;color:#84917a}.menu-number{font:19px Georgia,serif;color:#a6b19a;letter-spacing:0}.menu-panel h2{font-size:20px;font-weight:500;letter-spacing:-.8px;margin:8px 0}.menu-description{font-size:11px;color:#989988;margin:0 0 24px}.menu-item{display:flex;align-items:center;gap:11px;width:100%;background:none;border:0;padding:16px 0;border-top:1px solid var(--line);text-align:left}.menu-item:hover .menu-food-name{color:#47705a}.menu-food-art{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:49px;height:49px;border-radius:50%;font-size:27px;box-shadow:inset 0 0 0 4px #fff9}.menu-item-body{flex:1;min-width:0}.menu-food-name{font-size:13px;font-weight:500}.menu-food-english{font-size:7px;letter-spacing:1.2px;color:#969986;margin-top:4px}.menu-food-meta{display:flex;align-items:center;gap:6px;font-size:10px;color:#7f8c74;margin-top:7px}.menu-stock{color:#7f8c74;font-size:10px}.menu-food-arrow{font-size:15px;color:#9aa28e}.refilling{color:#ad8051!important}.menu-footer{display:flex;align-items:center;gap:7px;border-top:1px solid var(--line);padding-top:17px;font-size:10px;color:#8c917c;white-space:nowrap}.little-leaf{font-size:18px;color:#81956e}.bottom-bar{position:fixed;z-index:12;bottom:24px;left:38px;right:38px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.bottom-bar>*{pointer-events:auto}.room-caption{display:flex;align-items:center;gap:10px;font-size:11px;color:#747e68}.room-number{font-family:Georgia,serif;color:#929a86}.caption-divider{height:11px;width:1px;background:#91947a55;margin:0 3px}.controls{display:flex;gap:14px;color:#65715c;font-size:10px;background:#fbf8eead;border:1px solid var(--line);border-radius:7px;padding:8px 12px;backdrop-filter:blur(10px)}.controls>span{display:flex;align-items:center;gap:5px}.controls kbd{border:0;padding:0;font-size:9px;background:none}.emotes{display:flex;gap:4px;padding:5px;border-radius:35px;background:#faf7efdc;border:1px solid var(--line);backdrop-filter:blur(12px)}.emotes button{border:0;background:transparent;border-radius:50%;width:35px;height:35px;font-size:19px}.emotes button:hover{background:#e7ebdc;transform:translateY(-2px)}@keyframes arrive{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
