*{box-sizing:border-box}html,body,#root{margin:0;height:100%;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;overflow:hidden}.plaza-root{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.plaza-sky{background:#faf2ec}.game-canvas{width:100%;height:100%;display:block;touch-action:none}.plaza-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.plaza-loading-alt{background:radial-gradient(ellipse 60% 45% at 50% 88%,rgba(155,123,242,.2),transparent 64%),radial-gradient(ellipse 55% 40% at 12% 10%,rgba(240,109,154,.16),transparent 62%),radial-gradient(ellipse 55% 40% at 88% 16%,rgba(90,164,232,.16),transparent 62%),linear-gradient(180deg,#f6e8ee,#eef0f8 55%,#faf2ec)}.plaza-loading-title{font-size:22px;font-weight:800;letter-spacing:.3em;text-shadow:0 2px 14px rgba(27,31,42,.12)}.overlay-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;background:radial-gradient(ellipse at center,transparent 58%,rgba(10,8,6,.28) 100%)}.ed-panel{position:absolute;top:16px;left:18px;z-index:9;width:250px;padding:12px 14px;border-radius:12px;border:1.5px solid rgba(27,31,42,.2);background:#f7efe3f0;color:#1b1f2a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:12.5px;display:flex;flex-direction:column;gap:8px}.ed-title{font-weight:800;letter-spacing:.18em;font-size:11px}.ed-desc{width:100%;resize:vertical;border:1.5px solid rgba(27,31,42,.25);border-radius:8px;background:#fffdf8;padding:6px 8px;font:inherit}.ed-generate{border:none;border-radius:8px;background:#1b1f2a;color:#f7efe3;padding:7px 10px;font-size:12px;cursor:pointer}.ed-meta{font-family:ui-monospace,monospace;font-size:10px;color:#1b1f2a8c}.ed-tools{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.ed-btn{border:1.5px solid rgba(27,31,42,.2);border-radius:8px;background:#fffdf8e6;font-size:15px;padding:4px 0;cursor:pointer}.ed-btn.active{background:#1b1f2a;border-color:#1b1f2a}.ed-toolname{font-size:11px;color:#1b1f2a99;min-height:14px}.ed-back{font-size:11px;color:#1b1f2a99;text-decoration:none}.plaza-presence{position:absolute;top:16px;left:18px;z-index:9;display:flex;align-items:center;gap:7px;padding:5px 11px;border-radius:12px;background:#f7efe3b8;border:1.6px solid rgba(27,31,42,.22);font-size:12px;font-weight:700;color:#1b1f2a}.plaza-dot{width:9px;height:9px;border-radius:50%;background:#b7b1a4}.plaza-dot.online{background:#4fbf7f}.plaza-dot.connecting{background:#f2a03d}.plaza-dot.offline{background:#d95f5f}.plaza-talk{position:absolute;z-index:12;transform:translate(-50%,-100%);pointer-events:auto}.plaza-talk-input{width:min(260px,60vw);border:2px solid rgba(27,31,42,.35);border-radius:14px;background:#f7efe3f2;padding:8px 12px;font-size:14px;font-family:inherit;color:#1b1f2a;outline:none;box-shadow:0 3px 14px #1b1f2a2e}.plaza-talk-input:focus{border-color:#9b7bf2}.plaza-hint{position:absolute;bottom:26px;left:50%;transform:translate(-50%);z-index:9;font-size:12.5px;letter-spacing:.1em;color:#1b1f2a99;background:#f7efe3a8;padding:5px 13px;border-radius:12px;animation:plaza-hint-breathe 2.4s ease-in-out infinite;pointer-events:none}@keyframes plaza-hint-breathe{0%,to{opacity:.55}50%{opacity:1}}.plaza-talk-btn{position:absolute;bottom:18px;left:18px;z-index:10;width:46px;height:46px;border-radius:50%;border:2px solid rgba(27,31,42,.3);background:#f7efe3cc;font-size:19px;line-height:1;cursor:pointer;opacity:.75}.plaza-talk-btn:hover{opacity:1}@media (hover: hover) and (pointer: fine){.plaza-talk-btn{display:none}}.plaza-log{position:absolute;top:70px;right:16px;z-index:9;display:flex;flex-direction:column;align-items:flex-end;gap:7px;max-width:min(300px,62vw);pointer-events:none}.plaza-log-item{background:#f7efe3e0;border:1.6px solid rgba(27,31,42,.24);border-radius:13px;padding:6px 11px;font-size:12.5px;line-height:1.35;color:#1b1f2a;box-shadow:0 2px 8px #1b1f2a1a;animation:plaza-log-in .25s ease-out;transition:opacity 1.8s ease;overflow-wrap:anywhere}.plaza-log-item b{color:#7c53d6}.plaza-log-item i{color:#c2554f;font-style:normal;font-weight:600}.plaza-log-item.fading{opacity:0}@keyframes plaza-log-in{0%{transform:translate(14px);opacity:0}to{transform:none;opacity:1}}
