:root{--ink:#17100b;--paper:#eee1c7;--gold:#c99a43;--red:#641f19;--reel-ease:cubic-bezier(.22,.72,.18,1)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% 20%,#42251a 0,#160e0a 45%,#080605);color:#eee4d3;font-family:DM Sans,sans-serif;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E")}a{color:inherit}.skip{position:fixed;top:-5rem;left:1rem;z-index:99;background:#fff;color:#111;padding:1rem}.skip:focus{top:1rem}header{height:74px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff18;text-transform:uppercase;letter-spacing:.16em;font-size:.67rem}header a{text-decoration:none}.back{font:1rem Marcellus;display:flex;gap:.8rem;align-items:center}.back span{letter-spacing:.2em}.intro{text-align:center;padding:4rem 1rem 2.4rem}.intro>p{font-size:.62rem;text-transform:uppercase;letter-spacing:.28em;color:var(--gold)}.intro h1{margin:.5rem 0 1rem;font:400 clamp(3rem,7vw,6.5rem)/.85 "Marcellus";letter-spacing:-.05em}.intro em{color:#deb566}.intro>span{font-size:.7rem;color:#bcae9d}.book-shell{width:min(940px,90vw);height:min(720px,72vw);min-height:560px;margin:auto;position:relative;overflow:hidden}.book{width:100%;height:100%;position:relative;filter:drop-shadow(0 30px 40px #0009);outline:none;touch-action:manipulation}.book:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}.page{position:absolute;inset:0;display:none;overflow:hidden;backface-visibility:hidden;will-change:transform,opacity}.page.is-active{display:block}.menu-page{color:var(--ink);padding:clamp(2rem,5vw,4.5rem) clamp(1.8rem,6vw,5.5rem);background:linear-gradient(90deg,#b9aa8b 0,#eadbbf 3%,#f3e8d0 48%,#e9d9b9);clip-path:polygon(0 0,99.4% .5%,100% 99%,1% 100%)}.paper-noise{position:absolute;inset:0;opacity:.1;pointer-events:none;background-image:repeating-linear-gradient(12deg,transparent 0 5px,#563e2220 6px)}.menu-page>*:not(.paper-noise){position:relative}.menu-page h2,.end-page h2{font:400 clamp(2.7rem,6vw,5rem)/.9 "Marcellus";margin:0 0 1rem;color:#3d1712}.note{font:italic .8rem Marcellus;color:#725e46;margin:0 0 1.2rem}.items{display:grid;grid-template-columns:1fr 1fr;column-gap:3rem}.item{display:flex;gap:1rem;justify-content:space-between;border-top:1px solid #5a422b38;padding:.55rem 0;break-inside:avoid}.item h3{margin:0;font:400 clamp(.78rem,1.3vw,1.03rem)/1.15 "Marcellus"}.item p{margin:.2rem 0 0;max-width:27rem;font-size:clamp(.56rem,.8vw,.69rem);line-height:1.35;color:#6e5b48}.item strong{white-space:nowrap;color:var(--red);font:400 .83rem Marcellus}.menu-page footer{position:absolute;bottom:1.4rem;left:5.5rem;right:5.5rem;display:flex;justify-content:space-between;font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:#7a674f}.cover{background:linear-gradient(135deg,#2c1912,#0f0906 60%,#24140f);border:1px solid #b8863860;color:#ddc99b;text-align:center;padding:3rem;box-shadow:inset 0 0 0 10px #120b08,inset 0 0 0 11px #c5954140;clip-path:polygon(.5% .3%,99.5% 0,100% 99.5%,0 100%)}.cover:before{content:"";position:absolute;inset:25px;border:1px solid #c99a4340}.cover-lines{position:absolute;inset:0;background:radial-gradient(circle at center,#c99a4312,transparent 32%)}.cover img{position:relative;width:clamp(130px,21vw,220px);aspect-ratio:1;object-fit:cover;border-radius:50%;filter:grayscale(1) contrast(1.15);border:4px solid #d3b577;box-shadow:0 0 0 12px #c99a4320,0 0 60px #d6a84c2a}.cover p{position:relative;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase}.cover h2{position:relative;margin:.6rem 0;font:400 clamp(4rem,10vw,8rem)/.8 "Marcellus";letter-spacing:.08em;text-transform:uppercase}.cover>span{display:block;position:relative;font:italic .8rem Marcellus;letter-spacing:.25em}.open-book{position:relative;margin-top:2rem;border:1px solid #c99a43;background:transparent;color:#eee1c7;padding:.9rem 1.2rem;text-transform:uppercase;letter-spacing:.17em;font-size:.65rem;cursor:pointer}.open-book b{color:var(--gold);margin-left:.6rem}.end-page{background:radial-gradient(circle,#6f2a20,#200e0a 70%);display:none!important;text-align:center;padding:8rem 2rem;color:#f0dfc3}.end-page.is-active,.end-page.reel-exit-left,.end-page.reel-exit-right{display:grid!important;place-content:center}.end-page p{text-transform:uppercase;letter-spacing:.25em;color:#d8b372;font-size:.65rem}.end-page h2{color:#f4e4c8}.end-page a,.restart{justify-self:center;margin:.5rem;border:1px solid #d2a34e;padding:1rem 1.4rem;text-decoration:none;text-transform:uppercase;letter-spacing:.15em;font-size:.65rem;background:#d2a34e;color:#150d09}.restart{background:transparent;color:#e9d9bd;cursor:pointer}.reel-exit-left,.reel-exit-right,.reel-enter-left,.reel-enter-right{display:block;animation-duration:.76s;animation-timing-function:var(--reel-ease);animation-fill-mode:both}.reel-exit-left{z-index:2;animation-name:reelExitLeft}.reel-exit-right{z-index:2;animation-name:reelExitRight}.reel-enter-right{z-index:3;animation-name:reelEnterRight}.reel-enter-left{z-index:3;animation-name:reelEnterLeft}@keyframes reelExitLeft{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(-101%,0,0);opacity:.92}}@keyframes reelExitRight{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(101%,0,0);opacity:.92}}@keyframes reelEnterRight{0%{transform:translate3d(101%,0,0);opacity:.92}to{transform:translateZ(0);opacity:1}}@keyframes reelEnterLeft{0%{transform:translate3d(-101%,0,0);opacity:.92}to{transform:translateZ(0);opacity:1}}@media(max-width:760px){header{height:56px;padding:0 .75rem}header p{display:none}header>a:last-child{font-size:.58rem;letter-spacing:.1em}.book-shell{width:calc(100vw - 12px);height:calc(100svh - 128px);min-height:0;max-height:none;margin-top:6px}.book{touch-action:pan-y}.menu-page{padding:1.35rem .95rem 2.75rem}.menu-page h2{font-size:clamp(2.45rem,12vw,3.2rem);margin:0 0 .7rem}.note{font-size:.76rem;margin-bottom:.75rem}.items{grid-template-columns:1fr;padding-right:.15rem}.item{padding:.48rem 0;gap:.65rem}.item h3{font-size:clamp(.9rem,4vw,1rem)}.item p{font-size:clamp(.64rem,2.85vw,.72rem);line-height:1.32}.item strong{font-size:.79rem}.menu-page footer{left:.95rem;right:.95rem;bottom:.85rem}.cover{padding:clamp(2rem,7svh,4rem) 1rem}.cover h2{font-size:clamp(3.6rem,19vw,5.2rem)}.cover img{width:clamp(145px,43vw,185px)}.nav{top:50%;bottom:auto;width:46px;height:46px;background:#120c08e6}.prev{left:8px}.next{right:8px}.progress{width:calc(100vw - 24px);margin:.85rem auto .65rem;grid-template-columns:1fr auto;gap:.5rem}.progress>div{grid-column:1/-1;grid-row:2}.progress span:last-child{grid-column:2}.accuracy{padding:.5rem 1rem 2rem}}.page.drag-page{display:block}.end-page.drag-page{display:grid!important;place-content:center}.menu-page.drag-page{display:flex;flex-direction:column}.page-controls{margin:0;text-align:center;color:#d7bd89;font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}@media(max-width:760px){.page-controls{font-size:.56rem;letter-spacing:.14em}}html,body{height:100%;overflow:hidden}body{min-height:100dvh}main{height:calc(100vh - 56px);height:calc(100dvh - 56px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}header{height:56px}.back{min-width:44px;min-height:44px;justify-content:center;font-size:1.45rem}.book-shell{width:min(1180px,calc(100vw - 24px));height:auto;min-height:0;margin:0 auto .35rem;align-self:stretch}.menu-page.is-active,.menu-page.reel-exit-left,.menu-page.reel-exit-right,.menu-page.reel-enter-left,.menu-page.reel-enter-right{display:flex;flex-direction:column}.menu-page.measure-page{display:flex;flex-direction:column;visibility:hidden;pointer-events:none;z-index:-1}.menu-page .items{flex:1;min-height:0;overflow:hidden;padding:0 .3rem .45rem 0;align-content:start}.menu-page footer{position:static;flex:0 0 auto;min-height:1.6rem;margin-top:.35rem;padding:.55rem .15rem .2rem;border-top:1px solid #5a422b38;line-height:1.25}.page-controls{display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:42px}.page-controls>span{margin:0;color:inherit}.page-arrow{display:grid;place-items:center;width:42px;height:32px;padding:0;border:1px solid #c99a4375;border-radius:999px;background:#120c08b8;color:#e9d9bd;font:1.15rem/1 DM Sans;cursor:pointer;touch-action:manipulation}.page-arrow:active{background:var(--gold);color:#17100b}.page-arrow:focus-visible{outline:2px solid #f2cc7a;outline-offset:2px}.page-arrow:disabled{opacity:.28;cursor:default}@media(max-width:760px){header{height:48px;padding:0 .45rem}header p{display:none}header>a:last-child{font-size:.54rem}.back{font-size:1.35rem}main{height:calc(100vh - 48px);height:calc(100dvh - 48px);grid-template-rows:auto minmax(0,1fr)}.book-shell{width:calc(100vw - 8px);height:auto;margin:0 auto .2rem}.menu-page{padding:1rem .8rem .55rem}.menu-page h2{font-size:clamp(2.25rem,11vw,3rem);margin:.15rem 0 .55rem}.note{margin-bottom:.55rem}.menu-page .items{max-height:none;padding-right:.2rem}.item{padding:.42rem 0}.menu-page footer{min-height:1.75rem;margin-top:.2rem;padding:.45rem .1rem .3rem}.page-controls{min-height:38px;gap:.55rem}.page-arrow{width:46px;height:32px}.cover{padding:clamp(1.25rem,4svh,2.5rem) .8rem}.cover img{width:clamp(125px,36vw,170px)}.cover h2{font-size:clamp(3.2rem,17vw,5rem)}.open-book{margin-top:1.25rem}}@media(max-width:760px)and (max-height:680px){.menu-page{padding-top:.7rem}.menu-page h2{font-size:clamp(1.9rem,9vw,2.45rem);margin:0 0 .35rem}.note{font-size:.66rem;margin-bottom:.35rem}.item{padding:.3rem 0}.item h3{font-size:.82rem}.item p{font-size:.59rem;line-height:1.22}.item strong{font-size:.72rem}.menu-page footer{min-height:1.5rem;padding:.32rem .1rem .2rem}}.menu-page h2{font-size:clamp(2.7945rem,6.21vw,5.175rem)}.menu-page .note{font-size:.92rem}.menu-page .item h3{font-size:clamp(1.0764rem,1.794vw,1.4214rem)}.menu-page .item p{font-size:clamp(.644rem,.92vw,.7935rem)}.menu-page .item strong{font-size:.9545rem}@media(max-width:760px){.menu-page h2{font-size:clamp(2.32875rem,11.385vw,3.105rem)}.menu-page .note{font-size:.874rem}.menu-page .item h3{font-size:clamp(1.242rem,5.52vw,1.38rem)}.menu-page .item p{font-size:clamp(.736rem,3.2775vw,.828rem)}.menu-page .item strong{font-size:.9085rem}}@media(max-width:760px)and (max-height:680px){.menu-page h2{font-size:clamp(1.9665rem,9.315vw,2.53575rem)}.menu-page .note{font-size:.759rem}.menu-page .item h3{font-size:1.1316rem}.menu-page .item p{font-size:.6785rem}.menu-page .item strong{font-size:.828rem}}@media(prefers-reduced-motion:reduce){.page,.page.is-active,.reel-exit-left,.reel-exit-right,.reel-enter-left,.reel-enter-right{animation:none!important;transition:none!important}.reel-exit-left,.reel-exit-right{display:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.category-label{min-width:0;max-width:calc(100vw - 140px)}#category-select{width:100%;max-width:20rem;min-height:36px;border:1px solid #c99a4375;border-radius:4px;padding:.4rem 1.8rem .4rem .7rem;background:#17100b;color:#eee1c7;font:500 .8rem DM Sans,sans-serif;cursor:pointer}#category-select:focus-visible{outline:2px solid #f2cc7a;outline-offset:2px}.item>div{min-width:0;overflow-wrap:anywhere}
