:root{color-scheme:dark;--bg:#111315;--panel:#1b1e21;--line:#2c3034;--text:#f4f2ee;--muted:#a4a6aa;--blue:#55d9ff;--orange:#ff9a50}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:#0b0d0f;color:var(--text);font-family:Tahoma,Arial,sans-serif;font-size:14px;line-height:1.9}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--blue);outline-offset:5px}button:hover{filter:brightness(1.16)}[hidden]{display:none!important}.site-shell{max-width:760px;min-height:100vh;margin:auto;background:var(--bg);border-inline:1px solid #202326}.header{height:72px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#111315ed;position:sticky;top:0;z-index:10;backdrop-filter:blur(20px)}.wordmark{font-family:Arial,sans-serif;font-weight:900;font-size:28px;letter-spacing:-1.8px;display:inline-flex;align-items:center}.wordmark span{color:var(--orange)}.wordmark i{width:5px;height:5px;background:var(--blue);border-radius:50%;margin:10px 0 0 6px;box-shadow:0 0 12px #55d9ff}.header-label{font-size:11px;letter-spacing:.5px;color:var(--muted)}.icon-button{background:transparent;width:36px;height:36px;font-size:23px;display:grid;place-items:center;color:#c6c7ca;border:1px solid var(--line);border-radius:50%}.hero{position:relative;display:flex;align-items:center;min-height:332px;overflow:hidden;padding:32px;background:radial-gradient(ellipse at 10% 40%,#10233170,transparent 60%)}.hero-copy{position:relative;z-index:1;width:56%}.eyebrow{color:var(--blue);font-size:10px;font-weight:bold;letter-spacing:2px}.hero h1{font-size:30px;line-height:1.85;margin:12px 0 10px;font-weight:700;letter-spacing:-1px}.hero h1 span{color:var(--orange)}.hero p{font-size:12px;color:var(--muted);margin:0 0 22px}.hero p b{color:#ddd}.hero-link{font-size:12px;border-bottom:1px solid #71777d;padding-bottom:6px;display:inline-flex;gap:38px}.hero-link span{color:var(--blue)}.brand-image{width:49%;height:auto;position:absolute;left:-6px;top:10px;mix-blend-mode:screen;mask-image:linear-gradient(to bottom,#000 85%,transparent)}.hero-bottom{position:absolute;bottom:16px;left:32px;letter-spacing:2px;font-size:8px;color:#737c86}.menu-top{display:flex;align-items:end;justify-content:space-between;padding:26px 32px 20px;border-top:1px solid var(--line);scroll-margin-top:72px}.menu-top .eyebrow{font-size:10px;letter-spacing:0;color:var(--orange)}h2{font-size:23px;margin:3px 0 0;letter-spacing:-.5px}.menu-caption{font-size:11px;color:#8d9299}.type-tabs{margin:0 32px;display:flex;gap:6px;border-bottom:1px solid var(--line)}.type-tabs button{background:none;color:var(--muted);padding:12px 24px;position:relative;font-size:12px;flex:1}.type-tabs button.active{color:var(--text)}.type-tabs button.active:after{content:'';position:absolute;bottom:-1px;left:24px;right:24px;height:2px;background:var(--blue);box-shadow:0 0 10px #55d9ff45}.allergy{color:#b3a69a;font-size:10px;text-align:center;margin:22px 20px 24px}.allergy span{color:var(--orange);margin-left:5px}#menu-sections{padding:0 32px}.menu-section{scroll-margin-top:90px;margin-bottom:42px}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}.section-heading h2{font-size:19px;white-space:nowrap}.section-heading .rule{height:1px;background:var(--line);flex:1}.section-heading small{font:9px Arial,sans-serif;letter-spacing:1.8px;color:#747d85}.section-intro{color:#9299a0;font-size:11px;margin:-10px 0 18px}.dish-list{display:grid;gap:12px}.dish{border:1px solid #2b3034;background:var(--panel);border-radius:12px;overflow:hidden;display:flex;min-height:156px;text-align:right;width:100%;padding:0;transition:transform .2s,border-color .2s}.dish:hover{transform:translateY(-2px);border-color:#52626d;filter:none}.dish-copy{padding:17px 20px;flex:1;display:flex;flex-direction:column;min-width:0}.dish-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dish h3{font-size:16px;margin:0;font-weight:500}.tag{font-size:9px;color:var(--orange);border:1px solid #63442f;background:#3c2b2050;padding:1px 7px;border-radius:4px}.dish p{font-size:11px;color:#a9acb0;line-height:1.9;margin:6px 0 14px}.dish-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}.price{font-size:16px;color:#eee;white-space:nowrap;font-variant-numeric:tabular-nums}.price small{font-size:9px;color:#a0a4aa;margin-right:5px}.dish-arrow{font-size:17px;color:#7e8993}.dish img{width:34%;object-fit:cover;max-height:180px;filter:saturate(.8)}.interlude{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;background:linear-gradient(110deg,#182a34,#192126);border:1px solid #2d4553;border-radius:10px;margin:22px 0 35px}.interlude span{color:var(--blue);font-size:24px}.interlude b{display:block;font-size:13px;font-weight:500}.interlude p{margin:3px 0 0;font-size:10px;color:#9daeb9}.bottom-dock{position:fixed;bottom:0;left:0;right:0;z-index:15;pointer-events:none;padding:14px 20px calc(15px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#0b0d0fe6 35%)}.dock-inner{max-width:600px;margin:auto;pointer-events:auto}.category-row{display:flex;gap:8px;margin-bottom:10px;align-items:center}.grid-button{background:#36424a;border:1px solid #56636b;min-width:38px;height:38px;font-size:23px;border-radius:50%;color:#e0f5ff}#category-nav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:3px 0;flex:1}#category-nav a{display:flex;align-items:center;gap:7px;background:#272c30f5;white-space:nowrap;border:1px solid #454b51;padding:5px 16px;border-radius:30px;font-size:12px;color:#bfc4ca}#category-nav a.active{border-color:#67c8e5;color:#d4f6ff;background:#1f3c48}#category-nav a span{font-size:17px}.search-wrap{height:53px;display:flex;align-items:center;gap:12px;padding:0 20px;background:#24292ef5;border:1px solid #454d55;border-radius:30px;box-shadow:0 8px 40px #0008;backdrop-filter:blur(20px)}.search-wrap svg{fill:none;stroke:#b7c1ca;stroke-width:1.6;flex-shrink:0}.search-wrap input{border:0;background:transparent;color:#f5f5f5;width:100%;outline:none;font-size:13px;min-width:0}.search-wrap input::placeholder{color:#b4b8bd}.search-wrap input:focus-visible{outline:0}.search-wrap:focus-within{border-color:var(--blue)}kbd{color:#929ca4;border:1px solid #4a5159;border-radius:4px;font:12px Arial;padding:2px 6px}footer{text-align:center;border-top:1px solid var(--line);margin:10px 32px 0;padding:35px 0 170px}footer p{color:#a0a7af;font-size:11px}footer small{color:#818a93;display:block;font-size:10px}.sample-note{color:#b29c83!important;font-size:10px;margin-top:12px}dialog{background:#1b2025;color:var(--text);border:1px solid #45505a;border-radius:18px;padding:32px;width:calc(100% - 32px);max-width:490px;max-height:85dvh;overflow:auto;box-shadow:0 30px 120px #0009}dialog::backdrop{background:#020609c9;backdrop-filter:blur(8px)}.close-dialog{position:absolute;top:12px;left:12px;z-index:2;background:#182027e8}.detail-image{width:calc(100% + 64px);height:230px;object-fit:cover;margin:-32px -32px 20px}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.detail-head h2{font-size:22px}.detail-description{font-size:13px;color:#c0c5cb}.detail-meta{border-top:1px solid var(--line);margin-top:20px;padding-top:15px;font-size:12px}.detail-meta strong{font-size:11px;color:var(--blue)}.detail-meta p{margin-top:3px;color:#a6afb9}.detail-note{font-size:11px;color:var(--orange);margin-top:24px}.info-logo{width:140px;height:140px;object-fit:contain;display:block;margin:0 auto 18px;mix-blend-mode:screen}#info-dialog{text-align:center}#info-dialog p{font-size:13px}.muted{color:#9ca7b1}#category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}#category-grid button{padding:20px 10px;border-radius:10px;background:#272e34;border:1px solid #3d4750;font-size:13px}#category-grid span{display:block;font-size:30px;margin-bottom:8px}#empty{text-align:center;padding:40px 20px 100px}#empty>span{font-size:50px;color:var(--blue)}#empty p{font-size:12px;color:#9ba5af}.primary-button{background:var(--blue);color:#11242c;padding:9px 20px;border-radius:8px;font-size:12px}.skip{position:fixed;top:-100px;z-index:100;background:var(--blue);color:#111;padding:10px}.skip:focus{top:10px}.noscript{position:fixed;top:0;background:#583a20;color:white;padding:15px;width:100%;z-index:50}.error-body{min-height:100vh;display:grid;place-items:center;text-align:center;padding:24px}.error-card{max-width:460px}.error-card img{width:180px;height:180px;object-fit:contain}.error-code{color:var(--blue);letter-spacing:8px;font:12px Arial}.error-card h1{font-size:26px}.error-card p{color:var(--muted);font-size:13px;margin-bottom:30px}.error-card .primary-button{display:inline-block}
@media(min-width:1100px){.site-shell{max-width:860px}.hero{min-height:380px;padding:40px}.hero h1{font-size:35px}.brand-image{width:46%;top:0}.menu-top{padding-inline:40px}#menu-sections{padding-inline:40px}.type-tabs{margin-inline:40px}.dish-list{grid-template-columns:1fr 1fr}.dish{min-height:180px;position:relative}.dish-copy{padding:15px 13px}.dish img{width:34%;max-height:210px}.dish h3{font-size:14px}.dish p{font-size:10px}.tag{font-size:8px}.price{font-size:14px}.dish-top{gap:5px}.dock-inner{max-width:650px}}
@media(max-width:520px){.header{height:62px;padding:0 20px}.wordmark{font-size:25px}.header-label{font-size:9px}.hero{padding:24px 20px;min-height:290px;align-items:flex-start}.hero-copy{width:61%}.hero h1{font-size:24px;margin-top:14px}.hero p{font-size:10px;max-width:190px}.eyebrow{font-size:8px}.brand-image{width:51%;left:-17px;top:34px}.hero-bottom{left:20px;font-size:7px}.menu-top{padding:22px 20px 17px}.menu-top h2{font-size:21px}.menu-caption{font-size:9px}.type-tabs{margin-inline:20px}.type-tabs button{padding:11px 10px;font-size:11px}.allergy{font-size:9px;margin:19px 10px 24px}#menu-sections{padding-inline:20px}.dish{min-height:148px}.dish-copy{padding:14px}.dish h3{font-size:14px}.dish p{font-size:10px}.dish img{width:33%;max-height:170px}.tag{font-size:8px}.dish-top{gap:5px}.price{font-size:14px}.section-heading small{font-size:8px;letter-spacing:1px}.bottom-dock{padding-inline:15px}#category-nav a{font-size:11px;padding:5px 12px}.section-intro{font-size:10px}footer{margin-inline:20px}.detail-head{align-items:start;flex-direction:column;gap:6px}html{scroll-padding-top:72px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.type-tabs button{white-space:nowrap}
@media(max-width:520px){.type-tabs button{padding-inline:6px;font-size:10px}}
/* Cafe / games navigation and gaming rate cards. */
.experience-switch{display:flex;gap:8px;margin:0 32px 24px;padding:5px;background:#0c0f12;border:1px solid var(--line);border-radius:13px}.experience-switch button{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;background:transparent;border:1px solid transparent;border-radius:9px;padding:13px 10px;font-size:15px;color:var(--muted)}.experience-switch button small{font:9px Arial,sans-serif;letter-spacing:1.5px;opacity:.6;margin-right:12px}.experience-switch button.active{background:#20343f;border-color:#376079;color:#d2f4ff}.experience-switch button[data-experience="games"].active{background:#372b22;border-color:#805235;color:#ffd4ae}.experience-switch button>span{font-size:20px}.games-intro{padding:8px 32px 20px}.games-intro .eyebrow{color:var(--orange)}.games-intro h2{margin-top:8px}.games-intro p{color:var(--muted);font-size:12px}.game-rates{display:grid;gap:12px;margin:0 32px 24px}.game-card{display:flex;align-items:center;gap:18px;position:relative;overflow:hidden;padding:24px;border:1px solid #38332f;border-radius:12px;background:linear-gradient(115deg,#22201e,#1b1e21 70%)}.game-icon{flex-shrink:0;display:grid;place-items:center;width:64px;height:64px;border:1px solid #63503e;border-radius:14px;color:var(--orange);background:#302820;font:bold 17px Arial,sans-serif;direction:ltr}.game-card:nth-child(3) .game-icon,.game-card:nth-child(5) .game-icon{font-size:36px}.game-copy{flex:1;min-width:0}.game-english{font:9px Arial,sans-serif;letter-spacing:1.5px;color:#a38d79}.game-copy h3{font-size:17px;margin:3px 0}.game-copy p{font-size:11px;color:var(--muted);margin:3px 0}.game-price{display:flex;align-items:flex-end;flex-direction:column;gap:3px;flex-shrink:0}.rate-unit{font-size:10px;color:var(--orange)}.game-price .price{font-size:21px}.games-note{color:var(--muted);font-size:11px;margin:0 32px 34px;max-width:580px}.game-card:hover{border-color:#805235}body:has(#games-panel:not([hidden])) footer{padding-bottom:42px}
@media(min-width:1100px){.experience-switch{margin-inline:40px}.games-intro{padding-inline:40px}.game-rates,.games-note{margin-inline:40px}}
@media(max-width:520px){.experience-switch{margin-inline:20px}.experience-switch button{font-size:13px;gap:8px}.experience-switch button small{font-size:8px;margin-right:4px}.games-intro{padding-inline:20px}.games-intro h2{font-size:21px}.games-intro p{font-size:10px}.game-rates{margin-inline:20px}.game-card{padding:18px 14px;gap:12px;flex-wrap:wrap}.game-icon{width:46px;height:46px;border-radius:10px;font-size:13px}.game-copy h3{font-size:14px}.game-copy p{font-size:9px}.game-english{font-size:8px}.game-price .price{font-size:17px}.game-price .price small{font-size:8px}.games-note{margin-inline:20px;font-size:10px}}
/* Game photographs use the same replaceable JPG workflow as cafe items. */
.game-card{display:grid;grid-template-columns:minmax(0,1fr) 31%;padding:0;gap:0;min-height:180px}.game-image{grid-column:2;grid-row:1;width:100%;height:100%;min-height:180px;object-fit:cover;align-self:stretch}.game-card-body{grid-column:1;grid-row:1;display:flex;align-items:center;gap:20px;padding:24px;min-width:0}.type-tabs{overflow-x:auto;scrollbar-width:thin}.type-tabs button{flex:1 0 auto}.load-status{margin:20px 32px;padding:16px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.experience-switch button:disabled{opacity:.5;cursor:wait}
@media(max-width:520px){.game-card{min-height:170px}.game-image{min-height:170px}.game-card-body{padding:16px;flex-direction:column;align-items:stretch;gap:12px}.game-price{align-items:flex-start}.game-copy p{margin-top:5px}.load-status{margin-inline:20px}}

/* Center button artwork independently of font baselines and native padding. */
#info-button,#categories-button,.close-dialog{display:grid;place-items:center;padding:0;line-height:1;flex-shrink:0}
#categories-button{width:38px;min-width:38px}
#info-button svg,#categories-button svg,.close-dialog svg{display:block;width:20px;height:20px;pointer-events:none}

/* Reserve photo space while native lazy loading fetches visible cards. */
.dish img{height:auto;min-height:148px;aspect-ratio:1/1;background:#19232b}.game-image{background:#19232b}
