*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#f3f4f6}
.p3d-page{max-width:1500px;margin:auto;padding:18px;font-family:Arial,sans-serif;color:#17202a}
.p3d-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:14px}
.p3d-header h1{font-size:clamp(24px,4vw,46px);line-height:1;margin:4px 0}
.p3d-header p{margin:0;font-size:18px}.p3d-kicker{font-weight:800;letter-spacing:.14em}
.p3d-member{background:#fff;padding:10px 14px;border-radius:999px;box-shadow:0 2px 10px #0001;white-space:nowrap}
.p3d-online{display:inline-block;width:9px;height:9px;border-radius:50%;background:#19a55a;margin-right:5px}
.p3d-shell{position:relative;width:100%;height:min(76vh,820px);min-height:560px;overflow:hidden;border-radius:18px;background:#b8d8ef;box-shadow:0 14px 45px #0002}
.p3d-canvas,.p3d-canvas canvas{width:100%;height:100%;display:block}
.p3d-top-controls{position:absolute;top:14px;left:14px;display:flex;gap:8px;z-index:5;flex-wrap:wrap}
.p3d-top-controls button,.p3d-actions button,.p3d-destinations button{border:0;border-radius:10px;background:#fff;padding:10px 13px;font-weight:700;cursor:pointer;box-shadow:0 3px 10px #0002}
.p3d-card,.p3d-map,.p3d-help{position:absolute;right:18px;top:70px;z-index:8;width:min(360px,calc(100% - 36px));background:#fff;border-radius:16px;padding:20px;box-shadow:0 16px 50px #0004}
.p3d-card-type{font-size:12px;font-weight:800;letter-spacing:.12em}.p3d-card h2,.p3d-map h2,.p3d-help h2{margin:7px 28px 8px 0}
.p3d-close{position:absolute;right:12px;top:9px;border:0;background:transparent;font-size:28px;cursor:pointer}
.p3d-actions{display:flex;flex-direction:column;gap:8px}.p3d-note-inline{margin:0;font-size:13px;color:#5d6570;line-height:1.4}.p3d-actions button{align-self:flex-start;background:#e63b35;color:#fff}
.p3d-destinations{display:grid;gap:8px;max-height:420px;overflow:auto}.p3d-destinations button{text-align:left}
.p3d-hud{position:absolute;left:14px;bottom:14px;z-index:5;display:flex;gap:8px;flex-wrap:wrap}
.p3d-location,.p3d-status{background:#101820dd;color:#fff;border-radius:999px;padding:9px 12px;font-size:13px}
.p3d-mobile-pad{display:none;position:absolute;right:16px;bottom:16px;z-index:7;text-align:center;user-select:none}
.p3d-mobile-pad button{width:52px;height:52px;border:0;border-radius:13px;background:#fffddf;font-size:20px;margin:2px;box-shadow:0 4px 14px #0004;touch-action:none}
.p3d-loading{position:absolute;inset:0;z-index:20;background:#101820ee;color:#fff;display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:center;font-size:20px}
.p3d-spinner{width:44px;height:44px;border:5px solid #ffffff44;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}.p3d-note{font-size:13px;color:#5d6570;line-height:1.5}
@media(max-width:800px){.p3d-page{padding:0}.p3d-header{padding:14px}.p3d-member{display:none}.p3d-shell{border-radius:0;height:calc(100vh - 105px);min-height:540px}.p3d-mobile-pad{display:block}.p3d-hud{bottom:132px}.p3d-top-controls{max-width:calc(100% - 28px)}.p3d-top-controls button{padding:8px 10px}.p3d-note{padding:0 14px}}
