:root{font-family:PingFang SC,"Noto Serif SC",Songti SC,serif;color:#2b221d;background:radial-gradient(circle at top,rgba(168,84,39,.12),transparent 34%),linear-gradient(180deg,#f8f2e8,#efe2cf);line-height:1.5;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}.page-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:40px 0 48px}.hero-panel{padding:28px;border:1px solid rgba(88,57,37,.12);border-radius:28px;background:linear-gradient(145deg,#fffbf5e0,#f5e9d6eb);box-shadow:0 18px 42px #59351b14}.workbench-layout{display:grid;grid-template-columns:248px minmax(0,1fr);gap:18px;margin-top:20px;align-items:start}.workbench-sidebar,.sidebar-card{position:sticky;top:20px}.sidebar-nav{display:flex;flex-direction:column;gap:10px}.sidebar-nav-button{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid rgba(122,78,46,.12);border-radius:18px;background:#fff8efc7;color:#5b3928;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.sidebar-nav-button:hover{transform:translateY(-1px);border-color:#8f41283d}.sidebar-nav-button-active{border-color:#8f412857;background:#f8ebd6f5;box-shadow:0 10px 24px #8c402014}.sidebar-nav-label{color:#7d3b26;font-weight:700}.sidebar-nav-hint{color:#503c2db8;font-size:.86rem}.sidebar-meta{display:flex;flex-direction:column;gap:6px;padding-top:4px}.sidebar-meta-line{margin:0;color:#503c2dc7;font-size:.88rem}.workbench-main{display:flex;flex-direction:column;gap:18px}.workbench-section{scroll-margin-top:20px}.hero-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{margin:0 0 12px;color:#98482d;letter-spacing:.32em;font-size:.82rem;font-weight:700;text-transform:uppercase}.hero-panel h1{margin:0;font-size:clamp(2rem,3vw,3.3rem);line-height:1.16}.hero-copy{max-width:760px;margin:18px 0 0;color:#2b221dd1;font-size:1.04rem}.status-chip{display:inline-flex;margin-top:20px;padding:10px 14px;border-radius:999px;background:#98482d1a;color:#7d3b26;font-size:.95rem;font-weight:600}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:min(520px,100%);padding:28px;border-radius:28px;border:1px solid rgba(88,57,37,.12);background:linear-gradient(145deg,#fffbf5f0,#f5e9d6f5);box-shadow:0 18px 42px #59351b14}.login-card h1{margin:0 0 16px;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.18}.login-note{margin:0 0 12px;color:#7d3b26;font-size:.95rem}.grid-shell{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}.content-card{padding:22px;border-radius:24px;border:1px solid rgba(88,57,37,.1);background:#fffcf6d1;box-shadow:0 12px 26px #59351b0f}.card-stack{display:flex;flex-direction:column;gap:14px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-title{margin:0;color:#7d3b26;font-size:1.06rem;font-weight:700}.muted-copy{margin:0;color:#2b221dd1}.note-copy{margin:0;color:#503c2ddb;font-size:.95rem}.release-name{margin:0;color:#2b221d;font-size:1.36rem;font-weight:700}.stat-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-pairs div{padding:14px;border-radius:18px;background:#fff8efd1;border:1px solid rgba(88,57,37,.08)}.stat-pairs span{display:block;color:#503c2db3;font-size:.88rem}.stat-pairs strong{display:block;margin-top:6px;font-size:1.42rem;color:#3b2a1f}.action-shell{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;margin-top:18px}.field-label{color:#7d3b26;font-size:.9rem;font-weight:700}.note-input{width:100%;min-height:120px;padding:14px 16px;border:1px solid rgba(122,78,46,.16);border-radius:18px;background:#fffc;color:#2b221d;resize:vertical}.note-input:focus{outline:2px solid rgba(152,72,45,.2);border-color:#98482d52}.action-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.primary-button{border:none;border-radius:999px;padding:12px 18px;background:linear-gradient(135deg,#8f4128,#b05f33);color:#fff9f3;font-weight:700;cursor:pointer;box-shadow:0 12px 24px #8c402033}.secondary-button{border:1px solid rgba(143,65,40,.18);border-radius:999px;padding:11px 17px;background:#fff8efeb;color:#7d3b26;font-weight:700;cursor:pointer}.secondary-button:disabled{cursor:wait;opacity:.72}.subtle-button{background:#fffcf6cc}.primary-button:disabled{cursor:wait;opacity:.72}.action-feedback{margin:0;color:#6e3b22;font-size:.92rem}.action-feedback.error{color:#9f2c22}.status-pill{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;font-size:.84rem;font-weight:700;white-space:nowrap}.status-approved{background:#aa77211f;color:#8b5d11}.status-published{background:#457a4a1f;color:#2e6a36}.status-draft{background:#7d3b261a;color:#7d3b26}.subtle-chip{margin-top:0;background:#98482d14}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:18px;background:#fff8efd1}.history-item-current{background:#f8ebd6eb;border:1px solid rgba(143,65,40,.14)}.history-title{margin:0;font-weight:700}.history-meta,.history-note{margin:6px 0 0;color:#503c2db8;font-size:.9rem}.history-side{display:flex;flex-direction:column;gap:8px;align-items:flex-end;text-align:right}.history-current-label{color:#7d3b26;font-size:.84rem;font-weight:700}.history-action-button{padding-inline:14px}.dossier-chip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dossier-chip{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid rgba(122,78,46,.14);border-radius:18px;background:#fff8efd1;color:#5c3927;text-align:left;cursor:pointer}.dossier-chip-selected{border-color:#8f412857;background:#f8ebd6f5;box-shadow:0 10px 24px #8c402014}.dossier-chip-title{font-weight:700;color:#7d3b26}.dossier-chip-meta{color:#503c2db8;font-size:.88rem}.overview-toolbar{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:16px;align-items:end}.overview-search-field{display:flex;flex-direction:column;gap:8px}.overview-search-input{min-height:48px}.table-shell{overflow-x:auto}.content-table{width:100%;border-collapse:collapse;min-width:720px}.content-table th,.content-table td{padding:14px 10px;border-bottom:1px solid rgba(88,57,37,.08);text-align:left;vertical-align:top}.content-table th{color:#7d3b26;font-size:.86rem;font-weight:700}.content-table tr.selected-row{background:#98482d14}.entry-select-button{width:100%;padding:0;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer}.entry-name{font-weight:700}.entry-subtitle{margin-top:6px;color:#503c2db8;font-size:.92rem}.table-artwork-button{display:inline-flex;flex-direction:column;gap:8px;padding:0;border:none;background:transparent;color:inherit;cursor:zoom-in}.table-artwork-shell{display:block;width:68px;aspect-ratio:3 / 4;overflow:hidden;border-radius:14px;border:1px solid rgba(88,57,37,.08);background:#f7eee1f5;box-shadow:0 8px 18px #59351b14}.table-artwork-image{display:block;width:100%;height:100%;object-fit:cover}.table-artwork-caption{color:#7d3b26;font-size:.82rem;font-weight:700}.table-artwork-badge{display:inline-flex;align-items:center;padding:8px 10px;border-radius:999px;font-size:.82rem;font-weight:700;white-space:nowrap}.table-artwork-badge.is-mounted{background:#aa77211f;color:#8b5d11}.table-artwork-badge.is-missing{background:#7d3b261a;color:#7d3b26}.empty-table-row{padding:22px 10px;color:#503c2db8;text-align:center}.artwork-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:24px;background:#1e1510b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.artwork-lightbox-dialog{width:min(720px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:28px;border:1px solid rgba(255,252,246,.12);background:linear-gradient(145deg,#fffbf5fa,#f5e9d6f5);box-shadow:0 24px 56px #120c0947}.artwork-lightbox-close{align-self:flex-end}.artwork-lightbox-image-shell{width:min(100%,520px);aspect-ratio:3 / 4;overflow:hidden;border-radius:24px;border:1px solid rgba(88,57,37,.08);background:#f7eee1f5;align-self:center}.artwork-lightbox-image{display:block;width:100%;height:100%;object-fit:cover}.artwork-lightbox-meta{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}.editor-shell{margin-top:18px}.editor-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.editor-name{margin:8px 0 0;font-size:1.68rem;line-height:1.2}.meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.meta-box{padding:14px;border-radius:18px;background:#fff8efd1;border:1px solid rgba(88,57,37,.08)}.meta-box span{display:block;color:#503c2db8;font-size:.86rem}.meta-box strong{display:block;margin-top:8px;color:#34261b;font-size:1rem;line-height:1.4}.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.editor-grid-span-2{grid-column:span 2}.field-stack{display:flex;flex-direction:column;gap:8px}.text-input,.text-area{width:100%;padding:12px 14px;border:1px solid rgba(122,78,46,.16);border-radius:16px;background:#fffc;color:#2b221d}.text-area{resize:vertical;min-height:120px}.compact-area{min-height:88px}.text-input:focus,.text-area:focus{outline:2px solid rgba(152,72,45,.2);border-color:#98482d52}.field-help{color:#503c2db8;font-size:.84rem}.editor-footnote{padding-top:4px}.portrait-panel{background:#fffaf4e6}.portrait-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:16px}.portrait-preview-shell{aspect-ratio:3 / 4;border-radius:22px;overflow:hidden;border:1px solid rgba(88,57,37,.08);background:radial-gradient(circle at top,rgba(152,72,45,.12),transparent 42%),linear-gradient(180deg,#f7eee1f5,#ecdbbfeb)}.portrait-preview{display:block;width:100%;height:100%;object-fit:cover}.portrait-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:18px;color:#503c2dbd;text-align:center}.portrait-meta{display:flex;flex-direction:column;gap:10px}.portrait-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portrait-box{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:20px;background:#ffffffb8;border:1px solid rgba(88,57,37,.08)}.portrait-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.section-label{margin:0;color:#7d3b26;font-weight:700}.file-input{width:100%;padding:12px;border:1px dashed rgba(122,78,46,.24);border-radius:16px;background:#ffffffc7}.candidate-panel{background:#fffcf6e6}.candidate-import-box{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:20px;background:#ffffffb8;border:1px solid rgba(88,57,37,.08)}.candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.candidate-card{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:20px;background:#fffc;border:1px solid rgba(88,57,37,.08)}.candidate-preview-shell{aspect-ratio:3 / 4;border-radius:18px;overflow:hidden;border:1px solid rgba(88,57,37,.08);background:#f7eee1f5}.candidate-preview{display:block;width:100%;height:100%;object-fit:cover}.candidate-meta{display:flex;flex-direction:column;gap:6px}.candidate-meta-line{margin:0;color:#503c2dc7;font-size:.9rem}@media (max-width: 840px){.page-shell{width:min(100% - 24px,1120px);padding-top:24px}.workbench-layout{grid-template-columns:1fr}.workbench-sidebar,.sidebar-card{position:static}.sidebar-nav{flex-direction:row;overflow-x:auto;padding-bottom:4px}.sidebar-nav-button{min-width:174px;flex:0 0 auto}.grid-shell,.action-shell{grid-template-columns:1fr}.hero-panel{padding:22px}.hero-topbar{flex-direction:column;align-items:flex-start}.card-head{align-items:flex-start;flex-direction:column}.stat-pairs{grid-template-columns:1fr 1fr}.dossier-chip-grid,.overview-toolbar{grid-template-columns:1fr}.editor-hero{flex-direction:column}.meta-grid,.editor-grid{grid-template-columns:1fr}.editor-grid-span-2{grid-column:span 1}.portrait-layout,.portrait-actions-grid,.portrait-field-grid,.candidate-grid{grid-template-columns:1fr}.artwork-lightbox,.artwork-lightbox-dialog{padding:16px}}
