.workshop-intro{padding:38px 0 28px}
.workshop-engine{font-size:12px;font-weight:500;color:var(--muted);margin-left:8px}
.workshop-umi-options{margin:20px 0;font-size:13px}.workshop-umi-options select{min-height:44px;margin-left:12px;padding:8px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--text);max-width:100%}.workshop-umi-options p{color:var(--muted);line-height:1.8}
.workshop-video-input{margin-top:22px;border-top:1px solid var(--line);padding-top:20px}
.workshop-video-input h3{font-size:17px;margin:0 0 8px}
.workshop-video-input p{font-size:13px;color:var(--muted);line-height:1.8}
.workshop-video-stage{position:relative;width:100%;background:#182334;margin:16px auto;border-radius:8px;overflow:hidden;touch-action:none;cursor:crosshair}
.workshop-video-stage video{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.workshop-video-region{position:absolute;border:2px solid #fff;box-shadow:0 0 0 1px var(--purple);background:rgba(110,75,240,.22);box-sizing:border-box;pointer-events:none}
.workshop-video-region span{display:block;position:absolute;top:-23px;left:0;background:var(--purple);color:white;font-size:11px;white-space:nowrap;padding:2px 5px;border-radius:3px}
.workshop-video-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px}
.workshop-video-controls input[type=range]{flex:1;min-width:90px;accent-color:var(--purple)}
.workshop-video-input fieldset{margin:18px 0 0;padding:12px;border:1px solid var(--line);border-radius:8px;min-width:0}
.workshop-video-input legend{font-size:12px;color:var(--muted)}
.workshop-region-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.workshop-region-fields label{display:grid;gap:6px;font-size:12px;color:var(--muted)}
.workshop-region-fields input{width:100%;min-width:0;min-height:44px;box-sizing:border-box;border:1px solid var(--line);border-radius:6px;padding:8px;color:var(--text);background:white}
#workshopOutputVideo{width:100%;max-height:460px;background:#182334;border-radius:8px;margin-top:16px}
@media(max-width:520px){.workshop-region-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.workshop-video-controls input[type=range]{flex-basis:100%}.workshop-preview-head{flex-wrap:wrap}}
.workshop-intro h1{margin:0 0 9px;font-size:34px;font-weight:750;line-height:1.3;letter-spacing:-.035em}
.workshop-intro p{margin:0;color:var(--purple);font-size:15px;line-height:1.85}
.workshop-shell{background:var(--surface);border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:minmax(0,1fr) 280px;overflow:clip}
.workshop-workspace{padding:32px 36px;min-width:0}
.workshop-workspace h2{font-size:24px;letter-spacing:-.025em;margin:0 0 10px;line-height:1.5}
.workshop-workspace>.workshop-description{color:var(--muted);margin:0 0 24px;font-size:14px;line-height:1.85}
.workshop-form{min-width:0}
.workshop-upload{border:1px dashed #c8b9e7;border-radius:9px;background:#fbfaff;padding:34px 24px;text-align:center}
.workshop-file-art{display:inline-grid;place-items:center;width:58px;height:68px;margin-bottom:16px;background:white;border:1px solid #dfd5f0;border-radius:5px;color:var(--purple);font-size:19px;font-weight:650;box-shadow:5px 5px 0 #f0eaf9}
.workshop-upload h3{margin:0 0 8px;font-size:17px;font-weight:650}
.workshop-upload p{color:var(--muted);font-size:13px;line-height:1.8;margin:0 auto 18px;max-width:410px}
.workshop-button{min-height:44px;border:1px solid #dcd3ed;border-radius:7px;padding:10px 18px;background:var(--surface);color:var(--purple);font-weight:650;font-size:14px;line-height:1.5}
.workshop-button:hover{background:var(--ui-accent-soft)}
.workshop-button.is-primary{background:var(--purple);color:white;border-color:var(--purple);box-shadow:none}
.workshop-button.is-primary:hover{background:var(--ui-accent-hover)}
.workshop-upload[data-selected=true]{display:flex;align-items:center;gap:16px;padding:18px 20px;text-align:left}
.workshop-upload[data-selected=true] .workshop-file-art,.workshop-upload[data-selected=true] h3{display:none}
.workshop-upload[data-selected=true] p{flex:1;margin:0;max-width:none}
.workshop-upload[data-selected=true] button{flex:none}
.workshop-button:disabled{opacity:.55;cursor:not-allowed}
.workshop-selected{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);min-width:0}
.workshop-selected>div{min-width:0;flex:1}
.workshop-selected strong{display:block;font-size:14px;overflow-wrap:anywhere;color:var(--text)}
.workshop-selected small{font-size:12px;color:var(--muted)}
.workshop-selected button{min-width:44px;min-height:44px;color:var(--muted);border:0;background:transparent;font-size:13px}
.workshop-submit-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding-top:20px}
.workshop-submit-row p{color:var(--muted);font-size:12px;line-height:1.7;margin:0;flex:1;min-width:150px}
.workshop-result{margin-top:24px;padding:22px;background:#f6f2fc;border:1px solid #e2d8f2;border-radius:9px}
.workshop-status-heading{display:flex;align-items:center;gap:10px}
.workshop-status-heading h3{font-size:17px;color:var(--purple);margin:0}
.workshop-spinner{width:18px;height:18px;border:2px solid #d5c7ed;border-top-color:var(--purple);border-radius:50%;animation:workshop-spin .8s linear infinite;flex:none}
.workshop-complete-mark{display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--purple);border-radius:50%;color:var(--purple);font-weight:700}
.workshop-result-name{font-size:14px;font-weight:600;overflow-wrap:anywhere;color:var(--text);margin:14px 0 6px}
.workshop-result-text{font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 16px;overflow-wrap:anywhere}
.workshop-result-actions{display:flex;gap:10px;flex-wrap:wrap}
.workshop-result[data-state=failed],.workshop-result[data-state=expired]{background:#faf8fc}
.workshop-message{margin-top:16px;padding:12px 14px;border-radius:6px;background:#f3f1f8;color:var(--purple);font-size:13px;line-height:1.8;overflow-wrap:anywhere}
.workshop-message.is-error{background:#fff4f5;color:var(--danger)}
.workshop-message button{background:transparent;border:0;color:inherit;min-height:44px;padding:0 8px;text-decoration:underline;text-underline-offset:3px}
.workshop-notes{border-left:1px solid var(--line);padding:32px 24px;background:#fcfbfd;min-width:0}
.workshop-notes h3{margin:0 0 16px;font-size:15px;font-weight:650}
.workshop-notes ol{padding-left:18px;margin:0 0 28px;color:var(--muted);font-size:13px;line-height:1.9}
.workshop-notes li{padding-left:3px;margin-bottom:12px}
.workshop-notes section+section{border-top:1px solid var(--line);padding-top:24px}
.workshop-notes p{font-size:12px;line-height:1.95;color:var(--muted);margin:0 0 14px}
.workshop-policy{font-size:12px!important;color:var(--purple)!important}
.workshop-view [hidden]{display:none!important}
.workshop-catalog{background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 30px}
.workshop-tool{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:24px;padding:30px 0}
.workshop-tool+.workshop-tool{border-top:1px solid var(--line)}
.workshop-tool-symbol{width:58px;height:62px;border-radius:8px;display:grid;place-items:center;background:#f3effc;color:var(--purple);font-size:20px;font-weight:650}
.workshop-tool h2{font-size:21px;margin:0 0 8px;line-height:1.4}
.workshop-tool p{font-size:14px;color:var(--muted);margin:0 0 8px;line-height:1.7}
.workshop-tool small{font-size:12px;color:var(--muted);line-height:1.7;display:block}
.workshop-breadcrumb{display:flex;align-items:center;gap:14px;margin:0 auto 18px;color:var(--muted);font-size:13px;flex-wrap:wrap}
.workshop-text-input{margin-top:20px}
.workshop-text-input label{display:block;font-weight:600;margin-bottom:10px;font-size:14px}
.workshop-text-input textarea{box-sizing:border-box;width:100%;min-height:200px;resize:vertical;border:1px solid var(--line);border-radius:6px;padding:14px;color:var(--text);background:#fff;font:14px/1.8 Consolas,'Microsoft YaHei',monospace}
.workshop-text-input details{margin:12px 0;color:var(--muted);font-size:13px}
.workshop-text-input summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.workshop-text-input pre{white-space:pre-wrap;padding:14px;background:#f7f5fa;font:13px/1.8 Consolas,'Microsoft YaHei',monospace}
.workshop-preview-area{border-top:1px solid var(--line);padding-top:22px;margin-top:26px;min-width:0}
.workshop-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.workshop-preview-area h4{font-size:16px;margin:0}
.workshop-preview-area pre{max-height:550px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#faf9fc;padding:16px;font:14px/1.9 'Microsoft YaHei',sans-serif}
.workshop-preview-images{display:grid;gap:16px;margin-top:16px}
.workshop-preview-images img{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:4px;box-sizing:border-box}
.workshop-preview-area iframe{width:100%;height:65vh;min-height:320px;border:1px solid var(--line);margin-top:16px;box-sizing:border-box}
.workshop-catalog-note{border-top:1px solid var(--line);margin:0;padding:18px 0;font-size:12px;color:var(--muted)}
@media(max-width:768px){.workshop-catalog{padding:0 20px}.workshop-tool{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:24px 0}.workshop-tool-symbol{width:42px;height:46px;font-size:16px}.workshop-tool h2{font-size:18px}.workshop-tool button{grid-column:2;justify-self:start}.workshop-tool p{font-size:13px}.workshop-preview pre{padding:12px}}
@keyframes workshop-spin{to{transform:rotate(360deg)}}
@media(max-width:1080px){.workshop-shell{grid-template-columns:minmax(0,1fr) 240px}.workshop-workspace{padding:28px}.workshop-notes{padding:28px 20px}}
@media(max-width:768px){.workshop-shell{grid-template-columns:1fr}.workshop-notes{border-left:0;border-top:1px solid var(--line);padding:24px}.workshop-workspace{padding:24px}.workshop-intro{padding:28px 0 22px}.workshop-intro h1{font-size:28px}.workshop-notes ol{margin-bottom:20px}.workshop-notes section+section{padding-top:20px}}
@media(max-width:390px){.workshop-workspace,.workshop-notes{padding:20px 16px}.workshop-upload{padding:26px 14px}.workshop-workspace h2{font-size:21px}.workshop-submit-row{align-items:stretch;flex-direction:column}.workshop-submit-row p{min-width:0}.workshop-result{padding:18px 14px}}
@media(max-width:520px){.workshop-upload[data-selected=true]{flex-direction:column;align-items:flex-start;padding:16px}.workshop-result-actions{flex-direction:column}.workshop-result-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.workshop-spinner{animation:none;border-style:dotted}}
/* The seventh module needs two complete navigation rows, not overflowing a fixed height. */
@media(max-width:768px){.app-page>.topbar .main-nav{height:auto;grid-template-columns:repeat(4,minmax(0,1fr));min-height:92px}.app-page>.topbar .main-nav .nav-link{font-size:12px;padding:0 2px}}
/* File search follows the existing workshop surface and focus styles. */
.workshop-search-options {border:1px solid var(--line,#e4e4f0);border-radius:12px;padding:20px;margin:20px 0;min-width:0;}
.workshop-search-options legend {font-weight:650;padding:0 8px;}
.workshop-search-options>label {display:grid;gap:8px;font-weight:600;}
.workshop-search-options input[type=text],.workshop-search-options select {min-height:44px;border:1px solid #dcdcea;background:#fff;color:#242638;border-radius:8px;padding:10px 12px;width:100%;font:inherit;}
.workshop-search-settings {display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:16px;}
.workshop-search-settings>label {display:flex;align-items:center;gap:8px;min-height:44px;}
.workshop-search-settings input[type=checkbox] {width:18px;height:18px;accent-color:#6647ed;}
.workshop-search-options p,.workshop-search-hit small {color:#65667a;font-size:13px;line-height:1.7;}
.workshop-search-hit {border-top:1px solid #e8e8f2;padding:16px 0;min-width:0;}
.workshop-search-hit h5 {font-weight:600;font-size:14px;line-height:1.6;margin:0 0 8px;overflow-wrap:anywhere;}
.workshop-search-hit pre {font:14px/1.8 ui-monospace,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f7fc;padding:12px;border-radius:8px;margin:8px 0;}
.workshop-search-hit mark {background:#e7dfff;color:#422680;border-radius:3px;padding:1px 0;}
.workshop-search-hit summary {cursor:pointer;color:#5340ae;min-height:44px;display:list-item;align-content:center;}
.workshop-search-pages {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;}
.workshop-selected>div {min-width:0;overflow-wrap:anywhere;}
.workshop-search-options input:focus-visible,.workshop-search-options select:focus-visible {outline:2px solid #6e50d8;outline-offset:2px;}
.workshop-extra{border:1px solid var(--line,#e4e4f0);background:#fff;border-radius:16px;padding:28px;margin-bottom:32px;min-width:0;}
.workshop-extra{scroll-margin-top:110px;}.workshop-editor-viewport{max-width:100%;overflow:auto;overscroll-behavior:contain;}.workshop-editor-viewport:focus-visible{outline:2px solid #6e50d8;outline-offset:2px;}
@media(max-width:1024px){#editorFrame{min-width:960px;}}
.workshop-extra h2{margin:0 0 12px;font-size:24px;}.workshop-extra p{line-height:1.8;overflow-wrap:anywhere;}.workshop-extra-note{font-size:14px;color:#62647c;max-width:80ch;}
.workshop-extra label{display:block;font-weight:600;margin:20px 0 8px;}.workshop-extra input,.workshop-extra select{width:100%;max-width:800px;min-height:48px;border:1px solid #dcdcea;border-radius:8px;padding:12px;background:#fff;color:#202236;font:inherit;box-sizing:border-box;}
.workshop-extra input:focus-visible,.workshop-extra select:focus-visible{outline:2px solid #6e50d8;outline-offset:2px;}
.workshop-extra-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0;}.workshop-extra-message:empty{display:none;}.workshop-extra-message{padding:12px;background:#f4f1ff;border-radius:8px;color:#403270;}.workshop-extra-message.is-error{background:#fff1ed;color:#8e3220;}
.workshop-extra-result{border-top:1px solid #e8e8f2;margin-top:24px;padding-top:20px;}#downloadPreview{max-width:100%;width:720px;max-height:480px;background:#15151d;}
.workshop-editor-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}.workshop-editor-heading p{margin:0;}#editorFrame{width:100%;height:680px;border:1px solid #e4e4f0;border-radius:8px;background:#262626;}#workshopEditorPanel:fullscreen{padding:12px;background:#fff;overflow:auto;}#workshopEditorPanel:fullscreen #editorFrame{height:calc(100vh - 180px);}
@media(max-width:768px){.workshop-extra{padding:20px 16px;}.workshop-editor-heading{flex-direction:column;}#editorFrame{height:620px;}.workshop-extra-actions button{flex:1;}.workshop-extra h2{font-size:22px;}}
@media(max-width:500px){.workshop-search-options {padding:14px;}.workshop-search-settings {gap:8px;}.workshop-search-settings>label {width:100%;}.workshop-search-settings select {flex:1;min-width:0;}}
/* PDF controls reuse the workshop palette and typography, without changing other modules. */
.workshop-group-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:20px 0;border-bottom:1px solid var(--line);grid-column:1/-1;}
.workshop-group-filters>span{font-size:13px;color:var(--muted);margin-left:auto;}
#workshopPdfWorkspace{box-sizing:border-box;}
#pdfToolOptions{border:1px solid var(--line);border-radius:8px;padding:16px 20px 20px;margin:20px 0;min-width:0;}
#pdfToolOptions legend{font-weight:650;padding:0 6px;}
#pdfOptionFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;}
#pdfOptionFields label{min-width:0;font-size:14px;margin:12px 0 0;overflow-wrap:anywhere;}
#pdfOptionFields input,#pdfOptionFields select{display:block;margin-top:8px;max-width:none;min-width:0;}
#pdfToolForm>.workshop-button{margin:0 10px 10px 0;}
.workshop-pdf-files{padding-left:22px;font-size:14px;}
.workshop-pdf-files li{padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere;}
.workshop-pdf-files li>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.workshop-pdf-files button{min-height:40px;padding:6px 12px;font-size:13px;}
.workshop-pdf-results>div{display:flex;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.workshop-pdf-results>div>span{flex:1;min-width:120px;overflow-wrap:anywhere;font-size:14px;}
#pdfResultSummary{font-size:13px;color:var(--muted);}
#pdfPreviewArea{border-top:1px solid var(--line);padding-top:20px;margin-top:20px;}
#pdfOutputPreview{display:block;width:100%;height:65vh;min-height:320px;border:1px solid var(--line);box-sizing:border-box;margin-top:12px;}
#pdfImagePreview{display:block;max-width:100%;height:auto;max-height:80vh;object-fit:contain;margin:12px auto;}
@media(max-width:600px){#pdfOptionFields{grid-template-columns:1fr;}#pdfToolOptions{padding:12px;}.workshop-group-filters>span{width:100%;margin:0;}.workshop-pdf-results>div>span{flex-basis:100%;}#pdfToolForm>.workshop-button{width:100%;}}
