@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400;1,6..72,500&family=Space+Grotesk:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap";*,*:before,*:after{box-sizing:border-box}:root{--ink: #241b33;--page: #f3effa;--sheet: #fffdf7}html,body{margin:0;padding:0;background:var(--page);color:var(--ink);font-family:Space Grotesk,sans-serif;min-height:100vh}#root{min-height:100vh}::selection{background:#fc0;color:var(--ink)}@keyframes grad-flow{0%{background-position:0% 50%}to{background-position:300% 50%}}.grad-text{background:linear-gradient(100deg,#ff3b30,#9a4dff,#2f6bff,#10b770,#ff3b30);background-size:300% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:grad-flow 6s linear infinite}@keyframes blob-drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(28px,-22px) scale(1.08)}66%{transform:translate(-22px,18px) scale(.95)}}.blob{position:absolute;border-radius:50%;filter:blur(60px);animation:blob-drift 16s ease-in-out infinite;pointer-events:none}.blob-fixed{position:fixed;border-radius:50%;filter:blur(70px);animation:blob-drift 18s ease-in-out infinite;pointer-events:none;z-index:0}.lift-panel{transition:transform .14s cubic-bezier(.2,.8,.3,1.4),box-shadow .14s cubic-bezier(.2,.8,.3,1.4)}.lift-panel:hover{transform:translate(-2px,-2px);box-shadow:11px 11px 0 var(--ink)}.lift-cat{transition:transform .12s cubic-bezier(.2,.8,.3,1.4),box-shadow .12s,filter .12s}.lift-cat:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink);filter:saturate(1.1)}.lift-cat:active{transform:translate(1px,1px);box-shadow:0 0 0 var(--ink)}.lift-chip{transition:transform .1s,box-shadow .1s}.lift-chip:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}.lift-roll{transition:transform .12s cubic-bezier(.2,.8,.3,1.4),box-shadow .12s,filter .12s}.lift-roll:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink);filter:brightness(1.05)}.lift-roll:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.lift-pill{transition:transform .12s cubic-bezier(.2,.8,.3,1.4),box-shadow .12s}.lift-pill:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}.lift-pill:active{transform:translate(1px,1px);box-shadow:0 0 0 var(--ink)}.lift-card{transition:transform .15s cubic-bezier(.2,.8,.3,1.4),box-shadow .15s}.lift-card:hover{transform:translate(-3px,-3px);box-shadow:11px 11px 0 var(--ink)}.lift-card:hover .card-ttl{color:var(--accent)}.lift-card:hover .card-read{opacity:1;transform:translate(0)}.lift-tab{transition:transform .12s cubic-bezier(.2,.8,.3,1.4),box-shadow .12s,background .15s,color .15s}.lift-tab:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}.lift-tag{transition:transform .1s,box-shadow .1s}.lift-tag:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink)}.lift-nav{transition:transform .14s cubic-bezier(.2,.8,.3,1.4),box-shadow .14s}.lift-nav:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}.lift-nav:hover .nav-ttl{color:var(--accent)}.search-res{transition:transform .12s}.search-res:hover{transform:translate(3px)}@keyframes dice-spin{to{transform:rotate(360deg)}}.spinning .dice-icon{animation:dice-spin .5s cubic-bezier(.3,.1,.3,1)}.dice-btn:hover .dice-icon-tilt{transform:rotate(20deg)}.dice-icon-tilt{transition:transform .3s cubic-bezier(.2,.8,.3,1.4)}@keyframes pop-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.pop{animation:pop-in .28s cubic-bezier(.2,.8,.3,1.4)}@keyframes cat-pop{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.cat-pop{animation:cat-pop .34s cubic-bezier(.2,.8,.3,1.4) both}.art-body{font-family:Newsreader,Georgia,serif;font-size:20.5px;line-height:1.72;color:#2b2338}.art-body p{margin:0 0 1.25em}.art-body p.lead{font-size:23px;line-height:1.6;margin-bottom:1.5em}.art-body em{font-style:italic}.art-body strong{font-weight:600;color:#241b33}.art-body a.ref{color:var(--accent);text-decoration:none;border-bottom:2px solid color-mix(in srgb,var(--accent) 35%,transparent)}.art-body a.ref:hover{border-bottom-color:var(--accent)}.art-dropcap:first-letter{float:left;font-family:"DM Serif Display",Georgia,serif;font-size:78px;line-height:.74;padding:6px 12px 0 0;color:var(--accent)}.art-h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:31px;line-height:1.18;color:#241b33;margin:48px 0 16px;letter-spacing:-.01em}.art-h2 .mk{display:inline-block;width:14px;height:14px;border-radius:4px;background:var(--accent);border:2.5px solid #241b33;margin-right:13px;vertical-align:middle}.art-icode{font-family:Space Mono,monospace;font-size:.86em;background:color-mix(in srgb,var(--accent) 12%,#fff);border:1.5px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:5px;padding:1px 5px;color:#241b33}.art-quote{margin:34px 0;padding:6px 0 6px 26px;border-left:5px solid var(--accent);font-family:"DM Serif Display",Georgia,serif;font-style:italic;font-size:29px;line-height:1.28;color:#241b33;letter-spacing:-.01em}.art-li{display:flex;gap:13px;margin:0 0 12px}.art-li .num{font-family:Space Mono,monospace;font-size:15px;font-weight:700;color:var(--accent);flex-shrink:0;line-height:1.5;padding-top:2px}.art-fn{font-family:Newsreader,Georgia,serif;font-size:16px;line-height:1.6;color:#2b2338b3}.art-fn sup{color:var(--accent);font-weight:600}sup.fnref{font-family:Space Grotesk,sans-serif;font-size:.62em;font-weight:700;color:var(--accent);cursor:pointer;padding:0 1px;vertical-align:super}.art-pre{font-family:Space Mono,monospace;font-size:14px;line-height:1.7;background:#1d1730;color:#e7e1f5;border:3px solid #241b33;border-radius:12px;box-shadow:5px 5px #241b33;padding:18px 20px;overflow-x:auto;margin:30px 0}.art-pre .c{color:#8b7fb0}.art-pre .k{color:#ff8ab5}.art-pre .s{color:#9be29b}.art-pre .n{color:#7fc6ff}.art-pre .f{color:#ffd56b}.art-pre{outline:none}.art-fn p{margin:0}@media (max-width: 780px){.cat-grid{grid-template-columns:1fr!important}.cat-feat,.home-widgets{flex-direction:column!important}.home-widgets>*{height:auto!important;min-height:340px}}@media (max-width: 720px){.art-sheet{padding:30px 22px!important}.topbar{padding:16px 20px!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.search-input::placeholder{color:#241b3366}
