@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-italic-BicUS2cM.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-italic-BfTTTDIL.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-italic-Py8at3oI.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--white: #ffffff;--ink: #1b1612;--ink-2: #2a221c;--roast: #7a4328;--roast-dark: #3c2418;--roast-soft: #b07a5a;--cream: #f6f1ea;--paper: #fbf8f3;--smoke: #6a6a6a;--line: #e6e6e6;--line-soft: #f0ece7;--green-bean: #9aaf86;--crema: #c48a5a;--milk: #f3e9dc;--matcha: #6f8f4b;--amber: #9c5a2a;--gold: #c4a574;--serif: "Fraunces Variable", "Fraunces", Georgia, serif;--sans: "Outfit Variable", "Outfit", system-ui, -apple-system, sans-serif;--r-xs: 10px;--r-sm: 14px;--r-md: 20px;--r-lg: 28px;--r-xl: 36px;--r-pill: 999px;--gutter: 20px;--tabbar: 84px;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);--glass-tint: rgba(255, 255, 255, .46);--glass-tint-strong: rgba(255, 255, 255, .68);--glass-tint-dark: rgba(27, 22, 18, .62);--glass-blur: 22px;--glass-edge: rgba(255, 255, 255, .85);--glass-edge-soft: rgba(255, 255, 255, .28);--glass-shadow: 0 18px 50px -18px rgba(27, 22, 18, .28), 0 2px 6px -2px rgba(27, 22, 18, .08);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;min-height:100dvh}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:var(--white)}body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.4;color:var(--ink);background:var(--white);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none;touch-action:manipulation}#root{position:relative;overflow:hidden;display:flex;flex-direction:column}button,input{font:inherit;color:inherit}button{border:0;background:none;padding:0;cursor:pointer;touch-action:manipulation}input{border:0;background:none;outline:none;user-select:text;-webkit-user-select:text}img{display:block;max-width:100%;-webkit-user-drag:none}a{color:inherit;text-decoration:none}.serif{font-family:var(--serif);font-weight:500;font-variation-settings:"opsz" 72,"SOFT" 30}.serif-italic{font-family:var(--serif);font-style:italic;font-weight:500;font-variation-settings:"opsz" 72,"SOFT" 60}.kicker{font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--smoke)}.screen{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--white);overflow:hidden}.scroll{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-width:none}.scroll::-webkit-scrollbar{display:none}.scroll.with-tabs{padding-bottom:calc(var(--tabbar) + var(--sab) + 24px)}.pad{padding-left:calc(var(--gutter) + var(--sal));padding-right:calc(var(--gutter) + var(--sar))}.pad-top{padding-top:calc(var(--sat) + 16px)}.row{display:flex;align-items:center;gap:12px}.grow{flex:1;min-width:0}.hr{height:1px;background:var(--line);margin:18px 0}.ink-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;padding:0 22px;border-radius:var(--r-pill);background:var(--ink);color:#fff;font-weight:500;font-size:16px;box-shadow:0 14px 30px -14px #1b161280}.ink-button:disabled{opacity:.4;box-shadow:none}.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:0 22px;border-radius:var(--r-pill);border:1px solid var(--ink);color:var(--ink);font-weight:500;font-size:16px}.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:var(--r-pill);font-size:14px;font-weight:500;color:var(--ink);white-space:nowrap}.chip.active{background:var(--ink);color:#fff}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media(min-width:720px)and (max-width:1023px){body{background:radial-gradient(120% 80% at 50% 0%,#f6f1ea,#e9e2d8)}#root{width:430px;height:min(932px,100dvh - 32px);margin:16px auto;border-radius:44px;box-shadow:0 40px 100px -30px #1b161280,0 0 0 10px #1b1612,0 0 0 12px #3a302a}}@media(min-width:1024px){:root{--gutter: 32px}body{background:radial-gradient(120% 80% at 50% 0%,#f6f1ea,#e9e2d8)}#root{width:min(1180px,100vw - 48px);height:calc(100dvh - 48px);margin:24px auto;border-radius:32px;box-shadow:0 40px 100px -40px #1b161273,0 0 0 1px #1b16120f}.screen>.scroll,.screen>.pad{width:100%;max-width:760px;margin-left:auto;margin-right:auto}.screen.full>.scroll,.screen.full>.pad{max-width:none}.screen>.dock{left:50%;right:auto;width:min(760px,100%);transform:translate(-50%)}}.drift{transform-box:fill-box;transform-origin:center;animation:drift 4s ease-in-out infinite}@keyframes drift{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(6deg)}}.burst{transform-box:fill-box;transform-origin:center;opacity:0;animation:burst 1.3s cubic-bezier(.2,.8,.3,1) forwards}@keyframes burst{0%{transform:translate(0) scale(.4) rotate(0);opacity:0}35%{opacity:1}70%{transform:translate(var(--dx),var(--dy)) scale(1.2) rotate(var(--r));opacity:1}to{transform:translate(var(--dx),calc(var(--dy) + 70px)) scale(.9) rotate(var(--r));opacity:0}}.glass{position:relative;isolation:isolate;border-radius:var(--r-lg);background:var(--glass-tint);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.7);backdrop-filter:blur(var(--glass-blur)) saturate(1.7);box-shadow:inset 0 1px 0 var(--glass-edge),inset 0 -1px 0 var(--glass-edge-soft),inset 1px 0 #ffffff73,inset -1px 0 #ffffff40,var(--glass-shadow);transform:translateZ(0)}.glass:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.2px;background:linear-gradient(135deg,#fffffff2,#ffffff40 28%,#ffffff0d 55%,#ffffff8c);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}.glass:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(140px 90px at var(--sx, 30%) var(--sy, 0%),rgba(255,255,255,.55),rgba(255,255,255,0) 70%),linear-gradient(180deg,#ffffff38,#fff0 45%);pointer-events:none;z-index:1;transition:opacity .4s var(--ease-out)}.glass>*{position:relative;z-index:3}.glass.strong{background:var(--glass-tint-strong)}.glass.dark{background:var(--glass-tint-dark);color:#fff;box-shadow:inset 0 1px #ffffff59,inset 0 -1px #ffffff14,0 24px 60px -20px #0000008c}.glass.dark:before{background:linear-gradient(135deg,#ffffff8c,#ffffff1f,#ffffff05 60%,#ffffff4d)}.glass.dark:after{background:radial-gradient(160px 100px at var(--sx, 30%) var(--sy, 0%),rgba(255,255,255,.28),rgba(255,255,255,0) 70%),linear-gradient(180deg,#ffffff1f,#fff0 50%)}.glass.pill{border-radius:var(--r-pill)}.glass.flat{box-shadow:inset 0 1px 0 var(--glass-edge),inset 0 -1px 0 var(--glass-edge-soft)}html.lens .glass.lens{-webkit-backdrop-filter:url(#liquid-lens) blur(var(--glass-blur)) saturate(1.7);backdrop-filter:url(#liquid-lens) blur(var(--glass-blur)) saturate(1.7)}.glass.on-photo{background:#ffffff94}.glass-field{display:flex;flex-direction:column;gap:4px;padding:12px 16px}.glass-field label{font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--smoke)}.glass-field input{font-size:18px;padding:2px 0;width:100%}.glass-field input::placeholder{color:#b8b2ab}.book{position:relative;width:100%;height:100%;perspective:2200px;perspective-origin:50% 50%;touch-action:pan-y;user-select:none;-webkit-user-select:none}.book.spread{perspective:2600px}.book-page{position:absolute;top:0;bottom:0;left:0;width:100%;border-radius:6px 22px 22px 6px;background:var(--paper);background-image:linear-gradient(90deg,#1b161212,#1b161200 14px),radial-gradient(120% 70% at 20% 0%,#fffc,#fff0 60%);box-shadow:0 2px #fff9 inset,0 18px 40px -24px #1b161273;overflow:hidden;display:flex;flex-direction:column}.book.spread .book-page{width:50%}.book.spread .book-page.left{left:0;border-radius:22px 6px 6px 22px;background-image:linear-gradient(270deg,#1b161212,#1b161200 14px),radial-gradient(120% 70% at 80% 0%,#fffc,#fff0 60%)}.book.spread .book-page.right{left:50%}.book-turning{position:absolute;top:0;bottom:0;left:0;width:100%;transform-style:preserve-3d;transform-origin:left center;will-change:transform;z-index:5}.book.spread .book-turning{left:50%;width:50%}.book-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:6px 22px 22px 6px;overflow:hidden;background:var(--paper)}.book-face.back{transform:rotateY(180deg);border-radius:22px 6px 6px 22px}.book-shade{position:absolute;inset:0;pointer-events:none;border-radius:inherit}.book-page-inner{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;padding:22px 22px 18px 26px;display:flex;flex-direction:column;gap:10px}.book-page-inner::-webkit-scrollbar{display:none}.book-folio{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:.14em;color:var(--smoke);pointer-events:none}.book-item{display:flex;align-items:baseline;gap:10px;width:100%;text-align:left;padding:9px 0;border-top:1px dotted rgba(27,22,18,.16)}.book-item:first-of-type{border-top:0}.book-item .name{font-family:var(--serif);font-weight:500;font-size:17px;line-height:1.2}.book-item .desc{font-size:12.5px;color:var(--smoke);line-height:1.3;margin-top:2px}.book-item .price{font-family:var(--serif);font-weight:500;font-size:16px;white-space:nowrap}.book-item .pts{font-size:11px;color:var(--roast);text-align:right}.book-leader{flex:1;border-bottom:1px dotted rgba(27,22,18,.25);transform:translateY(-4px);min-width:12px}.book-badge{display:inline-block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--matcha);margin-left:6px}.book-badge.nuts{color:var(--roast)}
