@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600&display=swap');
:root{color-scheme:dark;--cream:#f7ead5;--dim:#c5af91;--accent:#d9ac72}*{box-sizing:border-box}body{margin:0;background:#21160e;color:var(--cream);font-family:'Noto Sans KR',sans-serif;font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #e4c69c38;background:#22170e65;border-radius:3px;padding:12px 18px;transition:background .25s,transform .25s}button:hover{background:#795331a0}button:focus-visible,a:focus-visible{outline:2px solid #f0d2a3;outline-offset:5px}button:disabled{cursor:wait;opacity:.65}button[hidden],[hidden]{display:none!important}#world{position:fixed;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}.shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#160f0bdc 0%,#160f0b70 29%,transparent 60%),linear-gradient(0deg,#160f0b90,transparent 20%,transparent 85%,#160f0b70)}header{position:fixed;top:35px;left:46px;right:46px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;color:inherit}.brand>b{font-family:serif;font-size:34px;font-weight:400;border:1px solid #dab7889a;width:52px;height:58px;text-align:center;line-height:56px}.brand>span{font-size:15px;letter-spacing:3px}.brand small{display:block;font-size:9px;letter-spacing:1px;margin-top:7px;color:var(--dim)}.tag{font-size:10px;letter-spacing:2px;color:#cdbb9f;margin-left:auto;margin-right:24px}.tag i{display:inline-block;width:5px;height:5px;background:#d9b57e;border-radius:50%;margin:0 10px 2px 17px}header button{font-size:12px;border-color:#ddc09d33}.intro,#served{position:fixed;left:6.4vw;top:36%;max-width:450px}.eyebrow{font-size:10px;letter-spacing:3px;color:#dfb67e;margin-bottom:24px}h1,h2{font-family:'Noto Serif KR',serif;font-weight:500;line-height:1.65;letter-spacing:-1.3px;margin:0 0 20px}h1{font-size:clamp(26px,2.6vw,42px)}h2{font-size:27px}p{color:#d1bea5;font-weight:400;font-size:13px;line-height:2.1;margin:0 0 30px}.primary{background:#d6b285;color:#251a10;border-color:#d6b285;min-width:225px;padding:17px 22px;font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:26px}.primary:hover{background:#f1d4aa;transform:translateY(-2px)}.primary span{font-size:20px}.seatmark{position:fixed;right:39px;top:44%;writing-mode:vertical-rl;letter-spacing:7px;font-family:serif;color:#f5d7a891}.seatmark span{font-family:sans-serif;font-size:10px;letter-spacing:3px;margin-top:20px}footer{position:fixed;left:46px;right:46px;bottom:29px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#c4b19b;letter-spacing:1px}.coordinates{font-size:10px;letter-spacing:2px}.coordinates i{font-style:normal;margin-left:22px;opacity:.5;letter-spacing:2px}footer button{font-size:11px;padding:9px 14px}#menu{position:fixed;left:5.8vw;top:24%;width:360px;padding:28px;background:#211810ed;border:1px solid #d1a97842;backdrop-filter:blur(16px);box-shadow:0 25px 90px #0005}#menu .eyebrow{margin-bottom:12px}#menu h2{font-size:23px;margin-bottom:6px}#menu p{font-size:11px;margin-bottom:22px}.choices{display:grid;gap:10px;margin-bottom:23px}.choices button{display:flex;text-align:left;align-items:center;gap:12px;padding:15px 11px;border-color:#dfb47920;background:transparent}.choices button.selected{border-color:#d6ad78a0;background:#d8aa7020}.choices button>span{font-size:10px;color:#b48a5c}.choices b{font-size:13px;font-weight:500}.choices small{display:block;font-size:9px;margin-top:6px;color:#bda991}.choices em{margin-left:auto;font-family:serif;color:#c6a67b;font-style:normal;writing-mode:vertical-rl;letter-spacing:2px}.note{display:block;color:#a58d73;text-align:center;font-size:9px;margin-top:16px}#menu .primary{width:100%;font-size:12px}#waiting{position:fixed;left:6.4vw;top:40%;max-width:360px}.progress{height:2px;background:#ffffff20;width:240px;overflow:hidden}.progress i{display:block;width:100%;height:100%;background:#d9b77d;transform-origin:left;animation:cook 6s linear forwards}@keyframes cook{from{transform:scaleX(0)}to{transform:scaleX(1)}}#served .actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}#served .actions>button:not(.primary){border:0;padding:10px 0;font-size:12px;color:#e5cbab}.text{border:0;background:none;font-size:11px;padding:20px 0;color:#a98c6b}#caption{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);background:#1b120cd9;padding:12px 24px;color:#edd3b2;font-size:13px;opacity:0;transition:opacity .6s;pointer-events:none;white-space:nowrap}#caption.show{opacity:1}#restore{position:fixed;left:50%;bottom:80px;transform:translateX(-50%);font-size:11px}#loading,#error{position:fixed;inset:0;display:grid;place-items:center;background:#241a12;font-family:serif;letter-spacing:3px;font-size:15px}.quiet .shade{background:linear-gradient(0deg,#160f0b70,transparent 20%)}.quiet .seatmark,.quiet header .tag{opacity:0}
@media(max-width:700px){header{top:22px;left:22px;right:22px}.brand>b{width:40px;height:46px;font-size:29px;line-height:44px}.brand>span{font-size:12px}.brand small{font-size:8px}.tag{display:none}.intro,#served{left:25px;top:auto;bottom:110px}.intro h1{font-size:29px}.shade{background:linear-gradient(0deg,#160f0bed,transparent 90%)}#menu{left:20px;top:auto;bottom:80px;width:min(360px,calc(100vw - 40px));padding:22px}#menu .eyebrow{margin-bottom:10px}.choices{gap:6px;margin-bottom:15px}.choices button{padding:11px}#waiting{left:25px;top:auto;bottom:150px}#served h2{font-size:25px}#served p{margin-bottom:17px}footer{left:22px;right:22px;bottom:22px}.coordinates i,.seatmark{display:none}#hint{font-size:8px;max-width:120px;text-align:right}#caption{font-size:11px;bottom:65px;max-width:95vw;padding:10px}#served .actions{flex-direction:row;align-items:center}.primary{min-width:190px}#served .actions>.primary{min-width:170px;font-size:12px;padding:13px}#served .actions>button:not(.primary){font-size:10px}#served .text{padding:14px 0}footer button{font-size:9px;padding:7px}.quiet #hint{display:none}}
.eat-actions{display:flex;gap:9px;margin:0 0 18px}.eat-actions button{background:#6e4c2f5c;border-color:#d5b38280;font-size:13px;padding:12px 17px}.eat-actions span{font-family:serif;margin-right:7px;color:#ecd2a7}#tasting{position:fixed;bottom:78px;left:50%;transform:translateX(-50%);display:flex;gap:9px}#tasting button{background:#23190ce6;font-size:12px;white-space:nowrap}#restore{bottom:30px;background:#23190cb0}.quiet #caption{bottom:145px}#served{top:30%}#loading{text-align:center;padding:30px;font-size:13px}button:disabled{pointer-events:none}
@media(max-width:700px){#served{top:auto;bottom:87px}.eat-actions{margin-bottom:12px}.eat-actions button{padding:10px 15px;font-size:12px}#served .eyebrow{margin-bottom:12px}#served p{font-size:11px;line-height:1.8}#served h2{font-size:23px;margin-bottom:10px}#served .text{padding:10px 0}.quiet #tasting{bottom:78px}#tasting button{padding:11px 13px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.progress i{animation-duration:.1s}}
.seated .shade{background:linear-gradient(0deg,#160f0b70,transparent 28%,transparent 86%,#160f0b50)}
.dining footer{display:none}.dining #served{left:50%;top:auto;bottom:22px;transform:translateX(-50%);display:flex;gap:18px;align-items:center;width:max-content;max-width:calc(100vw - 40px);padding:13px 18px;background:#23170ee8;border:1px solid #b58c533f;border-radius:5px;backdrop-filter:blur(14px)}
.dining #served>.eyebrow,.dining #served>p{display:none}.dining #served h2{font-size:17px;letter-spacing:-.7px;white-space:nowrap;margin:0}.dining #served .eat-actions{margin:0;gap:8px;white-space:nowrap}.dining #served .eat-actions button{padding:11px 15px}.dining #served .actions{flex-direction:row;align-items:center;gap:13px;white-space:nowrap}.dining #served .primary{min-width:0;font-size:11px;padding:9px 13px;gap:12px}.dining #served .actions>button:not(.primary){padding:8px 0;font-size:11px}.dining #served>.text{padding:8px 0;margin:0;white-space:nowrap;font-size:10px}.dining #caption{bottom:115px}.dining .seatmark{display:none}
@media(max-width:1100px){.dining #served h2{display:none}.dining #served{gap:14px}}
@media(max-width:700px){.dining #served{width:calc(100vw - 28px);max-width:none;bottom:14px;display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:12px}.dining #served .actions{gap:12px;justify-content:space-between;grid-column:1/-1;grid-row:2}.dining #served .eat-actions button{padding:10px 14px}.dining #served>.text{font-size:9px}.dining #caption{bottom:142px}.dining #served .primary{padding:7px 11px}.dining #served .actions>button:not(.primary){font-size:10px}}
