.curated-wall .photo-tile:nth-child(n){width:var(--balanced-width,90%);max-width:100%;margin-top:0;justify-self:center}
.curated-wall .photo-tile:nth-child(4n+2){margin-top:clamp(18px,4vh,48px)}
.curated-wall .photo-tile:nth-child(4n+3){margin-top:clamp(10px,2vh,28px)}
.curated-wall{align-items:center;row-gap:clamp(64px,9vh,128px)}
.gallery-batch{display:flow-root;overflow-anchor:none}.gallery-more{display:block;margin:64px auto;min-height:44px}
.model-caption{display:flex;align-items:center;gap:0;flex-wrap:nowrap;width:100%;min-width:0;margin-top:22px;padding-top:16px;border-top:1px solid var(--rule)}
.model-caption h2{flex:0 1 auto;width:auto;min-width:0;margin:0 20px 0 0;padding:0;border:0;line-height:1.35;letter-spacing:.075em;overflow-wrap:anywhere}
.collection-cover{display:block}
.model-social{display:grid;place-items:center;flex:0 0 32px;width:32px;height:44px;color:var(--ink);opacity:.62;transition:opacity .2s}
.model-social:hover,.model-social:focus-visible{opacity:1}
.model-social svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.25;transform:translateY(1px)}
.picker-filters label{min-width:180px}.picker-filters{align-items:end}.picker-grid{min-height:120px}.viewer.inspect-mode .admin-exif-panel,.viewer.inspect-mode .admin-exif-toggle{display:none!important}
@media(max-width:700px){.curated-wall .photo-tile:nth-child(n){width:var(--balanced-width,90%);align-self:center;margin-top:0}.model-caption{margin-top:17px;padding-top:13px}.model-caption h2{margin-right:16px}.picker-filters label{min-width:0;width:100%}.gallery-more{margin:36px auto}}

.upload-area.drop-active{outline:2px solid currentColor;outline-offset:4px;background:rgba(128,128,128,.08)}
.picker-filters{flex-wrap:wrap}
body[data-surface=admin] .photo-picker .picker-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px 20px}
body[data-surface=admin] .photo-picker .picker-filters>label{min-width:0;width:100%;margin:0}
body[data-surface=admin] .photo-picker .picker-filters>button{justify-self:start;grid-column:1/-1}
@media(max-width:700px){body[data-surface=admin] .photo-picker .picker-filters{grid-template-columns:1fr}}

/* Private studio: a compact masthead, then filters and selection actions. */
.admin-shell .studio-heading{padding:24px 0 16px;gap:20px;min-height:82px}
.studio-actions{display:flex;align-items:center;gap:24px;flex-shrink:0}
.studio-heading .studio-actions a,.studio-actions .logout-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;min-height:44px;padding:0;margin:0;border:0;background:none;font-size:11px;line-height:1;letter-spacing:.08em;color:#6b695f;white-space:nowrap;transition:color .2s}
.studio-actions .logout-button{padding-left:24px;border-left:1px solid var(--rule)}
.studio-actions a:hover,.studio-actions .logout-button:hover{color:var(--ink)}
.admin-shell .admin-nav{gap:10px 28px;align-items:center;padding:0 0 12px;margin:0 0 40px}
.admin-shell .admin-nav a{display:flex;align-items:center;min-height:44px;padding:8px 0;line-height:1.4}
.library-controls{margin:24px 0 32px}
.library-controls .library-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:18px;align-items:end;margin:0;padding:0;border:0}
.library-controls .library-filters label{width:auto;min-width:0;margin:0;gap:10px;font-size:11px}
.library-filters select{width:100%;min-width:0;height:46px;padding:10px 12px;text-overflow:ellipsis;background:#fffdf8}
.library-controls .action{min-height:46px;font-size:12px;letter-spacing:.035em;padding:12px 18px;line-height:20px;white-space:nowrap}
.library-filters #reshuffle-work{height:46px;border-color:#c9c1b2;color:#6b695f}
.library-filter-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:10px 0 12px;border-bottom:1px solid var(--rule)}
.library-filter-summary .muted{font-size:11px}
#library-reset{border:0;background:none;padding:8px 0;color:var(--muted);font-size:11px;letter-spacing:.05em;min-height:32px}
#library-reset:hover{color:var(--ink)}
.library-controls .library-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:20px 0;border-bottom:1px solid var(--rule)}
.library-action-group{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
#selection-count{flex-shrink:0;text-align:right;font-size:11px;line-height:1.8}
.library-no-results{grid-column:1/-1;padding:40px 0;text-align:center}
@media(max-width:1100px){.library-controls .library-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.library-filters #reshuffle-work{grid-column:1/-1;justify-self:end}.library-controls .library-actions{align-items:flex-start;flex-wrap:wrap}#selection-count{margin-left:auto}}
@media(max-width:700px){.admin-shell .studio-heading{padding:16px 0 12px;min-height:76px;gap:12px}.studio-actions{gap:14px}.studio-actions .logout-button{padding-left:14px}.studio-heading .studio-actions a,.studio-actions .logout-button{font-size:10px}.admin-shell .admin-nav{gap:4px 20px;margin-bottom:28px;padding-bottom:10px}.library-controls{margin:20px 0 28px}.library-controls .library-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.library-controls .action{font-size:11px;padding:12px 14px}.library-controls .library-actions{gap:12px;padding:16px 0}.library-action-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.library-action-group .action{width:100%;white-space:normal}#selection-count{text-align:left;margin-left:0;width:100%}}
@media(max-width:420px){.admin-shell .studio-heading{flex-wrap:wrap;gap:2px;padding-bottom:12px}.studio-actions{width:100%;justify-content:flex-end}.studio-heading .eyebrow{line-height:1.6}}
.collection-tools{display:flex;align-items:end;gap:24px;margin:0 0 32px;padding-bottom:24px;border-bottom:1px solid var(--line,#dedbd1)}
.collection-tools label{margin:0;max-width:320px;flex:1}.collection-tools input,.collection-tools select{width:100%;min-height:44px}.collection-tools>span{margin-left:auto;padding-bottom:12px}
.studio-collections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px}
.studio-cover{display:block;width:100%;height:clamp(220px,26vw,390px);padding:20px;border:0;background:#f1eee6;cursor:pointer}
.studio-cover img{width:100%;height:100%;object-fit:contain}.studio-cover:hover{background:#ece8de}
.collection-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;color:#999181}
.collection-placeholder>span{width:52px;height:68px;border:1px solid #c9c1b2;transform:rotate(-8deg);position:relative}.collection-placeholder>span:after{content:'';position:absolute;inset:7px;outline:1px solid #d7cfc0;transform:rotate(16deg)}
.collection-placeholder small{font-size:11px;letter-spacing:.14em}
.studio-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #dedbd1}.studio-caption h2{font-family:var(--serif,serif);font-weight:400;font-size:24px;line-height:1.5;margin:0 0 8px}.studio-caption p{margin:0;font-size:11px;letter-spacing:.06em;color:#858071}.studio-caption p span{margin:0 12px}.studio-caption button{flex-shrink:0;white-space:nowrap}
.collection-workflow{width:min(850px,calc(100vw - 32px))}.workflow-fields>section{padding:24px 0;border-top:1px solid #dedbd1}.workflow-fields>section>label{max-width:380px}.workflow-new[hidden],#workflow-order[hidden]{display:none}.workflow-cover{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.workflow-cover img{width:72px;height:90px;object-fit:contain;background:#efede6}.workflow-work{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.workflow-work input{width:16px;height:16px}.workflow-work select{width:auto}.collection-workflow h3{font-weight:400;font-size:18px}.workflow-new{margin-top:24px}
@media(max-width:900px){.studio-collections{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.studio-cover{height:300px}.studio-caption h2{font-size:21px}}
@media(max-width:520px){.studio-collections{grid-template-columns:1fr;gap:32px}.studio-cover{height:320px}.collection-tools{flex-wrap:wrap;gap:16px}.collection-tools label{min-width:100px}.collection-tools>span{width:100%;margin:0;padding:0}.studio-caption{padding:16px 0}.workflow-cover{align-items:start}}
.publisher-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;min-height:240px;padding:40px 24px;border:1px dashed #c7c0b2;background:#f8f6f0;transition:background .2s,border-color .2s,box-shadow .2s}
.publisher-dropzone:hover,.publisher-dropzone:focus-within{background:#f1eee5;border-color:#9d927c}.publisher-dropzone.drag-over{background:#eae5d9;border:1px solid #9d927c;box-shadow:inset 0 0 0 5px #f8f6f0}
.publisher-dropzone .dropzone-mark{width:40px;height:40px;color:#8b806c}.dropzone-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.publisher-dropzone .upload-title{font-size:23px;letter-spacing:.12em}.publisher-dropzone input{max-width:100%;font-size:12px}.upload-panel:has(.publisher-dropzone){padding:16px;background:transparent}.upload-panel:has(.publisher-dropzone)>p{margin:18px 8px 0;font-size:11px}.action.danger{color:#8a4c3c;border-color:#c5a89b}.action.danger:not(.secondary){background:#704a3d;color:#fff}.delete-photo-dialog{max-width:680px}
.publisher-dropzone.drop-active{background:#eae5d9;border:1px solid #9d927c;box-shadow:inset 0 0 0 5px #f8f6f0}
.studio-caption .text-link{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;border-bottom:1px solid #d7d0c3;background:none;font-size:11px;letter-spacing:.08em;color:#777162;cursor:pointer}
/* Shared private forms: top-align fields, never align inputs by helper height. */
body[data-surface=admin] dialog:has(form){max-height:90svh;overflow:auto;padding:32px;max-width:calc(100vw - 32px)}
body[data-surface=admin] dialog h2{font-family:Georgia,'Noto Serif TC','PMingLiU',serif;font-size:30px;line-height:1.45;margin:0 0 28px;font-weight:400;letter-spacing:.03em}
body[data-surface=admin] dialog .form-row{display:flex;align-items:flex-start;gap:20px;margin:20px 0}
body[data-surface=admin] dialog .form-row>label{min-width:0;flex:1 1 0;margin:0;gap:9px;line-height:1.5}
body[data-surface=admin] dialog input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body[data-surface=admin] dialog select,body[data-surface=admin] dialog textarea{width:100%;min-width:0;font-size:14px;line-height:1.5;padding:12px 14px;border-color:#ded8cb;background:#fffdf8;min-height:46px}
body[data-surface=admin] dialog label small{font-size:11px;line-height:1.7;letter-spacing:.02em;margin:0}
body[data-surface=admin] dialog .action{min-height:46px;font-size:12px;padding:12px 20px;line-height:20px;white-space:nowrap}
.collection-dialog{width:960px}.collection-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:32px;align-items:start}
.collection-editor-fields{min-width:0}.collection-editor-fields>.form-row:first-child{margin-top:0!important}.collection-editor-fields>.form-row{flex-wrap:nowrap!important}
.collection-editor-fields .identity-field{align-content:start}.collection-editor-fields .status-field{max-width:220px}
.collection-editor-cover{border-left:1px solid #ded8cb;padding-left:24px;min-width:0}.collection-editor-cover .cover-field{display:grid;gap:12px;align-items:start;font-size:12px;color:#858071}
.collection-editor-cover .cover-choice{display:flex;flex-direction:column;align-items:stretch;gap:16px;margin:0}.collection-editor-cover .cover-choice img{display:block;width:100%;height:230px;object-fit:contain;background:#efede6;padding:10px}.collection-editor-cover .cover-choice>.muted{display:grid;place-items:center;min-height:180px;border:1px solid #e2dccf;background:#f1eee6;text-align:center;padding:20px}.collection-editor-cover>p{font-size:11px;line-height:1.8;margin:16px 0 0}
body[data-surface=admin] dialog .editor-actions{position:sticky;bottom:-32px;z-index:1;margin:28px 0 -16px;padding:20px 0 16px;background:var(--paper);border-top:1px solid #ded8cb;align-items:center}
.collection-workflow .workflow-fields .form-row{flex-wrap:nowrap}.collection-workflow .workflow-fields>section>label{width:100%;max-width:none}.collection-workflow .workflow-cover{padding:16px;border:1px solid #ded8cb;background:#f2efe7;gap:16px}.collection-workflow .workflow-cover img{height:110px;width:90px}.collection-workflow .workflow-work{align-items:center}.collection-workflow .workflow-work select{width:auto!important}
@media(max-width:700px){body[data-surface=admin] dialog:has(form){padding:24px;max-height:92svh}body[data-surface=admin] dialog h2{font-size:25px;margin-bottom:24px}.collection-editor-layout{grid-template-columns:1fr;gap:24px}.collection-editor-cover{border-left:0;border-top:1px solid #ded8cb;padding:24px 0 0}.collection-editor-cover .cover-choice{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:20px}.collection-editor-cover .cover-choice img{height:150px}.collection-editor-cover .cover-choice>.muted{min-height:140px}.collection-editor-fields>.form-row,.collection-workflow .workflow-fields .form-row{flex-wrap:wrap!important}body[data-surface=admin] dialog .form-row>label{flex:1 1 100%;width:100%}.collection-editor-fields .status-field{max-width:none}body[data-surface=admin] dialog .editor-actions{bottom:-24px;flex-wrap:wrap}}
body[data-surface=admin] dialog .sequence{gap:16px}body[data-surface=admin] dialog .sequence-item{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:160px;padding:10px;border:1px solid #ded8cb;background:#f2efe7}body[data-surface=admin] dialog .sequence-item img{grid-column:1/-1;width:100%;height:130px;margin-bottom:6px;object-fit:contain}body[data-surface=admin] dialog .sequence-item>span{position:absolute;left:14px;top:14px;display:grid;place-items:center;min-width:22px;height:22px;font-size:11px;background:#fffdf8;color:#6f6658}body[data-surface=admin] dialog .sequence-item button{min-width:0;min-height:44px;border:0;border-top:1px solid #ded8cb;background:transparent;color:#716958;font-size:16px;padding:0}body[data-surface=admin] dialog .sequence-item button:hover{background:#e8e2d5}
.workflow-section-heading{display:flex;align-items:baseline;gap:14px;margin:28px 0 18px}.workflow-section-heading>span{color:#aaa08e;font-size:10px;letter-spacing:.12em}.workflow-section-heading h3{font-family:Georgia,'Noto Serif TC','PMingLiU',serif;font-size:20px!important;letter-spacing:.04em;margin:0}.workflow-metadata{border-bottom:1px solid #ded8cb;padding-bottom:12px}.workflow-fields>section>label{font-size:12px;gap:10px}.workflow-metadata .form-row{margin-bottom:20px!important}.workflow-metadata small{min-height:19px}
/* Keep native date picker, with consistent spacing for empty and filled segments. */
body[data-surface=admin] dialog input[type=date]{font-variant-numeric:tabular-nums;letter-spacing:normal;word-spacing:normal}
body[data-surface=admin] dialog input[type=date]::-webkit-datetime-edit{padding:0}
body[data-surface=admin] dialog input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}
body[data-surface=admin] dialog input[type=date]::-webkit-datetime-edit-year-field,body[data-surface=admin] dialog input[type=date]::-webkit-datetime-edit-month-field,body[data-surface=admin] dialog input[type=date]::-webkit-datetime-edit-day-field{padding:0;font-variant-numeric:tabular-nums}
body[data-surface=admin] dialog input[type=date]::-webkit-datetime-edit-text{padding:0 4px}
