:root{--bg:#090912;--panel:#151526;--panel2:#20203a;--text:#f4f0ff;--muted:#aaa3c2;--accent:#9d65ff;--danger:#ff477e;--good:#4ade80;--line:#363052}*{box-sizing:border-box}body{margin:0;font-family:system-ui,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at 20% 0,#2b1553 0,#090912 38%,#050509 100%);color:var(--text);min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line);background:rgba(5,5,9,.82);backdrop-filter:blur(10px);position:sticky;top:0;z-index:5}.brand{color:var(--text);text-decoration:none;display:flex;flex-direction:column}.brand span,.muted,.footer{color:var(--muted);font-size:.9rem}nav a{color:var(--text);margin-left:14px;text-decoration:none}.shell{max-width:1180px;margin:0 auto;padding:28px}.hero{padding:60px 28px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(157,101,255,.18),rgba(21,21,38,.9));border-radius:24px}.hero h1{font-size:clamp(2.4rem,7vw,5.8rem);margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card,article{background:rgba(21,21,38,.92);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 18px 55px rgba(0,0,0,.3)}.action{color:var(--text);text-decoration:none}.btn,button{display:inline-block;background:var(--accent);color:white;border:0;border-radius:12px;padding:11px 15px;margin:7px 6px 7px 0;text-decoration:none;cursor:pointer;font-weight:700}.btn.secondary,button.secondary{background:var(--panel2)}.btn.danger,button.danger{background:var(--danger)}input,select,textarea{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:#0b0b16;color:var(--text);margin:7px 0 14px}textarea{min-height:110px}.form{max-width:520px;margin:20px auto}.error{background:#42172a;color:#ffd0dd;padding:10px;border-radius:10px}.row{display:flex;justify-content:space-between;gap:20px;color:var(--text);text-decoration:none;padding:14px;border-bottom:1px solid var(--line)}.log{max-height:420px;overflow:auto}.event{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:10px}.scene,.result{min-height:120px;background:#0a0a13;border:1px dashed var(--line);border-radius:14px;padding:18px}.quick button{font-size:.9rem;padding:8px 10px}.footer{text-align:center;padding:32px}.unstable-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(138,43,226,.13);pointer-events:none;z-index:9999;animation:realityGlitch .2s infinite;display:none;mix-blend-mode:screen}@keyframes realityGlitch{0%{transform:translate(0);opacity:.2}20%{transform:translate(-5px,5px);clip-path:inset(10% 0 30% 0)}40%{transform:translate(5px,-5px);clip-path:inset(40% 0 10% 0)}60%{transform:translate(-5px,0);opacity:.5}100%{transform:translate(0);opacity:.2}}#bossCard{position:fixed;inset:0;display:none;place-items:center;background:rgba(0,0,0,.75);z-index:9000}.bossInner{text-align:center;background:linear-gradient(135deg,#1a092c,#3d1028);border:2px solid var(--accent);padding:50px;border-radius:24px;box-shadow:0 0 80px var(--accent)}#bossCard.show{display:grid;animation:boom .35s}.bossInner h1{font-size:clamp(2rem,6vw,5rem)}.hp{height:16px;background:#210815;border-radius:99px;overflow:hidden}.hp i{display:block;height:100%;background:var(--danger);animation:fill 1.2s}.stamp{position:fixed;left:50%;top:55%;transform:translate(-50%,-50%) rotate(-4deg);z-index:9500;background:#ffdd57;color:#120d00;border:4px solid #120d00;padding:18px 28px;border-radius:12px;font-size:2rem;font-weight:900;animation:stamp .8s ease-out}.stamp small{display:block;font-size:.9rem}.overlayOnly{background:transparent}.overlayScene{position:fixed;bottom:70px;left:50%;transform:translateX(-50%);font-size:2rem;text-shadow:0 3px 18px #000}.overlayLog{position:fixed;right:20px;bottom:20px;width:360px}@keyframes boom{from{transform:scale(.9);opacity:.2}to{transform:scale(1);opacity:1}}@keyframes fill{from{width:0}to{width:100%}}@keyframes stamp{0%{opacity:0;transform:translate(-50%,-50%) scale(2) rotate(-10deg)}60%{opacity:1;transform:translate(-50%,-50%) scale(.9) rotate(-4deg)}100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-4deg)}}@media(max-width:800px){.grid,.grid.two,.grid.three{grid-template-columns:1fr}.row{flex-direction:column}.shell{padding:14px}}
