/* D016 local design: artwork first, controls within reach. */
:root{--design-surface:#f1efe9;--design-selected:#e8e5db;--design-edge:#888477}
html[data-theme="dark"]{--design-surface:#292b2c;--design-selected:#393b39;--design-edge:#bab8aa}
:is(#collection,#details){padding-block:88px;scroll-margin-top:32px}
:is(#collection,#details) .museum-heading{margin-bottom:40px;text-align:start;display:flex;align-items:end;justify-content:space-between;gap:32px}
:is(#collection,#details) .museum-heading>p{max-width:30ch;text-align:start;margin:0 0 4px;line-height:1.8}
#collection .exhibition{grid-template-columns:minmax(0,1.9fr) minmax(230px,.8fr);gap:52px}
#collection .exhibit-label{padding:0}
#collection .exhibit-metadata>.eyebrow{display:block;font-size:12px;color:var(--muted);margin-bottom:16px}
#collection .exhibit-metadata h3{font-size:clamp(27px,2.7vw,38px);line-height:1.3;letter-spacing:-.03em}
#collection #exhibit-english{font-size:13px;line-height:1.6;margin-top:10px;color:var(--muted)}
#collection #exhibit-phrase{margin-top:24px;font-size:15px;line-height:1.9}
#collection .exhibit-canvas{border-radius:8px}
#collection .exhibit-baseline{padding-top:14px}
#collection .exhibit-nav .round-button{border:1px solid var(--rule);border-radius:50%;margin-inline:4px;width:44px;height:44px}
.design-preview-action{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;margin-top:32px;padding:0 20px;border:1px solid var(--ink);border-radius:6px;background:var(--ink);color:var(--paper);font:inherit;font-size:14px;text-align:start;cursor:pointer;width:100%;max-width:320px}
.design-preview-action:hover{opacity:.85}.design-preview-action:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
#collection .catalogue-disclosure{max-width:none;margin-top:32px}
#collection .catalogue{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
#collection .catalogue-item{padding:8px;border-radius:8px}
#details .studio-layout,#details .studio-layout[data-settings-open="true"]{max-width:none;grid-template-columns:minmax(0,1.45fr) minmax(340px,1fr);gap:36px;align-items:start}
#details .studio-layout[data-settings-open="true"] .studio-preview{top:28px}
#details .studio-screen-stage{padding:12px;border-radius:12px;background:var(--design-surface)}
#details .studio-preview .clock-study{border-radius:6px;overflow:hidden}
#details .studio-art-label{margin-top:14px;font-size:13px}
#details .studio-console{background:var(--design-surface);border:1px solid var(--rule);border-radius:12px;padding:0 24px 24px}
#details .studio-console[open]{padding-bottom:24px}
#details .studio-disclosure{min-height:62px;border-bottom:1px solid var(--rule)}
#details .studio-disclosure-label strong{font-size:15px}
#details .studio-tabs{gap:8px;justify-content:space-between;margin-top:8px}
#details .studio-tabs button{font-size:13px;min-height:48px;padding-inline:4px}
#details .studio-panels{padding-top:24px}
#details .studio-panel-heading h3{font-size:22px;line-height:1.4;font-weight:500}
#details .studio-panel-heading p{font-size:13px;line-height:1.7;margin-top:8px}
#details .layout-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#details .studio-console :is(.layout-options,.font-options,.study-light-options,.screen-options,.text-options) button{background:var(--paper);border:1px solid var(--rule);border-radius:8px;min-height:48px;color:var(--ink)}
#details .layout-options button{padding:8px;gap:8px;min-width:0}
#details .layout-sample{width:100%;height:auto;aspect-ratio:1672/940;border-radius:4px}
#details .studio-console :is(.layout-options,.font-options,.study-light-options,.screen-options,.text-options) button[aria-pressed="true"],#details .studio-console .studio-catalogue .catalogue-item[aria-pressed="true"],#collection .catalogue-item[aria-pressed="true"]{background:var(--design-selected);border-color:var(--design-edge);box-shadow:inset 0 0 0 1px var(--design-edge);color:var(--ink)}
#details .studio-catalogue{gap:12px}
#details .studio-catalogue .catalogue-item{border-radius:8px;padding:6px;background:var(--paper);border:1px solid var(--rule)}
#details .studio-boundary{border-top:1px solid var(--rule);padding-top:16px;margin-top:24px;font-size:12px;line-height:1.8}
#details .museum-services{margin-top:40px}
html[data-theme="dark"] #details .studio-console{background:var(--design-surface)}
@media(max-width:1050px){
 #details .studio-layout,#details .studio-layout[data-settings-open="true"]{grid-template-columns:minmax(0,1fr);gap:22px}
 #details .studio-layout[data-settings-open="true"] .studio-preview{top:0;padding:10px 0 12px;background:var(--paper)}
 #details .studio-layout[data-settings-open="true"] .studio-screen-stage{height:var(--preview-height);padding:8px}
 #details .studio-layout[data-settings-open="true"] .clock-study{height:100%;max-width:100%;width:auto}
 #details .studio-console :is(button,input,summary){scroll-margin-top:calc(var(--preview-height) + 100px)}
 #details .layout-options{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
 :is(#collection,#details){padding-block:64px}
 :is(#collection,#details)>.wrap{padding-inline:20px}
 :is(#collection,#details) .museum-heading{display:block;margin-bottom:26px}
 :is(#collection,#details) .museum-heading h2{font-size:32px;line-height:1.35;letter-spacing:-.025em}
 :is(#collection,#details) .museum-heading>p{margin-top:14px;font-size:14px}
 #collection .exhibition{grid-template-columns:minmax(0,1fr);gap:20px}
 #collection .exhibit-metadata>.eyebrow{margin-bottom:8px}
 #collection .exhibit-metadata h3{font-size:26px}
 #collection #exhibit-phrase{margin-top:16px}
 .design-preview-action{margin-top:22px;max-width:none}
 #collection .catalogue{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #details .studio-layout[data-settings-open="true"]{--preview-height:clamp(150px,45vw,210px)}
 #details .studio-layout[data-settings-open="true"]:has([data-orientation="portrait"]){--preview-height:clamp(180px,30svh,250px)}
 #details .studio-console{padding:0 16px 20px}
 #details .studio-tabs{gap:6px}
 #details .studio-tabs button{padding-inline:2px}
 #details .studio-art-label{margin-top:8px}
 #details .layout-options,html:not([lang^="zh"]):not([lang="ja"]):not([lang="ko"]) #details .layout-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 #details .layout-options button{padding:8px 8px 10px}
 #details .studio-panel-heading h3{font-size:20px}
 #details .museum-services{margin-top:32px}
}
@media(max-height:580px) and (max-width:1050px){#details .studio-layout[data-settings-open="true"] .studio-screen-stage{height:100px}#details .studio-console :is(button,input,summary){scroll-margin-top:175px}}
html[data-theme="dark"] :is(#details .studio-console :is(.layout-options,.font-options,.study-light-options,.screen-options,.text-options) button[aria-pressed="true"],#details .studio-console .studio-catalogue .catalogue-item[aria-pressed="true"],#collection .catalogue-item[aria-pressed="true"]){background:var(--design-selected);border-color:var(--design-edge);box-shadow:inset 0 0 0 1px var(--design-edge);color:var(--ink)}
#details .studio-preview .clock-study[data-orientation="portrait"] .study-lines{left:8%;width:84%;bottom:10%;font-size:5cqw;line-height:1.5;gap:2cqw}
#details .studio-preview .clock-study[data-orientation="portrait"] .study-label{font-size:4cqw}
#details .studio-preview .clock-study[data-orientation="portrait"] .study-content>span:first-child{font-size:5cqw}

/* D018: keep the custom sentence readable in both appearances. */
#details #study-line-input{background:var(--paper);color:var(--ink);caret-color:var(--ink);-webkit-text-fill-color:var(--ink)}
html[data-theme="dark"] #details #study-line-input{background:#292b2f;color:var(--ink);-webkit-text-fill-color:var(--ink)}

/* D019: warm gallery, cool studio, clear and generous controls. */
:root{--paper:#f4f1e9;--design-surface:#e9eee8;--design-selected:#d4e2d7;--design-edge:#476e5b;--design-accent:#264d70;--design-on-accent:#fffdf7;--design-gallery:#ece3d7;--design-studio:#eef1eb;--design-tab:#dce6ef;--design-rule:#b8c5ba}
html[data-theme="dark"]{--paper:#1d2428;--design-surface:#283632;--design-selected:#3c5749;--design-edge:#a7c7b1;--design-accent:#b6d2e8;--design-on-accent:#162b3d;--design-gallery:#302b27;--design-studio:#222c2a;--design-tab:#354c60;--design-rule:#536a5c}
#collection{background:var(--design-gallery)}
#details{background:var(--design-studio)}
#collection .exhibit-canvas{border-radius:14px}
#collection .catalogue-item{border-radius:12px;border-color:var(--design-rule)}
.design-preview-action{min-height:56px;max-width:360px;padding:14px 22px;background:var(--design-accent);color:var(--design-on-accent);border-color:var(--design-accent);border-radius:12px;font-size:15px;font-weight:550;line-height:1.5;transition:background .18s,box-shadow .18s}
.design-preview-action:hover{opacity:1;box-shadow:0 5px 16px #15304924}
#collection .exhibit-nav .round-button{width:48px;height:48px;flex-basis:48px;background:var(--paper);border-color:var(--design-rule)}
#collection .catalogue-disclosure summary{min-height:52px;padding-block:14px;font-size:15px}
#details .studio-screen-stage{background:var(--design-surface);border-radius:16px;padding:12px}
#details .studio-console{background:var(--design-surface);border-color:var(--design-rule);border-radius:16px;padding-inline:22px}
html[data-theme="dark"] #details .studio-console{background:var(--design-surface)}
#details .studio-disclosure{min-height:68px;border-color:var(--design-rule)}
#details .studio-disclosure-label strong{font-size:16px}
#details .studio-tabs{gap:6px;padding:6px;border:1px solid var(--design-rule);background:var(--paper);border-radius:14px;margin-top:16px}
#details .studio-tabs button{min-height:52px;flex:1;padding:8px 5px;border:1px solid transparent;border-radius:9px;font-size:14px;line-height:1.35;color:var(--muted);white-space:normal;text-wrap:balance}
#details .studio-tabs button[aria-selected="true"]{background:var(--design-tab);color:var(--ink);border-color:var(--design-accent);box-shadow:inset 0 0 0 1px var(--design-accent);font-weight:600}
#details .studio-tabs button::after{display:none}
#details .studio-console :is(.layout-options,.font-options,.study-light-options,.screen-options,.text-options) button{border-radius:12px;min-height:56px;border-color:var(--design-rule);font-size:14px;line-height:1.5}
#details .layout-options button{padding:10px;gap:10px}
#details .layout-options button>span:last-child{font-size:14px}
#details .font-options button{padding:14px 8px}
#details .studio-catalogue .catalogue-item{padding:8px;border-radius:12px;border-color:var(--design-rule)}
#details .studio-catalogue .catalogue-item>span{font-size:13px;line-height:1.5}
#details .studio-console :is(.layout-options,.font-options,.study-light-options,.screen-options,.text-options) button[aria-pressed="true"],#details .studio-console .studio-catalogue .catalogue-item[aria-pressed="true"],#collection .catalogue-item[aria-pressed="true"]{background:var(--design-selected);border-color:var(--design-edge);box-shadow:inset 0 0 0 1px var(--design-edge);color:var(--ink)}
#details .studio-panel-heading p,#details .studio-boundary{font-size:13px;line-height:1.8}
#details #study-line-input{min-height:56px;border-radius:12px;border-color:var(--design-rule);background:var(--paper);font-size:16px;padding:15px;color:var(--ink);-webkit-text-fill-color:var(--ink)}
html[data-theme="dark"] #details #study-line-input{background:var(--paper)}
#details #study-line-clear{min-height:44px;min-width:64px;padding:8px 12px;border:1px solid var(--design-rule);border-radius:10px;background:var(--paper);color:var(--ink);font-size:13px}
#details #study-line-clear:disabled{opacity:.4;cursor:default}
#details .museum-services a{padding:20px;border-radius:12px;border:1px solid var(--design-rule);background:var(--design-surface)}
#details .museum-services a:hover{border-color:var(--design-edge)}
.preview-toolbar :is(.segmented button,.clock-toggle){min-height:44px;font-size:12px}
.preview-toolbar .round-button{width:44px;height:44px;flex-basis:44px}
.expand-button,.dialog-close{min-width:44px;min-height:44px}
.dialog-navigation .round-button{width:48px;height:48px;flex-basis:48px}
.dialog-editions button{border-radius:12px;min-height:56px}
.dialog-actions .dark-button{min-height:54px;padding:14px 22px;border-radius:12px;background:var(--design-accent);color:var(--design-on-accent);font-size:15px}
:is(#collection,#details) button:active{filter:brightness(.95)}
@media(max-width:760px){
 .design-preview-action{max-width:none}
 #details .studio-console{padding-inline:14px}
 #details .studio-tabs{gap:3px;padding:4px}
 #details .studio-tabs button{min-height:52px;font-size:13px;padding:8px 3px}
 #details .studio-layout[data-settings-open="true"] .studio-preview{background:var(--design-studio)}
 #details .museum-services a{padding:18px}
 .preview-toolbar{gap:10px;padding:8px 10px}
 .preview-settings{gap:6px}
 .preview-toolbar .segmented button{min-width:44px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.design-preview-action{transition:none}}
/* Match the earlier theme selectors so the new palette also reaches dark mode. */
html[data-theme="dark"] #details .studio-layout .studio-console{background:var(--design-surface)}
html[data-theme="dark"] #details .studio-console .studio-tabs{background:var(--paper)}
html[data-theme="dark"] #details .studio-tabs button[aria-selected="true"]{background:var(--design-tab);color:var(--ink)}
html[data-theme="dark"] #details .museum-services a{background:var(--design-surface)}
html[data-theme="dark"] #collection .exhibit-nav .round-button{background:var(--paper)}
html[data-theme="dark"] #details .studio-console :is(.layout-options,.font-options,.study-light-options,.screen-options,.text-options) button{background:var(--paper);border-color:var(--design-rule)}
html[data-theme="dark"] :is(#details .studio-console :is(.layout-options,.font-options,.study-light-options,.screen-options,.text-options) button[aria-pressed="true"],#details .studio-console .studio-catalogue .catalogue-item[aria-pressed="true"],#collection .catalogue-item[aria-pressed="true"]){background:var(--design-selected);border-color:var(--design-edge);box-shadow:inset 0 0 0 1px var(--design-edge);color:var(--ink)}
html[data-theme="dark"] #details .studio-layout details.studio-console{background:var(--design-surface)}
html[data-theme="dark"] #details .studio-layout .studio-console .studio-tabs{background:var(--paper)}
html[data-theme="dark"] #details .wrap .museum-services a{background:var(--design-surface)}
html[data-theme="dark"] #collection .exhibit-nav button.round-button{background:var(--paper)}
/* Keep the five settings tabs reachable while the preview stays on screen. */
@media(max-width:1050px){
 #details .studio-layout[data-settings-open="true"] .studio-tabs{position:sticky;top:calc(var(--preview-height) + 58px);z-index:4;box-shadow:0 5px 0 var(--design-surface)}
 #details .studio-console :is(button,input,summary){scroll-margin-top:calc(var(--preview-height) + 140px)}
}
@media(max-height:580px) and (max-width:1050px){
 #details .studio-layout[data-settings-open="true"] .studio-tabs{top:158px}
 #details .studio-console :is(button,input,summary){scroll-margin-top:240px}
}
@media(max-width:760px){
 html:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)) #details .studio-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}
 html:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)) #details .studio-tabs button{min-width:0;min-height:52px;font-size:13px!important}
 html:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)) #details .studio-tabs button span{white-space:normal}
 html:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)) #details .studio-console :is(button,input,summary){scroll-margin-top:calc(var(--preview-height) + 200px)}
 html:is(:lang(zh),:lang(ja),:lang(ko)) #details .studio-tabs button{font-size:13px!important}
}
