body{background:#f5f5f0;color:#17294d;margin:0;font-family:system-ui,sans-serif}main{max-width:980px;margin:auto;padding:36px 24px}h1{font:clamp(38px,7vw,66px)/1.05 Georgia,serif;letter-spacing:-2px;margin:12px 0 20px}h2{font:28px Georgia,serif}p{line-height:1.6}.intro{max-width:580px;color:#5e6b7e}section{margin:32px 0}select{display:block;padding:14px;border:1px solid #ccd1d8;border-radius:14px;background:white;width:100%;margin:12px 0}.source-card{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;background:white;border-radius:24px;padding:24px}.source-card img{width:100%;max-height:280px;object-fit:contain;border-radius:18px}button,.download{display:inline-block;background:#dfff7a;color:#17294d;border:0;border-radius:30px;padding:15px 22px;font-weight:700;font-size:15px;cursor:pointer;text-decoration:none}button:disabled{opacity:.5;cursor:wait}.small{font-size:12px;color:#667085}.model-card{background:white;border-radius:24px;padding:22px;margin:18px 0}.model-card model-viewer{width:100%;height:400px;background:#e9edfa;border-radius:18px;touch-action:pan-y}.model-card .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.delete{background:#f7e1df}.progress{height:8px;background:#e9edfa;border-radius:10px;overflow:hidden}.progress span{height:100%;display:block;background:#637cf2}dialog{border:0;border-radius:24px;max-width:400px;padding:28px}dialog::backdrop{background:#17294d88}[hidden]{display:none!important}.embedded header{display:none}.embedded main{padding-top:12px}.viewer-only main> :not(#viewer-panel){display:none}#message:not(:empty){padding:15px;background:#e9edfa;border-radius:14px}@media(max-width:600px){.source-card{grid-template-columns:1fr;padding:18px}.source-card img{max-height:180px}.model-card model-viewer{height:330px}main{padding:24px 16px}}

.upload-box{padding:1.5rem;border:2px dashed #a7c7b6;border-radius:24px;margin-bottom:2rem;background:#f4faf5}.upload-box input[type=file]{display:block;margin:1rem 0;max-width:100%}.upload-box .rights{display:flex;gap:.6rem;align-items:center;font-size:.95rem;margin:1rem 0}.upload-box .rights input{width:auto}.source-card>div>img{width:100%;object-fit:contain;border-radius:20px}#delete-upload{margin-top:.75rem;background:transparent;color:#734843;border:1px solid #c8b7ad}

.source-card.no-source{grid-template-columns:1fr}.source-card.no-source>div:first-child{display:none}#upload-preview{display:block;width:220px;max-width:100%;max-height:260px;object-fit:contain;margin:1rem 0;border-radius:16px;background:white}
