@layer base, scene, gallery, dialogs, responsive;
@layer base {
  :root { color-scheme: light; --ink:#292b37; --night:#171627; --paper:#f3f0e8; --lavender:#c8bde6; --gold:#e6cc9e; --muted:#6a6a70; --serif:Georgia,'Times New Roman',serif; }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; scroll-padding-top:36px; }
  body { margin:0; background:var(--night); color:var(--paper); font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; font-size:15px; -webkit-font-smoothing:antialiased; }
  body.modal-open { overflow:hidden; }
  button,input,textarea { font:inherit; }
  button,a,input,textarea { -webkit-tap-highlight-color:transparent; }
  button,a { touch-action:manipulation; }
  button { cursor:pointer; }
  button:disabled { opacity:.4; cursor:default; }
  a { color:inherit; text-decoration:none; }
  button { color:inherit; }
  button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid #c77b48; outline-offset:5px; }
  h1,h2,h3,p { margin-top:0; }
  h1,h2 { font-family:var(--serif); font-weight:400; }
  em { font-weight:400; }
  [hidden] { display:none!important; }
  .eyebrow { font-size:10px; font-weight:600; letter-spacing:.23em; line-height:1.8; }
  .skip-link { position:fixed; top:12px; left:12px; z-index:100; padding:14px 22px; background:var(--paper); color:var(--ink); transform:translateY(-160%); }
  .skip-link:focus { transform:translateY(0); }
  .site-header { position:absolute; top:0; width:100%; z-index:10; display:flex; align-items:center; justify-content:space-between; padding:26px 4.5%; }
  .wordmark { font-family:var(--serif); font-size:38px; letter-spacing:-.065em; line-height:1; }
  .wordmark span { display:inline-block; font-family:var(--serif); color:var(--gold); font-size:28px; margin-left:6px; transform:translateY(-9px); }
  nav { display:flex; align-items:center; gap:34px; font-size:12px; }
  nav a, .studio-link { padding:12px 0; }
  nav a span, .studio-link span { margin-left:8px; color:var(--gold); }
  .studio-link { background:none; border:0; font-size:12px; }
  .quiet-link { display:inline-block; font-size:12px; border-bottom:1px solid #e8dec76b; padding:10px 0; }
  .quiet-link span { margin-left:16px; }
  .quiet-link:hover { border-color:var(--gold); color:var(--gold); }
  footer { background:#222130; padding:50px 6%; display:flex; align-items:center; justify-content:space-between; gap:30px; }
  footer p { margin:0; color:#d3cddd; font-family:var(--serif); font-style:italic; font-size:18px; }
  .motion-control { position:fixed; bottom:20px; right:22px; z-index:12; }
  .motion-control button { display:flex; align-items:center; gap:10px; color:var(--paper); background:#232034ed; padding:10px 16px; border:1px solid #b1a2cf66; border-radius:24px; font-size:11px; box-shadow:0 2px 15px #17162715; }
  .motion-control button>span:first-child { font-size:22px; line-height:1; color:var(--gold); }
  #sparkles { position:fixed; inset:0; width:100%; height:100%; pointer-events:none; z-index:11; }
  .magic-cursor { position:fixed; left:0; top:0; pointer-events:none; color:#ffdfaa; text-shadow:0 0 10px #eca0e6; font-size:26px; line-height:1; opacity:0; z-index:14; }
  .noscript-note { background:var(--paper); color:var(--ink); padding:30px; }
}
@layer scene {
  .journey { position:relative; height:240svh; }
  .stage { position:sticky; top:0; height:100svh; min-height:580px; overflow:hidden; isolation:isolate; background:#19182b; }
  .scenery { position:absolute; inset:-6%; background:#25213d url('assets/dream-garden.jpg') center 60%/cover no-repeat; transform:scale(var(--scene-scale,1)) translateY(var(--scene-y,0%)); will-change:transform; }
  .scene-shade { position:absolute; inset:0; background:linear-gradient(180deg,#0e0c2680 0%,#1511295c 34%,#1716270a 64%,#1716279c 100%); }
  .orbit { position:absolute; border:1px solid #eee0c01f; border-radius:50%; width:min(74vw,1050px); aspect-ratio:1; left:50%; top:45%; transform:translate(-50%,-50%) rotate(-20deg); pointer-events:none; }
  .orbit-one::before { content:'✦'; color:var(--gold); position:absolute; top:15%; left:12%; font-size:20px; text-shadow:0 0 18px #e9b579; }
  .orbit-two { width:min(85vw,1240px); transform:translate(-50%,-50%) rotate(30deg); border-style:dashed; opacity:.45; }
  .chapter { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:95px 24px 140px; text-align:center; will-change:transform,opacity; }
  .chapter .eyebrow { color:#eee2c5; margin-bottom:23px; }
  h1 { font-size:clamp(64px,7.8vw,118px); letter-spacing:-.055em; line-height:1.01; margin-bottom:25px; text-shadow:0 3px 50px #18122a50; }
  h1 em { color:#e1c8e8; }
  .hero-note { font-size:14px; color:#f0e8ec; margin-bottom:19px; letter-spacing:.025em; }
  .chapter-discovery, .chapter-return { opacity:0; pointer-events:none; }
  .chapter-discovery { background:radial-gradient(ellipse,#17162780 0%,transparent 70%); }
  .chapter-title { font-family:var(--serif); font-size:clamp(52px,5.7vw,82px); line-height:1.08; letter-spacing:-.045em; margin-bottom:28px; }
  .chapter-title em { color:#edcee4; }
  .chapter-star { display:block; font-size:64px; color:var(--gold); line-height:1; margin-bottom:30px; }
  .chapter-return { background:radial-gradient(ellipse,#1716279c,transparent 80%); }
  .chapter-return>p:last-child { font-size:13px; color:#eadfeb; }
  .stage-bottom { position:absolute; bottom:34px; left:4.5%; right:4.5%; display:flex; justify-content:space-between; align-items:flex-end; gap:20px; font-size:10px; color:#f2e9e9; }
  .scroll-invitation { position:absolute; left:50%; bottom:0; transform:translateX(-50%); display:flex; align-items:center; flex-direction:column; gap:16px; letter-spacing:.18em; font-size:8px; }
  .scroll-line { display:block; width:1px; height:36px; background:linear-gradient(var(--gold),#ead3b420); }
  .skip-journey { margin-left:auto; padding:12px 0; margin-bottom:40px; }
  .journey-progress { position:absolute; bottom:0; left:0; width:100%; height:2px; background:#faf2df18; }
  .journey-progress span { display:block; height:100%; background:#d3b8df; transform-origin:left; transform:scaleX(var(--progress,0)); }
  .motion-off .journey { height:100svh; min-height:580px; }
  .motion-off .chapter-arrival { opacity:1!important; transform:none!important; pointer-events:auto!important; }
  .motion-off .chapter-discovery,.motion-off .chapter-return,.motion-off .journey-progress { display:none; }
  .motion-off .scenery { transform:none!important; }
  .motion-off .orbit { display:none; }
  .motion-off html, html:has(.motion-off) { scroll-behavior:auto; }
}
@layer gallery {
  .gallery-section { background:var(--paper); color:var(--ink); padding:110px 8% 0; position:relative; }
  .gallery-heading { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-bottom:54px; }
  .gallery-heading .eyebrow { color:#7c6559; margin-bottom:20px; }
  h2 { font-size:clamp(48px,5.7vw,76px); line-height:1.04; letter-spacing:-.045em; margin-bottom:0; }
  .gallery-heading h2 em { color:#716780; }
  .gallery-intro { max-width:300px; padding-top:18px; line-height:1.8; font-size:14px; }
  .small-star { font-size:32px; display:block; color:#8a728c; margin-bottom:20px; }
  .gallery-intro .sample-note { color:#73706f; font-size:11px; margin-top:22px; margin-bottom:0; }
  .gallery-toolbar { display:flex; justify-content:space-between; align-items:center; border-top:1px solid #d9d4ce; padding:18px 0 38px; }
  .gallery-toolbar p { font-size:11px; color:#75716f; margin:0; }
  .gallery-toolbar>span { font-size:9px; letter-spacing:.14em; color:#6e6367; }
  .gallery-toolbar>span span { font-size:22px; margin-left:18px; }
  .art-grid { display:grid; grid-template-columns:1fr 1fr; column-gap:9%; row-gap:62px; align-items:start; }
  .art-card:nth-child(even) { margin-top:110px; }
  .art-card { margin-bottom:0; }
  .art-card button { display:block; width:100%; padding:0; border:0; background:transparent; text-align:left; color:var(--ink); }
  .art-frame { display:block; position:relative; aspect-ratio:4/4.6; background:#ded7e4; overflow:hidden; }
  .art-card:nth-child(even) .art-frame { aspect-ratio:4/4.1; }
  .art-frame img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .65s ease; }
  .art-frame.framed-art,.art-card:nth-child(even) .art-frame.framed-art { background:#dfd6c8; }
  .art-card button:hover .art-frame img { transform:scale(1.035); }
  .sample-badge { position:absolute; bottom:16px; left:16px; font-size:8px; letter-spacing:.13em; background:#f7f3e8ed; color:#4b414f; padding:7px 10px; border-radius:2px; }
  .view-art { position:absolute; top:16px; right:16px; border-radius:50%; width:35px; height:35px; display:grid; place-items:center; background:#f6f0e8e8; color:#4b414f; font-size:19px; }
  .art-meta { display:flex; justify-content:space-between; gap:12px; padding:20px 0; align-items:baseline; border-bottom:1px solid #d9d4ce; }
  .art-meta h3 { font-family:var(--serif); font-size:27px; font-weight:400; margin:0; letter-spacing:-.025em; }
  .art-meta>span { font-size:9px; color:#777071; letter-spacing:.12em; white-space:nowrap; }
  .empty-gallery { padding:60px 0; color:var(--muted); }
  .gallery-ending { text-align:center; padding:100px 0 90px; }
  .gallery-ending>span { font-size:42px; color:#9b7b91; }
  .gallery-ending p { font-family:var(--serif); font-size:clamp(36px,4vw,56px); line-height:1.1; letter-spacing:-.035em; margin:25px 0 30px; }
  .gallery-ending em { color:#817086; }
  .gallery-ending a { font-size:11px; border-bottom:1px solid #bfb5bb; padding-bottom:8px; }
}
@layer dialogs {
  dialog { border:0; padding:0; color:var(--ink); background:var(--paper); box-shadow:0 25px 100px #0006; }
  dialog::backdrop { background:#141220d9; backdrop-filter:blur(8px); }
  .icon-button { border:1px solid #91819450; background:var(--paper); width:40px; height:40px; border-radius:50%; font-size:28px; line-height:1; flex-shrink:0; }
  .art-dialog { width:min(1000px,92vw); max-height:90svh; overflow:auto; }
  .art-dialog[open] { display:grid; grid-template-columns:1.2fr 1fr; }
  .dialog-close { position:absolute; top:16px; right:16px; z-index:2; }
  .art-detail-image { background:#dcd5e2; display:flex; align-items:center; justify-content:center; min-height:500px; }
  .art-detail-image img { display:block; max-width:100%; max-height:80svh; object-fit:contain; }
  #detail-frame { width:100%; }
  .art-detail-copy { padding:80px 44px 40px; display:flex; flex-direction:column; }
  .art-detail-copy h2 { font-size:46px; margin-bottom:30px; overflow-wrap:anywhere; }
  .art-detail-copy>p:not(.eyebrow) { font-size:14px; line-height:1.8; white-space:pre-line; overflow-wrap:anywhere; }
  .art-navigation { display:flex; align-items:center; gap:24px; margin-top:auto; padding-top:30px; }
  .art-navigation button { border:1px solid #c6bcc5; background:transparent; width:42px; height:42px; border-radius:50%; }
  .art-navigation span { font-size:11px; color:#776a78; }
  .studio-dialog { width:min(1050px,94vw); max-height:92svh; padding:38px 44px; }
  .studio-header { display:flex; justify-content:space-between; align-items:center; gap:20px; }
  .studio-header h2 { font-size:52px; }
  .studio-header .eyebrow { color:#7f6b80; font-size:9px; margin-bottom:12px; }
  .studio-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:44px; }
  .studio-layout h3 { font-family:var(--serif); font-size:25px; font-weight:400; letter-spacing:-.02em; margin-bottom:20px; }
  .studio-layout label:not(.upload-area) { display:block; font-size:12px; margin:20px 0 8px; }
  .studio-layout label span { color:#7f7680; }
  input:not([type=checkbox],[type=file]),textarea { width:100%; padding:12px; border:1px solid #cfc5ce; background:#faf8f3; border-radius:3px; color:var(--ink); }
  textarea { resize:vertical; min-height:86px; }
  .upload-area { display:flex; position:relative; flex-direction:column; min-height:165px; justify-content:center; align-items:center; border:1px dashed #b4a4b8; background:#ebe5ed; text-align:center; cursor:pointer; padding:15px; color:#5f4e68; overflow:hidden; }
  .upload-area:focus-within { outline:3px solid #c77b48; outline-offset:4px; }
  .upload-area input { position:absolute; inset:0; opacity:0; width:100%; height:100%; cursor:pointer; }
  .upload-area small { display:block; font-size:10px; color:#756879; margin-top:10px; }
  .upload-area .upload-icon { display:block; font-size:29px; margin-bottom:9px; }
  .upload-area img { max-height:200px; width:100%; object-fit:contain; }
  .checkbox-label { display:flex!important; align-items:center; gap:8px; }
  input[type=checkbox] { width:17px; height:17px; accent-color:#776184; }
  .field-hint { color:#766b76; font-size:11px; line-height:1.6; }
  .form-actions { display:flex; gap:16px; align-items:center; margin-top:24px; }
  .primary-button { padding:13px 22px; border:0; border-radius:3px; background:#494056; color:#fffaf0; }
  .text-button { border:0; padding:8px 0; background:none; color:#67536e; font-size:12px; }
  .form-message { min-height:20px; color:#5e5069; margin:14px 0 0; font-size:12px; line-height:1.6; }
  .form-message.error { color:#963c36; }
  .collection-heading { display:flex; justify-content:space-between; gap:20px; align-items:baseline; }
  .collection-heading h3 { margin:0 0 10px; }
  .collection-heading>span { font-size:11px; color:#746b75; }
  .studio-row { display:grid; grid-template-columns:64px 1fr; gap:15px; padding:19px 0; border-bottom:1px solid #d6cdd6; }
  .studio-thumb { display:block; width:64px; align-self:start; }
  .studio-thumb.framed-art { width:min(64px, calc(120px * var(--frame-ratio))); }
  .studio-thumb img { display:block; width:64px; height:78px; object-fit:cover; }
  .studio-row h4 { font-weight:500; font-size:13px; margin:0 0 8px; overflow-wrap:anywhere; }
  .studio-row p { font-size:10px; color:#746878; margin:0 0 9px; }
  .row-actions { display:flex; flex-wrap:wrap; align-items:center; gap:5px 14px; }
  .row-actions button { border:0; background:none; padding:6px 0; font-size:11px; color:#5c4669; min-height:32px; }
  .row-actions .reorder { padding:4px 8px; border:1px solid #cfc5d2; border-radius:3px; min-width:32px; }
}
@layer responsive {
  @media(min-width:1700px) { .gallery-section { padding-left:max(8%,calc((100vw - 1400px)/2)); padding-right:max(8%,calc((100vw - 1400px)/2)); } }
  @media(max-width:800px) {
    .site-header { padding:24px 6%; }
    .wordmark { font-size:33px; }
    nav { gap:20px; }
    .stage { min-height:580px; }
    h1 { font-size:clamp(55px,10vw,78px); }
    .chapter-title { font-size:clamp(44px,7.5vw,65px); }
    .gallery-section { padding:75px 6% 0; }
    .gallery-heading { gap:30px; }
    .gallery-intro { max-width:220px; font-size:12px; }
    .art-grid { column-gap:6%; }
    .art-meta h3 { font-size:23px; }
    .art-meta>span { display:none; }
    .art-card:nth-child(even) { margin-top:80px; }
    footer { flex-wrap:wrap; }
    .studio-layout { gap:25px; }
    .studio-dialog { padding:28px; }
    .art-detail-copy { padding:65px 28px 30px; }
    .art-detail-copy h2 { font-size:36px; }
    .art-detail-image { min-height:400px; }
  }
  @media(max-width:580px) {
    .site-header { padding:22px 6%; }
    nav { gap:18px; font-size:11px; }
    nav a span, .studio-link span { display:none; }
    .studio-link { font-size:11px; }
    .wordmark { font-size:31px; }
    .wordmark span { font-size:22px; }
    .journey { height:200svh; }
    .chapter { padding:100px 18px 140px; }
    h1 { font-size:clamp(48px,12.4vw,70px); letter-spacing:-.06em; margin-bottom:25px; }
    .chapter .eyebrow { font-size:8px; letter-spacing:.18em; }
    .hero-note { font-size:12px; }
    .quiet-link { font-size:11px; }
    .chapter-title { font-size:clamp(35px,8.5vw,47px); }
    .scenery { background-position:51% 50%; }
    .stage-bottom { bottom:70px; left:6%; right:6%; }
    .scroll-invitation { bottom:40px; font-size:7px; }
    .scroll-line { height:25px; }
    .skip-journey { margin:0; font-size:9px; }
    .orbit { width:115vw; }
    .orbit-two { width:140vw; }
    .gallery-heading { display:block; margin-bottom:35px; }
    h2 { font-size:49px; }
    .gallery-intro { max-width:none; display:grid; grid-template-columns:1fr 1fr; gap:15px; padding-top:28px; align-items:start; }
    .gallery-intro .small-star { display:none; }
    .gallery-intro p { margin:0; font-size:12px; }
    .gallery-intro .sample-note { margin:0; font-size:10px; }
    .gallery-toolbar { padding-bottom:22px; }
    .gallery-toolbar>span { font-size:8px; }
    .gallery-toolbar>span span { margin-left:8px; }
    .art-grid { grid-template-columns:1fr; row-gap:33px; }
    .art-card:nth-child(even) { margin-top:0; }
    .art-frame,.art-card:nth-child(even) .art-frame { aspect-ratio:4/4.3; }
    .art-meta { padding:16px 0; }
    .art-meta>span { display:block; }
    .gallery-ending { padding:65px 0; }
    .gallery-ending p { font-size:40px; }
    footer { padding:35px 6% 70px; gap:22px; }
    footer p { font-size:14px; }
    .motion-control { right:15px; bottom:16px; }
    .motion-control button { font-size:10px; padding:9px 13px; }
    .art-dialog[open] { display:block; }
    .art-detail-image { min-height:0; }
    .art-detail-image img { max-height:47svh; width:100%; }
    .art-detail-copy { padding:28px; }
    .art-detail-copy h2 { font-size:36px; margin-bottom:18px; }
    .art-detail-copy>p:not(.eyebrow) { font-size:12px; }
    .art-navigation { padding-top:10px; }
    .studio-dialog { padding:25px 20px; max-height:94svh; }
    .studio-header h2 { font-size:44px; }
    .studio-layout { grid-template-columns:1fr; gap:32px; }
  }
  @media(prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { animation:none!important; transition:none!important; }
    .journey { height:100svh; min-height:580px; }
    .chapter-arrival { opacity:1!important; transform:none!important; }
    .chapter-discovery,.chapter-return,.journey-progress,#sparkles,.magic-cursor,.orbit { display:none!important; }
    .scenery { transform:none!important; }
  }
  @media(pointer:coarse) { .magic-cursor { display:none!important; } }
  .motion-off .journey { height:100svh; min-height:580px; }
  .framed-art { position:relative; overflow:hidden; }
  .framed-art img { position:absolute!important; top:0; left:0; max-width:none!important; max-height:none!important; object-fit:fill!important; transform-origin:0 0; transition:none!important; }
  .art-detail-image { align-items:center; }
  #detail-frame.framed-art { max-height:none; width:min(100%,calc(80svh * var(--frame-ratio))); flex-shrink:0; }
  .commission-section { background:#e1d9e3; color:var(--ink); padding:95px 8%; display:grid; grid-template-columns:1.1fr 1fr; gap:12%; }
  .commission-section h2 { font-size:clamp(46px,5vw,68px); }
  .commission-section h2 em { color:#78627f; }
  .commission-intro>p:not(.eyebrow) { max-width:355px; font-size:14px; line-height:1.85; margin:25px 0; }
  .commission-intro .primary-button { margin-top:5px; }
  .commission-intro .primary-button span { margin-left:16px; }
  .commission-steps { list-style:none; margin:35px 0 0; padding:0; }
  .commission-steps li { display:flex; gap:25px; padding:27px 0; border-top:1px solid #c4b5cb; }
  .commission-steps li>span { font-size:11px; color:#816d87; padding-top:7px; }
  .commission-steps h3 { font-family:var(--serif); font-weight:400; font-size:25px; margin:0 0 12px; }
  .commission-steps p { font-size:12px; line-height:1.8; color:#665c6a; margin:0; }
  .studio-sections { display:flex; gap:28px; border-bottom:1px solid #d6cbd8; margin-bottom:28px; }
  .studio-sections button { border:0; border-bottom:2px solid transparent; padding:8px 0 14px; background:none; color:#6f6076; font-size:13px; }
  .studio-sections button[aria-pressed=true] { border-bottom-color:#705a80; color:#3c2c45; }
  .studio-subheading { font-family:var(--serif); font-size:30px; font-weight:400; margin:25px 0 15px; }
  .commission-empty { text-align:center; padding:50px 20px; background:#eae5eb; margin:25px 0; }
  .commission-empty>span { font-size:35px; color:#9675a0; }
  .commission-empty h4 { font-family:var(--serif); font-size:26px; font-weight:400; margin:16px 0; }
  .commission-empty p { font-size:12px; line-height:1.8; max-width:330px; margin:auto; color:#6d5d73; }
  .commission-dialog { width:min(650px,94vw); padding:35px 40px; max-height:92svh; }
  .commission-dialog h2 { font-size:46px; }
  .commission-dialog .eyebrow { font-size:9px; }
  .commission-dialog form>label,.request-fields label,.quote-form label { display:block; font-size:12px; margin:19px 0 8px; }
  .request-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  .commission-dialog select { width:100%; padding:12px; font:inherit; border:1px solid #cfc5ce; background:#faf8f3; color:var(--ink); border-radius:3px; }
  .commission-dialog textarea { margin-top:0; }
  .request-card { padding:25px; border:1px solid #d3c8d6; margin:20px 0; }
  .request-card .eyebrow { font-size:8px; color:#7e6586; }
  .request-card h4 { font-family:var(--serif); font-weight:400; font-size:28px; margin:12px 0; }
  .request-contact { font-size:11px; color:#746577; overflow-wrap:anywhere; }
  .request-description { white-space:pre-line; overflow-wrap:anywhere; font-size:14px; line-height:1.8; }
  .quote-form { display:flex; align-items:flex-end; gap:15px; }
  .quote-form label { margin:0; max-width:190px; }
  .quote-form input { margin-top:10px; }
  .quote-form button { font-size:12px; }
  .quote-status { font-size:12px; color:#5e4d68; margin:16px 0 12px; }
  @media(max-width:580px) {
    #detail-frame.framed-art { width:min(100%,calc(47svh * var(--frame-ratio))); }
    nav { gap:13px; } nav a,.studio-link { font-size:10px; }
    .site-header { padding-left:5%; padding-right:5%; }
    .commission-section { grid-template-columns:1fr; padding:60px 7%; gap:20px; }
    .commission-intro>p:not(.eyebrow) { font-size:13px; }
    .commission-steps { margin-top:10px; }
    .commission-dialog { padding:25px 20px; }
    .commission-dialog h2 { font-size:34px; }
    .request-fields { grid-template-columns:1fr; gap:0; }
    .request-card { padding:20px 15px; }
    .quote-form { flex-wrap:wrap; }
    .studio-layout input:not([type=checkbox]),.studio-layout textarea,.commission-dialog input,.commission-dialog textarea,.commission-dialog select,.quote-form input { font-size:16px; }
  }
}

/* Studio controls and optional artwork details share the gallery's quiet palette. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
select { font:inherit; color:var(--ink); }
select:focus-visible,summary:focus-visible { outline:3px solid #734451; outline-offset:3px; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible { outline-color:#734451; }
.icon-button,.art-navigation button,.row-actions button,.text-button,.studio-sections button { min-width:44px; min-height:44px; }
.studio-dialog { width:min(1240px,96vw); padding:34px 38px; }
.studio-layout { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:38px; align-items:start; }
.studio-layout>* { min-width:0; }
.studio-dialog label,#studio-privacy-panel label { display:block; font-size:13px; line-height:1.5; margin:16px 0 7px; color:#4c4055; }
.studio-dialog select,.collection-filters select { display:block; width:100%; min-height:46px; border:1px solid #ae9fb2; border-radius:6px; background:#faf8f3; color:#392c43; padding:10px 12px; font-size:14px; }
.studio-dialog input:not([type=checkbox],[type=file]),.studio-dialog textarea,.collection-filters input { border-color:#ae9fb2; min-height:46px; border-radius:6px; }
.studio-dialog input::placeholder,.studio-dialog textarea::placeholder,.collection-filters input::placeholder { color:#746775; opacity:1; }
.studio-dialog .field-hint,.form-message,.collection-heading>span,.art-navigation span,.studio-row p { color:#65566c; font-size:12px; }
.form-message.error { color:#8d2929; }
.studio-dialog .checkbox-label { min-height:44px; margin:10px 0 0!important; gap:10px; }
.checkbox-label input,.row-select input,.row-flipbook input { width:20px; height:20px; flex:none; }
.studio-layout label span { color:inherit; }
.upload-area small { font-size:12px; color:#61506a; }
.upload-area { border-radius:8px; }
.more-details,.organize-tools { border:1px solid #c7bacb; background:#eee8ef; border-radius:8px; margin:20px 0; padding:0 16px 16px; }
.more-details summary,.organize-tools summary { min-height:48px; padding:14px 0; color:#493651; cursor:pointer; font-size:14px; }
.more-details summary>span { display:inline-block; margin-left:10px; color:#65566c; font-size:11px; }
.more-details:not([open]),.organize-tools:not([open]) { padding-bottom:0; }
.private-details { background:#e9e4ed; }
.detail-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 14px; }
.detail-fields>div { min-width:0; }
.detail-fields .field-hint { margin-bottom:0; }
#new-piece { margin-bottom:12px; font-size:13px; }
#art-form { scroll-margin-top:20px; }
.studio-filters { padding:0 0 12px; border-bottom:1px solid #c7bacb; }
.selection-tools { display:flex; align-items:center; gap:8px 18px; flex-wrap:wrap; padding-top:5px; }
#selection-count { width:100%; font-size:12px; color:#564460; padding-bottom:8px; }
#apply-bulk { margin-top:14px; font-size:13px; }
.sort-tools { border-top:1px solid #c7bacb; margin-top:22px; padding-top:18px; }
.sort-tools h4 { margin:0 0 8px; font-weight:600; }
.sort-tools .field-hint { margin-bottom:6px; }
#sort-preview { border-top:1px solid #c7bacb; margin-top:8px; padding-top:14px; }
#sort-preview-list { font-size:12px; line-height:1.8; padding-left:24px; overflow-wrap:anywhere; }
#sort-preview .primary-button { font-size:13px; }
#sort-preview .text-button { margin-left:12px; }
.studio-row { grid-template-columns:24px 66px minmax(0,1fr); gap:10px; padding:17px 0; }
.studio-row .row-select { min-height:44px; margin:0!important; display:flex; align-items:center; }
.studio-row h4 { font-size:14px; line-height:1.4; margin-bottom:5px; }
.studio-row p { line-height:1.5; margin-bottom:4px; }
.studio-row .row-flipbook { display:flex; align-items:center; min-height:44px; margin:0!important; gap:8px; font-size:12px; }
.studio-thumb img { object-fit:contain; height:auto; max-height:100px; }
.row-actions { gap:5px 13px; }
.row-actions button { font-size:12px; }
.row-actions .reorder { min-width:44px; min-height:44px; }
.studio-sections { gap:25px; margin-top:18px; }
.studio-sections button { font-size:13px; white-space:nowrap; }
#studio-privacy-panel { max-width:650px; margin:0 auto; }
#studio-privacy-panel .studio-subheading { font-size:32px; }
#privacy-mode-help { min-height:42px; margin-top:12px; }
#privacy-form .primary-button { margin:8px 18px 4px 0; }
#studio-backup-tools { border-top:1px solid #c7bacb; margin-top:36px; padding:12px 0 24px; }
.confirm-dialog { width:min(420px,92vw); padding:28px; border-radius:12px; }
.confirm-dialog h2 { font-size:34px; margin-bottom:20px; }
.confirm-dialog p { color:#65566c; line-height:1.6; }
.confirm-dialog .form-actions { flex-wrap:wrap; }
.collection-filters { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) auto; gap:14px; align-items:end; margin:28px 0 10px; }
.collection-filters label { display:block; font-size:12px; color:#59475f; margin-bottom:8px; }
.collection-filters input { padding:12px; background:#faf8f3; font-size:14px; min-width:0; }
.collection-filters>div { min-width:0; }
.collection-filters .text-button { margin-bottom:1px; padding:10px 6px; }
#gallery-results { color:#59475f; min-height:20px; margin:8px 0 18px; }
.art-details { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px 20px; font-size:12px; line-height:1.6; margin:4px 0 20px; }
.art-details:empty { display:none; }
.art-details dt { color:#65566c; }
.art-details dd { margin:0; white-space:pre-line; overflow-wrap:anywhere; }
.art-tags { font-size:12px; color:#65566c; line-height:1.8; overflow-wrap:anywhere; }
#art-story { white-space:pre-line; }
#copy-art-link { align-self:flex-start; }
#art-link-message { overflow-wrap:anywhere; }
#gallery-status .primary-button { display:inline-block; }
.unavailable-image { background:#e9e2d5; color:#59475f; font-size:12px; }
@media(max-width:800px) {
  .studio-dialog { padding:28px 22px; }
  .studio-layout { grid-template-columns:1fr; gap:30px; }
  .collection-filters { grid-template-columns:1fr 1fr; }
  .collection-filters>div:first-child { grid-column:1/-1; }
  .collection-filters>.text-button { grid-column:1/-1; justify-self:start; }
}
@media(max-width:580px) {
  .studio-dialog { width:96vw; max-height:96svh; padding:22px 16px; border-radius:10px; }
  .studio-header .eyebrow { font-size:8px; letter-spacing:.14em; }
  .studio-header h2 { font-size:40px; }
  .studio-sections { gap:16px; justify-content:space-between; }
  .studio-sections button { font-size:12px; }
  .studio-dialog input:not([type=checkbox],[type=file]),.studio-dialog textarea,.studio-dialog select,.collection-filters input,.collection-filters select { font-size:16px; }
  .detail-fields { gap:0 10px; }
  .more-details,.organize-tools { padding-left:12px; padding-right:12px; }
  .more-details .detail-fields { grid-template-columns:1fr; }
  .studio-row { grid-template-columns:24px 52px minmax(0,1fr); gap:8px; }
  .studio-thumb,.studio-thumb img { width:52px; }
  .studio-thumb.framed-art { width:min(52px,calc(100px * var(--frame-ratio))); }
  .row-actions { gap:5px 9px; }
  .row-actions button { font-size:12px; }
  .art-details { grid-template-columns:1fr; gap:3px; font-size:13px; }
  .art-details dd { margin-bottom:10px; }
  .art-detail-copy>p:not(.eyebrow) { font-size:14px; }
  .field-hint { font-size:12px; }
  #studio-privacy-panel .studio-subheading { font-size:30px; }
}
@media(max-width:360px) { .studio-sections { gap:10px; } .studio-sections button { font-size:11px; } .studio-row { grid-template-columns:22px 42px minmax(0,1fr); } .studio-thumb,.studio-thumb img { width:42px; } }
.studio-layout:not(.editing-piece) { grid-template-columns:1fr; }
.studio-layout:not(.editing-piece) .studio-collection { width:100%; }
.collection-heading { flex-wrap:wrap; align-items:center; gap:12px; }
.collection-heading .primary-button { margin-left:auto; font-size:13px; min-height:44px; }
.studio-layout:not(.editing-piece) .studio-filters { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,2fr); gap:0 20px; align-items:end; }
.studio-layout:not(.editing-piece) .studio-filters>label { grid-column:1; }
.studio-layout:not(.editing-piece) .studio-filters>.detail-fields { grid-column:2; grid-row:1/4; grid-template-columns:repeat(4,minmax(0,1fr)); }
.studio-layout:not(.editing-piece) .studio-filters>.text-button { justify-self:start; }
@media(max-width:800px) { .studio-layout:not(.editing-piece) .studio-filters { display:block; } .studio-layout:not(.editing-piece) .studio-filters>.detail-fields { grid-template-columns:1fr 1fr; } }
