*{box-sizing:border-box}body{margin:0;background:#0b0e14;color:#dde2f5;font:14px/1.45 Segoe UI,system-ui,sans-serif;overflow:hidden}button{font:inherit;cursor:pointer}input{font:inherit}.btn{background:#1a1e30;color:#dde2f5;border:1px solid #2a2f45;border-radius:9px;padding:7px 14px}.btn:hover{border-color:#e33d8c}.btn.primary{background:#e33d8c;border-color:#e33d8c;color:#fff;font-weight:600}.btn.ghost{background:transparent}.topbar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#10131f;border-bottom:1px solid #1e2336}.brand{font-weight:800;letter-spacing:.4px;color:#fff}.brand em{color:#e33d8c;font-style:normal}.tool{width:40px;height:40px;border-radius:10px;background:#141828;border:1px solid #232842;color:#aab1cf;font-size:17px;display:flex;align-items:center;justify-content:center}.tool.on{background:#e33d8c;color:#fff;border-color:#e33d8c}.toolbar{position:absolute;left:12px;top:64px;display:flex;flex-direction:column;gap:6px;z-index:5}.canvas-wrap{position:fixed;right:0;bottom:0;left:0;top:49px}.docgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;padding:20px;overflow:auto;height:calc(100vh - 49px)}.doccard{background:#141828;border:1px solid #232842;border-radius:14px;padding:14px;cursor:pointer;min-height:120px;display:flex;flex-direction:column;justify-content:space-between}.doccard:hover{border-color:#e33d8c}.login{max-width:360px;margin:12vh auto;background:#141828;border:1px solid #232842;border-radius:16px;padding:26px;display:flex;flex-direction:column;gap:10px}.login input{background:#0f1320;border:1px solid #2a2f45;color:#fff;border-radius:9px;padding:9px 12px}.muted{color:#8f96b3;font-size:12.5px}.hud{position:absolute;bottom:10px;left:12px;color:#8f96b3;font-size:12px;z-index:5;-webkit-user-select:none;user-select:none}.props{position:absolute;right:12px;top:64px;width:200px;background:#141828cc;border:1px solid #232842;border-radius:12px;padding:10px;z-index:5;display:flex;flex-direction:column;gap:8px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.props label{font-size:11.5px;color:#8f96b3;display:flex;align-items:center;justify-content:space-between;gap:8px}.props input[type=color]{width:42px;height:26px;border:none;background:none;padding:0}.props input[type=range]{width:110px}.toast{position:fixed;bottom:16px;left:50%;transform:translate(-50%);background:#1a1e30;border:1px solid #e33d8c;color:#fff;border-radius:10px;padding:8px 16px;z-index:50}
