:root{--bg: #0f0f0f;--surface: #1a1a1a;--surface2: #252525;--border: #333;--text: #e0e0e0;--text-muted: #888;--primary: #6c8cff;--primary-hover: #8aa4ff;--danger: #ff5555;--success: #50fa7b;--radius: 8px;--font-serif: "Songti SC", "STSong", "SimSun", serif;--font-decorative: "STKaiti", "KaiTi", "Songti SC", serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}.loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.2rem;color:var(--text-muted)}.header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:var(--surface);border-bottom:1px solid var(--border)}.header h1{font-size:1.2rem;font-weight:600}.header-back{border:0;background:transparent;color:var(--text);font:inherit;font-size:1.05rem;font-weight:600;cursor:pointer;padding:0;transition:color .2s ease}.header-back:hover{color:var(--primary-hover)}.header-actions{display:flex;gap:.75rem;align-items:center}.container{max-width:1200px;margin:0 auto;padding:2rem}.btn{padding:.5rem 1rem;border:none;border-radius:var(--radius);font-size:.875rem;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.4rem}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{opacity:.85}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--text-muted)}.btn-sm{padding:.3rem .6rem;font-size:.8rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.3rem;font-size:.875rem;color:var(--text-muted)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.5rem .75rem;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .2s}.card:hover{border-color:var(--primary)}.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.model-card{cursor:pointer}.model-card .thumb{height:200px;background:var(--surface2);display:flex;align-items:center;justify-content:center;overflow:hidden}.model-card .thumb img{width:100%;height:100%;object-fit:contain;background:radial-gradient(circle at center,rgba(108,140,255,.12),transparent 56%),var(--surface2)}.model-card .thumb .placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,rgba(108,140,255,.18),transparent 46%),linear-gradient(135deg,#ffffff0a,#ffffff03),var(--surface2);color:var(--text-muted);font-size:2.5rem;font-weight:700;letter-spacing:.08em}.model-card .thumb .placeholder span{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#00000029;box-shadow:inset 0 1px #ffffff0d}.model-card .info{padding:1rem}.model-card .info h3{font-size:1rem;font-weight:500;margin-bottom:.25rem}.model-card .info .meta{font-size:.75rem;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;width:90%;max-width:500px}.modal h2{font-size:1.1rem;margin-bottom:1rem}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.detail-layout{display:grid;grid-template-columns:1fr 360px;gap:2rem;min-height:70vh}.viewer-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;min-height:500px}.viewer-container model-viewer{width:100%;height:100%;min-height:500px}.viewer-fullscreen-btn{position:absolute;top:.75rem;right:.75rem;z-index:2;background:#1a1a1ab8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.detail-sidebar{display:flex;flex-direction:column;gap:1rem}.share-item{background:var(--surface2);border-radius:var(--radius);padding:.75rem;display:flex;flex-direction:column;gap:.5rem;font-size:.85rem}.share-item .share-url{font-family:monospace;font-size:.75rem;color:var(--primary);word-break:break-all}.share-item .share-meta{color:var(--text-muted);font-size:.75rem}.share-actions{display:flex;gap:.4rem;flex-wrap:wrap}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;width:100%;max-width:380px}.login-box h1{text-align:center;margin-bottom:1.5rem;font-size:1.5rem}.shared-page{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);overflow:hidden}.shared-page-loading{background:radial-gradient(circle at top,rgba(220,183,121,.12),transparent 42%),radial-gradient(circle at bottom,rgba(108,140,255,.08),transparent 30%),var(--bg)}.shared-stage{position:relative;width:100%;height:100%}.shared-viewer{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top,rgba(108,140,255,.12),transparent 42%),var(--bg);overflow:hidden}.shared-viewer model-viewer{width:100%;height:100%}.shared-progress{position:absolute;left:50%;width:min(32rem,calc(100% - 2.5rem));border-radius:999px;padding:.35rem;background:linear-gradient(180deg,#402b16e0,#110b06f0);border:1px solid rgba(235,202,151,.42);box-shadow:inset 0 1px #ffffff24,inset 0 -1px #00000047,0 20px 36px #00000057;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity .22s ease,transform .22s ease;pointer-events:none;z-index:3}.shared-progress--loading{top:50%;transform:translate(-50%,-50%)}.shared-progress--floating{top:1.5rem;transform:translate(-50%)}.shared-progress.is-hidden{opacity:0;transform:translate(-50%) translateY(-.25rem)}.shared-progress--loading.is-hidden{transform:translate(-50%,-50%) translateY(-.25rem)}.shared-progress-track{position:relative;height:14px;border-radius:999px;overflow:hidden;background:linear-gradient(180deg,#110c08f5,#352313eb),repeating-linear-gradient(90deg,rgba(255,223,173,.05) 0 2px,transparent 2px 7px);box-shadow:inset 0 0 0 1px #f1d6ac2e,inset 0 2px 6px #00000094}.shared-progress-track:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:inherit;background:linear-gradient(90deg,rgba(255,255,255,.1),transparent 32%),repeating-linear-gradient(90deg,rgba(255,224,180,.11) 0 2px,transparent 2px 8px);opacity:.38;pointer-events:none}.shared-progress-fill{position:relative;width:100%;height:100%;transform-origin:left center;transform:scaleX(0);border-radius:inherit;background:linear-gradient(90deg,#5b3418,#915f2f,#d8aa62 68%,#f1ddb0);box-shadow:0 0 18px #f1d38f57,inset 0 1px #ffffff47;transition:transform .18s ease}.shared-progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 0 36%,rgba(255,255,255,.36) 50%,transparent 64%);animation:shared-progress-sheen 2.8s linear infinite}.shared-overlay{position:absolute;inset:auto 0 0 0;padding:1.25rem 1.5rem 1.4rem;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.shared-info{position:relative;display:inline-block;max-width:min(760px,100%);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.shared-info h2{position:relative;z-index:0;isolation:isolate;display:inline-block;font-family:var(--font-decorative);font-size:clamp(2.2rem,3vw,3rem);font-weight:700;line-height:1.08;margin-bottom:.45rem;letter-spacing:.08em;color:transparent;background:linear-gradient(180deg,#fff7e8,#f1d8a6 28%,#d3aa66 62%,#8c5e2f);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:1px rgba(62,38,13,.5);text-shadow:0 1px 0 rgba(255,255,255,.48),0 2px 0 rgba(255,235,195,.3),0 3px 0 rgba(149,104,48,.26),0 10px 18px rgba(0,0,0,.55),0 0 16px rgba(255,214,151,.12)}.shared-info h2:after{content:attr(data-title);position:absolute;left:0;top:0;transform:translate(4px,5px);z-index:-1;color:#3f2611b8;text-shadow:0 2px 6px rgba(0,0,0,.55);-webkit-text-stroke:0;background:none;pointer-events:none;white-space:pre-wrap}.shared-info p{font-family:var(--font-serif);color:#f8f2e7d6;font-size:1rem;max-width:72ch;line-height:1.65;letter-spacing:.03em;font-weight:400;text-shadow:0 1px 1px rgba(0,0,0,.55)}.error-msg{color:var(--danger);font-size:.85rem;margin-top:.5rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--border)}th{color:var(--text-muted);font-weight:500}@media(max-width:768px){.detail-layout{grid-template-columns:1fr}.header{padding:.75rem 1rem}.container{padding:1rem}.shared-progress{width:min(24rem,calc(100% - 1.5rem))}.shared-progress--floating{top:1rem}}@keyframes shared-progress-sheen{0%{transform:translate(-120%)}to{transform:translate(120%)}}
