:root.js{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0b1a;--surface:#1a1830;--surface-2:#26254a;--border:#3a3a66;--text:#e8f6ff;--muted:#a6abc2;--accent:#ffd27a;--on-accent:#0d0b1a;--link:#3fd6c6;--error:#ff8a8a;--success:#7fd98a}.js #fallback,#fallback[hidden]{display:none}.js,.js body,#app{height:100%}.js body{overscroll-behavior:none;background:#14122a;overflow:hidden}.world{position:fixed;inset:0}.world-canvas{touch-action:none;inset:0;position:absolute!important}.hud{z-index:10;padding:max(.75rem, env(safe-area-inset-top)) 1rem .75rem;pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex;position:fixed;top:0;left:0;right:0}.hud>*{pointer-events:auto}.hud-brand{color:var(--accent);letter-spacing:.02em;background:#0d0b1ad9;border-radius:.6rem;padding:.4rem .8rem;font-weight:800;text-decoration:none}.hud-actions{flex-wrap:wrap;gap:.4rem;display:flex}.hud-actions button,.hud-actions a,.prompt button{border:1px solid var(--border);min-height:2.5rem;color:var(--text);font:inherit;cursor:pointer;background:#0d0b1ae0;border-radius:.6rem;padding:.4rem .85rem;font-size:.95rem;font-weight:600;text-decoration:none}.hud-actions button:hover,.hud-actions a:hover{border-color:var(--link)}.hud-state{color:var(--muted);margin-left:.4rem}.prompt-region{left:50%;bottom:max(1.5rem, env(safe-area-inset-bottom));z-index:10;position:fixed;transform:translate(-50%)}.prompt{border:1px solid var(--accent);white-space:nowrap;background:#0d0b1aeb;border-radius:.8rem;align-items:center;gap:.6rem;padding:.5rem .6rem .5rem 1rem;display:flex}.prompt-text{font-weight:700}.walk-hint{z-index:9;color:var(--muted);text-align:center;background:#0d0b1ad9;border-radius:.6rem;width:max-content;max-width:calc(100vw - 2rem);margin:0;padding:.45rem .9rem;font-size:.95rem;position:fixed;bottom:5.5rem;left:50%;transform:translate(-50%)}.led{color:#ff6b6b;letter-spacing:.12em;background:#120606;border:2px solid #5a1a1a;border-radius:.4rem;align-items:baseline;gap:.6rem;margin:0;padding:.45rem .9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;display:inline-flex}.led-number{font-size:1.4em}.led-corner{z-index:10;position:fixed;bottom:1rem;right:1rem}.fade{z-index:15;opacity:0;pointer-events:none;background:#000;transition:opacity .25s linear;position:fixed;inset:0}.fade[data-active=true]{opacity:1}.title-screen{z-index:40;text-align:center;background:radial-gradient(50rem 30rem at 50% 0,#ffd27a24,#0000),#0d0b1ae6;place-content:center;justify-items:center;gap:.6rem;padding:1.5rem;display:grid;position:fixed;inset:0}.title-screen h1{letter-spacing:-.02em;margin:0;font-size:clamp(2.4rem,9vw,4rem)}.title-centre{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin:0;font-weight:800}.press-start{border:2px solid var(--accent);background:var(--accent);color:var(--on-accent);font:inherit;letter-spacing:.14em;cursor:pointer;border-radius:.6rem;margin-top:1.25rem;padding:.85rem 2.2rem;font-size:1.1rem;font-weight:800}.press-start:disabled{color:var(--muted);border-color:var(--border);cursor:progress;background:0 0}.title-plain{color:var(--muted);background:#0d0b1a99;border:1px solid #ffffff2e;border-radius:999px;margin-top:.75rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .12s,border-color .12s,background-color .12s}.title-plain:hover{border-color:var(--link);color:var(--text);background:#0d0b1ad9}@media (width<=40rem){.hud-actions button,.hud-actions a{padding:.35rem .6rem;font-size:.85rem}}@media (prefers-reduced-motion:reduce){.fade{transition:none}}@font-face{font-family:Silkscreen;src:url(/fonts/silkscreen-400.woff2)format("woff2");font-display:swap}:root.js{--pixel-font:"Silkscreen", ui-monospace, monospace;--frame:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='9' shape-rendering='crispEdges'%3E%3Cpath fill='%230d0b1a' d='M1 0h7v1H1zM0 1h1v7H0zM8 1h1v7H8zM1 8h7v1H1z'/%3E%3Cpath fill='%23ffd27a' d='M1 1h7v1H1zM1 2h1v6H1z'/%3E%3Cpath fill='%233a3a66' d='M7 2h1v6H7zM2 7h5v1H2z'/%3E%3Crect x='2' y='2' width='5' height='5' fill='%231a1830'/%3E%3C/svg%3E");--card:#17152c;--card-2:#221f3f;--line:#ffffff17;--radius:18px}.title-centre,.hud-brand,.press-start,.led,.panel-eyebrow,.directory-number,.directory-heading,.js .panel-body h3{font-family:var(--pixel-font);letter-spacing:.02em;font-weight:400}.pixel-icon{width:16px;height:16px;image-rendering:pixelated;shape-rendering:crispedges;flex:none}.js .hud-brand{border:6px solid #0000;border-image:var(--frame) 3 fill / 6px stretch;image-rendering:pixelated;background:0 0;border-radius:0;font-size:1rem}.js .hud-actions button,.js .hud-actions a{align-items:center;gap:.45rem;display:inline-flex}.title-screen[data-ready=true]{cursor:pointer;background:radial-gradient(40rem 22rem at 50% 45%,#0d0b1adb,#0d0b1a59),#0d0b1a33}.title-centre{color:var(--accent);text-shadow:0 0 6px #ffd27acc,0 0 18px #ff8f3f80;font-size:1.1rem;animation:5s step-end infinite neon}.press-start:enabled{animation:1.1s step-end infinite blink}@keyframes neon{0%,62%,66%,to{opacity:1}63%,65%{opacity:.35}64%{opacity:.8}}@keyframes blink{0%,60%{opacity:1}61%,to{opacity:.55}}.js button,.js .button,.js .hud-actions a,.js .link-list a{cursor:pointer}.js .hud-actions button,.js .hud-actions a,.js .prompt button,.js .kopi-menu button,.js .link-list a,.js .button,.js .contact-form button,.js .press-start{border:2px solid var(--border);color:var(--text);background:#26254a;border-radius:10px;text-decoration:none;transition:background-color .12s,border-color .12s,transform 60ms}.js .hud-actions button:hover,.js .hud-actions a:hover,.js .prompt button:hover,.js .kopi-menu button:hover,.js .link-list a:hover,.js .button:hover,.js .contact-form button:hover{border-color:var(--accent);color:var(--text);background:#3a3a66}.js .hud-actions button:active,.js .prompt button:active,.js .kopi-menu button:active,.js .link-list a:active,.js .button:active,.js .contact-form button:active,.js .press-start:active{transform:translateY(1px)}.js .kopi-menu button[aria-pressed=true],.js .link-list li:first-child a,.js .contact-form button[type=submit],.js .press-start:enabled{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.js .kopi-menu button[aria-pressed=true] *,.js .press-start:enabled *{color:var(--on-accent)}.js .kopi-menu button[aria-pressed=true]:hover,.js .link-list li:first-child a:hover,.js .contact-form button[type=submit]:hover{color:var(--on-accent);background:#ffb347;border-color:#ffb347}.js .press-start:disabled{color:var(--muted);cursor:progress;background:0 0}.js button:focus-visible,.js .button:focus-visible,.js a:focus-visible,.js .award:focus-visible{outline:3px solid var(--link);outline-offset:2px}.panel-layer{z-index:30;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0807128c;justify-content:center;align-items:center;padding:1.5rem;animation:.18s ease-out both layer-in;display:flex;position:fixed;inset:0}.panel-layer:focus{outline:none}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);width:min(40rem,100%);max-height:100%;color:var(--text);flex-direction:column;animation:.24s cubic-bezier(.2,.8,.2,1) both panel-in;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff0f,0 24px 60px #0000008c}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.25rem 1rem 1.5rem;display:flex}.panel-titles{min-width:0}.panel-eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .35rem;font-size:.75rem}.panel-head h2{letter-spacing:-.01em;margin:0;font-size:1.45rem;font-weight:800;line-height:1.2}.js .panel-close{border:1px solid var(--line);width:2.25rem;height:2.25rem;color:var(--muted);background:#ffffff0a;border-radius:999px;flex:none;place-items:center;padding:0;transition:background-color .12s,color .12s;display:grid}.js .panel-close:hover{color:var(--text);background:#ffffff1a}.panel-close svg{shape-rendering:crispedges;width:12px;height:12px}.panel-body:focus{outline:none}.panel-body:focus-visible{box-shadow:inset 0 0 0 2px var(--link)}.panel-body{overscroll-behavior:contain;padding:1.25rem 1.5rem 1.5rem;line-height:1.6;overflow-y:auto}.panel-body>:first-child{margin-top:0}.panel-body>:last-child{margin-bottom:0}.js .panel-body h3{color:var(--link);text-transform:uppercase;letter-spacing:.06em;margin:1.5rem 0 .7rem;font-size:.85rem}.panel-body h4{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:1.2rem 0 .5rem;font-size:.8rem}.panel.stall{border-top:6px solid var(--sign,var(--accent))}.panel.stall .panel-head{background:linear-gradient(180deg, color-mix(in srgb, var(--sign,var(--accent)) 14%, transparent), transparent)}.panel.stall .panel-eyebrow{color:var(--sign,var(--accent))}.panel-layer.closing{animation:.16s ease-in both layer-out}.panel-layer.closing .panel{animation:.16s ease-in both panel-out}.panel-layer.closing .cat-chat{animation:.16s ease-in both cat-out}@keyframes layer-in{0%{opacity:0}}@keyframes layer-out{to{opacity:0}}@keyframes panel-in{0%{opacity:0;transform:translateY(14px)scale(.98)}}@keyframes panel-out{to{opacity:0;transform:translateY(8px)scale(.98)}}@media (width<=40rem){.panel-layer{padding:.75rem}.panel-head{padding:1rem 1rem .85rem 1.1rem}.panel-head h2{font-size:1.25rem}.panel-body{padding:1rem 1.1rem 1.25rem}}.stall-summary{border:1px solid var(--line);background:var(--card-2);border-radius:14px;align-items:center;gap:1rem;margin:0 0 1.25rem;padding:.9rem 1rem;display:flex}.stall-logo{object-fit:contain;background:#fff8ef;border-radius:12px;flex:none;width:64px;height:64px;padding:6px}.stall-role{margin:0;font-size:1.05rem;font-weight:700;line-height:1.35}.stall-award{background:var(--accent);color:var(--on-accent);border-radius:999px;margin:.3rem 0 0;padding:.1rem .55rem;font-size:.85rem;font-weight:700;display:inline-block}.stall-when{color:var(--muted);margin:.3rem 0 0;font-size:.95rem}.stall-points ul.points{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.stall-points ul.points li{padding-left:1.15rem;line-height:1.55;position:relative}.stall-points ul.points li:before{content:"";background:var(--sign,var(--accent));width:6px;height:6px;position:absolute;top:.6em;left:0}.stall-points p{margin:0}.js .panel .stack{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.js .panel .stack li{border:1px solid var(--line);background:var(--card-2);text-align:center;border-radius:12px;justify-items:center;gap:.45rem;padding:.75rem .4rem .6rem;display:grid}.js .panel .stack .stack-icon{color:#1a1830;background:#fff;border-radius:10px;place-items:center;width:2.75rem;height:2.75rem;font-weight:800;display:grid}.js .panel .stack .stack-icon img{object-fit:contain;width:2rem;height:2rem}.js .panel .stack .stack-name{font-size:.8rem;font-weight:600;line-height:1.25}.stall-gallery{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:.6rem;margin-top:1.25rem;display:grid}.stall-gallery img{border-radius:10px;width:100%;height:auto}.js .link-list{flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.js .link-list a{padding:.4rem .9rem;font-weight:700;display:inline-block}.cat-chat{z-index:1;justify-items:end;gap:.6rem;width:min(19rem,100% - 2rem);animation:.32s cubic-bezier(.2,.8,.2,1) 80ms both cat-in;display:grid;position:relative}.cat-bubble{color:#1a1830;background:#fff8ef;border-radius:14px;width:100%;padding:.75rem .9rem;position:relative;box-shadow:0 12px 30px #0006}.cat-bubble:after{content:"";clip-path:polygon(0 0,100% 0,100% 100%);background:#fff8ef;width:16px;height:8px;position:absolute;bottom:-8px;right:2.2rem}.cat-line{margin:0;font-weight:800;line-height:1.35}.cat-gloss{color:#55597a;margin:.25rem 0 0;font-size:.85rem;line-height:1.4}.cat-sprite{width:72px;height:72px;image-rendering:pixelated;filter:drop-shadow(0 6px #00000059);flex:none}.cat-eyes{transform-origin:8px 5px;animation:4.5s step-end infinite cat-blink}.cat-tail{transform-origin:13px 13px;animation:1.6s steps(2,end) infinite cat-tail}@keyframes cat-blink{0%,92%,to{transform:scaleY(1)}93%,96%{transform:scaleY(.2)}}@keyframes cat-tail{0%,to{transform:rotate(0)}50%{transform:rotate(-12deg)}}@keyframes cat-in{0%{opacity:0;transform:translateY(16px)}}@keyframes cat-out{to{opacity:0;transform:translateY(10px)}}.panel-layer.with-companion .cat-chat{justify-items:center;width:11rem;position:absolute;bottom:max(1.5rem,50% - 16rem);left:calc(50% + 21.25rem)}.panel-layer.with-companion .cat-bubble{text-align:left;padding:.75rem .8rem}.panel-layer.with-companion .cat-bubble:after{margin-left:-8px;left:50%;right:auto}.panel-layer.with-companion .cat-line{font-size:.92rem}@media (width<=68rem){.panel-layer.with-companion{flex-direction:column;justify-content:center;align-items:center;gap:.5rem}.panel-layer.with-companion .panel{flex:0 auto;width:min(40rem,100%);min-height:0}.panel-layer.with-companion .cat-chat{flex-direction:row-reverse;align-self:center;align-items:center;gap:.6rem;width:min(40rem,100%);margin:0;display:flex;position:static}.panel-layer.with-companion .cat-bubble{flex:1;padding:.5rem .75rem}.panel-layer.with-companion .cat-bubble:after{clip-path:polygon(100% 0,100% 100%,0 50%);width:8px;height:14px;margin-left:0;bottom:50%;left:-7px;right:auto;transform:translateY(50%)}.panel-layer.with-companion .cat-sprite{width:48px;height:48px}}.directory-heading-row{justify-content:space-between;align-items:baseline;margin:1.6rem 0 .7rem;display:flex}.directory-heading-row .directory-heading{margin:0}.js .panel-body .directory-heading{color:var(--muted);font-size:.75rem}.js .panel-body>.directory-heading:first-child{margin-top:0}.js .directory-all{color:var(--link);font:inherit;background:0 0;border:0;padding:0;font-size:.9rem;font-weight:700}.js .directory-all:hover{text-decoration:underline}.directory{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.directory-places{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr))}.js .directory button{border:1px solid var(--line);background:var(--card-2);width:100%;min-height:3.25rem;color:var(--text);font:inherit;text-align:left;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;column-gap:.75rem;padding:.6rem .85rem;transition:background-color .12s,border-color .12s,transform .12s;display:grid}.js .directory button:hover{border-color:var(--accent);background:#2c2950;transform:translateY(-1px)}.directory-places .directory-label,.directory-places .directory-detail{grid-column:1/-1}.directory-label{font-weight:700;line-height:1.3}.directory-detail{color:var(--muted);font-size:.85rem;line-height:1.35}.directory-stalls .directory-number{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:8px;grid-row:span 2;align-items:center;gap:.45rem;padding:.35rem .55rem;font-size:.8rem;display:inline-flex}.directory-number:before{content:"";background:var(--sign);width:10px;height:10px;box-shadow:inset 0 -3px 0 var(--lettering)}.js .directory-plain{border:1px solid var(--line);background:var(--card-2);min-height:2.75rem;color:var(--text);border-radius:999px;justify-content:center;align-items:center;gap:.5rem;margin-top:1.25rem;padding:.55rem 1rem;font-weight:700;text-decoration:none;transition:background-color .12s,border-color .12s,transform .12s;display:flex}.js .directory-plain:hover{border-color:var(--accent);background:#2c2950;transform:translateY(-1px)}.kopi-intro{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.kopi-portrait{object-fit:cover;border:2px solid var(--accent);border-radius:999px;flex:none;width:4rem;height:4rem}.kopi-who{margin:0;font-size:1.15rem;font-weight:800}.kopi-pick{color:var(--muted);margin:.1rem 0 0;font-size:.95rem}.kopi-menu{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.js .kopi-menu button{border-width:1px;border-color:var(--line);background:var(--card-2);width:100%;height:100%;font:inherit;text-align:left;border-radius:12px;grid-template-rows:auto 1fr;grid-template-columns:auto 1fr;align-items:start;column-gap:.6rem;padding:.7rem .85rem;display:grid}.kopi-menu .kopi-cup{grid-row:span 2;margin-top:.15rem}.kopi-cup{width:24px;height:24px;image-rendering:pixelated;flex:none}.kopi-name{font-weight:800;line-height:1.3}.kopi-gloss{color:var(--muted);font-size:.82rem;font-weight:500;line-height:1.35}.kopi-served{border:1px solid var(--line);background:var(--card-2);border-radius:14px;margin-top:1.25rem;padding:1.1rem 1.25rem}.js .panel-body .kopi-served h3{color:var(--accent);align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.85rem;display:flex}.kopi-served>:last-child{margin-bottom:0}.brew{animation:.9s steps(8,end) both brew}@keyframes brew{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}.panel.tabao{text-align:center;width:min(22rem,100%)}.tabao-bag{width:72px;height:84px;image-rendering:pixelated;margin:.5rem auto 1rem;position:relative}.tabao-handle{border:6px solid #fff8ef;border-bottom:0;width:36px;height:24px;position:absolute;top:0;left:18px}.tabao-body{background:#fff8ef;width:72px;height:60px;position:absolute;bottom:0;left:0;box-shadow:inset -6px -6px #d4d7e3}.tabao-sheet{z-index:1;background:#ffd27a;width:36px;height:42px;animation:.9s steps(6,end) both drop-in;position:absolute;bottom:18px;left:18px;box-shadow:inset 0 6px #ff8f3f}.tabao-bag[data-packed=true] .tabao-sheet{opacity:.25}@keyframes drop-in{0%{transform:translateY(-60px)}to{transform:translateY(0)}}.panel.chope .contact-form{color:#1a1830;background:repeating-linear-gradient(#fff8ef 0 26px,#e9e4da 26px 28px);border-radius:12px;padding:1rem}.panel.chope .contact-form label{color:#1a1830;font-weight:700}.panel.chope .contact-form input,.panel.chope .contact-form textarea{color:#1a1830;background:#ffffffb3;border:0;border-bottom:2px solid #3a3a66;border-radius:0}.js .panel.clippings .panel-body h3{color:var(--text);letter-spacing:-.01em;text-transform:none;margin:1.75rem 0 .9rem;font-family:inherit;font-size:1.45rem;font-weight:800}.panel.clippings .awards{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.panel.clippings .award{perspective:900px;background:0 0;border:0;border-radius:12px;padding:0}.panel.clippings .award-card{height:100%;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.3,.7,.2,1);display:grid}.panel.clippings .award-front,.panel.clippings .award-back{text-align:center;backface-visibility:hidden;border-radius:12px;grid-area:1/1;align-content:center;justify-items:center;gap:.3rem;margin:0;padding:.9rem 1rem;display:grid}.panel.clippings .award-front{color:#1a1830;background:#fff8ef;font-family:Georgia,Times New Roman,serif;box-shadow:0 6px #0000004d}.panel.clippings .award-back{background:var(--accent);color:var(--on-accent);align-content:center;font-size:.95rem;font-weight:600;line-height:1.45;transform:rotateX(180deg)}.panel.clippings .award:hover .award-card,.panel.clippings .award:focus-within .award-card{transform:rotateX(180deg)}.panel.clippings .award-title{font-size:1.05rem;font-weight:700;line-height:1.3}.panel.clippings .award-meta,.panel.clippings .award-meta a{color:#3a3a66;font-size:.9rem}.panel.clippings .award-back p{margin:0}.panel.clippings .award-back .award-meta,.panel.clippings .award-back .award-meta a{color:#3a2a12;font-weight:500}.thought-bubble{z-index:12;color:#1a1830;white-space:nowrap;pointer-events:none;background:#fff8ef;margin:0;padding:.45rem .75rem;font-weight:700;position:fixed;transform:translate(-50%,calc(-100% - 18px));box-shadow:3px 3px #0d0b1a}.thought-bubble:after{content:"";background:#fff8ef;width:8px;height:8px;position:absolute;bottom:-14px;left:50%;box-shadow:-6px 6px 0 -2px #fff8ef}@media (prefers-reduced-motion:reduce){.title-centre,.press-start:enabled,.brew,.tabao-sheet,.cat-eyes,.cat-tail,.panel-layer,.panel,.cat-chat,.panel-layer.closing,.panel-layer.closing .panel,.panel-layer.closing .cat-chat{animation:none}.panel.clippings .award-card{transition:none}.panel.clippings .award:hover .award-card,.panel.clippings .award:focus-within .award-card{transform:none}.panel.clippings .award-back{opacity:0;transform:none}.panel.clippings .award:hover .award-back,.panel.clippings .award:focus-within .award-back{opacity:1}}.cat-talk{z-index:11;pointer-events:none;margin-top:-.75rem;position:fixed;top:0;left:0}.cat-talk-bubble{color:#1a1830;background:#fff8ef;border-radius:14px;width:max-content;max-width:min(14rem,100vw - 2rem);padding:.4rem .65rem .5rem;animation:.22s cubic-bezier(.2,.8,.2,1) both cat-talk-in;position:relative;box-shadow:0 10px 26px #0006}.cat-talk-bubble:after{content:"";clip-path:polygon(0 0,100% 0,0 100%);background:#fff8ef;width:14px;height:8px;position:absolute;bottom:-8px;left:50%}.cat-talk-bubble p{margin:0;font-size:.78rem;font-weight:700;line-height:1.35}.cat-talk-bubble .cat-talk-name{color:#ff8f3f;font-family:var(--pixel-font);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.15rem;font-size:.6rem;font-weight:400}.cat-talk-replies{pointer-events:auto;flex-wrap:wrap;gap:.35rem;margin-top:.5rem;display:flex}.js .cat-talk-replies button{color:#1a1830;font:inherit;background:#fff;border:1px solid #d4d7e3;border-radius:999px;padding:.2rem .6rem;font-size:.74rem;font-weight:700;transition:background-color .12s,border-color .12s}.js .cat-talk-replies button:hover{background:#ffd27a;border-color:#ff8f3f}@keyframes cat-talk-in{0%{opacity:0;transform:translateY(6px)scale(.96)}}@media (prefers-reduced-motion:reduce){.cat-talk-bubble{animation:none}}.hud-toggle{display:none}@media (width<=40rem){.hud{--menu-width:11.5rem;--menu-top:max(4.25rem, calc(env(safe-area-inset-top) + 3.5rem))}.js .hud .hud-actions{top:var(--menu-top);z-index:11;width:var(--menu-width);border:1px solid var(--line,var(--border));background:#0d0b1af0;border-right:0;border-radius:14px 0 0 14px;gap:.4rem;padding:.6rem;transition:transform .25s cubic-bezier(.2,.8,.2,1);display:grid;position:fixed;right:0;transform:translate(100%);box-shadow:-10px 12px 30px #0006}.js .hud .hud-actions[data-open=true]{transform:translate(0)}.js .hud .hud-actions button,.js .hud .hud-actions a{justify-content:flex-start;width:100%;min-height:2.75rem;font-size:.95rem}.js .hud-toggle{top:var(--menu-top);z-index:12;border:1px solid var(--line,var(--border));width:2.25rem;height:3.25rem;color:var(--accent);cursor:pointer;background:#0d0b1af0;border-right:0;border-radius:12px 0 0 12px;place-items:center;padding:0;transition:right .25s cubic-bezier(.2,.8,.2,1),background-color .15s;display:grid;position:fixed;right:0}.js .hud-toggle svg{width:1.25rem;height:1.25rem;transition:transform .25s}.js .hud-toggle[aria-expanded=true]{right:var(--menu-width)}.js .hud-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.js .hud-toggle:focus-visible{outline:3px solid var(--link);outline-offset:2px}}@media (width<=40rem) and (prefers-reduced-motion:reduce){.js .hud .hud-actions,.js .hud-toggle,.js .hud-toggle svg{transition:none}}.js .prompt button{border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:800}.js .prompt button:hover{color:var(--on-accent);background:#ffb347;border-color:#ffb347}.stall-number{background:var(--sign,var(--accent));color:var(--lettering,var(--on-accent));font-family:var(--pixel-font);letter-spacing:.04em;vertical-align:.3em;border-radius:6px;margin-right:.35rem;padding:.15rem .45rem;font-size:.7rem;font-weight:400;display:inline-block}.roles-list{gap:1.25rem;margin-top:.5rem;display:grid}.js .panel-body .role-head{color:var(--text);letter-spacing:0;text-transform:none;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;margin:0 0 .5rem;font-family:inherit;font-size:1.05rem;font-weight:800;display:flex}.role-period{color:var(--muted);font-size:.9rem;font-weight:600}.js .panel .hobbies{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.js .panel .hobbies li{border:1px solid var(--line);background:var(--card-2);border-radius:999px;padding:.35rem .85rem;font-size:.9rem;font-weight:700}.js .panel .stack.quests li{padding:0}.js .panel .stack.quests a{border-radius:inherit;width:100%;color:var(--text);justify-items:center;gap:.45rem;padding:.75rem .4rem .6rem;text-decoration:none;display:grid}.cat-talk-tags{flex-wrap:wrap;gap:.3rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.cat-talk-tags li{color:#1a1830;background:#ffd27a;border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:800}
