*{box-sizing:border-box}html,body{margin:0;padding:0}body.amoon3d-page{background:#06090d;color:#fff;font-family:Arial,Helvetica,sans-serif;min-height:100vh}
.amoon3d-topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:#0a0e13;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:40}
.amoon3d-brand{color:#e8c76c;text-decoration:none;font-weight:900;letter-spacing:2px}
.amoon3d-back{color:#d1d6df;text-decoration:none;font-size:14px}
.amoon3d-app{max-width:1480px;margin:0 auto;padding:24px 18px 48px}
.amoon3d-hero,.amoon3d-card{background:linear-gradient(180deg,#0d1218,#090c10);border:1px solid rgba(232,199,108,.18);border-radius:24px;padding:24px;margin-bottom:20px;box-shadow:0 18px 50px rgba(0,0,0,.25)}
.amoon3d-hero h1,.amoon3d-card h1{font-size:clamp(34px,5vw,62px);line-height:1.02;margin:8px 0 10px}
.amoon3d-card h2{font-size:28px;margin:0 0 18px}
.amoon3d-hero p,.amoon3d-note,.amoon3d-small,.amoon3d-mini-meta,.amoon3d-help{opacity:.78}
.amoon3d-kicker{font-size:12px;font-weight:900;letter-spacing:4px;color:#e8c76c}
.amoon3d-grid-main{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}
.amoon3d-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.amoon3d-sideinfo ul{padding-left:18px;margin:0 0 12px}
.amoon3d-sideinfo li{margin-bottom:10px}
label{display:block;margin:0 0 8px;font-size:14px;font-weight:700;color:#ececec}
input[type="text"],select,input[type="file"]{width:100%;padding:14px 15px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#11161d;color:#fff;outline:none}
input[type="text"]::placeholder{color:#8994a2}
.amoon3d-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#e0bd69;color:#111!important;text-decoration:none;border:none;border-radius:14px;padding:12px 18px;font-weight:800;cursor:pointer;transition:.2s transform,.2s opacity}
.amoon3d-btn:hover{transform:translateY(-1px);opacity:.96}
.amoon3d-btn:disabled{cursor:wait;opacity:.55;transform:none}
.amoon3d-btn.small{padding:9px 12px;font-size:13px;border-radius:12px}
.amoon3d-btn.ghost{background:#141a22;color:#fff!important;border:1px solid rgba(255,255,255,.12)}
.amoon3d-btn.danger{background:#6d1717;color:#fff!important}
.amoon3d-tablewrap{overflow:auto}
.amoon3d-table{width:100%;border-collapse:collapse}
.amoon3d-table th,.amoon3d-table td{padding:13px 10px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:middle}
.amoon3d-status{display:inline-block;padding:6px 11px;border-radius:999px;background:#1a2430;color:#dbe3f0;font-size:12px;font-weight:700}
.amoon3d-view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:10px}
.amoon3d-mini-meta{display:flex;gap:10px;align-items:center;font-size:14px}
.amoon3d-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:12px 0 14px}
#amoon-3d-viewer{width:100%;min-height:600px;height:min(74vh,950px);border-radius:22px;overflow:hidden;background:#04070a;border:1px solid rgba(255,255,255,.06);position:relative}
#amoon-3d-viewer canvas{display:block;width:100%;height:100%;touch-action:none}
.amoon3d-engine-status{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:28px;text-align:center;background:radial-gradient(circle at 50% 45%,rgba(33,39,49,.92),rgba(4,7,10,.97));color:#fff}
.amoon3d-engine-status[hidden]{display:none}
.amoon3d-engine-status strong{font-size:clamp(20px,3vw,34px);color:#e8c76c}
.amoon3d-engine-status span{max-width:680px;color:#cbd3dd;font-size:14px;line-height:1.55}
.amoon3d-engine-status.error strong{color:#ff9c9c}
.amoon3d-geometry-badge{position:absolute;left:16px;top:16px;z-index:5;padding:9px 12px;border-radius:12px;background:rgba(5,8,12,.78);border:1px solid rgba(232,199,108,.28);backdrop-filter:blur(10px);color:#f2d783;font-size:12px;font-weight:800;pointer-events:none}
.amoon3d-note{margin-top:14px;padding:14px 16px;border:1px solid rgba(232,199,108,.18);background:#0e1318;border-radius:16px}
.amoon3d-msg{margin-top:14px;padding:12px 14px;border-radius:14px;background:#18202a;color:#e2edf8}
.amoon3d-msg.ok{background:#123520;color:#98f2b3}
.amoon3d-msg.err{background:#481919;color:#ffb0b0}
.amoon3d-login{text-align:center;padding:50px 24px}
@media (max-width: 980px){
  .amoon3d-grid-main,.amoon3d-grid2{grid-template-columns:1fr}
  .amoon3d-view-head{flex-direction:column}
  #amoon-3d-viewer{min-height:520px;height:60vh}
}
/* v0.5 detailed reconstruction */
