
/* Patch 203: explicit image-mode controls beside Load / Replace. */
.atelier2-image-mode-check {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    min-height: 34px;
    padding: .35rem .55rem;
    border: 1px solid rgba(90,75,52,.24);
    border-radius: 5px;
    background: rgba(255,255,255,.36);
    font-size: .76rem;
    font-weight: 700;
    white-space: nowrap;
}
.atelier2-image-mode-check input { width: 16px; height: 16px; }

/* Atelier Version 3 — Workshops create; Studio assembles. */
.atelier-v3-workshop,.atelier-v3-themes{padding:clamp(1rem,2vw,2rem)}
.atelier-v3-workshop__hero{display:flex;justify-content:space-between;gap:2rem;align-items:flex-start;margin-bottom:1.25rem}
.atelier-v3-workshop__hero h2{margin:.15rem 0 .35rem;font-size:clamp(1.7rem,3vw,2.5rem)}
.atelier-v3-workshop__hero p{max-width:52rem;margin:0;color:var(--t-muted,#665f55)}
.atelier-v3-purpose{min-width:16rem;padding:1rem 1.15rem;border:1px solid rgba(99,80,45,.22);border-radius:14px;background:rgba(255,252,243,.72);display:grid;gap:.25rem}
.atelier-v3-purpose span{font-size:.86rem;color:#6c6254}
.atelier-v3-workshop__layout{display:grid;grid-template-columns:minmax(13rem,17rem) minmax(0,1fr) minmax(15rem,19rem);gap:1rem;min-height:62vh}
.atelier-v3-steps,.atelier-v3-tools,.atelier-v3-canvas{border:1px solid rgba(95,77,45,.2);border-radius:16px;background:rgba(255,253,247,.88);box-shadow:0 12px 30px rgba(62,47,24,.08)}
.atelier-v3-steps,.atelier-v3-tools{padding:1rem;align-self:start}
.atelier-v3-steps ol{padding-left:1.25rem;display:grid;gap:.7rem;margin:1rem 0 1.25rem}.atelier-v3-steps li.active{font-weight:700}
.atelier-v3-steps button{width:100%;margin-top:.55rem}
.atelier-v3-canvas{display:flex;flex-direction:column;min-height:34rem;overflow:hidden}
.atelier-v3-canvas__toolbar{padding:.85rem 1rem;border-bottom:1px solid rgba(95,77,45,.15);display:flex;justify-content:space-between;gap:1rem}.atelier-v3-canvas__toolbar span{font-size:.78rem;color:#746b5f}
.atelier-v3-placeholder{margin:auto;text-align:center;max-width:30rem;padding:2rem}.atelier-v3-placeholder>span{font-size:4rem;opacity:.55}.atelier-v3-placeholder h3{font-size:1.35rem;margin:.7rem 0 .35rem}
.atelier-v3-tools header{display:grid;margin-bottom:.75rem}.atelier-v3-tools header span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}
.atelier-v3-tools details{border-top:1px solid rgba(95,77,45,.14);padding:.75rem 0}.atelier-v3-tools summary{font-weight:700;cursor:pointer}.atelier-v3-tools details p{font-size:.82rem;color:#72695d}.atelier-v3-save{width:100%;margin-top:.7rem}
.atelier-v3-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:.35rem;margin:.6rem 0}.atelier-v3-swatches i{aspect-ratio:1;border-radius:50%;border:1px solid #aaa;background:#ece4d2}.atelier-v3-swatches i:nth-child(2){background:#38443d}.atelier-v3-swatches i:nth-child(3){background:#a67a38}.atelier-v3-swatches i:nth-child(4){background:#d7c7a3}.atelier-v3-swatches i:nth-child(5){background:#faf6eb}.atelier-v3-swatches i:nth-child(6){background:#2d2925}
.atelier-v3-theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1rem}.atelier-v3-theme-grid article{padding:1rem;border:1px solid rgba(95,77,45,.2);border-radius:16px;background:rgba(255,253,247,.9)}.atelier-v3-theme-preview{aspect-ratio:16/9;border-radius:12px;background:linear-gradient(145deg,#ece5d7,#fffdf7);display:grid;place-items:center;border:1px solid rgba(95,77,45,.18)}.atelier-v3-theme-preview span{font-family:serif;font-size:1.25rem}.atelier-v3-theme-grid article>div:last-child{display:flex;flex-wrap:wrap;gap:.45rem}.atelier2-selection-hint{font-size:.78rem;color:#6c6254;max-width:18rem}
@media(max-width:1050px){.atelier-v3-workshop__layout{grid-template-columns:1fr}.atelier-v3-workshop__hero{flex-direction:column}.atelier-v3-purpose{min-width:0;width:100%}}

/* Patch 231 — Atelier publishing foundation */
.atelier-unpublished-banner{display:flex;gap:.75rem;align-items:center;justify-content:center;flex-wrap:wrap;padding:.7rem 1rem;background:#fff4cf;border-bottom:1px solid #c9a54c;color:#4c3b16}.atelier-unpublished-banner strong{font-size:.9rem}.atelier-unpublished-banner span{font-size:.8rem}
.atelier-storage-card{position:relative;margin-left:auto;min-width:250px;padding:.75rem 2rem .75rem .9rem;border:1px solid rgba(103,82,45,.25);border-radius:12px;background:rgba(255,252,243,.92);box-shadow:0 6px 18px rgba(64,46,20,.08)}.atelier-storage-card h3{margin:0 0 .45rem;font-size:.9rem}.atelier-storage-card p{margin:.35rem 0;font-size:.72rem;line-height:1.35}.atelier-storage-card>button{position:absolute;right:.55rem;top:.55rem;width:22px;height:22px;border-radius:50%;border:1px solid #9f8350;background:#fffaf0}.atelier-storage-popover{position:absolute;z-index:50;right:0;top:calc(100% + .5rem);width:310px;padding:1rem;border:1px solid #b69759;border-radius:12px;background:#fffdf7;box-shadow:0 14px 34px rgba(52,38,18,.2)}.atelier-how-link{align-self:center;white-space:nowrap;font-weight:700;color:#66502a}
.atelier-publish-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1rem;background:rgba(31,25,18,.58);backdrop-filter:blur(3px)}.atelier-publish-dialog{width:min(520px,100%);padding:2rem;border:1px solid #b99a62;border-radius:18px;background:#fffaf0;box-shadow:0 28px 80px rgba(0,0,0,.35);text-align:center}.atelier-publish-dialog h2{margin-top:0;font-family:serif;font-size:2rem}.atelier-publish-dialog ul{display:grid;gap:.8rem;padding:1rem 0;list-style:none;text-align:left}.atelier-publish-dialog>div{display:flex;justify-content:center;gap:.75rem}.atelier-welcome-dialog p{line-height:1.55}.atelier-welcome-dialog a{font-weight:700}
.atelier-how{max-width:1180px;margin:0 auto;padding:clamp(1rem,3vw,3rem)}.atelier-how__hero{text-align:center;max-width:800px;margin:0 auto 1.5rem}.atelier-how__hero h1{font-family:serif;font-size:clamp(2.5rem,6vw,5rem);margin:.15rem}.atelier-how__hero>p:last-child{font-size:1.15rem}.atelier-how__kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:800}.atelier-how__graphic{margin:0 0 2rem;border:1px solid rgba(98,77,43,.22);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 18px 48px rgba(61,43,18,.12)}.atelier-how__graphic img{display:block;width:100%;height:auto}.atelier-how__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.atelier-how__steps article,.atelier-how__explain,.atelier-how__faq{padding:1.35rem;border:1px solid rgba(98,77,43,.2);border-radius:16px;background:rgba(255,252,244,.9)}.atelier-how__steps span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#7b6944;color:#fff;font-weight:800}.atelier-how__steps h2{margin:.7rem 0 .3rem}.atelier-how__explain,.atelier-how__faq{margin-top:1rem}.atelier-how__faq details{padding:.9rem 0;border-top:1px solid rgba(98,77,43,.15)}.atelier-how__faq summary{font-weight:800;cursor:pointer}.atelier-how__back{display:inline-block;margin-top:1.25rem;font-weight:800}@media(max-width:800px){.atelier-how__steps{grid-template-columns:1fr}.atelier-storage-card{min-width:100%;margin-left:0}.atelier-storage-popover{right:auto;left:0;width:min(310px,90vw)}}

/* Patch 232 — canonical Atelier workspace separation. Studio assembles; Component Studio crafts. */
.atelier2--studio2 .atelier2-left .atelier2-tabs,
.atelier2--studio2 .atelier2-left .atelier2-toolpanel,
.atelier2--studio2 .atelier2-environment-rail,
.atelier2--studio2 .atelier2-environment-panel,
.atelier2--studio2 .atelier2-workspace-banner,
.atelier2--studio2 .atelier2-inspector > :not(.atelier2-studio-context) { display:none !important; }
.atelier2--studio2 .atelier2-workbench { grid-template-columns: 220px minmax(0,1fr) 250px; }
.atelier2--studio2 .atelier2-left { padding:1rem; }
.atelier2--studio2 .atelier2-left .atelier2-selected-card { margin-bottom:1rem; }
.atelier2--studio2 .atelier2-center { min-width:0; }
.atelier2--studio2 .atelier2-inspector { padding:1rem; background:linear-gradient(180deg,rgba(20,23,25,.98),rgba(13,15,17,.98)); }
.atelier2-studio-context { display:grid; gap:.7rem; padding:1rem; border:1px solid rgba(218,174,86,.42); border-radius:12px; background:rgba(255,255,255,.025); }
.atelier2-studio-context>span { font-size:.68rem; letter-spacing:.14em; color:#d8ad59; }
.atelier2-studio-context>strong { font-size:1.05rem; color:#f3f0e8; }
.atelier2-studio-context>small { color:#aaa; line-height:1.45; }
.atelier2-studio-context__facts { display:grid; grid-template-columns:auto 1fr; gap:.45rem .75rem; padding-top:.7rem; border-top:1px solid rgba(255,255,255,.09); font-size:.76rem; }
.atelier2-studio-context__facts span { color:#898d91; }
.atelier2-studio-context__facts b { color:#dedede; font-weight:600; overflow:hidden; text-overflow:ellipsis; }
.atelier2-open-component { margin-top:.35rem; min-height:42px; border:1px solid #b88731; border-radius:8px; background:linear-gradient(180deg,#e6bb64,#b77b24); color:#17130d; font-weight:800; cursor:pointer; }
.atelier2-open-component:hover { filter:brightness(1.07); }
.atelier-v3-design-selector { display:flex; flex-wrap:wrap; gap:.65rem; margin:0 0 1rem; padding:.75rem 1rem; border:1px solid rgba(95,77,45,.18); border-radius:14px; background:rgba(255,253,247,.82); }
.atelier-v3-design-selector legend { padding:0 .4rem; font-weight:800; }
.atelier-v3-design-selector label { display:flex; align-items:center; gap:.45rem; padding:.55rem .75rem; border:1px solid rgba(95,77,45,.2); border-radius:10px; cursor:pointer; }
.atelier-v3-design-selector label.selected { border-color:#a77d32; box-shadow:0 0 0 2px rgba(167,125,50,.13); }
.atelier-v3-design-selector input { position:absolute; opacity:0; pointer-events:none; }
@media(max-width:1100px){.atelier2--studio2 .atelier2-workbench{grid-template-columns:190px minmax(0,1fr)}.atelier2--studio2 .atelier2-inspector{grid-column:1/-1}.atelier2-studio-context{grid-template-columns:1fr auto;align-items:center}.atelier2-studio-context__facts{display:none}}


/* Patch 233 — Component Studio uses the canonical immersive editor, not the legacy workshop form. */
.atelier2--components-v3 {
    min-height: calc(100vh - var(--tapestry-shell-offset, 0px));
    background: #111416;
    color: #ece9e1;
}
.atelier2--components-v3 .atelier-unpublished-banner,
.atelier2--components-v3 .atelier-storage-card,
.atelier2--components-v3 .atelier-how-link,
.atelier2--components-v3 .atelier2-environment-rail,
.atelier2--components-v3 .atelier2-environment-panel,
.atelier2--components-v3 .atelier2-workspace-banner,
.atelier2--components-v3 .atelier2-tabs,
.atelier2--components-v3 .atelier2-toolpanel {
    display: none !important;
}
.atelier2--components-v3 .atelier2-essential-actions {
    position: sticky;
    top: 0;
    z-index: 30;
    min-height: 78px;
    padding: 0 1rem;
    border-bottom: 1px solid rgba(255,255,255,.12);
    background: linear-gradient(180deg,#111416,#0d1012);
}
.atelier2--components-v3 .atelier2-command-brand {
    min-width: 250px;
}
.atelier2--components-v3 .atelier2-command-brand span {
    color: #e3b85f;
    font-family: Georgia,serif;
    font-size: 1.15rem;
    letter-spacing: .08em;
}
.atelier2--components-v3 .atelier2-command-brand small {
    color: #777d81;
    text-transform: uppercase;
    letter-spacing: .14em;
}
.atelier2--components-v3 .atelier2-workbench {
    display: grid;
    grid-template-columns: 250px minmax(0,1fr) 300px;
    min-height: calc(100vh - 78px);
    background: #171a1d;
}
.atelier2--components-v3 .atelier2-left {
    padding: 1rem;
    border-right: 1px solid rgba(255,255,255,.11);
    background: linear-gradient(180deg,#121517,#0e1113);
}
.atelier2--components-v3 .atelier2-selected-card {
    margin: 0 0 1rem;
    padding: .95rem;
    border: 1px solid #2779d7;
    border-radius: 8px;
    background: linear-gradient(145deg,rgba(31,56,83,.58),rgba(19,28,37,.7));
}
.atelier2--components-v3 .atelier2-selected-card span {
    color: #aeb5ba;
}
.atelier2--components-v3 .atelier2-selected-card strong {
    color: #fff;
}
.atelier2--components-v3 .atelier2-component-presets {
    display: grid;
    gap: .55rem;
    margin-top: 1rem;
}
.atelier2--components-v3 .atelier2-component-presets h3 {
    margin: 0 0 .35rem;
    color: #d7dadd;
    font-size: .78rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.atelier2--components-v3 .atelier2-component-presets button {
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: .15rem .65rem;
    align-items: center;
    padding: .75rem;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 7px;
    background: #171b1e;
    color: #f0f1f2;
    text-align: left;
}
.atelier2--components-v3 .atelier2-component-presets button.active {
    border-color: #2b82e6;
    box-shadow: inset 0 0 0 1px rgba(43,130,230,.32);
}
.atelier2--components-v3 .atelier2-component-presets button span { grid-row: 1 / 3; color:#d5aa54; font-size:1.2rem; }
.atelier2--components-v3 .atelier2-component-presets button small { color:#8d9397; }
.atelier2--components-v3 .atelier2-center {
    min-width: 0;
    padding: 0;
    background:
      radial-gradient(circle at 50% 38%,rgba(72,77,81,.24),transparent 42%),
      linear-gradient(180deg,#24282c,#1a1e21);
}
.atelier2--components-v3 .atelier2-canvas-toolbar {
    border-bottom: 1px solid rgba(255,255,255,.11);
    background: rgba(15,18,20,.82);
}
.atelier2--components-v3 .atelier2-canvas-wrap,
.atelier2--components-v3 .atelier2-stage {
    min-height: 620px;
}
.atelier2--components-v3 .atelier2-inspector {
    padding: 1rem;
    border-left: 1px solid rgba(255,255,255,.11);
    background: linear-gradient(180deg,#121517,#0d1012);
}
.atelier2--components-v3 .atelier2-inspector-title,
.atelier2--components-v3 .atelier2-inspector > h2,
.atelier2--components-v3 .atelier2-inspector > h3 {
    color: #eef0f1;
}
.atelier2--components-v3 .atelier2-focus-dock {
    border-color: rgba(255,255,255,.12);
    background: transparent;
}
@media (max-width: 1120px) {
    .atelier2--components-v3 .atelier2-workbench { grid-template-columns: 210px minmax(0,1fr); }
    .atelier2--components-v3 .atelier2-inspector { grid-column: 1 / -1; border-left:0; border-top:1px solid rgba(255,255,255,.11); }
}

/* Patch 234 — canonical immersive Component Studio */
.atelier-shell--studio:has(.atelier-component-studio){max-width:none!important;margin:0!important;padding:0!important;background:#0d1012!important}
.atelier-shell--studio:has(.atelier-component-studio)>.atelier-child-navigation{display:none!important}
.atelier-component-studio{min-height:calc(100vh - 72px);display:grid;grid-template-rows:88px minmax(680px,1fr) 58px;background:#111416;color:#e7e9ea;font-family:Arial,Helvetica,sans-serif;overflow:hidden}
.acs-commandbar{display:flex;align-items:stretch;border-bottom:1px solid #303438;background:linear-gradient(180deg,#101315,#090b0d);box-shadow:0 1px 0 #000;position:relative;z-index:5}
.acs-brand{width:390px;display:flex;align-items:center;gap:18px;padding:0 26px;border-right:1px solid #2a2d30}.acs-mark{width:48px;height:58px;display:grid;place-items:center;border:1px solid #c89c43;color:#efc86f;font:34px Georgia,serif;clip-path:polygon(50% 0,100% 10%,100% 75%,50% 100%,0 75%,0 10%)}.acs-brand strong{display:block;color:#e7bd66;font:30px Georgia,serif;letter-spacing:.05em;text-transform:uppercase}.acs-brand small{display:block;color:#747a7e;font-size:10px;letter-spacing:.18em;text-align:center;text-transform:uppercase}
.acs-history{display:flex;border-right:1px solid #2a2d30}.acs-history button{width:84px;border:0;border-radius:0;background:transparent;color:#c9cdcf}.acs-history span{display:block;font-size:30px;line-height:1}.acs-history small{display:block;font-size:10px;text-transform:uppercase}.acs-history button:disabled{opacity:.35}
.acs-actions,.acs-view-actions{display:flex;align-items:center;gap:8px;padding:0 22px}.acs-actions{flex:1}.acs-actions button,.acs-view-actions button{height:48px;padding:0 22px;border:1px solid #34383c;border-radius:7px;background:linear-gradient(#171a1d,#101214);color:#f2f3f4;font-weight:700;text-transform:uppercase;box-shadow:inset 0 1px rgba(255,255,255,.04)}.acs-actions .primary{color:#17120b;border-color:#e1b65f;background:linear-gradient(#f4d486,#d7a94e)}.acs-actions .apply{border-color:#167744;background:linear-gradient(#175d38,#12482e);box-shadow:inset 0 0 0 1px rgba(48,198,111,.28)}.acs-view-actions{margin-left:auto}.acs-view-actions button{padding:0 16px}.acs-view-actions button.active{color:#e2b65c;border-color:#6d5b39}
.acs-workspace{display:grid;grid-template-columns:290px minmax(680px,1fr) 324px;min-height:0}.acs-left,.acs-right{background:linear-gradient(180deg,#121619,#0e1113);min-height:0;overflow:auto}.acs-left{padding:26px 18px;border-right:1px solid #303438}.acs-right{padding:26px 16px;border-left:1px solid #303438}.acs-left h2,.acs-right h2{margin:0 0 18px;color:#e7e9ea;font-size:16px;text-transform:uppercase;letter-spacing:.03em}
.acs-selected{display:grid;grid-template-columns:42px 1fr 16px;align-items:center;gap:10px;padding:15px;border:1px solid #2c84ea;border-radius:8px;background:linear-gradient(140deg,#1b2b3d,#131c25);box-shadow:inset 0 0 0 1px rgba(51,139,238,.18)}.acs-selected .icon{font-size:25px;color:#7bb5ff}.acs-selected strong,.acs-selected small{display:block}.acs-selected small{color:#72a7e7;margin-top:5px}.acs-help-line{color:#b8bdc0;text-align:center;font-size:12px}.acs-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:9px}.acs-presets button{padding:7px 4px;border:1px solid #33383c;background:#15191c;color:#bbb;border-radius:5px;font-size:11px}.acs-presets button.active{border-color:#cc9f49;color:#f2ca73}.acs-divider{height:1px;margin:20px 0;background:#292d30}.acs-toggle{display:flex;align-items:center;justify-content:space-between;margin:18px 4px;color:#d9dcde}.acs-toggle input{display:none}.acs-toggle span{width:42px;height:23px;border-radius:20px;background:#33383c;position:relative}.acs-toggle span:before{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;border-radius:50%;background:#f0f1f2}.acs-toggle input:checked+span{background:#25aa63}.acs-toggle input:checked+span:before{left:22px}.acs-help{line-height:1.75;color:#c0c4c6}.acs-tip{margin-top:105px;padding:18px;border:1px solid #a77a2f;border-radius:8px;background:#111416;color:#c8cbcd}.acs-tip strong{display:block;color:#e6b956;text-transform:uppercase;margin-bottom:12px}.acs-tip span{line-height:1.65;font-size:13px}
.acs-center{min-width:0;display:grid;grid-template-rows:66px 1fr;background:radial-gradient(circle at 50% 44%,#30353a 0,#252a2f 35%,#1d2226 80%)}.acs-canvasbar{display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #34383c;background:rgba(20,23,26,.92);color:#c4c8ca;text-transform:uppercase;font-size:12px}.acs-canvasbar>div{display:flex;align-items:center;gap:0}.acs-canvasbar button,.acs-canvasbar strong{height:36px;min-width:42px;display:grid;place-items:center;border:1px solid #363b3f;background:#181c1f;color:#e5e7e8}.acs-canvasbar strong{min-width:76px}.acs-canvasbar label{display:flex;gap:8px;align-items:center}.acs-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:70px 45px 90px;overflow:hidden}.acs-selection{position:relative;display:flex;align-items:stretch;justify-content:stretch;max-width:90%;max-height:78%;outline:1px solid #2d8df6;box-shadow:0 18px 55px rgba(0,0,0,.45)}.acs-selection>.atelier-v3-window-preview,.acs-selection>.atelier-v3-button-preview,.acs-selection>.atelier-v3-plaque-preview{width:100%!important;height:100%!important;margin:0!important}.acs-selection .h{position:absolute;width:10px;height:10px;background:#63a9ff;border:1px solid #d8ecff;z-index:3}.acs-selection .tl{left:-6px;top:-6px}.acs-selection .tr{right:-6px;top:-6px}.acs-selection .bl{left:-6px;bottom:-6px}.acs-selection .br{right:-6px;bottom:-6px}.acs-selection .tm{left:50%;top:-6px}.acs-selection .bm{left:50%;bottom:-6px}.acs-selection .ml{left:-6px;top:50%}.acs-selection .mr{right:-6px;top:50%}.acs-drag-hint{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);padding:14px 28px;border:1px solid #3b4044;border-radius:10px;background:rgba(8,10,12,.88);color:#e2e4e5;box-shadow:0 8px 20px rgba(0,0,0,.35)}
.acs-dock-button{width:100%;display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:18px 14px;border:0;border-bottom:1px solid #2d3134;background:transparent;color:#e8eaeb;text-align:left}.acs-dock-button>span{font-size:29px;text-align:center}.acs-dock-button strong{display:block;text-transform:uppercase;font-size:15px}.acs-dock-button small{display:block;margin-top:7px;color:#b4b9bc;line-height:1.35}.acs-dock-button.active{margin-bottom:8px;border:1px solid #2c87ed;border-radius:8px;background:linear-gradient(140deg,#18334f,#131f2b);box-shadow:0 -5px 18px rgba(28,103,184,.18)}.acs-dock-panel{padding:12px 8px 24px;color:#d7dadc}.acs-dock-panel label{display:grid;gap:6px;margin:10px 0}.acs-dock-panel input,.acs-dock-panel textarea,.acs-dock-panel select{width:100%;box-sizing:border-box;border:1px solid #4a5055;background:#101315;color:#fff;padding:8px}.acs-dock-panel input[type=color]{height:34px;padding:2px}.acs-dock-panel button{margin:4px;padding:8px 10px;border:1px solid #67522e;background:#17191b;color:#e9c272}.acs-dock-panel output{float:right;color:#e7b958}.acs-statusbar{display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-top:1px solid #303438;background:linear-gradient(#101315,#090b0d);color:#b9bdc0;font-size:12px;letter-spacing:.04em}.acs-statusbar i{display:inline-block;width:9px;height:9px;margin-right:10px;border-radius:50%;background:#2bb56c}
@media(max-width:1250px){.acs-workspace{grid-template-columns:230px minmax(560px,1fr) 280px}.acs-brand{width:280px}.acs-brand strong{font-size:22px}.acs-actions button span{display:none}.acs-actions button{padding:0 15px}}@media(max-width:980px){.atelier-component-studio{overflow:auto}.acs-commandbar{min-width:980px}.acs-workspace{grid-template-columns:220px minmax(620px,1fr);min-width:980px}.acs-right{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,1fr);border-left:0;border-top:1px solid #303438}.acs-right h2,.acs-dock-panel{grid-column:1/-1}.acs-tip{margin-top:30px}}


/* Patch 235 — approved Component Studio charcoal-and-gold color lock. */
.atelier-shell--studio:has(.atelier-component-studio),
.atelier-component-studio { background:#0b0d0f !important; color:#eef0f1; }
.acs-commandbar,
.acs-statusbar { background:linear-gradient(180deg,#0f1113 0%,#080a0c 100%) !important; border-color:#2c3033 !important; }
.acs-left,
.acs-right { background:linear-gradient(180deg,#111416 0%,#0b0e10 100%) !important; }
.acs-center { background:radial-gradient(circle at 50% 43%,#30353a 0%,#23282c 40%,#171b1e 100%) !important; }
.acs-canvasbar { background:#15191c !important; border-color:#34383c !important; }
.acs-brand strong,
.acs-tip strong,
.acs-dock-panel output { color:#e6bb61 !important; }
.acs-mark { border-color:#c99b42 !important; color:#efc66c !important; }
.acs-actions .primary { background:linear-gradient(180deg,#f1d184 0%,#d2a449 100%) !important; border-color:#e6b75b !important; color:#17120b !important; }
.acs-actions .apply { background:linear-gradient(180deg,#17613a 0%,#10472c 100%) !important; border-color:#1d8c50 !important; }
.acs-selected,
.acs-dock-button.active { background:linear-gradient(145deg,#172b3e 0%,#111b24 100%) !important; border-color:#318cf0 !important; }
.acs-selection { outline-color:#3d95f2 !important; }
.acs-selection .h { background:#4d9cf2 !important; border-color:#d8ebff !important; }
.acs-tip { background:#0d1012 !important; border-color:#a77a2f !important; }
.acs-dock-panel input,
.acs-dock-panel textarea,
.acs-dock-panel select { background:#0c0f11 !important; border-color:#464c51 !important; }

/* Patch 241 — Component Studio functional foundation */
.acs-brand{width:360px}.acs-brand strong{font-size:25px}.acs-workspace{grid-template-columns:274px minmax(620px,1fr) 320px}
.acs-presets--large{grid-template-columns:1fr;gap:8px}.acs-presets--large button{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;text-align:left;padding:12px}.acs-presets--large button>span{grid-row:1/3;font-size:20px}.acs-presets--large button strong{font-size:14px}.acs-presets--large button small{font-size:11px;color:#9ea5aa}
.acs-rail-fields label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;margin:13px 0}.acs-rail-fields input[type=color]{width:46px;height:30px;padding:2px;background:#111;border:1px solid #4b5155}.acs-rail-fields input[type=range]{grid-column:1/3;width:100%}.acs-rail-fields output{grid-column:1/3;color:#e7b958;text-align:right;margin-top:-6px}
.acs-size-fields{gap:6px!important}.acs-size-fields label{display:flex!important;gap:5px!important}.acs-size-fields input{width:72px;height:34px;border:1px solid #454b50;background:#0e1113;color:#fff;padding:0 7px}
.acs-selection{transform-origin:center center;transition:transform .12s ease}.acs-stage.preview .acs-selection{outline:0;box-shadow:0 18px 55px rgba(0,0,0,.45)}
.acs-component-preview{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;text-align:center}.acs-component-preview.is-window{align-items:flex-start;justify-content:flex-start;text-align:left}.acs-component-preview.is-button{justify-content:center}.acs-component-preview.is-plaque{text-transform:uppercase;letter-spacing:.08em}.acs-live-title{position:relative;z-index:2;font-size:1.15em}.acs-live-description{position:relative;z-index:2;margin:.45em 0 0;white-space:pre-wrap}
.acs-selection .h{appearance:none;padding:0;border:1px solid #d8ecff;position:absolute;touch-action:none}.acs-selection .tl,.acs-selection .br{cursor:nwse-resize}.acs-selection .tr,.acs-selection .bl{cursor:nesw-resize}.acs-selection .tm,.acs-selection .bm{cursor:ns-resize}.acs-selection .ml,.acs-selection .mr{cursor:ew-resize}.acs-live-size{position:absolute;right:0;top:-31px;padding:4px 7px;border-radius:4px;background:#0b0e10;color:#dcecff;font-size:12px;white-space:nowrap}.acs-fade-handle{position:absolute;top:0;bottom:0;width:2px;background:#f2c86e;box-shadow:0 0 0 1px #15100a,0 0 10px rgba(242,200,110,.7);z-index:4;pointer-events:none}
.acs-focus-editor{margin-bottom:12px;padding:14px;border:1px solid #318cf0;border-radius:8px;background:linear-gradient(145deg,#172b3e,#111b24)}.acs-focus-editor>header{margin:-14px -14px 14px;padding:14px;border-bottom:1px solid rgba(94,164,239,.35);font-weight:700;text-transform:uppercase}.acs-focus-editor label{display:grid;gap:6px;margin:12px 0}.acs-focus-editor input,.acs-focus-editor textarea{width:100%;box-sizing:border-box;border:1px solid #4a5055;background:#0c0f11;color:#fff;padding:8px}.acs-focus-editor input[type=color]{height:36px;padding:2px}.acs-focus-editor input[type=range]{padding:0}.acs-focus-editor output{text-align:right;color:#e7b958}.acs-focus-editor button{margin:4px 4px 4px 0;padding:8px 11px;border:1px solid #67522e;background:#17191b;color:#e9c272}.acs-focus-editor button:disabled{opacity:.35}.acs-inline-actions{display:flex;flex-wrap:wrap}.acs-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.acs-check input{width:auto!important}
.acs-focus-editor input[type=file]{display:block;margin:8px 0 12px;padding:9px;border:1px dashed #806b43;background:#101315}
@media(max-width:1250px){.acs-workspace{grid-template-columns:235px minmax(560px,1fr) 285px}}

/* Patch 242 — production interaction pass */
.acs-component-preview{touch-action:none}.acs-component-preview.is-dragging-image{cursor:grabbing}.acs-component-preview:not(.is-dragging-image){cursor:grab}
.acs-fade-handle{appearance:none;border:0;padding:0;cursor:ew-resize;pointer-events:auto!important}.acs-fade-handle:before{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%) rotate(45deg);border:2px solid #fff0bd;background:#6b4b15;box-shadow:0 0 0 2px rgba(0,0,0,.55)}
.acs-move-grip{position:absolute;left:50%;top:-38px;transform:translateX(-50%);width:30px;height:30px;border:1px solid #d8ecff;background:#132b43;color:#dcecff;border-radius:50%;cursor:move;z-index:5;touch-action:none}.acs-move-grip:hover{background:#245c8d}
.acs-segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:8px 0}.acs-segmented button{margin:0}
.acs-selection{will-change:transform}.acs-stage.preview .acs-component-preview{cursor:default}

/* Patch 244 — Component Studio complete production pass */
.acs-stage:focus{outline:none;box-shadow:inset 0 0 0 1px rgba(77,151,235,.35)}
.acs-canvasbar>div:last-child button:last-child{min-width:64px;padding:0 10px;font-size:10px;text-transform:uppercase}
.acs-focus-editor select,.acs-focus-editor textarea,.acs-focus-editor input:not([type=color]):not([type=range]){width:100%;min-height:36px;border:1px solid #3b4146;border-radius:5px;background:#0e1215;color:#e7e9ea;padding:7px 9px}
.acs-focus-editor label{display:grid;gap:6px;margin:10px 0;color:#c8ccce;font-size:12px}
.acs-focus-editor output{justify-self:end;color:#e4b960;font-variant-numeric:tabular-nums}
.acs-selection{transform-origin:center center;will-change:transform}
.acs-component-preview{overflow:hidden;backdrop-filter:blur(var(--acs-glass,0px))}
.acs-move-grip{touch-action:none}
.acs-fade-handle{touch-action:none}
.acs-inline-actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.acs-segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:10px 0}
@media(max-width:1280px){.acs-workspace{grid-template-columns:250px minmax(560px,1fr) 300px}.acs-brand{width:330px}.acs-brand strong{font-size:24px}}

/* Patch 244 — registry-backed live component selection */
.component-edit-mode-control{position:fixed;right:22px;bottom:22px;z-index:1200;display:flex;align-items:stretch;gap:6px;font-family:Georgia,'Times New Roman',serif}.component-edit-mode-control>button{border:1px solid #8e7440;background:linear-gradient(180deg,#272a2c,#151719);color:#f1dfb0;box-shadow:0 8px 28px rgba(0,0,0,.35);padding:10px 14px}.component-edit-mode-control>button:first-child{display:grid;grid-template-columns:24px auto;grid-template-rows:auto auto;text-align:left;border-radius:8px}.component-edit-mode-control span{grid-row:1/3;font-size:20px;color:#dcb45d}.component-edit-mode-control strong{font-size:13px}.component-edit-mode-control small{font-size:10px;color:#aeb2b4}.component-edit-mode-control.is-active>button:first-child{border-color:#5aa7ed;background:linear-gradient(180deg,#18354d,#101b24);box-shadow:0 0 0 2px rgba(72,157,235,.2),0 8px 28px rgba(0,0,0,.4)}.component-edit-mode-control__done{border-radius:8px!important;text-transform:uppercase;font-size:10px}.tapestry-component-edit-mode [data-component-id]{cursor:crosshair!important;transition:outline-color .12s ease,box-shadow .12s ease}.tapestry-component-edit-mode [data-component-id].tapestry-component-edit-hover{outline:3px solid #55aaff!important;outline-offset:4px!important;box-shadow:0 0 0 7px rgba(67,151,230,.2),0 0 28px rgba(67,151,230,.55)!important}.tapestry-component-edit-mode [data-component-id].tapestry-component-edit-hover:after{content:'Click to edit';position:absolute;z-index:9999;left:50%;top:-34px;transform:translateX(-50%);padding:5px 9px;border-radius:4px;background:#10263a;color:#e9f4ff;border:1px solid #5aa7ed;font:600 11px/1 Arial,sans-serif;white-space:nowrap;pointer-events:none}

/* Patch 245 — canonical direct manipulation */
.acs-snap-guide{position:absolute;z-index:1;pointer-events:none;background:rgba(87,176,255,.9);box-shadow:0 0 8px rgba(87,176,255,.55)}
.acs-snap-guide.vertical{top:28px;bottom:54px;left:50%;width:1px}
.acs-snap-guide.horizontal{left:28px;right:28px;top:50%;height:1px}
.acs-selection.is-resizing,.acs-selection.is-moving{transition:none!important;user-select:none}
.acs-selection.is-resizing .acs-live-size,.acs-selection.is-moving .acs-live-size{background:#123657;color:#fff;box-shadow:0 0 0 1px #64adf5,0 5px 18px rgba(0,0,0,.35)}
.acs-live-size{font-variant-numeric:tabular-nums}

/* Patch 248 — universal component selection and accessibility polish */
.tapestry-component-renderer__image-tint{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:color}
.tapestry-component-renderer__fade{z-index:2}.tapestry-component-renderer__content{position:relative;z-index:3}
html.tapestry-component-edit-mode [data-component-id]{outline:1px dashed transparent;outline-offset:4px;transition:outline-color .16s ease,box-shadow .16s ease,filter .16s ease;cursor:crosshair!important}
html.tapestry-component-edit-mode [data-component-id]:focus-visible,
html.tapestry-component-edit-mode [data-component-id].tapestry-component-edit-hover{outline:2px solid rgba(79,117,75,.9);box-shadow:0 0 0 5px rgba(120,160,109,.2),0 12px 32px rgba(42,54,35,.18);filter:saturate(1.04)}
html.tapestry-component-edit-mode [data-component-id][data-component-edit-current="true"]::after{content:attr(data-component-preset) " · click to edit";position:absolute;left:50%;top:-34px;transform:translateX(-50%);z-index:2147483000;padding:5px 10px;border:1px solid rgba(67,87,54,.45);border-radius:999px;background:rgba(250,247,235,.97);box-shadow:0 5px 16px rgba(44,42,31,.16);color:#35462f;font:600 11px/1.2 system-ui,sans-serif;letter-spacing:.03em;white-space:nowrap;pointer-events:none}
.component-edit-mode-control.is-active{box-shadow:0 0 0 4px rgba(115,151,99,.16),0 12px 30px rgba(44,52,35,.18)}
@media (prefers-reduced-motion:reduce){html.tapestry-component-edit-mode [data-component-id]{transition:none!important}.component-edit-mode-control{transition:none!important}}

/* PATCH 249 — Atelier Tool Cabinet */
.acs-workspace{grid-template-columns:244px minmax(620px,1fr) 276px!important}
.acs-left,.acs-right{padding:15px 12px!important}
.acs-right h2{margin:0 0 9px!important;font-size:12px!important;letter-spacing:.12em!important}
.acs-focus-editor{padding:10px!important;margin-bottom:7px!important;max-height:calc(100vh - 150px);overflow:auto}
.acs-focus-editor>header{margin:-10px -10px 8px!important;padding:9px 10px!important;font-size:12px!important}
.acs-dock-button{min-height:34px!important;grid-template-columns:25px 1fr!important;gap:7px!important;padding:7px 8px!important;border-radius:5px!important}
.acs-dock-button>span{font-size:17px!important}.acs-dock-button strong{font-size:11px!important;letter-spacing:.08em}.acs-dock-button small{display:none!important}
.acs-focus-editor label{margin:6px 0!important;gap:3px!important;font-size:10px!important}
.acs-focus-editor input,.acs-focus-editor textarea,.acs-focus-editor select{min-height:29px!important;padding:5px 7px!important;font-size:11px!important}
.acs-focus-editor button{margin:2px!important;padding:6px 8px!important;font-size:11px!important}
.acs-type-cabinet{display:grid;gap:6px}.acs-type-search{display:grid;grid-template-columns:1fr 31px;gap:4px}.acs-type-search button{font-size:18px!important;padding:2px!important}
.acs-type-categories{display:flex;gap:3px;overflow-x:auto;padding-bottom:2px}.acs-type-categories button{white-space:nowrap;border-color:#39434b!important;color:#aeb7bc!important}.acs-type-categories button.active{background:#285f91!important;color:#fff!important;border-color:#4aa1ed!important}
.acs-font-strip{display:grid;grid-template-columns:1fr 1fr;gap:4px;max-height:194px;overflow:auto;padding:2px}.acs-font-strip button{display:grid;text-align:left;min-height:48px;border-color:#343a3e!important;background:#101416!important;color:#e7e0cf!important}.acs-font-strip button.selected{border-color:#4ca8f5!important;box-shadow:inset 0 0 0 1px #4ca8f5}.acs-font-strip strong{font-size:12px;font-weight:600}.acs-font-strip small{font-size:10px;opacity:.7}
.acs-type-toolbar,.acs-alignment-toolbar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.acs-alignment-toolbar{grid-template-columns:repeat(4,1fr)}.acs-type-toolbar button,.acs-alignment-toolbar button{margin:0!important;padding:6px 2px!important}.acs-type-toolbar button.active,.acs-alignment-toolbar button.active{background:#23679f!important;border-color:#55aef8!important;color:#fff!important}
.acs-type-row{display:grid;gap:5px}.acs-type-row--three{grid-template-columns:repeat(3,minmax(0,1fr))}.acs-compact-field input{width:100%!important}
.acs-mini-effect{border:1px solid #2f373c;border-radius:5px;background:#0e1214}.acs-mini-effect summary{display:flex;align-items:center;gap:7px;padding:6px 8px;cursor:pointer;font-size:11px}.acs-mini-effect summary input{width:auto!important;min-height:0!important}.acs-mini-effect>label{padding:0 8px}
.acs-type-presets{display:flex;gap:3px;overflow-x:auto}.acs-type-presets button{white-space:nowrap;margin:0!important}
@media(max-width:1280px){.acs-workspace{grid-template-columns:220px minmax(560px,1fr) 258px!important}}

/* Patch 250 — reselectable text, eyedroppers, and overlay image manipulation */
.atelier-v3-movable-text{pointer-events:auto;cursor:move;user-select:text;outline:1px solid transparent;position:absolute;z-index:12}
.atelier-v3-movable-text:hover,.atelier-v3-movable-text.selected{outline:1px dashed rgba(54,133,198,.9);background:rgba(255,255,255,.08)}
.atelier-v3-movable-text.selected{box-shadow:0 0 0 3px rgba(54,133,198,.16)}
.acs-color-field{display:flex!important;align-items:center;justify-content:space-between;gap:8px}
.acs-color-controls{display:flex;align-items:center;gap:5px}
.acs-color-controls input[type=color]{width:38px;height:28px;padding:1px}
.acs-eyedropper{width:28px;height:28px;padding:0!important;border-radius:5px!important;font-size:15px}
.acs-overlay-image{position:absolute;touch-action:none;transform-origin:center;pointer-events:auto;box-sizing:border-box;z-index:5;overflow:visible}
.acs-overlay-image img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;user-select:none;-webkit-user-drag:none}
.acs-overlay-image.is-selected{outline:1px dashed #3f98d0;box-shadow:0 0 0 3px rgba(63,152,208,.18);cursor:move}
.acs-overlay-image.is-dragging{cursor:grabbing}
/* Unique class names prevent the component frame's .tl/.tr/.tm rules from styling overlay handles. */
.overlay-resize-handle{appearance:none!important;position:absolute!important;display:block!important;box-sizing:border-box!important;width:12px!important;height:12px!important;min-width:12px!important;max-width:12px!important;min-height:12px!important;max-height:12px!important;margin:0!important;padding:0!important;border:2px solid #fff!important;border-radius:3px!important;background:#3f98d0!important;box-shadow:0 1px 5px rgba(0,0,0,.55)!important;font-size:0!important;line-height:0!important;z-index:40!important;touch-action:none!important;transform:none}
.overlay-resize-handle.overlay-tl{left:-7px!important;top:-7px!important;right:auto!important;bottom:auto!important;cursor:nwse-resize}
.overlay-resize-handle.overlay-tr{right:-7px!important;top:-7px!important;left:auto!important;bottom:auto!important;cursor:nesw-resize}
.overlay-resize-handle.overlay-bl{left:-7px!important;bottom:-7px!important;right:auto!important;top:auto!important;cursor:nesw-resize}
.overlay-resize-handle.overlay-br{right:-7px!important;bottom:-7px!important;left:auto!important;top:auto!important;cursor:nwse-resize}
.overlay-resize-handle.overlay-tm{left:50%!important;top:-7px!important;right:auto!important;bottom:auto!important;transform:translateX(-50%)!important;cursor:ns-resize}
.overlay-resize-handle.overlay-bm{left:50%!important;bottom:-7px!important;right:auto!important;top:auto!important;transform:translateX(-50%)!important;cursor:ns-resize}
.overlay-resize-handle.overlay-ml{left:-7px!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translateY(-50%)!important;cursor:ew-resize}
.overlay-resize-handle.overlay-mr{right:-7px!important;top:50%!important;left:auto!important;bottom:auto!important;transform:translateY(-50%)!important;cursor:ew-resize}

/* Patch 251: explicit asset naming and quota-safe library polish. */
.acs-asset-name{display:grid;align-content:center;gap:3px;width:min(260px,18vw);padding:0 14px;border-right:1px solid #303438;background:rgba(255,255,255,.018);color:#9da4aa;text-transform:uppercase;font-size:9px;letter-spacing:.12em}
.acs-asset-name input{width:100%;height:32px;padding:0 10px;border:1px solid #3b4146;border-radius:5px;background:#0d1012;color:#f4e7c8;font:600 14px/1.1 'Cormorant Garamond',Georgia,serif;letter-spacing:.02em;outline:none}
.acs-asset-name input:focus{border-color:#d2aa58;box-shadow:0 0 0 2px rgba(210,170,88,.16)}
.acs-asset-name input::placeholder{color:#6f767b}
@media(max-width:1250px){.acs-asset-name{width:190px}.acs-actions{padding-left:12px;padding-right:12px}}

/* PATCH 254 — multi-overlay engine + compact Focus Dock */
.acs-workspace{grid-template-columns:244px minmax(620px,1fr) 286px!important}
.acs-right{padding:10px 9px!important;scrollbar-width:thin}
.acs-right h2{margin:0 0 6px!important;padding:0 3px;font-size:11px!important;line-height:22px}
.acs-dock-panel{padding:7px 3px 12px!important}
.acs-dock-button{min-height:30px!important;grid-template-columns:20px 1fr!important;gap:5px!important;padding:5px 7px!important;margin:2px 0!important}
.acs-dock-button>span{font-size:14px!important}.acs-dock-button strong{font-size:10px!important}.acs-dock-panel label{gap:3px!important;margin:6px 0!important;font-size:11px}
.acs-dock-panel input,.acs-dock-panel textarea,.acs-dock-panel select{padding:5px 6px!important;font-size:11px!important}.acs-dock-panel button{margin:2px!important;padding:5px 7px!important;font-size:10px!important}
.acs-overlay-image{cursor:move}.acs-overlay-image:not(.is-selected){outline:none;box-shadow:none}
.overlay-resize-handle{display:none!important}
.overlay-resize-corner{position:absolute!important;right:-13px!important;bottom:-13px!important;width:25px!important;height:25px!important;min-width:25px!important;min-height:25px!important;margin:0!important;padding:0!important;border:2px solid #fff!important;border-radius:50%!important;background:#258be6!important;color:#fff!important;box-shadow:0 2px 8px rgba(0,0,0,.55)!important;z-index:50!important;cursor:nwse-resize!important;font-size:16px!important;line-height:20px!important;touch-action:none!important}
.acs-overlay-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:7px}.acs-overlay-toolbar>button,.acs-overlay-toolbar>.acs-file-button{margin:0!important;text-align:center}
.acs-file-button{position:relative;display:flex;align-items:center;justify-content:center;min-height:28px;padding:4px 6px;border:1px solid #67522e;background:#17191b;color:#e9c272;font-size:10px;cursor:pointer;overflow:hidden}.acs-file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.acs-file-button.disabled{opacity:.4;pointer-events:none}
.acs-overlay-list{display:grid;gap:4px;max-height:154px;overflow:auto;margin:0 0 8px;padding-right:2px}.acs-overlay-row{display:grid!important;grid-template-columns:34px 1fr 22px!important;gap:7px!important;align-items:center!important;width:100%!important;margin:0!important;padding:4px!important;border:1px solid #303840!important;background:#11171b!important;text-align:left!important;color:#dce3e8!important}.acs-overlay-row.selected{border-color:#2e91ed!important;background:#14283a!important}.acs-overlay-row img{width:34px;height:30px;object-fit:contain;background:#ede3cc;border-radius:3px}.acs-overlay-row span{min-width:0}.acs-overlay-row strong,.acs-overlay-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acs-overlay-row strong{font-size:10px}.acs-overlay-row small{font-size:8px;color:#96a4ad;margin-top:2px}.acs-overlay-row i{font-style:normal;font-size:14px;text-align:center;color:#d8b76c}
.acs-overlay-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:5px 0}.acs-overlay-number{display:grid!important;grid-template-columns:14px 1fr!important;align-items:center!important;gap:3px!important;margin:0!important}.acs-overlay-number span{font-size:9px;color:#aeb8bf}.acs-overlay-number input{min-width:0!important;padding:4px!important}
.acs-compact-range{display:grid!important;grid-template-columns:1fr auto!important;gap:2px!important;margin:5px 0!important}.acs-compact-range input{grid-column:1/-1;padding:0!important;height:15px}.acs-compact-range output{font-size:9px;color:#e8bd61}
.acs-overlay-advanced{margin:5px 0;border:1px solid #293239;border-radius:4px}.acs-overlay-advanced summary{padding:5px 7px;font-size:10px;color:#ccd5db;cursor:pointer}.acs-overlay-advanced[open]{padding:0 6px 5px}.acs-empty-overlay{padding:14px 8px;text-align:center;color:#89969e;font-size:10px;line-height:1.45;border:1px dashed #374149}
@media(max-width:1250px){.acs-workspace{grid-template-columns:218px minmax(560px,1fr) 264px!important}}

/* Patch 255 — Image Border Wrap */
.acs-image-border-wrap{position:absolute;inset:0;pointer-events:none;z-index:90;overflow:visible;opacity:var(--border-opacity,1);contain:layout style}
.acs-image-border-side{position:absolute;display:block;background-position:center;pointer-events:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.22));transform-origin:center}
.acs-image-border-side.top,.acs-image-border-side.bottom{left:var(--border-neg-inset);right:var(--border-neg-inset);height:var(--border-thickness)}
.acs-image-border-side.top{top:var(--border-edge)}
.acs-image-border-side.bottom{bottom:var(--border-edge)}
.acs-image-border-side.left,.acs-image-border-side.right{top:50%;width:calc(var(--component-height, 300px) + var(--border-expand));height:var(--border-thickness);max-width:none}
.acs-image-border-side.left{left:var(--border-edge);transform:translate(-50%,-50%) rotate(90deg)}
.acs-image-border-side.right{right:var(--border-edge);transform:translate(50%,-50%) rotate(90deg)}
.acs-image-border-wrap.corner-rounded{clip-path:inset(-120px round var(--border-thickness))}
.acs-image-border-wrap.corner-hidden .acs-image-border-side{clip-path:inset(0 calc(var(--border-thickness) * .55))}
.acs-border-upload{display:grid;grid-template-columns:1fr auto auto;gap:5px;align-items:center;margin-bottom:7px}
.acs-border-preview{display:grid;grid-template-columns:62px 1fr;gap:8px;align-items:center;padding:7px;border:1px solid rgba(185,147,75,.32);background:rgba(255,255,255,.035);border-radius:5px;margin-bottom:7px}
.acs-border-preview img{width:62px;height:30px;object-fit:contain;background:repeating-conic-gradient(#182029 0 25%,#111820 0 50%) 50%/10px 10px;border-radius:3px}
.acs-border-preview span{display:flex;flex-direction:column;min-width:0;color:#b8c0c7;font-size:10px}.acs-border-preview strong{color:#f0d187;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}
.acs-border-empty{padding:12px 10px;border:1px dashed rgba(185,147,75,.38);border-radius:6px;background:rgba(185,147,75,.045);text-align:center;color:#aeb7bf}.acs-border-empty strong{display:block;color:#e4c474;margin-bottom:5px}.acs-border-empty p{font-size:10px;line-height:1.4;margin:0}
.acs-border-check{display:flex!important;align-items:center;gap:6px;min-height:24px!important;padding:3px 5px!important;border:1px solid rgba(255,255,255,.08);border-radius:4px;background:rgba(255,255,255,.025);font-size:10px!important}.acs-border-check input{width:13px!important;height:13px!important;margin:0!important}.acs-border-check span{white-space:nowrap}
.acs-border-sides{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:6px 0}
.acs-border-select{display:grid!important;grid-template-columns:72px 1fr;gap:6px;align-items:center;margin:4px 0!important}.acs-border-select span{font-size:9px;color:#aeb7bf;text-transform:uppercase;letter-spacing:.04em}.acs-border-select select{height:27px!important;font-size:10px!important;padding:2px 5px!important}

/* Patch 262: quiet arrangement workspace and remove global edit-mode launcher. */
.component-edit-mode-control{display:none!important}
.atelier2-workspace-empty-note button{margin-top:10px;width:100%;min-height:34px;border:1px solid rgba(191,157,82,.55);border-radius:5px;background:linear-gradient(180deg,#4b4a3f,#302f29);color:#f3e4b5;font-weight:700;cursor:pointer}
.atelier2-center{padding-top:0!important}
.atelier2-stage{border-top:0!important}

/* PATCH 264 — single canvas scale control and non-overlapping image quick rail */
.atelier2-command-scale{display:flex;align-items:center;gap:.35rem;margin-left:.2rem;color:#aeb7c0;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}
.atelier2-command-scale select{height:32px;min-width:70px;padding:0 .45rem;border:1px solid #46515c;border-radius:5px;background:#11171d;color:#f2ead8}
.atelier2-image-quickrail__top{display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important;gap:.42rem!important}
.atelier2-image-quickrail__status{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:.4rem!important;padding-bottom:.25rem;border-bottom:1px solid rgba(255,255,255,.08)}
.atelier2-image-quickrail__buttons{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:.4rem!important;align-items:stretch!important}
.atelier2-image-quickrail__buttons .atelier2-file-button,.atelier2-image-quickrail__buttons button{position:relative!important;inset:auto!important;width:auto!important;min-width:0!important;margin:0!important;box-sizing:border-box!important}
.atelier2-image-quickrail__modes{display:grid!important;grid-template-columns:1fr!important;gap:.28rem!important}
.atelier2-image-mode-check{display:flex!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:.45rem!important;min-height:28px!important;margin:0!important;padding:.28rem .4rem!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:5px!important;background:rgba(255,255,255,.025)!important}
.atelier2-image-mode-check input{width:15px!important;height:15px!important;margin:0!important}
.atelier2-image-mode-check span{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;letter-spacing:.03em!important}
.atelier2-compare-grid{display:none!important}


/* PATCH 268 — canonical positive image actions */
.atelier2-image-quickrail__load,
.acs-file-button:not(.disabled){
  border-color:#2f9f62!important;
  background:linear-gradient(180deg,#17884f,#0d6c3c)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 1px 3px rgba(0,0,0,.28)!important;
  font-weight:800!important;
}
.atelier2-image-quickrail__load:hover,
.acs-file-button:not(.disabled):hover{
  border-color:#65ce91!important;
  background:linear-gradient(180deg,#20a965,#138049)!important;
}
.atelier2-image-quickrail__load:focus-within,
.acs-file-button:not(.disabled):focus-within{
  outline:2px solid rgba(87,211,139,.45)!important;
  outline-offset:2px!important;
}

/* Patch 232: canonical Component preset switcher. Presets change defaults, never editor type. */
.acs-preset-switcher{display:flex;flex-direction:column;gap:5px;min-width:250px;margin:0 8px}.acs-preset-switcher>span{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.09em;color:#aeb4b8}.acs-preset-switcher>div{display:flex;padding:3px;border:1px solid #343a3e;border-radius:8px;background:#111518;box-shadow:inset 0 1px 2px rgba(0,0,0,.45)}.acs-preset-switcher button{display:flex;align-items:center;justify-content:center;gap:5px;min-width:76px;padding:7px 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:#b9bec1;font:600 11px/1.1 inherit;cursor:pointer}.acs-preset-switcher button:hover{color:#f0d18a;background:#1b2023}.acs-preset-switcher button.active{border-color:#b98b3c;background:linear-gradient(180deg,#3a3020,#292116);color:#f4d48d;box-shadow:inset 0 0 0 1px rgba(245,207,126,.12),0 1px 3px rgba(0,0,0,.45)}.acs-preset-switcher button span{font-size:13px}.acs-commandbar{column-gap:10px}.acs-asset-name{min-width:210px}.acs-presets--large{display:none!important}
@media (max-width:1180px){.acs-preset-switcher{min-width:210px}.acs-preset-switcher button{min-width:62px;padding-inline:6px}.acs-preset-switcher button span{display:none}}


/* Patch 233: safe live-preview selection -------------------------------------- */
.atelier-page-preview.shift-to-edit .atelier-preview-inspect { cursor: default; }
.atelier-page-preview.shift-to-edit.shift-key-down .atelier-preview-inspect,
.atelier-page-preview.shift-to-edit .atelier-preview-inspect:hover { transition: outline-color 120ms ease, filter 120ms ease; }
.atelier-page-preview.shift-to-edit.shift-key-down .atelier-preview-inspect:hover { outline: 3px solid rgba(83,126,79,.78); outline-offset: -3px; filter: brightness(.98); cursor: crosshair; }
.atelier-preview-navigation-zones { position:absolute; inset:0; z-index:4; display:grid; grid-template-columns:repeat(12,1fr); }
.atelier-preview-navigation-zones button { appearance:none; border:0; background:transparent; min-width:0; padding:0; cursor:pointer; position:relative; }
.atelier-preview-navigation-zones button span { position:absolute; left:50%; bottom:7px; transform:translateX(-50%); padding:2px 5px; border-radius:999px; background:rgba(248,244,232,.78); color:#31453d; font:600 9px/1.1 Georgia,serif; opacity:0; transition:opacity 120ms ease; white-space:nowrap; }
.atelier-preview-navigation-zones button:hover span,.atelier-preview-navigation-zones button.active span { opacity:1; }
.atelier-preview-navigation-zones button.active::after { content:""; position:absolute; left:22%; right:22%; bottom:2px; height:2px; background:#5b755d; border-radius:99px; }
.atelier2-saved-drafts { display:grid; gap:8px; min-width:min(560px,72vw); max-height:52vh; overflow:auto; padding:2px; }
.atelier2-saved-drafts article { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:stretch; border:1px solid rgba(91,72,43,.2); border-radius:10px; background:#fbf7ed; overflow:hidden; }
.atelier2-saved-drafts__open { border:0; background:transparent; text-align:left; padding:12px 14px; display:grid; gap:3px; cursor:pointer; color:inherit; }
.atelier2-saved-drafts__open:hover { background:rgba(98,126,91,.09); }
.atelier2-saved-drafts__open strong { font-family:Georgia,serif; font-size:16px; }
.atelier2-saved-drafts__open span,.atelier2-saved-drafts__empty span { opacity:.7; font-size:12px; }
.atelier2-saved-drafts__delete { border:0; border-left:1px solid rgba(91,72,43,.15); background:transparent; padding:0 13px; cursor:pointer; }
.atelier2-saved-drafts__delete:hover { background:#f4e3df; color:#8a2f28; }
.atelier2-saved-drafts__empty { display:grid; gap:5px; text-align:center; padding:28px 18px; }


/* Patch 233 corrected: the edit-what-you-see entry belongs to Component Studio. */
.acs-application-entry{height:calc(100vh - var(--tapestry-header-height,0px));min-height:680px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#0d1114;color:#e9e6dd;overflow:hidden}
.acs-application-entry__header{min-height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #30383b;background:#11171a}
.acs-application-entry__scale{display:flex;align-items:center;gap:10px;color:#aeb5b8;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.acs-application-entry__scale strong{padding:7px 11px;border:1px solid #465156;border-radius:7px;background:#182025;color:#f1d18b;font-size:14px}
.acs-application-entry__stage{min-height:0;display:grid;place-items:center;padding:24px;overflow:auto;background:radial-gradient(circle at 50% 25%,#20292d 0,#11171a 48%,#090d0f 100%)}
.acs-application-entry__stage .atelier-page-preview{width:min(1500px,100%);min-height:720px}
.acs-application-entry__hint{min-height:54px;display:flex;align-items:center;justify-content:center;gap:14px;border-top:1px solid #30383b;background:#11171a;color:#aeb5b8;font-size:13px}.acs-application-entry__hint strong{color:#f0d28e}.acs-application-entry__hint kbd{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid #687176;border-bottom-width:2px;border-radius:5px;background:#20282c;color:#fff;font:inherit}

/* Patch 234: Component Studio shows the real Tapestry application, not the Studio mock canvas. */
.acs-application-entry__stage--live{display:grid;place-items:start center;min-height:600px;padding:22px;overflow:auto}
.acs-application-entry>.acs-workshop-entry-tools{display:none!important}
.acs-application-entry__stage--live{position:relative}
.acs-opening-editor{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:rgba(9,13,15,.88);color:#f1d18a;font-size:16px;letter-spacing:.02em}
html.atelier-component-selection-mode body::after{content:"";position:fixed;inset:0;z-index:2147483000;background:rgba(7,15,21,.055);pointer-events:none}
html.atelier-component-selection-mode [data-component-id]:not([data-component-origin="workshop-auto"]){outline:1px solid rgba(76,137,183,.62);outline-offset:1px}
.acs-live-tapestry-frame{--acs-virtual-width:1920px;--acs-virtual-height:1080px;position:relative;width:calc(var(--acs-virtual-width) * var(--acs-live-scale));height:calc(var(--acs-virtual-height) * var(--acs-live-scale));flex:0 0 auto;border:1px solid #596267;border-radius:4px;background:#f7f0e3;box-shadow:0 22px 60px rgba(0,0,0,.38);overflow:hidden}
.acs-live-tapestry-frame__iframe{display:block;width:var(--acs-virtual-width);height:var(--acs-virtual-height);transform:scale(var(--acs-live-scale));transform-origin:top left;border:0;background:#f7f0e3}
.acs-application-entry__scale select{min-width:76px;height:34px;border:1px solid #454d52;border-radius:5px;background:#11171a;color:#f1d18a;padding:0 8px}

/* Patch 274 — obvious, browser-safe Component Studio selection control */
.acs-application-entry__tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.acs-select-to-edit{display:flex;align-items:center;gap:11px;min-height:52px;padding:7px 18px 7px 9px;border:1px solid #64aa70;border-radius:9px;background:linear-gradient(180deg,#4fa962 0%,#338446 100%);color:#fff;box-shadow:0 2px 0 #1e5d30,0 8px 20px rgba(0,0,0,.28);cursor:pointer;text-align:left;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}
.acs-select-to-edit:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 3px 0 #1e5d30,0 10px 24px rgba(0,0,0,.32)}
.acs-select-to-edit:focus-visible{outline:3px solid rgba(154,220,166,.55);outline-offset:3px}
.acs-select-to-edit__check{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:2px solid rgba(255,255,255,.85);border-radius:50%;background:rgba(255,255,255,.14);font-size:24px;font-weight:900;line-height:1}
.acs-select-to-edit>span:last-child{display:grid;gap:1px}.acs-select-to-edit strong{font-size:15px;letter-spacing:.01em}.acs-select-to-edit small{color:#e8f7eb;font-size:11px;font-weight:600}
.acs-select-to-edit.is-selecting{background:linear-gradient(180deg,#69ba75 0%,#3d9150 100%);box-shadow:0 0 0 3px rgba(104,188,119,.24),0 3px 0 #1e5d30,0 10px 26px rgba(0,0,0,.34)}
.acs-selection-cancel{height:38px;padding:0 15px;border:1px solid #596267;border-radius:7px;background:#1c2428;color:#e9e6dd;font-weight:700;cursor:pointer}
.acs-selection-cancel:hover{background:#273136}
.acs-application-entry__hint.is-selecting{background:#17251b}.acs-application-entry__hint.is-selecting strong{color:#9ee0a9}
@media(max-width:900px){.acs-application-entry__header{align-items:flex-start;gap:12px;padding:10px 14px}.acs-application-entry__tools{flex-wrap:wrap}.acs-select-to-edit{order:1;width:100%}.acs-application-entry__scale{order:2}.acs-selection-cancel{order:3}}
/* Patch 276: durable selected-object dimensions and safe size lock. */
.acs-size-fields{flex-wrap:wrap;gap:.42rem!important}
.acs-size-lock{min-height:34px;padding:.38rem .7rem;border:1px solid rgba(201,164,76,.72);border-radius:7px;background:#283039;color:#f5efe1;font-weight:800;white-space:nowrap}
.acs-size-lock.locked{background:#174f31;border-color:#58b977;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.acs-source-size{width:100%;text-align:right;color:#b9c0c6;letter-spacing:.04em}
.acs-size-fields input:disabled{opacity:.72;cursor:not-allowed;background:#1c2228;color:#d9dfe4}

/* Patch 262 — Visual UI Library */
.atelier-shell--studio:has(.atelier-library){background:#111517!important}.atelier-library{height:calc(100vh - 142px);min-height:720px;display:grid;grid-template-rows:70px minmax(0,1fr);overflow:hidden;background:#111517;color:#edf0f1;font-family:Inter,Segoe UI,sans-serif}.atelier-library__toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(210px,.7fr) 180px auto auto;gap:10px;align-items:center;padding:10px 18px;border-bottom:1px solid #34393c;background:linear-gradient(180deg,#181c1f,#0d1012);box-shadow:0 8px 24px rgba(0,0,0,.22);z-index:2}.atelier-library__identity{display:flex;align-items:center;gap:12px}.atelier-library__mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #c89b4b;border-radius:7px;background:linear-gradient(145deg,#2d2517,#15120d);color:#eccb80;font-family:Georgia,serif;font-size:24px;box-shadow:inset 0 0 0 2px rgba(230,189,104,.12)}.atelier-library__identity strong,.atelier-library__selection strong{display:block;font-family:Georgia,serif;font-size:18px;font-weight:500}.atelier-library__identity small,.atelier-library__selection span,.atelier-library__page-select span{display:block;margin-top:2px;color:#aeb4b7;font-size:11px;text-transform:uppercase;letter-spacing:.11em}.atelier-library__selection{min-width:0;padding-left:14px;border-left:1px solid #363b3e}.atelier-library__selection strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e7c476}.atelier-library__page-select{display:grid;gap:4px}.atelier-library__page-select select{height:35px;border:1px solid #454b4f;border-radius:5px;background:#0d1012;color:#f0f1f2;padding:0 30px 0 10px}.atelier-library__tool,.atelier-library__send{height:38px;padding:0 15px;border-radius:5px;font-weight:700;letter-spacing:.02em}.atelier-library__tool{border:1px solid #555d61;background:#1d2225;color:#e9ecee}.atelier-library__send{border:1px solid #d3a74f;background:linear-gradient(#efd183,#c99b43);color:#17120a;box-shadow:inset 0 1px rgba(255,255,255,.45)}.atelier-library__tool:disabled,.atelier-library__send:disabled{opacity:.38}.atelier-library__body{display:grid;grid-template-columns:255px minmax(0,1fr);min-height:0}.atelier-library__categories{min-height:0;overflow:auto;border-right:1px solid #353a3d;background:linear-gradient(180deg,#15191b,#0d1012);scrollbar-color:#4f565a #111416}.atelier-library__category-heading{display:flex;justify-content:space-between;align-items:end;padding:19px 18px 12px;border-bottom:1px solid #2c3134}.atelier-library__category-heading span{font-family:Georgia,serif;font-size:16px}.atelier-library__category-heading small{color:#9ea5a9}.atelier-library__categories nav{padding:7px}.atelier-library__categories nav button{width:100%;display:grid;grid-template-columns:33px 1fr auto;gap:9px;align-items:center;padding:10px 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:#e4e7e8;text-align:left}.atelier-library__categories nav button:hover{background:#1b2023}.atelier-library__categories nav button.active{border-color:#a87c30;background:linear-gradient(90deg,#2e2619,#1a1c1c);box-shadow:inset 3px 0 #e3b95f}.atelier-library__category-icon{display:grid;place-items:center;width:29px;height:29px;border:1px solid #454b4f;border-radius:5px;background:#101315;color:#d8b86d;font-family:Georgia,serif;font-size:16px}.atelier-library__categories strong{display:block;font-size:13px}.atelier-library__categories small{display:block;margin-top:2px;color:#8f979b;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.atelier-library__categories em{min-width:22px;padding:3px 5px;border-radius:10px;background:#272c2f;color:#aeb4b7;font-size:10px;text-align:center;font-style:normal}.atelier-library__gallery{min-width:0;overflow:auto;padding:24px 28px 50px;background:radial-gradient(circle at 52% 0,#2b3033 0,#202527 42%,#171b1d 100%)}.atelier-library__gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(196,163,94,.32)}.atelier-library__gallery-heading>div>span{color:#d6ad5d;font-size:11px;text-transform:uppercase;letter-spacing:.14em}.atelier-library__gallery-heading h2{margin:3px 0 3px;font-family:Georgia,serif;font-size:28px;font-weight:500}.atelier-library__gallery-heading p{margin:0;color:#aab0b3}.atelier-library__search{width:min(330px,38%);display:grid;gap:5px}.atelier-library__search span{color:#aeb4b7;font-size:11px;text-transform:uppercase;letter-spacing:.09em}.atelier-library__search input{height:38px;border:1px solid #4a5054;border-radius:6px;background:rgba(10,13,15,.88);color:#fff;padding:0 12px}.atelier-library__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:18px}.atelier-library-card{position:relative;display:grid;grid-template-rows:160px auto auto;min-width:0;padding:0;overflow:hidden;border:1px solid #464d50;border-radius:8px;background:#111517;color:#edf0f1;text-align:left;box-shadow:0 12px 26px rgba(0,0,0,.2);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.atelier-library-card:hover{transform:translateY(-2px);border-color:#8d7547;box-shadow:0 15px 32px rgba(0,0,0,.32)}.atelier-library-card.selected{border-color:#e1b85e;box-shadow:0 0 0 2px rgba(225,184,94,.25),0 17px 38px rgba(0,0,0,.38)}.atelier-library-card.selected:after{content:'SELECTED';position:absolute;top:9px;right:9px;padding:4px 7px;border-radius:10px;background:#d5a84c;color:#17120a;font-size:9px;font-weight:800;letter-spacing:.1em}.atelier-library-card__preview{position:relative;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid #3b4144;background:#262b2e}.atelier-library-card__meta{display:flex;justify-content:space-between;gap:9px;padding:12px 13px 9px}.atelier-library-card__meta strong{display:block;font-family:Georgia,serif;font-size:15px;font-weight:500}.atelier-library-card__meta small{display:block;margin-top:3px;color:#979fa3;font-size:10px}.atelier-library-card__favorite{color:#e5ba5d}.atelier-library-card__foot{display:flex;justify-content:space-between;padding:8px 13px;border-top:1px solid #292e31;color:#939b9f;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.specimen-ornament{position:relative;z-index:3}.specimen-line{position:absolute;display:block;border-radius:999px;background:currentColor;opacity:.35}.specimen-line.one{left:16%;right:16%;bottom:29%;height:5px}.specimen-line.two{left:24%;right:24%;bottom:21%;height:4px}.specimen-line.three{left:31%;right:31%;bottom:14%;height:3px}
/* thumbnail specimen families */
.museum-window{margin:17px;border:7px double rgba(205,173,103,.72);border-radius:9px;background:linear-gradient(145deg,rgba(241,239,221,.88),rgba(178,193,188,.56));color:#50452f;box-shadow:inset 0 0 20px rgba(255,255,255,.65),0 10px 18px rgba(0,0,0,.25)}.museum-window .specimen-ornament{padding:9px 22px;border:1px solid #9e814d;background:rgba(248,242,219,.82);font:12px Georgia,serif;letter-spacing:.14em}.parchment-window{margin:17px;border:5px double #91754f;background:linear-gradient(120deg,#e3d0a3,#c6aa72);color:#57401e}.engineering-window{margin:15px;border:8px solid #53595a;border-radius:10px;background:linear-gradient(#aeb1aa,#70756f);box-shadow:inset 0 0 0 2px #252a2b,inset 0 0 0 5px #d0c293;color:#191b1b}.engineering-window:before,.engineering-window:after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:#252728;top:8px}.engineering-window:before{left:8px}.engineering-window:after{right:8px}.maritime-window{margin:16px;border:7px ridge #89663c;background:linear-gradient(#e5d7b6,#a7b7b0);color:#283c40}.birch-window{margin:16px;border:4px double #9a8a6b;background:linear-gradient(105deg,#f4efe1,#ddd3bf 55%,#f7f3e8);color:#514736}.minimal-window{margin:18px;border:1px solid #b7b9b8;background:#e7e6e0;color:#505457}.heirloom-button,.brass-button,.glass-button{margin:50px 30px;border-radius:7px}.heirloom-button{border:2px solid #8f7a57;background:linear-gradient(#f4ecd8,#d7c9a9);color:#55462e;box-shadow:0 5px 0 #85724f}.brass-button{border:2px solid #5d4928;background:linear-gradient(#e5c979,#9c7530);color:#261c0d;box-shadow:inset 0 1px #fff0ad,0 5px 0 #4e3d22}.glass-button{border:1px solid #aab9b6;background:linear-gradient(rgba(238,248,245,.9),rgba(153,176,170,.75));color:#31423f;box-shadow:inset 0 0 10px #fff,0 7px 16px rgba(0,0,0,.25)}.record-card,.photo-card,.launch-tile{margin:15px;border:1px solid #a99b82;background:#eee7d9;color:#4f4535}.photo-card:before{content:'';position:absolute;top:20px;width:55px;height:66px;border-radius:50% 50% 44% 44%;background:#a79f91}.brass-plaque,.ivory-plaque{margin:48px 25px;border-radius:3px;letter-spacing:.16em}.brass-plaque{border:2px solid #56411e;background:linear-gradient(#d4b55d,#8b6729);color:#2b210f}.ivory-plaque{border:3px double #9b8761;background:#ede4cf;color:#5f5034}.museum-header{align-items:start!important;padding:27px 25px;background:linear-gradient(#ede9dc,#bac7c3);color:#564830;border-bottom:7px double #aa8b54}.panorama-nav{background:linear-gradient(180deg,#d9d0b6 0 25%,#9ba57c 26% 56%,#4f6143 57% 100%);color:#f5e9b8}.panorama-nav:before{content:'♣  ♠  ♣  ♠  ♣';position:absolute;bottom:25px;font-size:35px;letter-spacing:15px;color:#293d2c}.fade-overlay{background:linear-gradient(90deg,#d8cdb5,transparent 70%),linear-gradient(135deg,#4b6270,#b8c5c8);color:#fff}.focus-overlay{background:radial-gradient(circle,rgba(230,221,189,.82) 0 22%,rgba(20,24,27,.9) 58%);color:#f6e7b5}.atelier-specimen-today-dashboard,.household-dashboard,.template-today,.template-engineering{background:#d8d0bb;color:#4a3b25}.atelier-specimen-today-dashboard:before,.household-dashboard:before,.template-today:before,.template-engineering:before{content:'';position:absolute;inset:18px;display:block;border:4px double #8e774f;background:linear-gradient(90deg,transparent 49%,#9b8763 50%,transparent 51%),linear-gradient(#e9e2d2 49%,#9b8763 50%,#e9e2d2 51%)}.template-engineering{background:#707772}.calendar-classic{margin:15px;border:5px double #9b835a;background:repeating-linear-gradient(90deg,#ede3ce 0 28px,#b6a989 29px 30px),repeating-linear-gradient(#ede3ce 0 24px,#b6a989 25px 26px);color:#59492e}.weather-roadster{background:linear-gradient(#9db9ca 0 52%,#667557 53% 66%,#81705e 67%);color:#fff}.weather-roadster:before{content:'☁';position:absolute;top:22px;right:36px;font-size:48px;color:#eef3f4}.background-birch{background:repeating-linear-gradient(96deg,#eee7d7 0 20px,#d8cfbd 21px 23px,#f3ecdf 24px 47px);color:#5f5441}.background-walnut{background:repeating-linear-gradient(95deg,#482b1b 0 20px,#69422a 21px 43px,#3b2418 44px 47px);color:#f3ddad}.material-glass{margin:17px;border:1px solid #c8d8d4;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(141,171,166,.58));color:#415955;box-shadow:inset 0 0 18px #fff}.material-brass{margin:17px;border:2px solid #5a431e;background:linear-gradient(120deg,#6f5125,#e5c76d 45%,#866226 70%,#d2ae55);color:#20180c}.type-heirloom{background:#eee8dc;color:#584a35}.type-heirloom .specimen-ornament{font:italic 62px Georgia,serif}.effect-shadow{margin:29px;border-radius:7px;background:#e8e2d5;color:#4b4336;box-shadow:15px 17px 20px rgba(0,0,0,.46)}.atelier-library__empty{padding:80px;text-align:center;color:#aab1b4}.atelier-library__empty>span{font-size:42px;color:#d5aa53}.atelier-library__empty h3{font-family:Georgia,serif;color:#eef0f1}
@media(max-width:1180px){.atelier-library__toolbar{grid-template-columns:240px 1fr 165px auto}.atelier-library__tool{display:none}.atelier-library__body{grid-template-columns:220px}.atelier-library__grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media(max-width:820px){.atelier-library{height:auto;min-height:720px;overflow:visible}.atelier-library__toolbar{grid-template-columns:1fr auto;position:sticky;top:0}.atelier-library__selection,.atelier-library__page-select{display:none}.atelier-library__body{grid-template-columns:1fr}.atelier-library__categories{border-right:0;border-bottom:1px solid #353a3d;overflow:auto}.atelier-library__categories nav{display:flex;gap:5px}.atelier-library__categories nav button{min-width:150px}.atelier-library__categories small,.atelier-library__categories em,.atelier-library__category-heading{display:none}.atelier-library__gallery{padding:18px}.atelier-library__gallery-heading{align-items:start}.atelier-library__search{width:45%}}

/* Patch 329 — keep Workshop guidance below the canvas and preserve the full work surface. */
.acs-center{
  grid-template-rows:66px minmax(0,1fr) auto!important;
}
.acs-stage{
  padding:52px 45px 48px!important;
}
.acs-drag-hint{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  z-index:1;
  justify-self:center;
  max-width:calc(100% - 48px);
  margin:8px auto 12px;
  padding:10px 22px!important;
  box-sizing:border-box;
  text-align:center;
  line-height:1.35;
}

/* Patch 331: true saved-component previews and Library organization tools. */
.atelier-library-card__preview.actual-component-preview{position:relative;isolation:isolate;background:radial-gradient(circle at 50% 38%,#3a4043,#23282b 62%,#181c1e);background-image:linear-gradient(45deg,rgba(255,255,255,.025) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.025) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.025) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.025) 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}.atelier-library-card__component-stage{position:absolute;left:50%;top:50%;display:block;transform-origin:center;pointer-events:none}.atelier-library-card__component-stage>.tapestry-component-renderer{margin:0!important;max-width:none!important;max-height:none!important;pointer-events:none}.atelier-library__asset-actions{display:grid;grid-template-columns:minmax(180px,1fr) minmax(190px,260px) auto auto;gap:10px;align-items:end;margin:-4px 0 18px;padding:12px 14px;border:1px solid rgba(205,167,83,.42);border-radius:8px;background:linear-gradient(180deg,rgba(35,31,23,.96),rgba(20,23,24,.96));box-shadow:0 8px 22px rgba(0,0,0,.18)}.atelier-library__asset-actions>div>span,.atelier-library__asset-actions label>span{display:block;margin-bottom:4px;color:#aaaeb0;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.atelier-library__asset-actions>div strong{display:block;overflow:hidden;color:#e8ca82;font:500 16px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.atelier-library__asset-actions label{display:block}.atelier-library__asset-actions select{width:100%;height:36px;padding:0 30px 0 10px;border:1px solid #4b5255;border-radius:5px;background:#0d1113;color:#eef0f1}.atelier-library__move,.atelier-library__delete{height:36px;padding:0 14px;border-radius:5px;font-weight:800}.atelier-library__move{border:1px solid #d0a550;background:linear-gradient(#ebcc7c,#bd8f39);color:#17120a}.atelier-library__delete{border:1px solid #8a4e4e;background:#2d1718;color:#f1c6c6}.atelier-library__move:disabled,.atelier-library__delete:disabled{opacity:.45}.atelier-library__dialog-backdrop{position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:24px;background:rgba(5,7,8,.72);backdrop-filter:blur(5px)}.atelier-library__dialog{width:min(460px,94vw);padding:18px;border:1px solid #79613b;border-radius:10px;background:linear-gradient(180deg,#202426,#101315);color:#e9ecee;box-shadow:0 30px 80px rgba(0,0,0,.58)}.atelier-library__dialog header{display:flex;align-items:start;justify-content:space-between;gap:18px;padding-bottom:12px;border-bottom:1px solid #3b4043}.atelier-library__dialog header span{color:#d2aa5c;font-size:9px;font-weight:800;letter-spacing:.15em}.atelier-library__dialog h2{margin:3px 0 0;font:500 23px Georgia,serif}.atelier-library__dialog header>button{width:30px;height:30px;border:1px solid #4a5053;border-radius:50%;background:#111517;color:#eef0f1;font-size:20px}.atelier-library__dialog p{margin:18px 0;color:#bfc4c6;line-height:1.55}.atelier-library__dialog p strong{color:#f1d494}.atelier-library__dialog footer{display:flex;justify-content:flex-end;gap:9px}.atelier-library__dialog footer button{height:38px;padding:0 15px;border-radius:5px;font-weight:800}.atelier-library__dialog footer .secondary{border:1px solid #555c60;background:#1c2124;color:#e6e9ea}.atelier-library__dialog footer .danger{border:1px solid #a95a5a;background:linear-gradient(#7d3235,#572124);color:#fff}.atelier-library__dialog footer button:disabled{opacity:.45}
@media(max-width:900px){.atelier-library__asset-actions{grid-template-columns:1fr 1fr}.atelier-library__move,.atelier-library__delete{width:100%}}

/* Patch 332: compact, real Library thumbnails and explicit component/image filters. */
.atelier-library-card__thumbnail{display:block;max-width:calc(100% - 22px);max-height:calc(100% - 18px);width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.32);pointer-events:none}.atelier-library__discovery{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:10px}.atelier-library__filters{display:flex;flex-wrap:wrap;gap:5px}.atelier-library__filters button{height:30px;padding:0 9px;border:1px solid #444b4f;border-radius:5px;background:#151a1d;color:#b7bdc0;font-size:10px;font-weight:700}.atelier-library__filters button.active{border-color:#c69b49;background:#332a1b;color:#f0ce82}.atelier-library__search{width:min(330px,100%)}
