:root{--bg-color: #fdfcfb;--text-primary: #2c3e50;--text-secondary: #5a6c7d;--accent: #c1a47b;--card-bg: #ffffff}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-primary);display:flex;justify-content:center;min-height:100vh}#app{width:100%;max-width:500px;background:var(--card-bg);min-height:100vh;box-shadow:0 0 40px #00000008}.state-container{padding-bottom:40px;transition:opacity .3s ease-in-out}.hidden{display:none!important;opacity:0}.pending-layout{text-align:center;padding-top:10vh}.error-layout{text-align:center;padding:20vh 24px 0}.upload-layout{padding:36px 28px 48px}.brand-title{font-weight:300;letter-spacing:2px}.status-tag{margin:20px auto;width:fit-content;border:1px solid var(--accent);padding:5px 15px;border-radius:20px;font-size:12px;color:var(--accent);letter-spacing:1px}.model-wrapper{width:100%;height:min(58vh,390px);min-height:300px}model-viewer{display:block;width:100%;height:100%;outline:none;--poster-color: transparent;background-color:transparent}.image-wrapper{padding:0 24px;margin-top:20px}.image-wrapper img{width:100%;height:380px;object-fit:cover;border-radius:16px;box-shadow:0 12px 32px #00000014}.text-section{padding:10px 32px;text-align:center}.upload-form{display:grid;gap:18px;margin-top:28px}.upload-form label{display:grid;gap:8px;color:var(--text-secondary);font-size:13px;letter-spacing:.5px}.upload-form input,.upload-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(44,62,80,.14);border-radius:8px;padding:12px 13px;font:inherit;color:var(--text-primary);background:#fff}.upload-form textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.upload-form button{border:0;border-radius:8px;padding:13px 16px;color:#fff;background:var(--text-primary);font:inherit;cursor:pointer}.upload-form button:disabled{cursor:wait;opacity:.65}.upload-message{min-height:22px;margin:0;color:var(--text-secondary);font-size:14px}h1{font-family:Georgia,Times New Roman,serif;font-size:34px;color:var(--text-primary);margin-bottom:8px;font-weight:400;letter-spacing:1px}h3{font-size:14px;color:var(--accent);font-weight:500;letter-spacing:3px;margin-top:0}.story-content{text-align:left;line-height:1.8;color:var(--text-secondary);font-size:16px;margin-top:40px;padding:30px 32px 0;border-top:1px solid rgba(193,164,123,.2);position:relative;white-space:pre-line}.story-content:before{content:'"';font-family:Georgia,serif;font-size:60px;color:#c1a47b26;position:absolute;top:-10px;left:15px}.proof-section{margin-top:40px;padding:30px;text-align:center;background-color:#faf9f7}.proof-section h4{color:var(--accent);letter-spacing:2px;text-transform:uppercase;font-size:12px;margin-bottom:15px}.proof-section img{width:100px;height:100px;border-radius:50%;border:2px solid var(--accent);object-fit:cover}.spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:100px auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 420px){.image-wrapper{padding:0 18px}.image-wrapper img{height:320px;border-radius:12px}.text-section{padding-inline:24px}h1{font-size:30px}.story-content{margin-top:32px;padding-inline:24px}.form-grid{grid-template-columns:1fr}}
