/* Fixed reading and operation areas for the installed portrait TVs. */
.exhibition-preview{display:flex;flex-direction:column;gap:14px;padding:24px 0;min-width:0}
.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%}
.preview-heading h1{font-size:32px;margin:0}.preview-heading>span{font-size:14px;color:var(--muted)}
.preview-stage{height:380px;width:100%;min-height:0;display:flex;align-items:center;justify-content:center;background:#ede9e0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.preview-stage img{display:block;width:100%;height:100%;object-fit:contain;padding:8px}
.preview-stage p{padding:20px;text-align:center;color:var(--muted)}
.preview-caption{font-size:16px;line-height:1.4;text-align:center;margin:0;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.catalog-actions.pagination{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.collection-switch{grid-template-columns:1fr 1.2fr .9fr}
.collection-switch #start-show{background:var(--indigo);color:white;font-size:inherit}
.filter-actions{grid-template-columns:1fr 1fr 1.3fr}
.qr-panel{min-width:0}.qr-panel img{aspect-ratio:1;width:100%;max-width:230px;height:auto;object-fit:contain;background:white}
#authors-open{align-self:flex-start;min-height:48px;flex-shrink:0}
.authors-panel{position:absolute;inset:auto 0 0;max-height:75%;overflow:auto;background:var(--paper);padding:24px;z-index:5;border-top:2px solid var(--line);box-shadow:0 -10px 40px #22285f18}
.authors-panel h2{font-size:28px}.authors-panel .primary-author{white-space:pre-line;margin-bottom:18px}
.authors-panel .authors-block p{white-space:pre-line}.authors-visible .viewer-footer{visibility:hidden}
@media(min-width:701px) and (orientation:portrait){
  :root{--unit:min(.0925926vw,.0520833dvh);--touch:max(44px,calc(80 * var(--unit)));--gap:calc(12 * var(--unit));--tv-font:calc(22 * var(--unit));--qr:calc(240 * var(--unit))}
  .topbar{height:5dvh;padding:var(--gap) calc(24 * var(--unit));gap:var(--gap)}
  .brand-art{width:calc(240 * var(--unit));height:calc(65 * var(--unit))}.brand-name{font-size:calc(27 * var(--unit))}.brand-name small{font-size:calc(16 * var(--unit))}
  .brand-divider{height:calc(38 * var(--unit))}.brand{gap:calc(22 * var(--unit))}
  .hero.exhibition-preview{height:55dvh;padding:var(--gap) 0 calc(54 * var(--unit));gap:var(--gap);justify-content:flex-start;text-align:left}
  .preview-heading{flex-shrink:0}.preview-heading h1{font-size:calc(30 * var(--unit));margin:0;line-height:1.1}.preview-heading>span{font-size:calc(16 * var(--unit));max-width:40%;text-align:right}
  .preview-stage{flex:1;height:auto;border-radius:calc(12 * var(--unit));background:#eee9df}.preview-stage img{padding:var(--gap)}
  .preview-caption{flex-shrink:0;font-size:calc(20 * var(--unit));line-height:1.3;min-height:1.3em;max-height:2.6em}
  .catalog{padding:var(--gap) calc(20 * var(--unit));gap:var(--gap)}
  .results-bar{font-size:calc(17 * var(--unit));line-height:1.2;gap:var(--gap);flex-shrink:0;min-height:calc(24 * var(--unit))}
  #result-count,#page-info{white-space:nowrap}#page-info{margin-left:auto}.filter-summary{max-width:30%;font-size:inherit}
  .works-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:var(--gap)}
  .work-card{grid-template-columns:calc(65 * var(--unit)) minmax(0,1fr);border-radius:calc(12 * var(--unit));min-width:0}
  .card-preview{padding:calc(5 * var(--unit));background:#efece6}.card-selected{font-size:0;width:calc(18 * var(--unit));height:calc(18 * var(--unit));padding:0;top:calc(4 * var(--unit));right:calc(4 * var(--unit))}.card-selected:after{content:'★';font-size:calc(13 * var(--unit));display:block;text-align:center}
  .card-copy{padding:calc(8 * var(--unit));gap:calc(4 * var(--unit));justify-content:center;overflow:hidden}
  .card-topline{font-size:calc(14 * var(--unit));gap:var(--gap);flex-shrink:0}.card-topline>span{white-space:nowrap}
  .card-title{font-size:calc(24 * var(--unit));line-height:1.12;-webkit-line-clamp:3;flex-shrink:1}
  .card-primary-author{font-size:calc(16 * var(--unit));line-height:1.2;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0}
  .catalog button,.catalog select,.viewer-footer .button{font-size:var(--tv-font);min-height:var(--touch);padding:calc(8 * var(--unit)) calc(12 * var(--unit));border-radius:calc(12 * var(--unit))}
  .catalog .work-card{padding:0;min-height:0}
  .catalog-actions.pagination{flex-shrink:0;margin:0;gap:var(--gap)}.pagination .button{min-width:0;width:100%}
  .catalog>.collection-switch{margin:0;gap:var(--gap);grid-template-columns:1fr 1.25fr .9fr}
  .catalog.panel-open>.collection-switch{margin-top:auto}
  .catalog>.collection-switch button{font-size:var(--tv-font);gap:calc(9 * var(--unit));padding:calc(8 * var(--unit));line-height:1.15}
  .collection-switch span{font-size:calc(21 * var(--unit));padding:calc(4 * var(--unit)) calc(6 * var(--unit))}
  #catalog-idle,.catalog-auto-status{top:auto;bottom:40dvh;padding:calc(5 * var(--unit)) calc(14 * var(--unit));font-size:calc(15 * var(--unit));margin-bottom:calc(6 * var(--unit));max-height:calc(40 * var(--unit))}
  #catalog-idle strong{font-size:calc(19 * var(--unit))}
  main>.update-notice{top:5dvh;left:2vw;right:2vw;z-index:4;font-size:calc(18 * var(--unit));padding:var(--gap)}
  .lower-panel{padding:var(--gap) calc(20 * var(--unit));bottom:calc(var(--touch) + 2 * var(--gap));overflow:auto}
  .panel-heading h3{font-size:calc(28 * var(--unit))}.panel-heading .button{min-width:0}
  .filter-label,.select-group label,.filter-results{font-size:calc(18 * var(--unit))}
  .modality-button{font-size:calc(18 * var(--unit))!important;gap:calc(5 * var(--unit))}.modality-button small{font-size:calc(16 * var(--unit))}
  .filter-fields{flex:0 1 auto}.filter-panel .filter-actions{margin-top:auto}
  .search-group{height:calc(var(--touch) + 2px);flex-shrink:0}.search-group input{font-size:var(--tv-font);min-height:var(--touch)}.search-icon{font-size:calc(32 * var(--unit));padding-left:var(--gap)}
  .keyboard-key{min-height:var(--touch)!important;font-size:calc(27 * var(--unit))!important}.keyboard-key.wide{font-size:calc(21 * var(--unit))!important}
  .viewer-header{height:calc(60 * var(--unit));font-size:calc(17 * var(--unit));padding:var(--gap) calc(20 * var(--unit))}
  .viewer-body{flex:1;min-height:0}.document-panel{flex:1 1 0;height:auto;min-height:0;padding:var(--gap) calc(20 * var(--unit))}
  .work-information{flex:0 0 auto;min-height:calc(300 * var(--unit));max-height:calc(40dvh - 2 * var(--touch) - 4 * var(--gap));grid-template-columns:minmax(0,1fr) var(--qr);padding:calc(16 * var(--unit)) calc(24 * var(--unit));gap:calc(24 * var(--unit));align-items:center}
  .work-details{gap:calc(6 * var(--unit));overflow:auto;max-height:calc(40dvh - 2 * var(--touch) - 8 * var(--gap));min-width:0}
  .work-information h2{font-size:calc(34 * var(--unit));line-height:1.12;overflow-wrap:break-word}.work-information .eyebrow{font-size:calc(16 * var(--unit));margin:0}
  .primary-author{font-size:calc(23 * var(--unit));line-height:1.3}.work-type-label{font-size:calc(16 * var(--unit))}
  .category-badge,.selected-badge{font-size:calc(15 * var(--unit));padding:calc(3 * var(--unit)) calc(8 * var(--unit))}
  #authors-open{font-size:calc(20 * var(--unit));min-height:var(--touch);padding:calc(8 * var(--unit)) calc(22 * var(--unit));margin-top:calc(4 * var(--unit))}
  .qr-panel{width:var(--qr);min-width:0;max-width:100%;gap:calc(7 * var(--unit));align-items:center;align-self:center;justify-content:center}
  .qr-panel img{width:var(--qr);height:var(--qr);min-width:0;max-width:100%;flex-shrink:0;border-radius:0}
  .qr-panel h3{font-size:calc(24 * var(--unit));line-height:1.1;margin:0}.qr-panel p{font-size:calc(15 * var(--unit));line-height:1.3;margin-top:calc(8 * var(--unit))}
  .viewer-footer{padding:var(--gap) calc(20 * var(--unit));gap:var(--gap)}.work-navigation{gap:var(--gap)}
  .document-controls{display:grid;grid-template-columns:1fr auto;gap:var(--gap)}.zoom-controls,.pan-controls{gap:var(--gap)}.zoom-controls .button{min-width:0}
  .pan-controls .button{min-width:var(--touch);padding:0}
  .authors-panel{top:60dvh;bottom:0;max-height:none;padding:calc(24 * var(--unit));display:flex;flex-direction:column;gap:var(--gap)}
  .authors-panel .panel-heading{flex-shrink:0}.authors-panel .button{font-size:var(--tv-font);min-height:var(--touch)}
  .authors-panel h2{font-size:calc(30 * var(--unit));line-height:1.2;margin:0}.authors-panel .authors-block{overflow:auto;min-height:0}.authors-panel .authors-block h3{font-size:calc(18 * var(--unit))}.authors-panel .authors-block p{font-size:calc(24 * var(--unit));line-height:1.6}
}
@media(max-width:700px){
  .preview-stage,.preview-caption{display:none}.hero.exhibition-preview{height:auto;padding:24px 0}.preview-heading{display:block}.preview-heading h1{font-size:32px}.preview-heading>span{display:block;margin-top:10px}
  .catalog-actions.pagination{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.catalog-actions.pagination .button{min-width:0}
  .collection-switch{grid-template-columns:1fr 1fr}.collection-switch #start-show{grid-column:1/-1;min-height:54px}
  .filter-actions{grid-template-columns:1fr 1fr}.filter-actions #filters-close{grid-column:1/-1}
  .work-information .qr-panel{width:100%;min-width:0}.qr-panel img{width:180px;max-width:100%}
  .authors-panel{max-height:90%;padding:18px}.authors-panel .panel-heading h3{font-size:24px}.authors-panel .panel-heading .button{min-height:48px}
}
