/* OpenDoll reference: charcoal shell, crimson editorial hero, compact studio. */
:root{--bg:#0f0f0f;--panel:#141414;--line:#2a2a2a;--muted:#b8b1c3;--red:#e33232}
body{background:#0f0f0f}.sidebar{width:238px;padding:22px 18px;background:#121212}.main{margin-left:238px}.sidebar .studio-caption{display:none}.sidebar .brand{margin-bottom:32px}.nav button{font-size:13px;min-height:43px;margin-bottom:2px;font-weight:550}.nav button.active{background:linear-gradient(110deg,#232323,#343434);border:1px solid #e33232;color:#fff}.sidebar-bottom{margin-top:auto}.balance-mini .btn{background:linear-gradient(110deg,#e33232,#e33232);color:white;border-color:#e33232}.topbar{height:62px;padding:0 26px;background:#121212eF;gap:20px}.content{max-width:1900px;padding:18px 36px 24px}.global-search{display:flex;align-items:center;gap:12px;width:min(575px,55%);margin:auto;background:#141414;border:1px solid #2c2c2c;border-radius:9px;color:#b3b3b3;padding:10px 13px;text-align:left;font-size:12px}.global-search kbd{margin-left:auto;background:#272727;padding:3px 6px;border-radius:4px;white-space:nowrap}.global-search .icon{width:17px;height:17px}.topbar-right{margin-left:0}.wallet-pill{border-radius:10px;background:#121212;border-color:#363636}.reference-dashboard{display:grid;grid-template-columns:minmax(0,2fr) minmax(305px,1fr);gap:20px}.dash-main,.dash-aside{min-width:0}.dash-aside{display:flex;flex-direction:column;gap:18px}.opendoll-banner{position:relative;min-height:350px;border-radius:18px;border:1px solid #414141;overflow:hidden;background:#1c1c1c url('/static/opendoll-banner.webp') center/cover no-repeat}.banner-copy{position:relative;padding:38px 5.6%;background:linear-gradient(90deg,#13131385,transparent 78%)}.banner-copy>span{font-size:10px;letter-spacing:2px;font-weight:650;color:#d8d8d8}.banner-copy h1{font-size:clamp(36px,3.5vw,60px);letter-spacing:-2.2px;line-height:1.04;margin:18px 0 15px;font-weight:800;color:#fff}.banner-copy em{font-style:normal;color:#e33232}.banner-copy p{font-size:16px;line-height:1.4;color:#fff;max-width:430px;margin:0 0 24px}.banner-copy .btn{min-width:190px;min-height:46px;background:linear-gradient(100deg,#e33232,#e33232);gap:18px}.dash-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.dash-heading h2{font-size:16px;font-weight:750;letter-spacing:-.4px;margin:0;display:flex;align-items:center;gap:9px}.dash-heading .text-button{font-size:12px;color:#e33232;white-space:nowrap}.dash-panel{border:1px solid #2a2a2a;background:linear-gradient(120deg,#141414,#111111);border-radius:14px;padding:18px 20px}.dash-workbench{margin:20px 5px}.dash-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dash-shortcuts>button{position:relative;text-align:left;background:linear-gradient(125deg,#1f1f1f,#141416 75%);border:1px solid #2e2e2e;border-radius:12px;padding:14px 17px;color:#f9f5fb;transition:border-color .18s,background .18s}.dash-shortcuts>button:hover{border-color:#e33232;background:#1c1c1c}.shortcut-icon{display:grid;place-items:center;width:44px;height:44px;background:linear-gradient(120deg,#282828,#343434);border:1px solid #e33232;border-radius:10px;margin-bottom:10px;color:#d0d0d0}.shortcut-arrow{position:absolute;right:12px;top:15px;border-radius:50%;padding:7px;background:#ffffff06}.shortcut-arrow .icon{width:17px;height:17px}.dash-shortcuts strong{display:block;font-size:15px;margin-bottom:5px}.dash-shortcuts small{display:block;color:#bcbcbc;font-size:12px;line-height:1.3}.dash-model{width:100%;display:flex;align-items:center;gap:16px;background:none;border:0;border-top:1px solid #2d2d2d;padding:7px 0;text-align:left;color:#f5f2f9;min-height:76px}.dash-model>span:nth-child(2){flex:1;min-width:0}.dash-model strong{display:block;font-size:14px;overflow-wrap:anywhere}.dash-model small{display:block;color:var(--muted);font-size:12px;margin-top:7px}.dash-model>.icon{width:16px;color:#b8b8b8}.dash-model .portrait-small{width:65px;height:65px;border-radius:7px;flex-shrink:0;background:#202023}.dash-model .portrait-small img{object-fit:cover}.dash-model:hover strong{color:#e33232}.dash-guide ol{list-style:none;counter-reset:steps;margin:8px 0 0;padding:0}.dash-guide li{counter-increment:steps;display:flex;align-items:center;gap:15px;position:relative;padding:9px 0}.dash-guide li:before{content:counter(steps);display:grid;place-items:center;flex-shrink:0;width:31px;height:31px;background:#2c2c2c;border-radius:50%;font-size:14px;font-weight:750}.guide-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border:1px solid #2e2e2e;border-radius:7px;background:#1c1c1c}.dash-guide strong,.dash-support strong{font-size:13px}.dash-guide p,.dash-support p{font-size:12px;color:var(--muted);line-height:1.4;margin:4px 0 0}.dash-support{display:flex;align-items:center;gap:14px}.dash-support>.icon{color:#e33232;flex-shrink:0;width:30px;height:30px}.dash-support .btn{margin-left:auto;font-size:11px;white-space:nowrap;padding:9px}.dash-creations{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.dash-creation{border:0;background:none;padding:0;text-align:left;min-width:0;color:white}.creation-thumb{display:block;position:relative;aspect-ratio:1.45;border-radius:9px;overflow:hidden;background:#202020}.creation-thumb img,.creation-thumb video{width:100%;height:100%;object-fit:cover}.thumb-play{position:absolute;bottom:7px;left:7px;border:1px solid white;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;background:#0005}.thumb-play .icon{width:15px}.dash-creation strong{display:block;font-size:11px;margin-top:8px;line-height:1.3}.dash-creation small{font-size:11px;color:var(--muted);display:block;margin-top:5px}.dash-empty{grid-column:1/-1;padding:18px 0;color:var(--muted);font-size:13px}.dash-empty>strong{margin-left:10px;color:white}.dash-empty p{margin:8px 0}.dashboard-main .footer{display:none}.search-result{display:flex;align-items:center;gap:14px;width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:16px 4px;color:white;text-align:left}.search-result small{color:var(--muted);margin-left:auto}.search-result .icon{width:16px}#global-results{max-height:55vh;overflow:auto}#global-query{width:100%}
@media(min-width:1600px){.opendoll-banner{min-height:350px}.dash-shortcuts>button{min-height:138px}}
@media(max-width:1200px){.content{padding:20px}.reference-dashboard{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr)}.dash-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.banner-copy h1{font-size:40px}.dash-creations{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-support{flex-wrap:wrap}.banner-copy p{max-width:270px}.opendoll-banner{background-position:60% center}}
@media(max-width:960px){.reference-dashboard{grid-template-columns:1fr}.dash-aside{display:grid;grid-template-columns:1fr 1fr}.dash-support{grid-column:1/-1}.banner-copy h1{font-size:48px}.dash-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}.global-search kbd{display:none}}
@media(max-width:800px){.main{margin-left:0}.sidebar{width:238px}.topbar{padding:0 16px;gap:10px}.global-search{margin:0;width:auto;flex:1}.global-search span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-right{gap:8px}.wallet-pill{font-size:11px}.content{padding:18px}.dash-shortcuts{gap:10px}.dash-shortcuts>button{padding:12px}.dash-shortcuts strong{font-size:13px}}
@media(max-width:540px){.dash-aside{display:flex}.dash-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.opendoll-banner{min-height:320px;background-position:62% center}.banner-copy{padding:28px 20px;min-height:320px;background:linear-gradient(90deg,#121212e8,#12121260)}.banner-copy h1{font-size:39px}.banner-copy p{font-size:14px;max-width:240px}.banner-copy p br{display:none}.global-search span{display:none}.global-search{flex:0;padding:10px}.topbar-right{margin-left:auto}.dash-heading h2{font-size:15px}.dash-heading .text-button{font-size:10px}.dash-panel{padding:16px}.dash-guide li{gap:12px}.dash-creations{gap:10px}.dash-workbench{margin:18px 0}}
@media(max-width:800px){.sidebar{transform:translateX(-100%);position:fixed;z-index:50;top:0;bottom:0;transition:transform .2s ease}.sidebar.open{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
