:root{color-scheme:dark;--ink: #0A0908;--gold: #D9B56E;--gold-hi: #F0D9A4;--ivory: #F2EADB;--muted: #A99F8C;--glass: #AEBBC9;--lav-line: rgba(196, 186, 226, .2);--lav-line-hi: rgba(214, 200, 255, .5);--lav-text: #E6E0F2;--lav-muted: #8E879E;--lav: #C6B8F2;--serif: "Cormorant Garamond", Georgia, serif;--mono: "JetBrains Mono", Consolas, monospace}html,body{margin:0;height:100%;background:var(--ink);color:var(--ivory);overflow:hidden}#stage{position:fixed;inset:0;z-index:0}#stage canvas{display:block;width:100%;height:100%}:focus-visible{outline:1px solid var(--gold-hi);outline-offset:4px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.console-ui{position:fixed;inset:0;z-index:2;pointer-events:none}.console-hit{position:fixed;box-sizing:border-box;margin:0;padding:0;pointer-events:auto;background:transparent;border:0;border-radius:0;color:transparent;caret-color:transparent;font:400 13px/1 var(--mono);text-align:left;cursor:pointer;overflow:hidden;white-space:nowrap}.console-hit::selection{background:transparent;color:transparent}.console-hit:focus-visible{outline:1px solid rgba(214,150,80,.55);outline-offset:2px}.console-input{cursor:text}.console-input:focus-visible{outline:none}.over{position:fixed;inset:0;z-index:8;pointer-events:none}.nim-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}.nim.neutral{--lav-line: rgba(200, 202, 208, .2);--lav-line-hi: rgba(214, 216, 222, .5);--lav-text: #E4E5E8;--lav-muted: #8A8C92;--lav: #C4C6CC}.nim.neutral .nim-bar{background:#0e0e0ff0}.nim.neutral .nim-say{background:#0c0c0df2}.nim-win{position:fixed;box-sizing:border-box;border:1px solid var(--lav-line);pointer-events:none;overflow:hidden;visibility:hidden;transition:border-color .3s}.nim-win.boot{border-color:var(--lav-line-hi)}.nim-bar{height:30px;box-sizing:border-box;display:flex;align-items:center;gap:12px;padding:0 12px;border-bottom:1px solid var(--lav-line);background:#0e0c14f0;font:400 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--lav-muted);cursor:grab;pointer-events:auto;user-select:none;touch-action:none;opacity:0;transition:opacity .25s,background-color .3s,border-color .3s}.nim-win.on .nim-bar{opacity:1}.nim-bar:active{cursor:grabbing}.nim.pinned .nim-bar,.nim.pinned .nim-bar:active{cursor:default}.nim-bar .rule{width:40px;height:1px;background:currentColor;opacity:.6}.nim-bar .ttl{margin-left:auto;color:var(--lav-text)}.nim-hit{position:absolute;inset:30px 0 0;pointer-events:none}.nim-win.on .nim-hit{pointer-events:auto}.nim-say{position:fixed;z-index:1;box-sizing:border-box;border:1px solid var(--lav-line);background:#0c0a10f2;visibility:hidden;pointer-events:auto;transition:background-color .3s,border-color .3s}.nim-say.on{visibility:visible}.nim-say .sbar{height:26px;box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:0 10px;border-bottom:1px solid var(--lav-line);font:400 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--lav-muted)}.nim-say .sbar .rule{width:28px;height:1px;background:currentColor;opacity:.6}.nim-say .sbar .ttl{margin-left:auto;color:var(--lav-text)}.nim-say .txt{margin:0;padding:12px 14px 20px;min-height:1.6em;font:400 13px/1.6 var(--mono);color:var(--lav-text);white-space:pre-wrap;overflow-wrap:break-word;transition:opacity .14s}.nim-say .txt[hidden]{display:none}.nim-say .txt.out{opacity:0}.nim-say.morph{overflow:hidden}.nim-say.blank .txt{padding-bottom:12px}.nim-say .c{position:relative}.nim-say .c.u,.nim-say .c.g{color:transparent!important;text-shadow:none!important}.nim-say .c.g:after{content:attr(data-g);position:absolute;left:0;top:0;color:var(--lav);opacity:.7}.nim-say .c.q{opacity:.6}.nim-say .c.b{color:var(--lav)}.nim-say .c.as{font-style:italic;color:var(--lav-muted)}.nim-say .dots{position:absolute;left:0;right:0;bottom:5px;margin:0;display:flex;gap:7px;justify-content:center;pointer-events:none}.nim-say .txt>.dots{position:static;height:1.6em;align-items:center}.nim-say .dots[hidden]{display:none}.nim-say .dots i{width:4px;height:4px;border-radius:50%;background:var(--lav);opacity:.3;animation:dot 1.5s ease-in-out infinite}.nim-say .dots i:nth-child(2){animation-delay:.25s}.nim-say .dots i:nth-child(3){animation-delay:.5s}@keyframes dot{0%,to{opacity:.22}45%{opacity:.9}}.nim-say .rep{position:relative;display:flex;align-items:center;gap:6px;margin:0 14px 14px;border-bottom:1px solid var(--lav-line)}.nim-say .rep .ghost{position:absolute;left:0;right:36px;top:0;padding:7px 0;font:400 12px/1.4 var(--mono);color:var(--lav-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;animation:ghost-up .7s ease-out forwards}@keyframes ghost-up{0%{opacity:.9;transform:none}to{opacity:0;transform:translateY(-16px)}}.nim-say .rep[hidden]{display:none}.nim-say .rep.pre,.nim-say .ans.pre{visibility:hidden}.nim-say .rep input{flex:1;min-width:0;padding:7px 0;font:400 12px/1.4 var(--mono);color:var(--lav-text);background:transparent;border:0;caret-color:var(--lav)}.nim-say .rep input:focus{outline:none}.nim-say .rep input::placeholder{color:var(--lav-muted);opacity:.7}.nim-say .rep:focus-within{border-bottom-color:var(--lav-line-hi)}.nim-say .rep button{width:30px;height:30px;padding:0;font:400 15px/1 var(--mono);color:var(--lav);background:transparent;border:0;cursor:pointer}.nim-tag{position:fixed;padding:3px 6px;font:400 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--lav);background:#09080bdb;border:1px solid var(--lav-line-hi);pointer-events:none;visibility:hidden}.nim-tag.on{visibility:visible}.nim-say.boot{animation:say-in .34s cubic-bezier(.2,.7,.2,1) both}.nim-say.bye{animation:say-out .24s ease-in both}@keyframes say-in{0%{transform:scale(.02,.01)}45%{transform:scaleY(.01)}to{transform:scale(1)}}@keyframes say-out{0%{transform:scale(1)}55%{transform:scaleY(.01)}to{transform:scale(.02,.01)}}.nim-say .ans{display:grid;gap:6px;padding:0 14px 14px}.nim-say .ans[hidden]{display:none}.nim-say .ans button,.nim-say .ans a{min-height:34px;box-sizing:border-box;padding:6px 10px;display:flex;align-items:center;gap:10px;text-align:left;font:400 12px/1.35 var(--mono);color:var(--lav-text);text-decoration:none;background:transparent;border:1px solid var(--lav-line);border-radius:0;cursor:pointer}.nim-say .ans button:before,.nim-say .ans a:before{content:"›";color:var(--lav)}.nim-say .ans button:hover,.nim-say .ans a:hover,.nim-say .ans :focus-visible{border-color:var(--lav-line-hi);background:#d6c8ff0f}.nim-say .ans .picked,.nim-say .ans .picked:hover{border-color:transparent;background:transparent;color:var(--lav-muted);cursor:default}.nim-say .next{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:44px;height:22px;padding:0;display:grid;place-items:center;font:400 15px/1 var(--mono);color:var(--lav);background:transparent;border:0;cursor:pointer;animation:next-breath 2.4s ease-in-out infinite}.nim-say .next[hidden]{display:none}.nim-say .next:hover,.nim-say .next:focus-visible{animation:none;opacity:1}.nim-say .next:focus-visible{outline:1px solid var(--lav-line-hi);outline-offset:-2px}@keyframes next-breath{0%,to{opacity:.45}50%{opacity:.95}}.nim.gilt .nim-win{border-color:transparent!important}.nim.gilt .nim-bar{background:transparent;border-bottom-color:transparent;justify-content:center}.nim.gilt .nim-bar>:not(.ttl){display:none}.nim.gilt .nim-bar .ttl{margin:0;font:500 13px/1 var(--serif);letter-spacing:.55em;text-indent:.55em;color:#e6c98f;text-shadow:0 0 12px rgba(255,196,110,.22)}.nim.gilt .nim-say{border-color:transparent;background:transparent}.nim.gilt .nim-say .sbar{display:none}.nim.gilt .nim-say .txt{padding:18px 30px 26px;font:italic 500 19px/1.42 var(--serif);color:#f3e8d4;text-align:center;text-shadow:0 0 16px rgba(255,200,130,.14)}.nim.gilt .nim-say .c.g:after{color:#d8b26c;opacity:.65}.nim.gilt .nim-say .c.b{color:#e6c98f}.nim.gilt .nim-say .c.as{font-style:normal;color:#f3e8d499}.nim.gilt .nim-say.blank .txt{padding-bottom:18px}.nim.gilt .nim-say .dots{bottom:8px;gap:10px}.nim.gilt .nim-say .txt>.dots{height:1.42em}.nim.gilt .nim-say .dots i{width:5px;height:5px;border-radius:0;transform:rotate(45deg);background:#d8b26c}.nim.gilt .nim-say .rep{margin:0 24px 20px;border-bottom-color:#e4bc724d}.nim.gilt .nim-say .rep:focus-within{border-bottom-color:#eeca82b3}.nim.gilt .nim-say .rep input,.nim.gilt .nim-say .rep .ghost{font:italic 500 17px/1.3 var(--serif);color:#f3e8d4;caret-color:#d8b26c;text-align:center}.nim.gilt .nim-say .rep input::placeholder{color:#d8b26c8c}.nim.gilt .nim-say .rep button{font-size:0;color:#d8b26c}.nim.gilt .nim-say .rep button:before{content:"◆";font-size:8px}.nim.gilt .nim-tag{font:500 12px/1 var(--serif);letter-spacing:.3em;color:#e6c98f;background:#100c08eb;border-color:#e4bc7273}.nim.gilt .nim-say .ans{padding:0 20px 20px}.nim.gilt .nim-say .ans button,.nim.gilt .nim-say .ans a{font:500 16px/1.3 var(--serif);color:#eedfc4;border-color:#e4bc724d;background:#ffd28c05}.nim.gilt .nim-say .ans button:before,.nim.gilt .nim-say .ans a:before{content:"◆";font-size:7px;color:#d8b26c}.nim.gilt .nim-say .ans button:hover,.nim.gilt .nim-say .ans a:hover,.nim.gilt .nim-say .ans :focus-visible{border-color:#eeca829e;background:#ffd28c0f}.nim.gilt .nim-say .ans .picked,.nim.gilt .nim-say .ans .picked:hover{border-color:transparent;background:transparent;color:#eedfc499}.nim.gilt .nim-say .next{font-size:0;color:#d8b26c}.nim.gilt .nim-say .next:before{content:"◆";font-size:8px}.nim.gilt .nim-say .next:focus-visible{outline:0}.nim.gilt .nim-say .next:focus-visible:before{text-shadow:0 0 8px rgba(255,210,140,.9)}.nim.gilt .nim-say .next:focus-visible:after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:1px;background:#eeca82b3}body.glitch .nim-say{translate:var(--gx, 0px) 0}body.glitch .nim-say .txt,body.glitch .nim-say .ans,body.glitch .nim-tag,body.glitch .cardform{text-shadow:-2px 0 rgba(255,70,140,.55),2px 0 rgba(70,225,255,.55)}#root{position:relative;z-index:4}.cardform{position:fixed;z-index:4;box-sizing:border-box;display:flex;flex-direction:column;background:radial-gradient(120% 90% at 50% 0%,#281c0e6b,#0806049e);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 40px 80px -30px #000c;opacity:0;filter:blur(10px);transition:opacity 1.1s ease,filter 1.3s ease,transform 1.7s cubic-bezier(.16,.8,.12,1);pointer-events:none}.cardform:before,.cardform:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 18%,var(--gold-hi) 50%,var(--gold) 82%,transparent);transform:scaleX(0);transition:transform 1.4s cubic-bezier(.6,0,.2,1) .35s}.cardform:before{top:0}.cardform:after{bottom:0}.cardform.on:before,.cardform.on:after{transform:scaleX(1)}.cardform>*{opacity:0;transform:translateY(12px);transition:opacity .8s ease,transform 1.1s cubic-bezier(.2,.7,.1,1)}.cardform.on>*{opacity:1;transform:none}.cardform.on>:nth-child(1){transition-delay:.5s}.cardform.on>:nth-child(2){transition-delay:.62s}.cardform.on>:nth-child(3){transition-delay:.74s}.cardform.on>:nth-child(4){transition-delay:.86s}.cardform.on>button{transition-delay:.95s}.cardform.on>.err{transition-delay:0s}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field label{font:italic 500 24px/1.1 var(--serif);color:var(--gold-hi);letter-spacing:.01em}.field input{min-width:0;font:500 22px/1.2 var(--serif);color:var(--ivory);background:transparent;border:0;border-bottom:1px solid rgba(217,181,110,.45);border-radius:0;padding:8px 2px 9px;caret-color:var(--gold-hi);transition:border-color .4s}.field input:focus{outline:none;border-bottom-color:var(--gold-hi)}.field input::placeholder{color:#a99f8c8c;font-style:italic}.field input:disabled{opacity:.6}.err{margin:-6px 0 0;font:400 15px/1.45 Segoe UI,system-ui,sans-serif;color:#f1c2ae}.err[hidden]{display:none}.cardform button[type=submit]{margin-top:4px;min-height:52px;font:500 21px/1 "Cormorant SC",var(--serif);letter-spacing:.22em;color:var(--gold-hi);background:#d9b56e14;border:1px solid rgba(217,181,110,.6);border-radius:1px;cursor:pointer;transition:background .3s,border-color .3s}.cardform button[type=submit]:hover{background:#d9b56e29;border-color:var(--gold-hi)}.cardform button:disabled{cursor:progress;opacity:.75}.cardform{gap:14px;padding:26px 32px 24px;transform:perspective(1100px) rotateX(14deg) translateY(24px) scale(.96);transform-origin:50% 100%}.cardform.on{opacity:1;filter:blur(0);pointer-events:auto;transform:none}.cardform.gone{opacity:0;filter:blur(8px);pointer-events:none;transform:scale(.99);transition-duration:.6s}.cardform .field{gap:4px}.cardform .field label{font-size:17px}.cardform .field input{font-size:19px;padding:5px 2px 6px}.cardform .field input.big{font:italic 500 28px/1.15 var(--serif);text-align:center}.cardform>.field:first-child label{text-align:center}.cardform button[type=submit]{min-height:46px;font-size:19px}.cardform .row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}.chrome{position:fixed;z-index:6;display:flex;gap:10px;align-items:center;font:400 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#8c96a3}.chrome button,.chrome a.btn{min-height:36px;text-decoration:none;padding:0 12px;display:inline-flex;align-items:center;color:inherit;background:#0a0c0f8c;border:1px solid rgba(174,187,201,.18);border-radius:2px;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.chrome button:hover,.chrome a.btn:hover{color:#d5dee8;border-color:#aebbc966}.chrome.skip{right:16px;bottom:16px}.chrome.out{left:16px;top:16px}.chrome.snd{right:16px;top:16px}.chrome button[aria-pressed=true]{color:#d5dee8;border-color:#aebbc980}.fault{position:fixed;z-index:9;left:50%;top:50%;transform:translate(-50%,-50%);max-width:min(460px,calc(100vw - 48px));padding:24px 28px;text-align:center;font:400 16px/1.5 Segoe UI,system-ui,sans-serif;color:#f1c2ae;background:#0c0a09eb;border:1px solid rgba(241,194,174,.35)}.fault p{margin:0 0 16px}.fault button{min-height:38px;padding:0 16px;font:inherit;color:var(--ivory);background:transparent;border:1px solid rgba(242,234,219,.35);cursor:pointer}@media(prefers-reduced-motion:reduce){.cardform,.cardform.on,.cardform.gone{transform:none;filter:none;transition:opacity .4s ease}.cardform>*,.cardform.on>*{transform:none;transition:opacity .4s ease;transition-delay:0s}.nim-say.boot,.nim-say.bye{animation-duration:.01s}.nim-say .next,.nim-say .dots i{animation:none;opacity:.8}.nim-say .txt{transition:none}}
