@font-face{font-family:Pixel;src:url('./pixel.ttf') format('truetype');font-display:swap}@font-face{font-family:Terminal;src:url('./terminal.ttf') format('truetype');font-display:swap}
:root{--night:#101b25;--panel:#192b38;--panel-deep:#14232f;--edge:#345262;--cream:#ede5ce;--dim:#a2b9bd;--mint:#9cdbbf;--gold:#e6bc77;--pixel:Pixel,monospace;--read:Terminal,'Courier New',monospace;--body:'Segoe UI',sans-serif}
*{box-sizing:border-box}html{background:var(--night);color:var(--cream)}body{margin:0;font-family:var(--body);min-width:320px}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid var(--mint);outline-offset:5px}[hidden]{display:none!important}.skip{position:fixed;top:-90px;left:20px;background:var(--mint);color:var(--night);padding:16px;z-index:50}.skip:focus{top:12px}
.masthead{max-width:1480px;margin:auto;padding:26px 44px;display:flex;align-items:center;gap:30px;border-bottom:1px solid #263b49}.brand{display:block;width:155px;flex-shrink:0}.brand img{width:100%;height:50px;object-fit:contain;filter:brightness(0) invert(1);opacity:.93}.edition{font:9px/1.8 var(--pixel);letter-spacing:.03em;color:var(--dim);margin:auto}.return{font-size:12px;text-decoration:none;color:var(--dim);white-space:nowrap}.return span{margin-left:10px;color:var(--gold)}
.refuge{max-width:1450px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.88fr);gap:56px;padding:45px 44px 40px;margin:auto}.world-column{min-width:0}.world-intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:29px;gap:20px}.eyebrow{font:9px/1.8 var(--pixel);color:var(--mint);margin:0 0 18px;display:flex;align-items:center;gap:10px}.spark{width:7px;height:7px;display:block;background:var(--mint);box-shadow:7px 0 #345c53,0 7px #345c53}h1{font:23px/1.65 var(--pixel);letter-spacing:-.07em;margin:0}.intro-copy{font:19px/1.5 var(--read);color:var(--dim);margin:0 4px 6px 0;flex-shrink:0}.intro-copy strong{font-weight:normal;color:var(--cream)}
.world-frame{position:relative;border:4px solid #55726e;box-shadow:0 0 0 3px var(--night),0 0 0 5px #283f4a,7px 7px 0 #09141c;background:#172b3c;isolation:isolate}.world-frame::before,.world-frame::after{content:'';position:absolute;width:10px;height:10px;background:var(--gold);z-index:4;top:-5px}.world-frame::before{left:-5px}.world-frame::after{right:-5px}.world-frame canvas{display:block;width:100%;height:auto;image-rendering:pixelated;outline-offset:9px}.scene-status{position:absolute;top:16px;left:18px;right:18px;display:flex;justify-content:space-between;gap:10px;z-index:2;font:7px/1.8 var(--pixel);color:#c6d8d6;pointer-events:none}.scene-status span:first-child{color:var(--mint)}.weather{color:#b0bdc3}.places{position:absolute;inset:0;pointer-events:none}.places button{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-95%);width:15%;height:23%;min-width:44px;min-height:44px;background:transparent;border:0;pointer-events:auto}.places button span{position:absolute;left:50%;bottom:-15px;transform:translateX(-50%);color:#fff0cf;white-space:nowrap;font:18px/1.2 var(--read);padding:3px 7px;background:#122735;border:1px solid #47656b;opacity:0;transition:opacity .12s;box-shadow:2px 2px #06131b}.places button:hover span,.places button:focus-visible span,.places button.current span{opacity:1}.places button:hover{background:#fff1b308}.places button:focus-visible{outline-offset:0;outline-width:2px}.compass{position:absolute;bottom:14px;left:18px;font:9px/1 var(--pixel);text-align:center;color:#bdc9b0;pointer-events:none}.compass span{display:block;font:24px var(--read);margin-top:3px;color:#608a83}
.under-map{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:23px;color:#a8bdbd;font:16px/1.4 var(--read)}.under-map p{margin:0}.under-map p:nth-child(2){font:11px/1.6 var(--body);color:#8ba2aa}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:23px;border:1px solid #4b646a;border-bottom-width:3px;border-radius:2px;font:13px var(--read);margin-right:3px;color:#d8e3d8;background:#1c303b}.or{color:#4d626c;margin:0 7px}.sound{background:none;border:0;padding:10px 0 10px 8px;font:7px var(--pixel);color:var(--dim);white-space:nowrap}.sound[aria-pressed=true]{color:var(--mint)}.world-message{font:18px/1.55 var(--read);color:#c4cdbd;border-left:2px solid #657e6f;padding-left:16px;margin-top:27px;max-width:590px;min-height:55px}
.side-column{padding-top:2px;min-width:0}.pixel-window{background:var(--panel);border:2px solid #55706e;box-shadow:0 0 0 3px #0d1721,0 0 0 5px #293f4a,7px 7px 0 #09141c;position:relative}.pixel-window:before{content:'';height:5px;left:7px;right:7px;top:-3px;background:#a2b29a;position:absolute}.window-top{min-height:43px;display:flex;gap:10px;align-items:center;background:#203844;border-bottom:2px solid #3a535a;padding:10px 18px;font:7px/1.6 var(--pixel);color:#d6dbc2}.tiny-icon{font:19px/1 var(--read);color:var(--gold)}.window-dot{width:5px;height:5px;background:var(--mint);margin-left:auto;box-shadow:5px 0 #678e80}.access-content{padding:25px 26px 26px}.portrait-frame{width:79px;height:79px;border:2px solid #697e77;box-shadow:inset 0 0 0 3px #102530,3px 3px 0 #091923;background:#112a34;position:relative;margin:0 0 24px}.portrait-frame canvas{image-rendering:pixelated;width:100%;height:100%}.online-dot{position:absolute;right:-4px;bottom:-4px;width:11px;height:11px;background:var(--mint);border:3px solid var(--panel)}.overline{font:7px/1.8 var(--pixel);letter-spacing:.025em;color:var(--gold);margin:0 0 12px}.access-content h2{font:15px/1.75 var(--pixel);letter-spacing:-.07em;margin:0 0 16px}.access-description{font:13px/1.8 var(--body);color:#b8c8c8;margin:0 0 25px}.access-content label{font:12px/1.4 var(--body);display:block;color:#dce1d4;margin:0 0 10px}.access-content input{width:100%;height:49px;background:#101e2a;color:var(--cream);border:1px solid #5a7678;box-shadow:inset 3px 3px #0b1822;border-radius:0;padding:12px 13px;font-size:16px;outline-offset:3px}.access-content input::placeholder{color:#7d959f}.pixel-button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:51px;width:100%;padding:14px 16px;font:8px/1.7 var(--pixel);border:0;border-bottom:4px solid #558f76;border-right:4px solid #558f76;background:var(--mint);color:#102e2c;box-shadow:3px 3px 0 #091923;transition:transform .12s,background .12s;margin-top:17px}.pixel-button:hover{transform:translateY(-2px);background:#b6ebcd}.pixel-button:active{transform:translate(2px,2px)}.pixel-button span{font:22px/1 var(--read)}.auth-message{color:var(--gold);font:12px/1.65 var(--body);margin:12px 0 0}.auth-message:empty{display:none}.access-note{display:flex;gap:10px;margin-top:24px;padding-top:19px;border-top:1px dashed #425964}.access-note p{font:10px/1.8 var(--body);color:#9cb3b6;margin:0}.lock{flex-shrink:0;width:11px;height:10px;background:#94b1a6;margin-top:5px;position:relative}.lock:before{content:'';position:absolute;left:2px;top:-5px;width:7px;height:6px;border:2px solid #94b1a6;border-bottom:0}.demo-line{margin-top:24px;border-top:1px solid #344c59;padding-top:19px}.demo-line>span{font:11px/1.6 var(--body);color:#a5b9bc}.text-button{display:inline-block;background:none;border:0;padding:10px 0;color:var(--gold);font:8px/1.8 var(--pixel);text-align:left;text-decoration:none}.text-button:hover{color:#ffe1a4;text-decoration:underline;text-underline-offset:5px}.demo-line .text-button{display:block;margin-top:6px}.aside-footnote{font:10px/1.8 var(--body);color:#7f9aa4;max-width:320px;margin:22px 8px}#code{font:24px/1 var(--pixel);letter-spacing:.32em;padding-left:17px}#code-form .text-button{font:11px/1.5 var(--body);margin-top:7px}
.agent-summary{padding:23px 23px 20px;border-bottom:1px solid var(--edge)}.agent-summary h2{font:21px/1.5 var(--read);margin:0 0 6px;color:#fff0cf}.agent-summary>p:last-child{margin-bottom:0}.agent-summary #agent-updated{font:10px/1.7 var(--body);color:var(--dim);margin:3px 0}.agent-summary .demo-disclaimer{font:11px/1.6 var(--body);color:var(--gold);margin-top:12px}.window-top button{margin-left:auto;background:none;border:0;color:var(--mint);font:7px var(--pixel);padding:8px 0 8px 10px;min-height:25px}.archive-tabs{display:flex;flex-wrap:wrap;gap:3px;padding:13px 13px 12px;background:#142633;border-bottom:1px solid var(--edge)}.archive-tabs button{background:none;border:1px solid transparent;padding:9px 7px;font:15px var(--read);color:#abc2be;min-height:38px}.archive-tabs button.active{border-color:#749985;color:var(--mint);background:#233c3b}.document{padding:23px;min-height:400px}.document-file{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--mint);font:8px var(--pixel);margin-bottom:20px}.shared-label{font:7px/1.6 var(--pixel);color:#8ca8ae;font-size:6px}.document>h2{font:16px/1.7 var(--pixel);letter-spacing:-.06em;margin:0 0 8px}.doc-subtitle{font:13px/1.7 var(--body);color:var(--dim);margin:0 0 22px}.markdown{font:13px/1.85 var(--body);color:#d0dcd5;overflow-wrap:anywhere}.markdown h2{font:11px/1.8 var(--pixel);color:#f0e4c7;margin:28px 0 15px;letter-spacing:-.05em}.markdown h3{font:14px/1.7 var(--read);color:var(--gold);margin:22px 0 10px}.markdown p{margin:0 0 15px}.markdown ul{padding:0;margin:0 0 20px;list-style:none}.markdown li{padding-left:16px;position:relative;margin-bottom:10px}.markdown li:before{content:'';position:absolute;left:0;top:11px;background:#90cdb2;width:4px;height:4px}.markdown .date-note{font:10px/1.8 var(--body);color:#9eb4b6;margin-top:-4px}.download{margin-top:26px;border-top:1px solid #425964;width:100%;padding-top:19px}.footer{display:flex;justify-content:space-between;gap:20px;align-items:center;max-width:1362px;margin:0 auto;padding:23px 0 25px;border-top:1px solid #2e454e;color:#6e8c96;font:7px/1.8 var(--pixel)}.footer a{color:#9cb5b7;text-decoration:none;font:11px var(--body)}
@media(min-width:1550px){.refuge{padding-top:64px;gap:75px}.access-content{padding:30px}.world-intro{margin-bottom:34px}h1{font-size:27px}.scene-status{font-size:8px}}
@media(max-width:1120px){.masthead{padding:20px 28px}.edition{display:none}.return{margin-left:auto}.refuge{padding:34px 28px;gap:30px;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr)}h1{font-size:19px}.intro-copy{font-size:16px}.under-map{flex-wrap:wrap}.under-map p:nth-child(2){display:none}.access-content{padding:23px 21px}.footer{margin:0 28px}.footer>span:nth-child(2){display:none}.world-message{font-size:17px}}
@media(max-width:800px){.refuge{max-width:650px;grid-template-columns:1fr;padding:30px 22px 28px;gap:27px}.masthead{padding:14px 22px}.brand{width:122px}.brand img{height:40px}.return{font-size:11px}.world-intro{gap:12px;align-items:flex-end;margin-bottom:24px}h1{font-size:20px}.eyebrow{font-size:7px;margin-bottom:13px}.intro-copy{font-size:17px;margin-bottom:5px}.scene-status{font-size:6px;left:10px;right:10px;top:10px}.weather{display:none}.world-frame{border-width:3px}.under-map{margin-top:19px}.under-map p{font-size:14px}.sound{font-size:6px}.world-message{font-size:17px;min-height:auto;margin:19px 0 0}.side-column{padding:0 2px}.access-content{padding:25px}.portrait-frame{float:right;margin:1px 0 10px 14px;width:66px;height:66px}.access-content h2{font-size:14px}.access-description{clear:both;padding-top:1px;font-size:13px}.overline{font-size:6px}.access-note p{font-size:11px}.demo-line>span{font-size:12px}.aside-footnote{margin:22px 4px 0;max-width:100%;font-size:11px}.footer{margin:0 22px;font-size:6px;padding:18px 0}.places button span{font-size:16px;bottom:-12px}.compass{left:12px;bottom:10px;font-size:7px}.compass span{font-size:18px}.archive-tabs button{min-height:44px;font-size:17px}.markdown{font-size:14px}.shared-label{font-size:6px}.agent-panel .window-top button{min-height:32px}}
@media(max-width:380px){h1{font-size:17px}.intro-copy{font-size:14px}.refuge{padding-left:17px;padding-right:17px}.scene-status{font-size:5px}.under-map kbd{min-width:16px;margin-right:2px}.sound{font-size:5px}.world-intro{gap:6px}.access-content{padding:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

[data-place=soul]{--x:50%;--y:38.5%}[data-place=user]{--x:27.5%;--y:57.7%}[data-place=memory]{--x:72.5%;--y:57.7%}[data-place=skills]{--x:30%;--y:84.6%}[data-place=agents]{--x:70%;--y:84.6%}
.places button span{opacity:1;font-size:16px}.places button.current span{color:#142b37;background:#e6bc77;border-color:#f1d9ac}@media(max-width:800px){.places button span{font-size:14px;padding:2px 5px}}
