:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Malgun Gothic",sans-serif;color:#283d30;background:#e9e9e2;font-synthesis:none;--paper:#f6f3ec;--green:#2d4937;--muted:#71806e;--orange:#dc7147}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit}[hidden]{display:none!important}.app{width:100%;max-width:440px;min-height:100svh;margin:auto;padding:28px 24px max(24px,env(safe-area-inset-bottom));background:var(--paper);overflow:hidden}header{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;flex-shrink:0}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:13px;background:var(--green);color:#f8f3e4;font-size:20px;font-weight:900;font-style:normal;transform:rotate(-5deg)}.brand-name{font-size:17px;font-weight:800;letter-spacing:-.7px}.brand small{display:block;font-size:9px;font-weight:500;letter-spacing:.5px;color:var(--muted);margin-top:3px}.lunch{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:10px;font-weight:600;color:#66735f;border:1px solid #d9ddce;padding:7px 9px;border-radius:24px}.lunch i{width:5px;height:5px;border-radius:50%;background:#d68b56}.screen{animation:screen-in .28s ease-out}.eyebrow{font-size:11px;font-weight:700;color:var(--orange);letter-spacing:1px;margin:0 0 13px}h1{font-size:40px;line-height:1.3;letter-spacing:-2px;margin:0 0 17px;font-weight:800}h1 em{font-style:normal;position:relative;z-index:0}h1 em:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:10px;background:#efc5a3;z-index:-1;border-radius:4px}.lead{font-size:13px;line-height:1.9;color:var(--muted);margin:0}.welcome{padding-top:54px}.welcome h1{font-size:44px}.hero-art{position:relative;height:215px;margin:16px 0 14px;display:grid;place-items:center}.hero-art:before{content:"";position:absolute;width:185px;height:185px;background:#e7ebdb;border-radius:50%}.hero-art svg{position:relative;width:100%;max-width:330px}.art-note{position:absolute;z-index:1;font-size:11px;border-radius:12px;padding:9px 13px;background:#fffcf6;box-shadow:0 5px 15px #314a3508;font-weight:600}.note-one{top:23px;left:9px;transform:rotate(-9deg)}.note-two{right:0;bottom:25px;transform:rotate(7deg);color:#a46748}.primary-link{display:flex;align-items:center;justify-content:space-between;min-height:60px;padding:18px 24px;border-radius:18px;background:var(--green);color:#fffaf0;text-decoration:none;font-size:15px;font-weight:700;box-shadow:0 8px 18px #2d493719;transition:transform .15s,background .15s}.primary-link span{font-size:23px}.home-caption{font-size:10px;text-align:center;color:#899180;margin:16px 0 0}.back-link{display:inline-flex;align-items:center;min-height:40px;margin-top:18px;font-size:12px;font-weight:600;color:var(--muted);text-decoration:none}.intro{margin:30px 0}.region-tile{display:flex;align-items:center;gap:18px;padding:30px 22px;border:1px solid #d6debc;border-radius:24px;background:#e8edda;text-decoration:none;position:relative;transition:transform .15s,box-shadow .15s}.region-icon{display:grid;place-items:center;width:52px;height:66px;border-radius:26px 26px 16px 16px;background:#d8e1c2;font-size:26px}.region-tile strong{display:block;font-size:35px;font-weight:850;letter-spacing:-1px;line-height:1.4}.region-tile small{display:block;font-size:11px;color:var(--muted)}.region-tile .region-tag{font-size:8px;letter-spacing:2px}.region-arrow{margin-left:auto;font-size:23px}.region-note{margin:25px 0 90px;font-size:12px;line-height:1.9;color:#899180}.menu-intro{margin:15px 0 24px}.menu-intro h1{font-size:26px;letter-spacing:-1px;margin-bottom:8px}.menu-intro .eyebrow{font-size:10px;margin-bottom:8px}.menu-intro .lead{font-size:11px}.deck{position:relative;margin:0 4px 0 0}.back-card{position:absolute;inset:9px -5px -8px;background:#dce2ce;border-radius:27px;transform:rotate(2deg)}.card{position:relative;min-height:330px;padding:24px;display:flex;flex-direction:column;background:#e6eccf;border:1px solid #d5debd;border-radius:27px;touch-action:pan-y;user-select:none;cursor:grab;will-change:transform;box-shadow:0 10px 24px #273e2308;transform-origin:50% 85%}.card:active{cursor:grabbing}.card-top,.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-top{font-size:10px;font-weight:600}.card-top>span:first-child{padding:7px 11px;border-radius:20px;background:#fff9}.card-top>span:last-child{color:#657458}.menu-content{flex:1;display:flex;flex-direction:column;justify-content:center;padding:28px 0 24px}.menu-label{font-size:10px;color:#738068}h2{font-size:39px;line-height:1.25;letter-spacing:-1.4px;margin:12px 0;overflow-wrap:anywhere;font-weight:850}.has-translation h2{font-size:25px;letter-spacing:-.7px;line-height:1.35}.menu-translation{font-size:28px;letter-spacing:-1px;line-height:1.4;font-weight:800;margin:0;color:#31492f;overflow-wrap:anywhere}.description:empty{display:none}.description{font-size:12px;color:var(--muted)}.restaurant{display:flex;align-items:flex-start;gap:8px;font-size:13px;font-weight:600;line-height:1.6;margin-top:23px;overflow-wrap:anywhere;color:#3e5239}.pin{display:grid;place-items:center;flex-shrink:0;width:23px;height:23px;border-radius:50%;background:#fff6}.availability{font-size:10px;line-height:1.7;color:#667457;margin:0 0 15px}.card-bottom{padding-top:14px;border-top:1px solid #30472813;font-size:8px;letter-spacing:1.2px;color:#7e8b70}.card-bottom span:last-child{letter-spacing:0;font-size:9px}.swipe-cue{position:absolute;inset:0;display:grid;place-items:center;font-size:15px;font-weight:700;color:#637752;opacity:0}.actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin-top:29px}.actions button,.actions a{display:flex;justify-content:center;align-items:center;gap:11px;min-height:62px;padding:9px;border-radius:17px;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s}.actions button{background:#fff4;color:#56674d;border:1px solid #d3dac8}.actions a{background:var(--green);color:#fffaf0;border:1px solid var(--green);box-shadow:0 5px 14px #2d493714}.maps-caption{display:block;margin-top:4px;font-size:10px;line-height:1.4;font-weight:400;text-align:center;opacity:.8}footer{text-align:center;font-size:9px;color:#899180;line-height:1.8;margin-top:15px}.primary-link:active,.region-tile:active,.actions button:active,.actions a:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid #d58550;outline-offset:4px}h1:focus{outline:none}@media(hover:hover){.primary-link:hover,.actions a:hover{background:#233d2d}.region-tile:hover{box-shadow:0 10px 20px #2d493710;transform:translateY(-2px)}.actions button:hover{background:#ebeede}}@media(min-width:600px){body{padding:28px}.app{min-height:740px;border-radius:32px;border:1px solid #fff9;box-shadow:0 20px 70px #27362213}}@media(max-width:360px){.app{padding:24px 18px}.brand-name{font-size:15px}.lunch{font-size:9px;padding:6px}.card{padding:20px}.welcome h1{font-size:40px}.menu-translation{font-size:25px}}@media(max-height:720px){.welcome{padding-top:34px}.hero-art{height:180px;margin:6px 0}.hero-art:before{width:150px;height:150px}.menu-intro{margin:8px 0 18px}.card{min-height:290px}.menu-content{padding:22px 0}.actions{margin-top:24px}}@keyframes screen-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
h2,.menu-translation{word-break:keep-all}.actions a[aria-disabled="true"]{opacity:.65;pointer-events:none}@media(max-width:320px){.app{padding-left:16px;padding-right:16px}.brand-name{font-size:14px}.brand-mark{width:32px;height:32px;font-size:18px}.lunch{font-size:8px;gap:4px}.card{padding:18px}.has-translation h2{font-size:22px}.menu-translation{font-size:23px}.menu-content{padding:22px 0 18px}.region-tile{gap:12px;padding:24px 18px}}
#category{display:inline-flex;align-items:center;gap:7px}#cuisine-flag{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:19px;line-height:1}
#cuisine-flag{width:25px;height:18px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px #314a3515;flex-shrink:0}
@font-face{font-family:NyamKhmer;src:url('fonts/noto-sans-khmer-700.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{--paper:#f5efe9;--green:#69554c;--muted:#82776f;--orange:#a97b62;color:#4e4540;background:#e8e1db}
body{background:radial-gradient(ellipse at 15% 15%,#cdb3a16b,transparent 40%),radial-gradient(ellipse at 90% 65%,#afb5b969,transparent 45%),#e8e1db}.app{position:relative;isolation:isolate;background:linear-gradient(150deg,#f9f4eddd,#f2e9e2ed 65%,#eee9e4);box-shadow:0 20px 75px #58443c16}.app:before,.app:after{content:'';position:absolute;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(18px);will-change:transform;animation:bubble-drift 18s ease-in-out infinite alternate}.app:before{width:260px;height:280px;top:140px;left:-135px;background:radial-gradient(circle at 55% 45%,#d9b79c66,#ead7c63b 55%,transparent 72%)}.app:after{width:280px;height:320px;top:390px;right:-160px;background:radial-gradient(circle,#a4afb757,#cbd0d330 55%,transparent 72%);animation-delay:-9s}header{gap:8px}.brand-mark{font-family:NyamKhmer,'Noto Sans Khmer',sans-serif;font-size:21px;line-height:1.8;font-weight:700;width:61px;height:40px;border-radius:24px;transform:rotate(-4deg);background:linear-gradient(145deg,#7b6153,#514b4c);box-shadow:0 5px 13px #68524a20}.brand-name{font-size:18px}.brand small{font-size:10px}.lunch{font-size:11px;border-color:#d7cbc0;color:#7c6b60}.lunch i{background:#a78168}.eyebrow{font-size:12px}.lead{font-size:14px}.welcome h1{font-size:46px}h1 em:after{background:#dfbca6}.home-caption{font-size:12px;color:#8c7c70}.primary-link{font-size:17px;background:linear-gradient(120deg,#8b6c5b,#615958);box-shadow:0 8px 20px #755a4924}.art-note{font-size:12px;background:#fffaf3;color:#8e715e}.hero-art:before{background:radial-gradient(circle at 35% 35%,#f2d9c2,#d7c8b852 65%,#bcc1c12e)}.back-link{font-size:14px;color:#857265}.intro h1{font-size:42px}.region-tile{border-color:#d9c6b8;background:linear-gradient(135deg,#eadbcd,#e5ded8);box-shadow:0 8px 30px #9477650a}.region-icon{background:#d9c6b6;color:#796253}.region-tile strong{font-size:37px}.region-tile small{font-size:12px}.region-tag{color:#997b65}.region-note{font-size:13px;color:#8f7e71}.menu-intro h1{font-size:29px}.menu-intro .eyebrow{font-size:11px}.menu-intro .lead{font-size:12px}.back-card{background:linear-gradient(150deg,#d6c2b2,#cecbc7);box-shadow:0 8px 20px #71605212}.card{border-color:#c7b7aa;border-radius:28px;box-shadow:0 12px 30px #735e4810;background-image:radial-gradient(ellipse at 95% 5%,#ffffff75,transparent 60%)}.card-top{font-size:12px}.card-top>span:first-child{background:#fffaf4b3;padding:8px 12px;box-shadow:0 2px 6px #8d735809}.card-top>span:last-child{font-size:12px;color:#8b7666}.menu-label{font-size:12px;color:#938170}h2{font-size:42px;color:#58473e}.has-translation h2{font-size:27px;color:#716158}.menu-translation{font-size:30px;color:#57443a}.restaurant{font-size:15px;color:#736154}.pin{background:#fffaf38f;color:#957661}.availability{font-size:11px;color:#8b7a6b}.card-bottom{font-size:9px;color:#9a8777;border-color:#8e70551f}.card-bottom span:last-child{font-size:11px}.swipe-cue{color:#a28269}.actions{grid-template-columns:1fr;margin-top:29px}.actions a{min-height:68px;border-radius:21px;gap:20px;font-size:17px;letter-spacing:-.4px;background:linear-gradient(115deg,#97735e 0%,#7e655b 40%,#5c5d61 100%);border:1px solid #897364;box-shadow:0 8px 22px #76574325,inset 0 1px 0 #ffffff30;color:#fff8ee}.actions a>span:last-child{font-size:24px}.maps-caption{font-size:12px;margin-top:4px;letter-spacing:.3px;color:#f2e3d6}footer{font-size:11px;color:#968273}.actions a:active{transform:scale(.98)}@media(hover:hover){.actions a:hover,.primary-link:hover{background:linear-gradient(115deg,#a17b62,#66646a)}.region-tile:hover{box-shadow:0 12px 25px #8c756418}}@keyframes bubble-drift{from{transform:translate3d(-10px,-10px,0) scale(.95)}to{transform:translate3d(35px,45px,0) scale(1.12)}}@media(max-width:360px){.brand-mark{width:53px;font-size:20px}.brand-name{font-size:16px}.lunch{font-size:9px}.menu-translation{font-size:27px}.has-translation h2{font-size:25px}.intro h1{font-size:38px}.menu-intro h1{font-size:27px}.welcome h1{font-size:42px}}@media(max-width:320px){.brand-mark{width:45px;font-size:18px}.brand-name{font-size:14px}.brand small{font-size:9px}.lunch{font-size:8px}.menu-translation{font-size:25px}.has-translation h2{font-size:23px}.restaurant{font-size:14px}}@media(prefers-reduced-motion:reduce){.app:before,.app:after{animation:none!important;will-change:auto}}
.selection-screen{min-height:610px}.selection-content{text-align:center;padding:60px 0 30px}.selection-content h1{font-size:26px;letter-spacing:-1px;margin:24px 0 12px}.selection-content .eyebrow{font-size:12px}.thinking-face{position:relative;display:grid;place-items:center;margin:26px auto 18px;width:140px;height:140px;background:radial-gradient(circle at 30% 20%,#f9e6c6,#d9c3ad90);border-radius:50%;font-size:76px;box-shadow:0 12px 45px #97745412;animation:thinking-bob 1.2s ease-in-out infinite}.thought{position:absolute;display:grid;place-items:center;background:#fffaf5;border-radius:50%;box-shadow:0 4px 15px #6c4e3d0d;font-family:system-ui,sans-serif;font-size:25px;color:#9a7961}.thought-one{right:-19px;top:-4px;width:43px;height:43px;transform:rotate(12deg)}.thought-two{left:-17px;top:23px;width:34px;height:34px;font-size:20px}.thinking-dots{display:inline-block;animation:thinking-pulse .7s ease-in-out infinite alternate}.shuffle-animation{position:relative;height:165px;width:220px;margin:35px auto 0;perspective:600px}.shuffle-animation span{position:absolute;left:65px;top:10px;width:90px;height:120px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,#eee2d4,#cec7c1);border:1px solid #bda997;box-shadow:0 7px 18px #755d4120;color:#806a58;font-size:12px;font-weight:700;animation:card-shuffle .75s ease-in-out infinite}.shuffle-animation span:nth-child(2){background:linear-gradient(145deg,#e8e3de,#c9b6a7);animation-delay:-.25s}.shuffle-animation span:nth-child(3){background:linear-gradient(145deg,#f6e8d6,#d7c6b4);animation-delay:-.5s}.round-finished{text-align:center;padding:30px 0 35px;animation:screen-in .3s ease-out}.finished-face{width:100px;height:100px;margin:0 auto 30px;display:grid;place-items:center;font-size:65px;background:linear-gradient(145deg,#f3e5d3,#d6c9be);border-radius:50%}.round-finished h2{font-size:30px;margin:12px 0 16px}.round-finished .lead{font-size:14px}.round-finished .primary-link{width:100%;border:0;margin-top:35px;cursor:pointer}.finish-region-link{display:inline-block;margin-top:22px;color:#8c7868;font-size:12px;text-decoration:none}#another-batch:focus-visible{outline:3px solid #bd916e;outline-offset:4px}@keyframes thinking-bob{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-5px) rotate(4deg)}}@keyframes thinking-pulse{from{opacity:.3}to{opacity:1}}@keyframes card-shuffle{0%,100%{transform:translateX(-43px) rotate(-18deg);z-index:1}33%{transform:translateX(43px) rotate(17deg);z-index:2}66%{transform:translateY(-8px) rotate(0);z-index:3}}@media(max-width:360px){.selection-content h1{font-size:23px}.selection-content{padding-top:40px}.round-finished h2{font-size:27px}}@media(prefers-reduced-motion:reduce){.thinking-face,.thinking-dots,.shuffle-animation span{animation:none!important}.shuffle-animation span:nth-child(1){transform:rotate(-15deg) translateX(-28px)}.shuffle-animation span:nth-child(2){transform:rotate(15deg) translateX(28px)}}
