.hub{--stage:#0d0c0c;--stage-ink:#ece6dc;--stage-muted:#8f887e;--stage-accent:#ece6dc;--novel-ground:#16110e;--novel-ink:#efe6d6;--novel-amber:#e0874f;--hex-ground:#16161c;--hex-bone:#f4f1e9;--hex-red:#f23;--hex-grey:#8c8b84;--lwai-ground:#fffdf8;--lwai-ink:#23201b;--lwai-terra:#c8421f;--lwai-butter:#e8d27e;--games-ground:#cfe3b4;--games-ink:#2b1d0e;--games-card:#fff6e2;--games-amber:#ffc13b;--games-muted:#7a6a52;--beat:.3846s;--ease:cubic-bezier(.22, 1, .36, 1);background:var(--stage);min-height:100dvh;color:var(--stage-ink);transition:background-color .7s var(--ease), color .7s var(--ease);flex-direction:column;display:flex}.hub:has(.door-novel:is(:hover,:focus-within)){--stage:#120d0a;--stage-accent:var(--novel-amber)}.hub:has(.door-hexakin:is(:hover,:focus-within)){--stage:#0c0c10;--stage-accent:var(--hex-red)}.hub:has(.door-lwai:is(:hover,:focus-within)){--stage:#efe8da;--stage-ink:#23201b;--stage-muted:#6d655a;--stage-accent:var(--lwai-terra)}.hub:has(.door-games:is(:hover,:focus-within)){--stage:#070605;--stage-accent:var(--games-amber)}.hub-top,.hub-intro,.hub-foot{padding-inline:clamp(20px,4vw,56px)}.hub-top{font-family:var(--font-space-mono), ui-monospace, monospace;letter-spacing:.18em;text-transform:uppercase;justify-content:space-between;align-items:baseline;padding-top:22px;font-size:.72rem;display:flex}.hub-top p{margin:0}.hub-wordmark{color:var(--stage-accent);transition:color .7s var(--ease);font-weight:700}.hub-where{color:var(--stage-muted)}.hub main{outline:none;flex-direction:column;flex:1;display:flex}.hub-intro{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 40px;padding-block:clamp(28px,5vh,56px) 24px;display:flex}.hub-intro h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(2.4rem,5.4vw,4.6rem);font-weight:500;line-height:.95}.hub-intro p{max-width:30rem;color:var(--stage-muted);transition:color .7s var(--ease);margin:0;font-size:1.05rem}.hub .hub-new{border:1px solid #3a1418;border-left:4px solid var(--hex-red);color:var(--hex-bone);transition:border-color .3s var(--ease), transform .3s var(--ease);background:linear-gradient(90deg,#1a0b0d,#0f0e10 60%);border-radius:4px;align-items:center;gap:18px 22px;margin:0 clamp(8px,1.4vw,20px) 10px;padding:16px clamp(16px,2.4vw,28px);text-decoration:none;display:flex}.hub .hub-new:hover,.hub .hub-new:focus-visible{border-color:var(--hex-red);transform:translateY(-1px)}.hub-new-icon{flex:none;width:56px;height:56px}.hub-new-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.hub-new-kicker{color:var(--hex-red);font-family:var(--font-space-mono), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;font-size:.7rem}.hub-new-title{font-family:var(--font-anton), Impact, sans-serif;letter-spacing:.02em;text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1}.hub-new-line{color:#c9c4ba;font-size:.98rem}.hub .hub-new-aether{color:#e6f2f0;font-family:var(--font-atkinson), system-ui, sans-serif;background:linear-gradient(90deg,#12303a,#0b1f2a 60%);border-color:#1f3d4a #1f3d4a #1f3d4a #7ee0d0}.hub .hub-new-aether:hover,.hub .hub-new-aether:focus-visible{border-color:#7ee0d0}.hub-new-aether .hub-new-icon,.hub-new-aether .hub-new-kicker{color:#7ee0d0}.hub-new-aether .hub-new-title{font-family:var(--font-atkinson), system-ui, sans-serif;letter-spacing:-.03em;text-transform:none;font-weight:800}.hub-new-aether .hub-new-line{color:#b3c5c2}.hub-new-aether .hub-new-go{color:#04201c;background:#7ee0d0;border-radius:999px}.hub .hub-new-wandwork{color:#f3e9d2;font-family:var(--font-atkinson), system-ui, sans-serif;background:linear-gradient(90deg,#2a1f52,#120c26 60%);border-color:#3a2f63 #3a2f63 #3a2f63 #e8c872}.hub .hub-new-wandwork:hover,.hub .hub-new-wandwork:focus-visible{border-color:#e8c872}.hub-new-wandwork .hub-new-kicker{color:#e8c872}.hub-new-wandwork .hub-new-title{letter-spacing:0;text-transform:none;color:#e8c872;font-family:Georgia,Times New Roman,serif;font-weight:700}.hub-new-wandwork .hub-new-line{color:#b9b0d6}.hub-new-wandwork .hub-new-go{color:#120c26;background:#e8c872;border-radius:999px}.hub-new+.hub-new{margin-top:0}.hub-new-go{background:var(--hex-red);color:#fff;white-space:nowrap;border-radius:3px;flex:none;padding:10px 16px;font-weight:700}.doors{flex:1;gap:6px;min-height:560px;margin:0;padding:0 clamp(8px,1.4vw,20px);list-style:none;display:flex}.door{isolation:isolate;min-width:0;transition:flex-grow .8s var(--ease);border-radius:4px;flex:1 1 0;display:flex;position:relative;overflow:hidden;container-type:inline-size}.doors:has(.door:is(:hover,:focus-within)) .door{flex-grow:.72}.doors:has(.door:is(:hover,:focus-within)) .door:is(:hover,:focus-within){flex-grow:2.2}.door-art{z-index:-1;transition:transform 1.6s var(--ease), opacity .8s var(--ease), filter .8s var(--ease);background-position:50%;background-size:cover;position:absolute;inset:0}.door-body{flex-direction:column;width:100%;padding:clamp(18px,2.2vw,32px);display:flex}.door-index{letter-spacing:.16em;text-transform:uppercase;opacity:.8;margin:0 0 auto;font-size:.7rem}.door-title{margin:0;line-height:.95}.door-link:after{content:"";z-index:1;position:absolute;inset:0}.hub .door-link,.hub .door-link:hover{color:inherit}.door-link:focus-visible{outline:none}.door:has(.door-link:focus-visible){outline:3px solid var(--stage-accent);outline-offset:3px}.door-tag{max-width:26rem;margin:12px 0 0}.door-taste{margin:22px 0 0}@media (min-width:900px){.hub{height:100dvh;min-height:680px}.doors{min-height:0}.door-reveal{opacity:0;transition:grid-template-rows .7s var(--ease), opacity .4s var(--ease);grid-template-rows:0fr;display:grid}.door-reveal>div{min-height:0;overflow:hidden}.door:is(:hover,:focus-within) .door-reveal{opacity:1;grid-template-rows:1fr;transition-delay:.12s,.3s}.doors:not(:has(.door:is(:hover,:focus-within))) .door-tag{max-width:16rem}}.door-actions{flex-wrap:wrap;align-items:center;gap:10px 22px;margin:26px 0 0;display:flex}.door-go{gap:.5em;font-weight:700;display:inline-flex}.door-go span{transition:transform .4s var(--ease)}.door:hover .door-go span{transform:translate(4px)}.door-aside{z-index:2;text-underline-offset:.3em;opacity:.85;text-decoration:underline;position:relative}.door-aside:hover,.door-aside:focus-visible{opacity:1}.door-novel{background:var(--novel-ground);color:var(--novel-ink)}.door-novel .door-art{background-color:#0b0810;background-image:linear-gradient(#16110eb3 0%,#16110e00 16%,#16110e26 40%,#16110eeb 74%),url(/hub/novel-door.jpg);background-position:50% 18%;background-size:cover}.door-novel:is(:hover,:focus-within) .door-art{transform:scale(1.06)}.door-novel:after{content:"";z-index:-1;background:linear-gradient(180deg, #ffd9a8, var(--novel-amber) 55%, transparent);opacity:.55;width:2px;transition:width 1.1s var(--ease), opacity .8s var(--ease), box-shadow 1.1s var(--ease);position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 18px 4px #e0874f8c}.door-novel:is(:hover,:focus-within):after{opacity:1;width:7px;box-shadow:0 0 60px 18px #e0874f73}.door-novel .door-index,.door-novel .door-tag{font-family:var(--font-source-sans), sans-serif}.door-novel .door-index{color:var(--novel-amber)}.door-novel .door-title{font-family:var(--font-display);font-size:clamp(1.7rem,11cqi,3.3rem);font-style:italic;font-weight:500}.door-novel .door-tag{color:#cfc3b1}.novel-quote{max-width:30rem;padding:0}.novel-quote p{font-family:var(--font-newsreader), Georgia, serif;margin:0;font-size:clamp(1.05rem,1.25vw,1.25rem);line-height:1.55}.novel-quote p>span:not(.novel-caret){opacity:0;animation:novel-word .5s var(--ease) forwards;animation-delay:calc(.35s + var(--i) * 70ms);animation-play-state:paused}.door-novel:is(:hover,:focus-within) .novel-quote p>span{animation-play-state:running}@keyframes novel-word{0%{opacity:0;filter:blur(3px)}to{opacity:1;filter:none}}.novel-caret{vertical-align:-.15em;background:var(--novel-amber);width:2px;height:1.05em;margin-left:2px;animation:1.1s step-end infinite blink;display:inline-block}.novel-quote footer{color:var(--novel-amber);letter-spacing:.12em;text-transform:uppercase;margin-top:10px;font-size:.78rem}.door-novel .door-go{color:var(--novel-amber)}@keyframes blink{50%{opacity:0}}.door-hexakin{background:var(--hex-ground);color:var(--hex-bone);font-family:var(--font-space-mono), ui-monospace, monospace}.door-hexakin .door-art{filter:grayscale()contrast(1.15)brightness(.8);background-image:linear-gradient(#16161c33 0%,#16161c8c 45%,#16161cf5 78%),url(/hub/despair.jpg);background-position:48% 72%;background-size:auto 150%}.door-hexakin .door-art:after{content:"";background:var(--hex-red);mix-blend-mode:multiply;opacity:.35;transition:opacity .8s var(--ease);position:absolute;inset:0}.door-hexakin:is(:hover,:focus-within) .door-art{filter:grayscale(.25)contrast(1.1)brightness(.9)}.door-hexakin:is(:hover,:focus-within) .door-art:after{opacity:.12}.door-hexakin .door-index{color:var(--hex-red)}.door-hexakin .door-title{font-family:var(--font-anton), Impact, sans-serif;letter-spacing:.02em;text-transform:uppercase;font-size:clamp(2rem,21cqi,5.4rem);font-weight:400;position:relative}.door-hexakin .door-title a:before{content:attr(data-text);color:var(--hex-red);opacity:0;pointer-events:none;position:absolute;inset:0}.door-hexakin:is(:hover,:focus-within) .door-title a:before{animation:2.4s step-end infinite hex-glitch}@keyframes hex-glitch{0%{opacity:.9;clip-path:inset(10% 0 55%);transform:translate(-4px)}4%{clip-path:inset(60% 0 8%);transform:translate(5px,1px)}8%{clip-path:inset(35% 0 40%);transform:translate(-2px,-1px)}12%,to{opacity:0;clip-path:inset(0);transform:none}}.door-hexakin .door-tag{color:#cdcac1;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;line-height:1.7}.hex-now{letter-spacing:.08em;text-transform:uppercase;color:var(--hex-grey);gap:4px;margin:0;font-size:.72rem;display:grid}.hex-now strong{color:var(--hex-bone);font-family:var(--font-anton), Impact, sans-serif;letter-spacing:.03em;font-size:1.7rem;font-weight:400}.hex-bars{align-items:flex-end;gap:3px;height:56px;margin-top:16px;display:flex}.hex-bars span{background:var(--hex-red);transform-origin:bottom;height:100%;animation:hex-bar calc(var(--beat) * 2) ease-in-out infinite alternate;animation-delay:calc(var(--i) * -97ms);flex:1;transform:scaleY(.12)}.hex-bars span:nth-child(3n){animation-duration:var(--beat);background:var(--hex-bone)}.hex-bars span:nth-child(4n+1){animation-duration:calc(var(--beat) * 4)}@keyframes hex-bar{0%{transform:scaleY(.1)}60%{transform:scaleY(.85)}to{transform:scaleY(.3)}}.door-hexakin .door-go{color:var(--hex-red);text-transform:uppercase;letter-spacing:.06em}.door-lwai{background:var(--lwai-ground);color:var(--lwai-ink);font-family:var(--font-atkinson), system-ui, sans-serif}.door-lwai .door-art{background:linear-gradient(90deg, transparent 38px, #c8421f59 38px, #c8421f59 40px, transparent 40px), repeating-linear-gradient(180deg, transparent 0 33px, #9aa1ae47 33px 34px), var(--lwai-ground)}.door-lwai .door-body{padding-left:clamp(54px,4.4vw,64px)}.door-lwai .door-index{color:var(--lwai-terra);opacity:1;font-weight:700}.door-lwai .door-title{font-family:var(--font-atkinson), system-ui, sans-serif;letter-spacing:-.02em;font-size:clamp(1.6rem,12.5cqi,3.4rem);font-weight:800;line-height:1}.door-lwai .door-tag{color:#5a544b;font-size:1.05rem}.lwai-line{max-width:26rem;font-size:clamp(1.1rem,1.35vw,1.3rem);line-height:1.5}.lwai-line mark{color:inherit;background:linear-gradient(transparent 55%, var(--lwai-butter) 55%) no-repeat left / 0% 100%;transition:background-size .9s var(--ease) .45s;padding:0 .12em}.door-lwai:is(:hover,:focus-within) .lwai-line mark{background-size:100% 100%}.lwai-note{background:var(--lwai-butter);width:9.5rem;color:var(--lwai-ink);transition:transform .9s var(--ease);padding:16px 14px 18px;font-size:.95rem;font-weight:700;line-height:1.3;position:absolute;top:17%;right:9%;transform:rotate(3deg);box-shadow:0 10px 24px #23201b24}.lwai-note span{color:var(--lwai-terra);margin-top:6px;font-size:.8rem;display:block}@container (max-width:330px){.lwai-note{width:8.5rem;font-size:.85rem;inset:auto auto 36% clamp(54px,4.4vw,64px)}}.door-lwai:is(:hover,:focus-within) .lwai-note{transform:rotate(-2deg)translateY(-6px)}.door-lwai .door-go{background:var(--lwai-terra);color:#fffdf8;border-radius:999px;padding:.6em 1.1em}.door-games{background:var(--games-ground);color:var(--games-ink)}.door-games .door-art{filter:saturate(1.05);background-image:linear-gradient(#fff5e100 0% 55%,#3c2a148c 100%),url(/hub/sheep-meadow.jpg);background-position:62%;background-size:cover}.door-games:is(:hover,:focus-within) .door-art{transform:scale(1.05)}.door-games .door-index{color:#fff;font-family:var(--font-source-sans), sans-serif;letter-spacing:.14em;text-shadow:0 1px 4px #1e1405b3;font-size:.7rem;font-weight:700}.door-games .door-title{font-family:var(--font-newsreader), serif;color:#fff;text-shadow:2px 2px 0 var(--games-ink), -1px -1px 0 var(--games-ink), 1px -1px 0 var(--games-ink), -1px 1px 0 var(--games-ink);font-size:clamp(1.6rem,10cqi,2.8rem);font-weight:800;line-height:1.05}.door-games .door-tag{color:#fff;font-family:var(--font-source-sans), sans-serif;text-shadow:0 1px 4px #1e1405cc;font-size:.95rem}.games-cab{border:3px solid var(--games-ink);background:var(--games-card);max-width:24rem;color:var(--games-ink);box-shadow:4px 5px 0 var(--games-ink);border-radius:14px;padding:16px 18px}.games-cab p{margin:0}.games-now{letter-spacing:.12em;text-transform:uppercase;color:var(--games-muted);font-size:.7rem;font-weight:700}.games-game{font-family:var(--font-newsreader), serif;font-size:1.5rem;font-weight:800;margin-top:6px!important}.games-blurb{font-size:.95rem;line-height:1.5;margin-top:8px!important}.door-games .door-go{border:2px solid var(--games-ink);background:var(--games-amber);color:var(--games-ink);border-radius:999px;padding:.6em 1.1em;font-weight:700}.door-games .door-aside{color:#fff;text-shadow:0 1px 4px #1e1405cc;font-weight:700}.hub-foot{color:var(--stage-muted);transition:color .7s var(--ease);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:18px 22px;font-size:.85rem;display:flex}.hub-foot p{flex-wrap:wrap;gap:6px 22px;margin:0;display:flex}.hub-foot a:hover,.hub-foot a:focus-visible{color:var(--stage-ink)}@media (max-width:899px){.hub .hub-new{flex-wrap:wrap;align-items:flex-start}.hub-new-icon{width:44px;height:44px}.hub-new-copy{flex-basis:calc(100% - 66px)}.hub-new-go{text-align:center;width:100%}.doors{flex-direction:column;gap:8px}.door{min-height:82svh}.door-body{padding:24px 22px 28px}.novel-quote p>span:not(.novel-caret){animation-play-state:running}.lwai-line mark{background-size:100% 100%}}@media (prefers-reduced-motion:reduce){.novel-quote p>span:not(.novel-caret){opacity:1}.hex-bars span{transform:scaleY(.35)}.hex-bars span:nth-child(3n){transform:scaleY(.7)}.hex-bars span:nth-child(4n+1){transform:scaleY(.5)}}
