:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#090a0b;color:#f5f2eb}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 45% 25%,#242328 0,#101115 45%,#090a0b 85%)}
main{max-width:1320px;margin:auto;padding:24px}header{display:flex;align-items:center;gap:16px;margin-bottom:24px;color:#bdb9b1;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
header a{color:#f1c978;text-decoration:none;font-weight:900;font-size:24px;letter-spacing:-.06em}
.workspace{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,.8fr);min-height:650px;border:1px solid #373530;border-radius:16px;overflow:hidden;background:#111216}
.stage{position:relative;align-self:start;height:620px;min-height:620px;background:radial-gradient(circle,#30313a,#17191f 57%,#0b0c10);display:grid;grid-template-columns:minmax(0,1fr);place-items:center;overflow:hidden}
model-viewer{width:100%;min-width:0;max-width:100%;height:620px;--poster-color:transparent;outline:none;position:relative;z-index:1;opacity:0;pointer-events:none}.stage.ready model-viewer{opacity:1;pointer-events:auto}.empty{padding:30px;color:#b5b3ae;text-align:center}
.poster{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:min(86%,660px);height:auto;max-height:74%;object-fit:contain;pointer-events:none}.stage.ready .poster{opacity:0;visibility:hidden}
.stage.icon-primary .poster{opacity:1;visibility:visible}.stage.icon-primary model-viewer{opacity:0;pointer-events:none}.stage.icon-primary .finish-reference{display:none}
.finish-reference{display:none;position:absolute;z-index:2;top:16px;right:16px;width:min(32%,240px);padding:7px;border:1px solid #514836;border-radius:10px;background:#111318e6;color:#eee8dc;text-decoration:none;box-shadow:0 12px 30px #0007}.stage.ready .finish-reference{display:block}.finish-reference img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.finish-reference span{display:block;padding:3px 5px 2px;font-size:11px;line-height:1.3;text-align:center;color:#d7bd88}
.stage.icon-primary.ready .finish-reference{display:none}.preview-mode{position:absolute;z-index:4;left:18px;bottom:18px;padding:10px 14px;background:#15161bd9;color:#f1d294;border:1px solid #8e7750;backdrop-filter:blur(8px);font-size:12px}.preview-mode:hover{background:#26211b}
.view-status{position:absolute;z-index:3;left:18px;right:18px;bottom:22px;margin:auto;max-width:480px;display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 15px;border-radius:10px;background:rgba(10,11,14,.82);color:#eee8dc;text-align:center;font-size:13px;line-height:1.4;backdrop-filter:blur(8px)}.view-status[hidden],.view-retry[hidden]{display:none}
.spinner{flex:none;width:16px;height:16px;border:2px solid #d6a859;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.failed .spinner{display:none}.failed .view-status{bottom:78px}
.stage.failed model-viewer{opacity:0}
.view-retry{position:absolute;z-index:3;bottom:22px;left:50%;transform:translateX(-50%);white-space:nowrap}.ready .view-status,.ready .view-retry{display:none}@keyframes spin{to{transform:rotate(360deg)}}
aside{padding:38px 32px;border-left:1px solid #373530}.eyebrow{color:#e6bb69;text-transform:uppercase;font-size:12px;letter-spacing:.14em;font-weight:700}
h1{margin:14px 0 20px;font-size:clamp(28px,4vw,48px);letter-spacing:-.05em;line-height:1.1}.notice{line-height:1.55;color:#c4c0b8;font-size:14px}
.state{display:grid;gap:0;margin:30px 0;border-top:1px solid #393936}.state div{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #393936;font-size:13px}
.state dt{color:#959590}.state dd{margin:0;font-weight:700}button{padding:12px 18px;background:#d6a859;color:#15110b;font-weight:800;border:0;border-radius:8px;cursor:pointer}
.wear-control{display:grid;grid-template-columns:1fr auto;gap:9px 14px;margin:20px 0 24px;align-items:center}.wear-control output{color:#e6bb69;font:700 13px ui-monospace,monospace}.wear-control input{grid-column:1/-1;padding:0;height:24px;accent-color:#d6a859;cursor:pointer}.wear-control input:disabled{opacity:.45;cursor:wait}
.attachments{margin:18px 0;color:#c4c0b8;font-size:13px;line-height:1.5}.attachments summary{cursor:pointer;color:#e6bb69;font-weight:700}.attachments ul{list-style:none;padding:0;margin:12px 0 0}.attachments li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid #393936}.attachments li div{display:grid;gap:3px;min-width:0}.attachments li strong{color:#f5f2eb}.attachments li span{color:#999894;overflow-wrap:anywhere}.attachment-icon{flex:none;width:52px;height:52px;object-fit:contain;border-radius:6px;background:#25262b}
button:disabled{opacity:.5;cursor:wait}form{display:grid;gap:10px;margin-top:30px}label{font-size:13px;color:#dedbd3}input{min-width:0;width:100%;padding:12px;background:#191b20;color:#fff;border:1px solid #494844;border-radius:7px;font-size:16px}
.hint{margin-top:30px;color:#868785;font-size:12px;line-height:1.5}.embed main{padding:0}.embed header,.embed aside form,.embed .hint{display:none}.embed .workspace{border:0;border-radius:0;min-height:100vh}.embed .stage,.embed model-viewer{height:100vh;min-height:400px}
.guide{max-width:890px;padding:48px 0 80px}.guide h2{margin:28px 0 12px;font-size:25px;letter-spacing:-.035em}.guide p{margin:0;color:#bcbab5;line-height:1.7;font-size:15px}.guide a{color:#e5bd72}.guide code{color:#e5bd72;overflow-wrap:anywhere}
@media(max-width:850px){.workspace{display:block}.stage,model-viewer{height:55vh;min-height:340px}aside{border-left:0;border-top:1px solid #373530;padding:26px}.embed aside{display:none}}
@media(max-width:600px){.finish-reference{top:10px;right:10px;width:min(35%,150px);padding:4px}.finish-reference span{font-size:10px}.preview-mode{left:10px;bottom:10px;max-width:70%;font-size:11px}}
