.portal{--paper:#f6f1e6;--paper-deep:#ede5d2;--ink:#1b1712;--ink-soft:#5b5343;--neon:#cff154;--grape:#6450bf;--lilac:#c4b5fd;background-color:var(--paper);color:var(--ink);font-family:var(--font-fraunces),Georgia,"Times New Roman",serif;min-height:100vh;position:relative}.portal:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:40;opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.055'/%3E%3C/svg%3E")}.portal h1,.portal h2,.portal h3,.portal h4{font-family:var(--font-fraunces),Georgia,serif;text-transform:none;letter-spacing:-.02em;line-height:1.04;font-weight:600}.portal ::-moz-selection{background:var(--neon);color:var(--ink)}.portal ::selection{background:var(--neon);color:var(--ink)}.font-hand{font-family:var(--font-caveat),"Segoe Script",cursive}.font-meta{font-family:var(--font-roboto-mono),monospace;text-transform:uppercase;letter-spacing:.18em}.marker{background-image:linear-gradient(to top,transparent 6%,var(--neon) 6%,var(--neon) 44%,transparent 44%)}.marker-lilac{background-image:linear-gradient(to top,transparent 6%,var(--lilac) 6%,var(--lilac) 44%,transparent 44%)}.arch{border-radius:999px 999px 18px 18px;overflow:hidden}.plate{box-shadow:9px 9px 0 var(--ink)}.plate,.plate-lilac{border:2px solid var(--ink)}.plate-lilac{box-shadow:9px 9px 0 var(--lilac)}.plate-neon{border:2px solid var(--ink);box-shadow:9px 9px 0 var(--neon)}.stamp{display:inline-block;border:2px solid var(--grape);color:var(--grape);transform:rotate(-3deg);padding:2px 10px;font-family:var(--font-roboto-mono),monospace;text-transform:uppercase;letter-spacing:.22em;font-size:10px;border-radius:3px}.leader{flex:1;margin:0 .75rem;border-bottom:2px dotted rgba(27,23,18,.35);transform:translateY(-.35em);min-width:1.5rem}.dropcap:first-letter{font-size:3.1em;line-height:.82;float:left;padding-right:.09em;font-weight:700;color:var(--grape)}.btn-ink{display:inline-block;background:var(--ink);color:var(--paper);border:2px solid var(--ink);padding:.8rem 1.6rem;font-family:var(--font-roboto-mono),monospace;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease;box-shadow:5px 5px 0 var(--neon)}.btn-ink:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--neon)}.btn-ink:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--neon)}.input-line{background:transparent;border:none;border-bottom:2px solid var(--ink);font-family:var(--font-roboto-mono),monospace;text-transform:uppercase;letter-spacing:.35em;font-size:1.05rem;color:var(--ink);padding:.6rem .1rem;width:100%;border-radius:0}.input-line:focus{outline:none;border-bottom-color:var(--grape);background:linear-gradient(0deg,rgba(207,241,84,.35),transparent 55%)}.input-line::-moz-placeholder{color:rgba(27,23,18,.35);letter-spacing:.2em}.input-line::placeholder{color:rgba(27,23,18,.35);letter-spacing:.2em}.rule-double{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);height:5px}.index-row{transition:background-color .18s ease,transform .18s ease}.index-row:hover{background-color:var(--paper-deep);transform:translateX(4px)}.shelf-cover{border:2px solid var(--ink);box-shadow:6px 7px 0 rgba(27,23,18,.82);transition:transform .22s ease,box-shadow .22s ease}.group:hover .shelf-cover{transform:translateY(-6px) rotate(0deg)!important;box-shadow:9px 12px 0 rgba(27,23,18,.82)}.outline-numeral{font-family:var(--font-fraunces),Georgia,serif;font-weight:700;color:transparent;-webkit-text-stroke:2px var(--ink);line-height:.8}.rise{animation:portal-rise .7s cubic-bezier(.2,.7,.2,1) both}.rise-1{animation-delay:.05s}.rise-2{animation-delay:.14s}.rise-3{animation-delay:.23s}.rise-4{animation-delay:.32s}@keyframes portal-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.rise,.rise-1,.rise-2,.rise-3,.rise-4{animation:none}.btn-ink:hover,.group:hover .shelf-cover,.index-row:hover{transform:none}}