*{box-sizing:border-box}body{margin:0;background:#090b0d;color:#eee;font:16px 'Segoe UI',Arial,sans-serif}.shell{max-width:1500px;margin:auto;padding:14px 12px;display:grid;grid-template-columns:125px minmax(850px,1fr) 125px;gap:28px}.sidead,.topad,.bottomad{border:1px solid #343a40;border-radius:7px;color:#9aa1a7;background:#101316;display:flex;align-items:center;justify-content:center;text-align:center}.sidead{height:calc(100vh - 28px);min-height:650px;position:sticky;top:14px}.topad{height:75px}.bottomad{height:74px;margin-top:15px}.site{min-width:0}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2a2f34;padding:0 10px}.brand{display:flex;gap:18px;align-items:center}.mark{width:66px;height:66px;border:1px solid #999;border-radius:50%;display:grid;place-items:center;font-size:36px}.brand h1{font:27px Georgia,serif;margin:0}.brand p{margin:4px 0;color:#b7bcc1}nav{display:flex;gap:34px}nav a{padding:18px 0}.active{color:#3b9cff;border-bottom:2px solid #3b9cff}.workspace{display:grid;grid-template-columns:290px minmax(390px,1fr) 290px;gap:16px;padding-top:16px}.panel,.stones{border:1px solid #30363c;border-radius:7px;background:#111417;overflow:hidden;align-self:start}.panel section{border-bottom:1px solid #2b3035;padding:8px 10px}.panel h3{font-size:15px;margin:4px 0 8px}.panel h3 span{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid #2f8cff;border-radius:50%;color:#6aafff;font-size:12px}.panel label{display:flex;justify-content:space-between;align-items:center;min-height:42px;padding:5px 8px}.panel input,.stone input{accent-color:#2f8cff}.hint{font-size:12px;color:#aab1b7;border:1px solid #262d33;border-radius:6px;background:#101419;padding:10px}.upload{min-height:620px;border:1px dashed #3288e7;border-radius:10px;background:#111519;overflow:hidden}.empty{height:620px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.cloud{width:85px;height:65px;border:5px solid #3b91f3;border-radius:35px;display:grid;place-items:center;color:#3b91f3;font-size:46px}.empty h2{font:30px Georgia,serif;margin:35px 0 12px}.empty p{color:#c2c6ca;font-size:17px}.empty small{margin-top:22px;color:#969da4}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border:0;border-radius:6px;background:linear-gradient(#328ef4,#2267c7);color:#fff;font-size:17px;cursor:pointer}.preview{height:620px;display:flex;flex-direction:column}.toolbar{height:46px;padding:0 15px;background:#0d1115;display:flex;align-items:center;justify-content:space-between}.toolbar button{background:none;border:1px solid #444;color:#ddd;border-radius:5px;padding:6px 10px}.preview img{width:100%;height:430px;object-fit:contain;background:#080a0c}.summary{display:flex;justify-content:space-between;align-items:center;padding:14px;background:#10151a}.summary small,.summary em{display:block;color:#9fa7ad}.summary strong{font-size:28px}.summary em{font-style:normal;color:#74b6ff}#status{font-size:12px;color:#8f979d;padding:0 14px}.hidden{display:none!important}.stones{padding:10px}.stones>h3{text-align:center;font:19px Georgia,serif}.stone{display:grid;grid-template-columns:90px 1fr 25px;gap:10px;align-items:center;min-height:135px;border:1px solid #3a4147;border-radius:7px;margin:10px 0;padding:10px}.stone.active{border-color:#368be8}.stone b,.stone small{display:block}.stone small{color:#aeb5ba;margin-top:7px}.sample{width:76px;height:105px;border-radius:38px 38px 3px 3px;border:2px solid #777}.dark{background:linear-gradient(135deg,#3a3a3a,#0c0c0c)}.light{background:linear-gradient(135deg,#eee,#999)}.color{background:linear-gradient(135deg,#7b513f,#251916)}footer{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px 20px;color:#c2c7cb;font-size:13px;border-top:1px solid #24292e}@media(max-width:1180px){.shell{grid-template-columns:1fr}.sidead{display:none}.workspace{grid-template-columns:240px 1fr 240px}}@media(max-width:880px){nav{display:none}.workspace{grid-template-columns:1fr}.upload{order:-1}.panel,.stones{width:100%}footer{grid-template-columns:1fr 1fr}}