/* 页面编辑仅作用于本机草稿；访客预览保持原有排版。 */
.page-editor{position:fixed;z-index:1000;right:18px;bottom:18px;font:12px/1.6 'Microsoft YaHei',sans-serif;max-width:calc(100vw - 36px)}
.page-editor button,.media-tools button,.media-tools label,.resume-upload label{font:inherit;border:1px solid #bfc3b5;padding:9px 13px;background:var(--paper);color:var(--ink);cursor:pointer;border-radius:0;min-height:40px}
.page-editor .edit-toggle{background:var(--ink);color:var(--paper);box-shadow:0 3px 18px #0002;padding:11px 19px}
.edit-controls{background:var(--paper);border:1px solid var(--ink);box-shadow:0 3px 24px #0002;display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px 16px;max-width:1000px}
.edit-controls[hidden],.page-editor [hidden],.edit-only{display:none!important}.editing .edit-only{display:block!important}
.editing .view-only{display:none!important}.viewer-footer .edit-only{font-size:10px;color:var(--accent)}.viewer-footer{gap:12px;flex-wrap:wrap}
.edit-help{margin-right:12px}.edit-help strong,.edit-help span{display:block}.edit-help strong{font-size:12px}.edit-help span{font-size:10px;color:var(--muted)}.edit-save-state{font-size:10px;color:var(--accent);max-width:200px}.edit-download{color:var(--accent);border-bottom:1px solid currentColor}
body.editing{padding-bottom:135px}.editing [data-edit]{outline:1px dashed #bd492e65;outline-offset:5px;cursor:text;white-space:pre-wrap;min-width:12px;min-height:1.5em;overflow-wrap:anywhere}.editing [data-edit]:focus{outline:2px solid var(--accent);background:#bd492e0a}.editing [data-edit]:empty:before{content:attr(data-placeholder);color:var(--muted);font-size:12px;font-weight:400}
[data-edit]{white-space:pre-wrap}.hero h1{white-space:normal}.metric strong>span:first-child{font:inherit;color:inherit}.editable-contact{max-width:70%;text-align:right}.case-part .real-text{white-space:pre-wrap}.case-part .real-text:empty{display:none}.editing .case-part .real-text:empty{display:block;min-height:80px;padding:15px;border:1px dashed var(--line)}.case-part:has(.real-text:not(:empty)) .empty-part{display:none}
.media-tools{border:1px dashed #bd492e65;background:#e9ebe2;padding:16px;margin:18px 0;color:var(--ink)}.media-tools .media-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.media-tools .media-status{display:block;font-size:11px;line-height:1.8;margin:9px 0 0;color:var(--muted)}.media-tools .media-label{display:inline-block}.media-label input,.resume-upload input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.media-label:focus-within{outline:2px solid var(--accent)}.media-tools button:disabled{opacity:.5;cursor:wait}
.media-settings{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:9px 0 18px}.media-settings input{width:100%;background:var(--paper);border:1px solid var(--line);padding:9px;font:12px/1.6 inherit}.media-settings button{font:10px/1.6 inherit;background:var(--paper);border:1px solid var(--line);padding:5px 9px}.editing .media-settings{display:flex!important}.media-region:empty{display:none}.media-region figure{margin:18px 0}.media-region img{max-width:100%;height:auto}.media-region video{width:100%;max-height:450px}.media-region .viewer-gallery figure{margin:12px 0}.media-region .viewer-media{display:block;width:100%}.media-region figcaption{font-size:11px;color:var(--muted);margin-top:7px;overflow-wrap:anywhere}
.media-region .viewer-empty{min-height:130px;margin-top:16px}.case-main .detail-media{display:block;min-height:0;height:auto}.proof-wall .proof-placeholder{cursor:pointer;text-align:left;background:transparent}.proof-wall .proof-placeholder:hover{border-color:var(--accent)}.proof-placeholder strong,.proof-placeholder small{display:block}.resume-upload{margin:20px 0}.resume-upload p{font-size:11px;color:var(--muted)}.resume-file-actions{display:flex;flex-wrap:wrap;gap:12px}.resume-file-actions a{color:var(--accent);border-bottom:1px solid currentColor}
@media(max-width:700px){.page-editor{left:10px;right:10px;bottom:10px;max-width:none;pointer-events:none}.page-editor button,.page-editor .edit-controls{pointer-events:auto}.page-editor .edit-toggle{float:right}.edit-controls{padding:10px;gap:6px;width:100%}.edit-help{width:100%;margin:0}.edit-controls button{font-size:11px;padding:7px 10px;min-height:35px}.edit-save-state{width:100%;max-width:none}.editing{padding-bottom:175px}.editing [data-edit]{outline-offset:3px}.media-tools{padding:12px}.media-tools label{font-size:11px}.case-main .detail-media{padding:20px}.image-toolbar{gap:8px}}

/* Archive additions and bounded video players */
.media-region video{display:block;width:100%;max-width:100%;height:auto;max-height:min(60dvh,520px);object-fit:contain;background:#191b17}
.media-link-editor{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:14px 0}.media-link-editor label{display:grid;gap:6px;flex:1;min-width:180px}.media-link-editor input{width:100%;padding:10px;border:1px solid var(--line,#d8d8cf);background:transparent}.media-link-editor button,.archive-add-button{padding:12px 18px;border:1px solid #b3b3a8;background:transparent;color:inherit;cursor:pointer}
.video-link-card{display:block;padding:32px 24px;border:1px solid #cccabe;color:inherit;text-decoration:none;font-size:18px}.video-link-card:hover{border-color:#e3a118}
.archive-add-dialog{width:min(520px,calc(100vw - 32px));max-height:90dvh;overflow:auto;border:1px solid #cbc9be;padding:28px;background:#f7f5ec;color:#252723}.archive-add-dialog::backdrop{background:#0008}.archive-add-dialog form{display:grid;gap:18px}.archive-add-dialog label{display:grid;gap:8px}.archive-add-dialog input,.archive-add-dialog select{width:100%;padding:12px;background:transparent;border:1px solid #cbc9be}.archive-add-dialog .actions{display:flex;gap:12px}
@media(max-width:700px){.media-region video{max-height:55dvh}.media-link-editor{display:grid;grid-template-columns:1fr}.media-link-editor label{min-width:0}.archive-add-dialog{padding:20px}}

.archive-entry{min-width:0;display:flex;flex-direction:column}.archive-entry .archive-card{width:100%;flex:1}.archive-delete{margin-top:8px;padding:10px 14px;border:1px solid #b3b3a8;background:transparent;color:#7e382b;cursor:pointer;text-align:left}
@supports not (height:100dvh){.work-dialog{height:89vh;max-height:92vh}.image-dialog{height:100vh;max-height:100vh}.media-region video{max-height:55vh}}

.archive-edit-actions{gap:8px;margin-top:9px}.editing .archive-edit-actions{display:flex!important;flex-wrap:wrap}.archive-edit-actions button{min-height:44px;padding:8px 12px;border:1px solid var(--line);background:transparent;font-size:11px}.archive-edit-actions .archive-delete{margin:0}.archive-drag-handle{touch-action:none;cursor:grab;user-select:none}.archive-dragging{opacity:.55;outline:2px solid var(--accent);outline-offset:3px}.archive-dragging .archive-drag-handle{cursor:grabbing}.archive-order-status{color:var(--muted);font-size:12px;margin:12px 0}
.media-carousel{position:relative;display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;min-width:0;width:100%;-webkit-overflow-scrolling:touch}.media-carousel::-webkit-scrollbar{display:none}.media-region .media-carousel>figure{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always}.media-carousel .viewer-media img,.media-carousel video{width:100%;height:clamp(220px,46vh,470px);max-height:52dvh;object-fit:contain}.media-carousel .viewer-media{border:0;background:transparent;padding:0}.media-carousel .video-link-card{display:flex;align-items:center;justify-content:center;min-height:240px;height:clamp(220px,46vh,470px);overflow-wrap:anywhere}.media-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.media-carousel-controls button{min-height:44px;padding:9px 14px;background:transparent;border:1px solid var(--line);font-size:12px}.media-carousel-controls button:disabled{opacity:.35;cursor:default}.media-carousel-controls span{font:12px/1.6 Consolas,monospace;color:var(--muted)}.media-swipe-hint,.media-drop-hint{font-size:11px;color:var(--muted);margin:9px 0}.media-drag-over{outline:2px dashed var(--accent);outline-offset:7px;background:#dc9f2410}.image-stage:not(.zoomed){touch-action:pan-y}.image-stage.zoomed{touch-action:auto}
@media(max-width:700px){.media-carousel .viewer-media img,.media-carousel video{height:clamp(200px,40vh,380px);max-height:46dvh}.media-carousel-controls{gap:8px}.media-carousel-controls button{padding:8px 10px;font-size:11px}.archive-edit-actions button{flex:1;white-space:nowrap}.image-toolbar .image-step{font-size:10px}}

.media-video-fallback{display:inline-block;margin:10px 0;color:var(--muted);font-size:11px;border-bottom:1px solid currentColor;padding-bottom:4px}

/* 一路上的印记：照片主导的横向画册；完整原图在灯箱中保留。 */
.honors-album-dialog{height:90vh;height:90dvh;max-height:94dvh}
.honors-album-dialog .viewer-scroll{padding-top:24px;padding-bottom:18px}
.honors-album-dialog .viewer-scroll h2{font-size:22px;font-weight:600;letter-spacing:.06em;margin-bottom:22px}
.honors-album-dialog .viewer-description:empty,.honors-album-dialog .viewer-body:empty{display:none}
.editing .honors-album-dialog .viewer-body:empty{display:block;margin-bottom:22px}
.honors-album-dialog .album-picture{--album-height:clamp(160px,calc(90vh - 425px),490px);display:flex;align-items:center;justify-content:center;height:var(--album-height);width:100%;background:#eeece380}
.honors-album-dialog .album-picture>img{width:auto;height:100%;max-width:100%;max-height:none;object-fit:contain}
.honors-album-dialog .album-broadcast-crop{position:relative;display:block;overflow:hidden;width:100%;max-width:calc(var(--album-height) * 1.00935);aspect-ratio:1080/1070}
.honors-album-dialog .album-broadcast-crop>img{position:absolute;top:-16.82243%;left:0;width:100%;height:auto;max-height:none;object-fit:initial}
.honors-album-dialog figcaption{text-align:center;font-size:11px;letter-spacing:.04em;line-height:1.8;margin-top:12px;color:var(--muted)}
.album-thumbnails{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.album-thumbnails button{display:flex;align-items:center;justify-content:center;width:48px;height:58px;padding:3px;background:transparent;border:1px solid transparent;opacity:.55}
.album-thumbnails button[aria-current=true]{border-color:var(--accent);opacity:1}
.album-thumbnails button:hover{opacity:1}
.album-thumbnails img{width:100%;height:100%;object-fit:contain}
.album-thumbnails .album-broadcast-thumb{object-fit:cover;object-position:50% 34%}
.honors-album-dialog .media-carousel-controls{max-width:500px;margin:14px auto 0}
.honors-album-dialog .media-carousel-controls button{border:0;padding:8px 0;font-size:11px;color:var(--muted)}
.honors-album-dialog .media-swipe-hint{text-align:center;margin:4px 0 0;font-size:10px}
@media(max-width:700px){.honors-album-dialog .viewer-scroll{padding:20px 16px 14px}.honors-album-dialog .viewer-scroll h2{font-size:19px;margin-bottom:18px}.honors-album-dialog .album-picture{--album-height:clamp(140px,min(43vh,calc(90vh - 385px)),410px)}.album-thumbnails{margin-top:14px}.album-thumbnails button{width:42px;height:52px}}
