@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#f1f1ee)var(--lightningcss-dark,#141413);--surface:var(--lightningcss-light,#fafaf8)var(--lightningcss-dark,#1d1d1b);--pocket:var(--lightningcss-light,#e3e3de)var(--lightningcss-dark,#2a2a27);--text:var(--lightningcss-light,#141414)var(--lightningcss-dark,#f2f2ee);--muted:var(--lightningcss-light,#63635e)var(--lightningcss-dark,#a4a49d);--line:var(--lightningcss-light,#d3d3cd)var(--lightningcss-dark,#363632);--danger:var(--lightningcss-light,#b91c1c)var(--lightningcss-dark,#fca5a5);--page-gutter:1rem;--shelf-height:150px;--shelf-pad:.625rem;--card-ratio:600 / 825;font-family:Hanken Grotesk Variable,system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width>=720px){:root{--page-gutter:1.75rem;--shelf-height:176px}}@media (width>=1000px){:root{--shelf-height:236px}}*{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;color:var(--text);flex-direction:column;margin:0;line-height:1.45;display:flex}a{color:var(--text);text-underline-offset:.15em}h1{letter-spacing:-.02em;margin:0 0 .75rem;font-size:2.125rem;font-weight:600;line-height:1.1}h2{margin:1.5rem 0 .5rem;font-size:1.0625rem;font-weight:600}p{margin:0 0 .75rem}:focus-visible{outline:3px solid var(--text);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:.85rem}.site-nav{max-width:1240px;padding:1.1rem var(--page-gutter);flex-wrap:wrap;align-items:center;gap:.25rem 1.25rem;margin:0 auto;display:flex}.site-nav a{color:var(--muted);font-weight:500;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--text)}.site-nav .brand{color:var(--text);letter-spacing:-.01em;margin-right:auto;font-size:1.05rem;font-weight:700}.site-main{width:100%;max-width:1240px;padding:.5rem var(--page-gutter) 3rem;flex:1;margin:0 auto}.site-footer{padding:1.25rem var(--page-gutter);color:var(--muted);text-align:center;font-size:.8rem}.site-footer p{margin:.25rem 0}.site-footer a{color:inherit}.button{border:1px solid var(--line);min-width:2.5rem;min-height:2.5rem;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:99px;justify-content:center;align-items:center;padding:.4rem .95rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){border-color:var(--text)}.button:disabled{opacity:.4;cursor:not-allowed}.button-primary{background:var(--text);border-color:var(--text);color:var(--bg)}.button-danger{color:var(--danger)}.button-wide{width:100%;margin:1rem 0;display:flex}.search-input{border:0;border-bottom:2px solid var(--text);width:100%;color:var(--text);font:inherit;letter-spacing:-.02em;background:0 0;border-radius:0;padding:.25rem 0 .5rem;font-size:clamp(1.25rem,4vw,1.875rem);font-weight:600}.search-input::placeholder{color:var(--muted);opacity:1;text-overflow:ellipsis;font-weight:500}.search-input:focus-visible{box-shadow:0 2px 0 var(--text);outline:none}.search-input::-webkit-search-cancel-button{appearance:none;background:var(--muted);cursor:pointer;width:.7em;height:.7em;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4l16 16M20 4L4 20' stroke='%23000' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4l16 16M20 4L4 20' stroke='%23000' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.view-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:1.25rem 0 .75rem;display:flex}.view-switch{border:1px solid var(--line);border-radius:99px;padding:2px;display:inline-flex}.view-switch button{min-height:2.25rem;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:99px;padding:.25rem .9rem;font-weight:600}.view-switch button[aria-pressed=true]{background:var(--text);color:var(--bg)}.empty{text-align:center;color:var(--muted);padding:3.5rem 1rem}.empty h1,.empty h2{color:var(--text)}.shelf-wall{padding:0 var(--shelf-pad);border-bottom:2px solid var(--text);display:block}.shelf-wall .card-image{box-shadow:0 5px 12px -7px #00000073}.card-image{width:100%;height:auto;aspect-ratio:var(--card-ratio);object-fit:contain;background:var(--line);border-radius:4.5%/3.2%;display:block}.card-image-empty{color:var(--muted);place-items:center;font-size:.85rem;display:grid}.result-count{color:var(--muted);margin:.75rem 0 1.25rem}.card-grid{margin:0 calc(var(--shelf-pad) * -1) 1rem;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));row-gap:1.6rem;padding:0;list-style:none;display:grid}.tile{position:relative}.tile-link{color:inherit;text-decoration:none;display:block}.tile-link:hover .tile-name{text-decoration:underline}.tile-name{margin:.55rem var(--shelf-pad) 0;overflow-wrap:anywhere;font-size:.9rem;font-weight:600}.tile-meta{color:var(--muted);margin:0;font-size:.8rem;font-weight:400;display:block}.tile>.tile-link>.tile-meta{margin:0 var(--shelf-pad)}.save-toggle{top:.4rem;right:calc(var(--shelf-pad) + .4rem);background:var(--bg);width:2.25rem;height:2.25rem;color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:50%;place-items:center;font-size:1.05rem;line-height:1;display:grid;position:absolute;box-shadow:0 1px 4px #00000059}.save-toggle[aria-pressed=true]{background:var(--text);color:var(--bg)}.detail{gap:1.5rem;padding-top:.5rem;display:grid}.detail-image{width:100%;max-width:360px;margin:0 auto;padding:0}.detail-meta{color:var(--muted);margin:0 0 1.25rem}.detail-price{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0;font-size:1.875rem;font-weight:600;line-height:1.1}.detail-body>.muted{margin-bottom:1.25rem}@media (width>=720px){.detail{grid-template-columns:minmax(280px,400px) 1fr;align-items:start;gap:2.5rem}.detail-image{max-width:none}.detail-body{max-width:34rem}}.facts{margin:1.25rem 0}.facts>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.5rem 0;display:flex}.facts dt{color:var(--muted)}.facts dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:500}.quantity{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.quantity output{text-align:center;font-variant-numeric:tabular-nums;min-width:1.75rem;font-weight:600}.detail .quantity>span{margin-right:auto;font-weight:600}.value{margin-bottom:.25rem}.value p{margin:0}.value-total{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(2.25rem,7vw,3rem);font-weight:600;line-height:1.1}.value+.muted{margin-top:.25rem}.shelf{margin:1.75rem 0 0}.shelf-heading{margin-bottom:.75rem}.shelf-title{color:inherit;flex-wrap:wrap;align-items:baseline;gap:0 .6rem;text-decoration:none;display:flex}a.shelf-title:hover h2{text-decoration:underline}.shelf-title h2{overflow-wrap:anywhere;min-width:0;margin:0}.shelf-row{margin:0 calc(var(--shelf-pad) * -1);padding:0 0 .25rem;list-style:none;display:flex;overflow-x:auto}.shelf-item{width:calc(var(--shelf-height) * 8 / 11 + var(--shelf-pad) * 2);flex:none}.shelf-item a{color:inherit;text-decoration:none;display:block}.shelf-item .card-image{height:var(--shelf-height);width:calc(var(--shelf-height) * 8 / 11)}.shelf-price{margin:.35rem var(--shelf-pad) 0;font-variant-numeric:tabular-nums;display:block}.shelf-item a:hover .shelf-price{color:var(--text)}.shelf-fill{min-width:1rem;height:calc(var(--shelf-height) + 2px);border-bottom:2px solid var(--text);flex:1}.shelf-empty{border-bottom:2px solid var(--text);margin:0;padding:0 0 .75rem}.rows{margin:.75rem 0 0;padding:0;list-style:none;display:grid}.row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:.75rem 1rem;padding:.75rem 0;display:grid}.row-link{min-width:0;color:inherit;align-items:center;gap:.75rem;text-decoration:none;display:flex}a.row-link:hover strong{text-decoration:underline}.row-link .card-image{flex:none;width:52px}.row-link strong{font-weight:600}.row-price{font-variant-numeric:tabular-nums;font-weight:600}.row .quantity{grid-column:1/-1;justify-content:flex-end}@media (width>=720px){.row{grid-template-columns:1fr auto auto}.row .quantity{grid-column:auto}}.row.add-row{grid-template-columns:1fr auto}.select,.text-input{border:1px solid var(--line);min-height:2.5rem;color:var(--text);font:inherit;background:0 0;border-radius:99px;min-width:0;padding:.4rem .85rem}.row .select{flex:100%}@media (width>=720px){.row .select{flex:none;max-width:12rem}}.folder-form{gap:.5rem;width:100%;max-width:24rem;margin:0;display:flex}.folder-form .text-input{flex:1}.folder-heading{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.folder-heading h1{overflow-wrap:anywhere;min-width:0;margin:0 auto 0 0}.back-link{margin:0 0 .5rem}.back-link a{color:var(--muted);text-decoration:none}.back-link a:hover{color:var(--text)}.binder-layout{flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;margin:1rem 0;display:flex}.stepper{align-items:center;gap:.35rem;display:inline-flex}.stepper-label{margin-right:.25rem;font-weight:600}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:1.5rem;font-weight:600}.binder{background:var(--surface);box-shadow:0 0 0 1px var(--line);border-radius:.75rem;gap:1.5rem;padding:.75rem;display:grid;position:relative}.binder-page{grid-template-columns:repeat(var(--binder-columns), minmax(0, 13.75rem));place-content:start center;gap:clamp(.25rem,1vw,.5rem);min-width:0;margin:0;padding:0;list-style:none;display:grid}.pocket{aspect-ratio:5/7;background:var(--pocket);border-radius:.35rem;min-width:0;padding:clamp(2px,.5vw,5px);position:relative;box-shadow:inset 0 0 0 1px #0000000f,inset 0 2px 3px #0000000f}.pocket-link{height:100%;color:inherit;text-decoration:none;display:block;position:relative}.pocket .card-image{background:0 0;height:100%}.pocket-copies{background:var(--text);color:var(--bg);font-variant-numeric:tabular-nums;border-radius:99px;padding:0 .4rem;font-size:.75rem;font-weight:600;position:absolute;bottom:3%;right:4%}.binder-rings{display:none}.binder-pager{justify-content:center;align-items:center;gap:1rem;margin-top:.75rem;display:flex}@media (width>=900px){.binder{grid-template-columns:1fr 1fr;gap:3rem;padding:1rem}.binder-rings{flex-direction:column;justify-content:space-around;display:flex;position:absolute;top:1rem;bottom:1rem;left:50%;transform:translate(-50%)}.binder-rings i{background:var(--bg);border-radius:50%;width:.8rem;height:.8rem;box-shadow:inset 0 1px 2px #00000059}}.prose{max-width:42rem}.narrow{max-width:26rem;margin:0 auto}.form{flex-direction:column;gap:.9rem;display:flex}.form label{flex-direction:column;gap:.3rem;font-weight:600;display:flex}.form input{border:1px solid var(--line);color:var(--text);font:inherit;background:0 0;border-radius:99px;padding:.65rem .95rem;font-weight:400}.form-error{color:var(--danger);margin:0}
