:root{--paper:#221d17;--paper-2:#2b241c;--paper-edge:#15110c;--ink:#efe4d0;--ink-soft:#a99d87;--line:#3b3226;--accent:#ef9a4c;--accent-2:#e0b06a;--book-shadow:#0000008c;--nav-ink:#f7f0e2f2;--nav-ink-soft:#f7f0e294;--pill-bg:#120e1699;--pill-line:#f7f0e238;--focus:#f0b45a;--shop-bg:#100e16;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{background:var(--shop-bg);color:var(--ink);margin:0;font-family:Hanken Grotesk,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}img{max-width:100%}[hidden]{display:none!important}#scene{touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:fixed;inset:0}#scene.grabbing{cursor:grabbing}#scene.pointing{cursor:pointer}.loading{background:var(--shop-bg);color:var(--nav-ink);letter-spacing:.24em;text-transform:uppercase;z-index:19;pointer-events:none;place-items:center;font-family:Space Mono,ui-monospace,monospace;font-size:12px;transition:opacity .6s;display:grid;position:fixed;inset:0}.loading.gone{opacity:0;pointer-events:none}.loading.failed{text-align:center;pointer-events:none;padding:96px 24px 24px;line-height:1.7}.loading.failed~.pins,.loading.failed~.hint,.loading.failed~.credit{display:none}.topbar{z-index:20;padding:max(20px, env(safe-area-inset-top)) max(clamp(16px, 4vw, 40px), env(safe-area-inset-right)) 20px max(clamp(16px, 4vw, 40px), env(safe-area-inset-left));pointer-events:none;justify-content:flex-end;align-items:flex-start;gap:16px;display:flex;position:fixed;inset:0 0 auto}.topbar>*{pointer-events:auto}.nav{border:1px solid var(--pill-line);-webkit-backdrop-filter:blur(9px);background:#0c0a0fc7;border-radius:999px;align-items:center;gap:2px;padding:4px;display:flex}.nav a{font:inherit;color:var(--nav-ink);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:500;text-decoration:none;transition:background .16s}.nav a:hover{background:#f7f0e224}.menu-toggle{font:inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--nav-ink);background:var(--pill-bg);border:1px solid var(--pill-line);-webkit-backdrop-filter:blur(9px);cursor:pointer;border-radius:999px;padding:11px 17px;font-size:12px;font-weight:600;text-decoration:none;display:none}.pins{z-index:12;pointer-events:none;position:fixed;inset:0;overflow:hidden}.pin{background:var(--pill-bg);border:1px solid var(--pill-line);-webkit-backdrop-filter:blur(6px);color:var(--nav-ink);white-space:nowrap;cursor:pointer;pointer-events:auto;border-radius:999px;align-items:center;gap:7px;padding:6px 12px 6px 8px;font-size:12px;font-weight:500;transition:background .16s,border-color .16s;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.pin:hover,.pin.hot{color:#17110a;background:#ef9a4ce6;border-color:#f7f0e273}.pin .dot{background:var(--focus);border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 4px #f0b45a38}.say{z-index:11;color:#221812;pointer-events:none;white-space:normal;text-wrap:balance;background:#f7f0e2f0;border-radius:13px 13px 13px 4px;max-width:230px;padding:7px 12px;font-size:12.5px;font-weight:500;line-height:1.35;position:fixed;transform:translate(-50%,-100%);box-shadow:0 6px 20px #00000073}.you-pin{z-index:11;-webkit-backdrop-filter:blur(4px);color:#f7f0e2d1;letter-spacing:.22em;text-transform:uppercase;pointer-events:none;white-space:nowrap;background:#140e0a80;border:1px solid #f0b45a66;border-radius:999px;padding:3px 9px;font-family:Space Mono,monospace;font-size:9.5px;transition:opacity .5s;position:fixed;transform:translate(-50%,-50%)}.seat-pin{z-index:13;cursor:pointer;pointer-events:auto;background:0 0;border:0;border-radius:42%;width:clamp(112px,12vw,168px);height:clamp(132px,20vh,210px);padding:0;transition:opacity .4s,transform .4s;position:fixed;transform:translate(-50%,-50%)}.seat-pin:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.seat-pin.gone{opacity:0;pointer-events:none;transform:translate(-50%,-50%)scale(.9)}.hint{left:50%;bottom:max(22px, env(safe-area-inset-bottom));z-index:12;letter-spacing:.2em;text-transform:uppercase;color:var(--nav-ink-soft);text-shadow:0 1px 12px #000000b3;pointer-events:none;font-family:Space Mono,monospace;font-size:10.5px;transition:opacity .5s;position:fixed;transform:translate(-50%)}.hint.gone{opacity:0}.credit{right:max(clamp(16px, 4vw, 40px), env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));z-index:12;letter-spacing:.12em;color:var(--nav-ink-soft);text-shadow:0 1px 10px #000000b3;pointer-events:none;font-family:Space Mono,monospace;font-size:9.5px;position:fixed}.visitor-order{left:max(16px, env(safe-area-inset-left));bottom:max(64px, calc(env(safe-area-inset-bottom) + 24px));z-index:14;width:min(310px, calc(100vw - 32px - env(safe-area-inset-left) - env(safe-area-inset-right)));color:#f0dfc5;background:#1f171bf5;border:1px solid #735043;border-radius:4px;max-height:calc(100dvh - 150px);padding:18px;position:fixed;overflow:auto;box-shadow:0 8px 28px #0006}.visitor-order[hidden]{display:none}.visitor-order h2{margin:0 0 12px;font-size:21px}.visitor-order-choices{gap:8px;display:grid}.visitor-order-choices[hidden]{display:none}.visitor-order button{text-align:left;width:100%;min-height:44px;color:inherit;cursor:pointer;overflow-wrap:anywhere;background:#493128;border:1px solid #735043;border-radius:3px;padding:10px 12px}.visitor-order button:hover{background:#604033}.visitor-order button:focus-visible{outline-offset:3px;outline:2px solid #ffd093}.visitor-order span,.visitor-order small{display:block}.visitor-order small{color:#d8bea3;margin-top:3px;font-size:12px}.visitor-order p{margin:0;font-size:14px;line-height:1.5}.visitor-order p:empty{display:none}.visitor-order .visitor-order-skip{background:0 0;border-color:#0000;margin-top:8px;font-size:12px}.backdrop{z-index:40;-webkit-backdrop-filter:blur(3px);opacity:0;pointer-events:none;background:#08060c9e;transition:opacity .4s;position:fixed;inset:0}.backdrop.open{opacity:1;pointer-events:auto}.book-wrap{z-index:41;pointer-events:none;place-items:center;padding:clamp(16px,2.5vw,32px) clamp(108px,8vw,128px) clamp(16px,2.5vw,32px) clamp(16px,2.5vw,32px);display:grid;position:fixed;inset:0}.book{pointer-events:none;opacity:0;perspective:2000px;width:min(1180px,100%);height:min(780px,90dvh);transition:transform .44s cubic-bezier(.22,1,.36,1),opacity .32s;position:relative;transform:scale(.86)translateY(14px)}.book.open{opacity:1;pointer-events:auto;transform:scale(1)translateY(0)}.book-inner{background:var(--paper-edge);box-shadow:0 40px 90px -20px var(--book-shadow), 0 0 0 1px #00000026;border-radius:5px 10px 10px 5px;display:flex;position:absolute;inset:0;overflow:hidden}.page{background:var(--paper);background-image:radial-gradient(120% 80% at 0 0,#ffffff1f,#0000 60%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");flex:50%;min-width:0;padding:clamp(26px,3.5vw,52px) clamp(24px,3.4vw,52px);position:relative;overflow:hidden auto}.page.left{border-right:1px solid var(--paper-edge);border-radius:4px 0 0 4px;box-shadow:inset -26px 0 40px -26px #140c0466}.page.right{border-radius:0 8px 8px 0;flex-direction:column;display:flex;box-shadow:inset 26px 0 40px -26px #140c0466}.page.right>*{flex-shrink:0}.page::-webkit-scrollbar{width:8px}.page::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.cover{z-index:6;transform-origin:0;color:#f0d9a8;backface-visibility:hidden;background:linear-gradient(125deg,#7c2c1c,#5c1f13 60%,#491710);border-radius:5px 9px 9px 5px;flex-direction:column;justify-content:center;align-items:center;gap:18px;width:100%;height:100%;transition:transform .7s cubic-bezier(.5,0,.2,1);display:flex;position:absolute;top:0;left:0;transform:rotateY(0);box-shadow:inset 0 0 60px #0006,2px 0 8px #0000004d}.book.flipped .cover{pointer-events:none;transform:rotateY(-165deg)}.cover .seal{border:2px solid #f0d9a899;border-radius:50%;place-items:center;width:92px;height:92px;font-family:Zilla Slab,serif;font-size:34px;font-weight:700;display:grid}.cover h1{letter-spacing:.02em;margin:0;font-family:Zilla Slab,serif;font-size:34px;font-weight:700}.cover p{letter-spacing:.32em;text-transform:uppercase;opacity:.72;margin:0;font-family:Space Mono,monospace;font-size:10px}.cover .tap{letter-spacing:.2em;text-transform:uppercase;opacity:.6;font-family:Space Mono,monospace;font-size:10px;position:absolute;bottom:26px}.page-turn{z-index:5;transform-origin:0;background:var(--paper);backface-visibility:hidden;border-radius:0 8px 8px 0;width:50%;height:100%;display:none;position:absolute;top:0;left:50%;box-shadow:0 0 40px #0003}.page-turn.run{animation:.62s ease-in forwards flip;display:block}@keyframes flip{0%{transform:rotateY(0)}to{transform:rotateY(-170deg)}}.tabs{z-index:7;opacity:0;pointer-events:none;flex-direction:column;gap:6px;transition:opacity .3s .1s;display:flex;position:absolute;top:54px;right:0;transform:translate(100%)}.book.flipped .tabs{opacity:1;pointer-events:auto}.tabs button{font:inherit;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper-2);border:1px solid var(--paper-edge);cursor:pointer;white-space:nowrap;border-left:3px solid #0000;border-radius:0 6px 6px 0;padding:9px 12px 9px 10px;font-family:Space Mono,monospace;font-size:10px;transition:color .18s,border-color .18s;transform:none}.tabs button:hover{color:var(--ink);transform:none}.tabs button.active{color:var(--accent);border-left-color:var(--accent);background:var(--paper);transform:translate(0)}.book-close{z-index:8;border:1px solid var(--pill-line);background:var(--pill-bg);width:36px;height:36px;color:var(--nav-ink);cursor:pointer;-webkit-backdrop-filter:blur(6px);border-radius:50%;font-size:15px;position:absolute;top:-14px;right:-14px}.eyebrow{letter-spacing:.26em;text-transform:uppercase;color:var(--accent);font-family:Space Mono,monospace;font-size:10.5px}.page h2{color:var(--ink);text-wrap:balance;margin:8px 0 4px;font-family:Zilla Slab,Georgia,serif;font-size:clamp(28px,3.2vw,38px);font-weight:700;line-height:1.08}.page h2+.sub{color:var(--ink-soft);margin:0 0 20px;font-size:clamp(14px,1.15vw,16px);font-style:italic}.page p{color:var(--ink);margin:0 0 14px;font-size:clamp(14.5px,1.15vw,16px);line-height:1.62}.page p.draft{letter-spacing:.04em;color:var(--ink-soft);border-top:1px dashed var(--line);margin-top:20px;padding-top:10px;font-family:Space Mono,monospace;font-size:10.5px}.course{margin-top:22px}.course:first-of-type{margin-top:6px}.course h3{letter-spacing:.18em;text-transform:uppercase;color:var(--accent-2);margin:0 0 3px;font-family:Zilla Slab,serif;font-size:14px;font-weight:700}.course>.cnote{color:var(--ink-soft);margin:0 0 12px;font-size:13.5px;font-style:italic}.item{margin:0 0 14px}.item .row{align-items:baseline;gap:8px;display:flex}.item .name{color:var(--ink);flex:none;font-family:Zilla Slab,serif;font-size:16px;font-weight:700}.item .leader{border-bottom:1.5px dotted var(--line);flex:1;transform:translateY(-4px)}.item .tag{color:var(--accent-2);white-space:nowrap;flex:none;font-family:Space Mono,monospace;font-size:11px}.item .desc{color:var(--ink-soft);margin:4px 0 0;font-size:14px;line-height:1.5}.item a{color:var(--accent);border-bottom:1px solid;font-family:Space Mono,monospace;font-size:10.5px;text-decoration:none}.item a:hover{color:var(--accent-2)}.special{border:1.5px solid var(--accent);background:var(--paper-2);background:color-mix(in srgb, var(--accent) 8%, var(--paper));border-radius:3px;margin-top:18px;padding:14px 16px}.special h3{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 8px;font-family:Zilla Slab,serif;font-size:12px}.special .item .name{font-size:15px}.page[data-section=log]{background-color:color-mix(in srgb, var(--paper) 84%, #d8cab2);background-image:linear-gradient(#7a5e3612 1px,#0000 1px),radial-gradient(120% 80% at 0 0,#ffffff24,#0000 60%);background-size:100% 28px,auto}.log-sheet{position:relative}.log-sheet:before{content:"";background:#d2b88061;border:1px solid #7a5e3629;width:82px;height:20px;position:absolute;top:-20px;left:50%;transform:translate(-50%)rotate(-1.5deg)}.log-sheet-intro{padding:24px 4px 0}.log-index-link{color:var(--accent);border-bottom:1px solid;margin-top:16px;font-family:Space Mono,monospace;font-size:11px;text-decoration:none;display:inline-block}.logline{border-bottom:1px solid var(--line);padding:14px 0}.logline:last-of-type{border-bottom:0}.log-meta{justify-content:space-between;gap:12px;display:flex}.log-meta time,.log-meta span{letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase;font-family:Space Mono,monospace;font-size:9.5px}.logline h3{color:var(--ink);margin:5px 0 4px;font-family:Zilla Slab,serif;font-size:17px}.logline h3 a{color:inherit;text-decoration:none}.logline h3 a:hover{color:var(--accent)}.logline p{color:var(--ink-soft);margin:0;font-size:13.5px;line-height:1.5}.logline.draft{border-left:2px solid color-mix(in srgb, var(--accent-2) 55%, var(--paper));margin-left:-12px;padding-left:10px}.log-tags{flex-wrap:wrap;gap:6px;margin:9px 0 0;padding:0;list-style:none;display:flex}.log-tags li{color:var(--ink-soft);font-family:Space Mono,monospace;font-size:9px}.log-tags li:before{content:"#";color:var(--accent)}.bill{margin:6px 0 0;padding:0;list-style:none}.bill li{border-bottom:1px dotted var(--line);gap:10px;padding:8px 0;font-size:13.5px;display:flex}.bill li:last-child{border-bottom:0}.bill b{letter-spacing:.06em;text-transform:uppercase;width:84px;color:var(--ink-soft);flex:none;padding-top:3px;font-family:Space Mono,monospace;font-size:10px;font-weight:400}.bill a{color:var(--accent);border-bottom:1px solid;text-decoration:none}.bill li>span{overflow-wrap:anywhere;min-width:0}.bill .total{color:var(--ink);margin-top:12px;font-family:Zilla Slab,serif;font-size:14px;font-weight:700}.pageflip-hint{letter-spacing:.12em;text-transform:uppercase;min-height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;align-self:flex-end;margin:auto 0 0;padding:16px 0 0;font-family:Space Mono,monospace;font-size:9.5px}.pageflip-hint:hover{color:var(--accent)}.portrait{aspect-ratio:4/3;border:1px solid var(--line);background:radial-gradient(80% 90% at 50% 30%, color-mix(in srgb, var(--accent) 22%, var(--paper-2)), var(--paper-2));width:100%;color:var(--accent);border-radius:4px;place-items:center;margin-bottom:16px;font-family:Zilla Slab,serif;font-size:46px;display:grid}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:3px}.preview-banner{z-index:10000;top:max(12px, env(safe-area-inset-top));color:#f6efe0;letter-spacing:.06em;text-transform:uppercase;background:#161116;border:1px solid #ef9a4c8c;border-radius:999px;padding:9px 14px;font:700 10px/1.3 Space Mono,monospace;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #00000059}.preview-banner[hidden]{display:none}.preview-banner a{color:#ef9a4c}@media (prefers-reduced-motion:reduce){.book,.backdrop,.cover,.page-turn{transition:none!important;animation:none!important}}@media (width<=860px){.nav{display:none}.menu-toggle{display:block}.credit{display:none}.book{width:100%;height:100%}.book-inner{border-radius:0}.page.left{display:none}.page.right{box-shadow:none;padding-top:calc(104px + env(safe-area-inset-top));padding-right:max(clamp(24px, 8vw, 44px), env(safe-area-inset-right));padding-bottom:max(52px, env(safe-area-inset-bottom));padding-left:max(clamp(24px, 8vw, 44px), env(safe-area-inset-left));border-radius:0;flex-basis:100%}.page-turn{display:none!important}.tabs{padding:max(10px, env(safe-area-inset-top)) max(52px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left));background:var(--paper);border-bottom:1px solid var(--paper-edge);flex-flow:wrap;gap:4px;top:0;left:0;right:0;transform:none}.tabs button{border:1px solid var(--paper-edge);border-radius:6px;padding:8px 9px;font-size:9.5px;transform:none!important}.tabs button.active{border-color:var(--accent);background:var(--paper-2)}.book-close{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right))}.book-wrap{padding:0}.page h2{font-size:clamp(26px,8vw,34px)}.page p,.page h2+.sub{font-size:14.5px}.item .desc{font-size:13px}.item .row{flex-wrap:wrap}.item .name{overflow-wrap:anywhere;flex:0 auto;min-width:0;max-width:100%}.item .tag{white-space:normal;overflow-wrap:anywhere;max-width:100%}.menu-preview .book-wrap{padding-top:calc(64px + env(safe-area-inset-top))}.menu-preview .topbar{top:calc(64px + env(safe-area-inset-top))}.menu-preview .preview-banner{width:max-content;max-width:calc(100vw - 24px)}}
