/* Shared studio shell: Objects and Counters. */
.topbar{flex-shrink:0}.topbar .brand{padding:0;background:none;line-height:1}.topbar .brand .accent{inset:0;pointer-events:none}.topbar nav .selected{color:#242522} .topbar nav a{min-height:36px;display:flex;align-items:center}
.header-expand{display:none}
.counter-page{display:block;height:100dvh;min-height:0;overflow:hidden}
.counter-page main{display:grid;flex:none;overflow:hidden}
.counter-page #workspace{height:auto;min-height:0;background:radial-gradient(ellipse at 48% 40%,#f9f9f6 0,#e9eae4 100%)}
.counter-page aside{width:auto;min-height:0;overflow:hidden;border-top:0}
.counter-page .panel{padding:0 20px 24px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.counter-page .canvas-heading{left:27px;top:26px}.counter-page .canvas-heading .eyebrow{display:none}.counter-page .canvas-heading h1{font-size:20px;letter-spacing:-.35px;margin:0 0 7px}.counter-page #design-caption{font-size:12px;display:block}
.counter-page .view-modes{top:23px;right:24px;left:auto;padding:0;gap:12px;border:0;border-radius:0;background:none;backdrop-filter:none;flex-direction:row}
.counter-page .view-modes button{padding:4px 0;min-height:32px;border-radius:0;border-bottom:1px solid transparent;background:none;color:#666b61;font-size:12px}.counter-page .view-modes button.active{background:none;color:#242522;border-bottom-color:#242522}
.counter-page .canvas-tools{left:22px;right:auto;top:auto;bottom:65px;flex-direction:column;gap:4px}.counter-page .canvas-tools button{width:36px;height:36px;font-size:22px;background:#fafaf680;border:0;border-radius:0}.counter-page .canvas-tools>span{display:none}
.counter-page .view-nav{left:24px;bottom:18px;gap:14px}.counter-page .view-nav button{min-height:32px;font-size:12px}.counter-page .render-state{display:flex;right:26px;bottom:28px;font-size:12px}.counter-page .render-state i{display:none}
.counter-page .command-wrap{position:static;transform:none;width:auto;margin:24px 0}.counter-page #command-form{height:auto;min-height:48px;border-radius:0;box-shadow:none;padding:6px 8px}.counter-page .command-symbol{display:none}.counter-page #command-form button{border-radius:0}.counter-page .command-meta{display:block;line-height:1.5}.counter-page .command-meta span{display:block;max-width:none;text-align:left}
.counter-page .tabs{display:grid;gap:12px;padding:0 20px;grid-template-columns:repeat(3,1fr)}.counter-page .tabs button{padding:8px 0;min-height:45px;border-bottom-width:1px;font-size:13px}
.counter-page .control{margin:20px 0}.counter-page .value-box{border:0;border-bottom:1px solid var(--line);border-radius:0;background:none}.counter-page .value-box input{font-size:14px}.counter-page input[type=range]{appearance:auto;height:24px;background:none;accent-color:#616955}.counter-page input[type=range]::-webkit-slider-thumb{appearance:auto;width:auto;height:auto;border:0;box-shadow:none}.counter-page .range-limits{display:none}
.counter-page .preset,.counter-page .machine-card,.counter-page .custom-color input{border-radius:0}.counter-page .wide-button{border:1px solid var(--line);background:none;text-align:center;min-height:44px;font-size:14px;padding:10px;margin-top:15px}.counter-page .inspector-foot{margin-top:0;min-height:48px;padding:2px 20px;align-items:center}.counter-page #triangle-count{display:none}.counter-page footer{display:none}
.route-loading{position:fixed;inset:0;z-index:1000;background:#f3f3f0;display:grid;place-content:center;gap:18px;text-align:center;opacity:1;transition:opacity .2s;pointer-events:auto}.route-loading.done{opacity:0;pointer-events:none}.route-loading p{font-size:13px;color:#666b61;margin:0}.loading-line{height:2px;width:112px;background:#dedfd8;overflow:hidden;margin:auto}.loading-line:after{content:"";display:block;height:100%;width:45%;background:#b76440;animation:studio-load 1s ease-in-out infinite}@keyframes studio-load{from{transform:translateX(-110%)}to{transform:translateX(330%)}}
@media(prefers-reduced-motion:reduce){.route-loading{transition:none}.loading-line:after{animation:none;width:100%}}
@media(max-width:700px){.counter-page .atelier-grid{grid-template-columns:1fr;grid-template-rows:minmax(220px,57%) minmax(0,1fr);height:calc(100dvh - 56px)}.counter-page .inspector-head{display:none}.counter-page aside{border-left:0;border-top:1px solid var(--line)}.counter-page .canvas-heading{left:18px;top:17px}.counter-page .canvas-heading h1{font-size:17px}.counter-page #design-caption{display:none}.counter-page .view-modes{right:16px;top:12px;gap:10px}.counter-page .view-modes button{font-size:12px}.counter-page .canvas-tools{left:16px;bottom:52px}.counter-page .view-nav{left:18px;bottom:11px}.counter-page .render-state{right:16px;bottom:21px}.counter-page .command-meta{display:block}.counter-page .value-box input,.counter-page .custom-color input[type=text]{font-size:16px}.counter-page .inspector-foot{min-height:43px;padding:1px 18px}.counter-page .dimension-label{display:none}}
@media(max-height:500px) and (orientation:landscape){.counter-page .atelier-grid{height:calc(100dvh - 48px);grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:1fr}}

@media(max-width:700px){.topbar nav .selected{display:flex;align-items:center}.counter-page .tabs{padding:0 18px;gap:15px}.counter-page .tabs button{min-height:44px}.counter-page .panel{padding:0 18px 20px}.counter-page .canvas-tools{gap:1px;bottom:51px}.counter-page .canvas-tools button{width:34px;height:34px;font-size:20px;background:transparent}.counter-page .view-modes{right:14px;top:14px}.counter-page .view-modes button{min-height:28px}}

/* Both studios use the same fixed, gently retracting mobile navigation. */
@media(max-width:700px){
 .counter-page{--mobile-header-height:calc(56px + env(safe-area-inset-top,0px))}
 .counter-page .topbar{position:fixed!important;inset:0 0 auto 0;z-index:10;height:var(--mobile-header-height);padding-top:env(safe-area-inset-top,0px);padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px));background:color-mix(in srgb,#fafaf8 91%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform 1.18s cubic-bezier(.22,.61,.36,1);will-change:transform}
 .counter-page .atelier-grid,.counter-page.header-retracted .atelier-grid{height:100dvh!important;transform:none!important}
 .counter-page.header-retracted .topbar{transform:translate3d(0,-100%,0);pointer-events:none}
 .counter-page.header-retracted .header-expand{display:grid;place-items:center;position:fixed;right:12px;top:max(6px,env(safe-area-inset-top));width:44px;height:32px;z-index:11;background:transparent;padding:0}
}
@media(prefers-reduced-motion:reduce){.counter-page .topbar{transition:none!important}}

/* Active studio labels open their catalogue; links switch studios. */
.topbar nav .catalogue-nav{display:flex;align-items:center;min-height:44px;padding:8px 0;border-bottom:1px solid currentColor;font-size:14px}
.topbar nav a{font-size:14px;min-height:44px}
#counter-collection-dialog{width:min(860px,calc(100vw - 24px));max-height:90dvh;overflow:auto;padding:28px 20px;background:var(--panel);border-radius:0}
#counter-collection-dialog h2{font-size:24px;font-weight:400;margin:0 40px 24px 0}
#counter-collection-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 14px}
.counter-card{min-width:0;text-align:left;padding:0;align-self:start}
.counter-thumb{position:relative;aspect-ratio:6/5;background:#eae6df;display:grid;place-items:center}
.counter-thumb img{width:100%;height:100%;object-fit:contain}
.counter-thumb img:not([src]){visibility:hidden}
.counter-thumb span{position:absolute;font-size:12px;color:#68665f}
.counter-thumb.ready span{display:none}
.counter-card strong{display:block;font-size:14px;font-weight:400;margin-top:10px}
.counter-card small{display:block;font-size:12px;color:var(--muted);margin-top:5px}
@media(max-width:700px){#counter-collection-list{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar nav{gap:14px}.counter-page .topbar{gap:6px}.counter-page .topbar nav{margin-left:auto}}

.top-follow{display:flex;gap:10px;align-items:center;font-size:14px;min-height:48px}.top-follow input{width:18px;height:18px;accent-color:#59624e}.finish-type-label{display:block;font-size:14px;margin:14px 0 8px}#finish-type{width:100%;min-height:44px;padding:8px;background:transparent;border:1px solid var(--line);font:inherit}.counter-page.counter-backlit #workspace{background:radial-gradient(ellipse at 48% 40%,#a7a59c,#6c7069);transition:background .3s}.counter-backlit .canvas-heading,.counter-backlit .render-state,.counter-backlit .view-nav button{color:#20271d}
