:root{--void:#05010f;--ink:#e9e4ff;--dim:#8b84b3;--gold:#ffcf6b;--teal:#5ef2d6;--glass:rgba(255,255,255,.07);}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;overflow:hidden;background:var(--void);color:var(--ink);font-family:'Fraunces',serif;touch-action:none}
#canvas{position:fixed;inset:0;width:100%;height:100%;cursor:grab}
#canvas.dragging{cursor:grabbing}
.glass{background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12);border-radius:16px}
#topbar{position:fixed;top:12px;left:12px;right:12px;display:flex;align-items:center;gap:12px;padding:10px 14px;flex-wrap:wrap;z-index:5}
h1{font-weight:200;font-size:22px;letter-spacing:.02em;white-space:nowrap}
h1 em{font-weight:800;font-style:italic;color:var(--gold)}
.glyph{color:var(--teal)}
#seed{flex:1;min-width:140px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.15);color:var(--ink);border-radius:10px;padding:8px 12px;font-family:'Fraunces';font-style:italic;font-size:15px;outline:none}
#seed:focus{border-color:var(--teal)}
.btns{display:flex;gap:6px}
button{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:var(--ink);border-radius:10px;padding:7px 10px;cursor:pointer;font-family:'JetBrains Mono';font-size:13px;transition:.15s}
button:hover{background:rgba(94,242,214,.18);border-color:var(--teal)}
.stats,#auth-status{font-family:'JetBrains Mono';font-weight:300;font-size:12px;color:var(--dim)}
#auth-status a{color:var(--teal)}
#panel{position:fixed;top:90px;right:12px;width:340px;max-height:calc(100% - 150px);overflow:auto;padding:20px;z-index:6;transform:translateX(120%);transition:transform .35s cubic-bezier(.2,.9,.3,1.2)}
#panel.open{transform:none}
#pClose{position:absolute;top:10px;right:10px;padding:3px 8px}
#pEmoji{font-size:40px}
#pTitle{font-weight:800;font-size:28px;line-height:1.05;margin:6px 0 10px}
#crumbs{font-family:'JetBrains Mono';font-size:11px;color:var(--dim);margin-bottom:12px;line-height:1.7}
#crumbs span{cursor:pointer;color:var(--teal)}
#crumbs span:hover{text-decoration:underline}
#pDesc{font-weight:300;font-size:15px;line-height:1.5;margin-bottom:12px}
#wiki{font-size:13px;font-weight:300;color:#cfc8f0;line-height:1.5;margin-bottom:14px}
#wiki img{width:100%;border-radius:10px;margin-bottom:8px;max-height:180px;object-fit:cover}
#wiki a{color:var(--gold)}
.actions{display:flex;flex-wrap:wrap;gap:6px}
#minimap{position:fixed;right:12px;bottom:36px;border-radius:12px;background:rgba(5,1,15,.6);border:1px solid rgba(255,255,255,.12);z-index:4;cursor:pointer}
#toast{position:fixed;left:50%;bottom:60px;transform:translateX(-50%) translateY(20px);opacity:0;background:rgba(255,207,107,.15);border:1px solid var(--gold);color:var(--gold);padding:10px 18px;border-radius:30px;font-style:italic;transition:.4s;z-index:9;pointer-events:none;text-align:center}
#toast.show{opacity:1;transform:translateX(-50%)}
footer{position:fixed;left:14px;bottom:10px;font-family:'JetBrains Mono';font-size:11px;color:var(--dim);z-index:4}
footer a{color:var(--teal)}
@media(max-width:700px){
  h1{font-size:18px}.stats{display:none}
  #panel{top:auto;bottom:0;left:0;right:0;width:auto;max-height:55%;border-radius:18px 18px 0 0;transform:translateY(110%)}
  #minimap{display:none}
}