/* 卡刀分享继承装备市场的白 / 冷灰 / 橙色体系，全部资源随页面本地提供。 */
:root{--bg:#f5f6f8;--surface:#fff;--ink:#222630;--secondary:#5c6370;--muted:#686e79;--line:#e8eaee;--brand:#ff7d2e;--brand-deep:#b7430a;--brand-wash:#fff1e7;--focus:#a84316;--green:#28724e;--error:#aa2d22;--radius:8px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.65 "Microsoft YaHei","PingFang SC",system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none;text-underline-offset:4px}a:hover{color:var(--brand-deep)}img{max-width:100%;display:block}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.4}h1{font-size:30px;letter-spacing:-.7px}h2{font-size:20px}h3{font-size:17px}::selection{background:#ffe0c9;color:#42220f}:focus-visible{outline:2px solid var(--focus);outline-offset:4px}input,textarea{caret-color:var(--brand-deep)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}::-webkit-scrollbar{width:10px;height:6px}::-webkit-scrollbar-thumb{background:#c7ccd4;border:2px solid var(--bg);border-radius:8px}::-webkit-scrollbar-track{background:var(--bg)}[hidden]{display:none!important}.sprite{position:absolute;width:0;height:0;overflow:hidden}.wrap{width:min(1200px,calc(100% - 64px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:20px;z-index:30;background:var(--ink);color:white;padding:12px 18px}.skip-link:focus{top:10px}main:focus{outline:none}
/* 保留熟悉的站点品牌与导航，不依赖原站登录脚本。 */
.utility{background:#eef0f3;color:var(--secondary);font-size:12px}.utility-inner{display:flex;justify-content:space-between;padding:6px 0}.site-head{background:var(--surface);border-bottom:1px solid var(--line)}.head-main{display:flex;align-items:center;gap:36px;height:94px}.brand{display:flex;gap:12px;align-items:center}.brand img{width:51px;height:51px;object-fit:contain}.brand strong{display:block;font-size:27px;font-weight:800;line-height:1.25;letter-spacing:-1px}.brand small{display:block;font-size:11px;color:var(--secondary);letter-spacing:1px;margin-top:5px}.head-caption{color:var(--secondary);border-left:1px solid var(--line);padding-left:30px;font-size:13px}.head-market{display:flex;align-items:center;gap:10px;margin-left:auto;color:var(--brand-deep);font-size:13px}.head-market svg{width:17px}.main-nav{display:flex;gap:37px;min-height:49px;overflow-x:auto;scrollbar-width:thin}.main-nav a{position:relative;display:flex;align-items:center;white-space:nowrap;font-weight:600;min-height:49px}.main-nav [aria-current=page]{color:var(--brand-deep)}.main-nav [aria-current=page]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--brand)}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0 24px}.page-heading p{color:var(--secondary);margin-top:7px}.demo-note{font-size:12px;color:var(--muted)}.section-bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce0e6;padding-bottom:12px;margin-bottom:20px}.section-tabs{display:flex;gap:30px}.section-tabs button{padding:7px 0;background:none;border:0;font-size:17px;font-weight:600;color:var(--secondary)}.section-tabs [aria-pressed=true]{color:var(--brand-deep)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:8px 18px;border:1px solid #d8dce3;border-radius:6px;font-weight:600;line-height:1.5;background:var(--surface);color:var(--ink)}.button.primary{background:var(--brand);border-color:var(--brand);color:#331d0d}.button:hover{background:#f0f2f5;color:var(--ink)}.button.primary:hover{background:#f56c1b;border-color:#f56c1b}.button svg{width:18px;height:18px}.text-button{background:none;border:0;padding:8px;color:var(--brand-deep)}.text-button:hover{text-decoration:underline}.notice{padding:13px 16px;margin:14px 0;border:1px solid #e3c69e;border-radius:6px;background:#fff8eb;color:#75521e}.notice button{margin-left:8px}.notice.error{border-color:#edc4be;background:#fff0ee;color:var(--error)}
/* 卡片是用户要求的资料目录，封面承载按键节奏示意而非装饰。 */
.filter-panel{display:flex;align-items:center;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.profession-control{display:flex;align-items:center;gap:12px;white-space:nowrap;color:var(--secondary)}input,select,textarea{border:1px solid #cdd2db;border-radius:5px;background:var(--surface);color:var(--ink);padding:10px 12px;min-height:44px;width:100%}select{padding-right:30px;max-width:100%}.profession-control select{width:164px}.search-field{display:flex;align-items:center;flex:1;min-width:0;border:1px solid #cdd2db;border-radius:5px;overflow:hidden}.search-field>svg{margin-left:14px;color:var(--muted);width:18px}.search-field input{border:0;min-width:0;outline-offset:-3px}.search-field button{align-self:stretch;border:0;border-left:1px solid var(--line);background:#f8f9fb;padding:0 22px;color:var(--ink);font-weight:600}.search-field button:hover{background:var(--brand-wash);color:var(--brand-deep)}.result-heading{display:flex;align-items:baseline;gap:13px;margin:23px 0 15px}.result-heading h2{font-size:18px}.result-heading>span{font-size:12px;color:var(--muted)}.result-heading .sort-label{margin-left:auto}.tutorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tutorial-card{background:var(--surface);border:1px solid #dde1e7;border-radius:var(--radius);overflow:hidden;min-width:0;transition:border-color .18s ease,box-shadow .18s ease}.tutorial-card:hover{border-color:#d3ad93;box-shadow:0 7px 18px #2630400c}.card-cover{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;background:#1c252f}.card-cover img{width:100%;height:100%;object-fit:cover}.cover-label{position:absolute;left:12px;top:12px;padding:3px 8px;background:#ffffffeb;color:var(--ink);border-radius:3px;font-size:11px;font-weight:600}.card-body{padding:19px 20px 14px}.card-meta{display:flex;gap:8px;align-items:center;margin-bottom:9px;flex-wrap:wrap;font-size:11px}.profession-label{color:var(--brand-deep);background:var(--brand-wash);border-radius:3px;padding:1px 7px;font-size:12px;font-weight:600}.version-label{color:var(--muted)}.card-body h3{font-size:18px;line-height:1.5;margin-bottom:8px;min-height:54px}.card-body h3 a:hover{text-decoration:underline}.card-intro{color:var(--secondary);font-size:13px;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:46px}.tag-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.tag-list span{background:#f1f3f6;border-radius:3px;font-size:11px;color:var(--secondary);padding:2px 7px}.card-footer{display:flex;align-items:center;gap:5px;border-top:1px solid var(--line);margin-top:16px;padding-top:12px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.card-footer>span:last-child{margin-left:auto}.card-footer svg{width:14px;height:14px}.pagination{display:flex;justify-content:center;gap:7px;margin:25px 0 30px;align-items:center}.pagination button{min-width:36px;min-height:38px;padding:4px 12px;border:1px solid #d8dce3;background:var(--surface);border-radius:5px;color:var(--secondary)}.pagination button[aria-current=page],.pagination button.active{background:var(--brand-wash);border-color:#dfaf8f;color:var(--brand-deep);font-weight:600}.pagination span{font-size:12px;color:var(--muted);margin:0 8px}.empty-state{padding:55px 15px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.empty-state>svg{margin:0 auto 13px;width:30px;height:30px;color:var(--muted)}.empty-state p{color:var(--secondary);margin:10px 0 20px}.reading-entry{border-top:1px solid #dce0e6;padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:20px}.reading-entry>div{display:flex;gap:15px;align-items:center}.reading-entry>div>svg{width:32px;height:32px;color:var(--secondary)}.reading-entry h2{font-size:16px;margin-bottom:5px}.reading-entry p{font-size:12px;color:var(--secondary)}.reading-entry>a{display:flex;gap:12px;align-items:center;color:var(--brand-deep);white-space:nowrap;font-size:13px}
/* 详情以阅读为主；目录只是辅助，不遮挡正文。 */
.back-link{display:inline-flex;align-items:center;gap:7px;color:var(--secondary);font-size:13px;margin-bottom:20px}.back-link svg{width:16px;order:-1;transform:rotate(180deg)}.detail-header{margin-bottom:24px}.detail-header h2,.detail-header h1{font-size:29px;line-height:1.5;max-width:30em;margin:13px 0}.detail-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:12px}.detail-meta .profession-label{font-size:13px}.detail-intro{color:var(--secondary);margin:12px 0;max-width:70ch}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:40px;align-items:start}.article-content{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px 38px;min-width:0}.detail-hero{border-radius:6px;overflow:hidden;margin-bottom:30px;background:#1c252f}.detail-hero img{width:100%;height:auto;max-height:430px;object-fit:contain}.article-section{margin-top:36px;scroll-margin-top:20px}.article-section:first-child{margin-top:0}.article-section h2{font-size:21px;margin-bottom:14px}.article-section h3{font-size:19px;margin-bottom:12px}.article-section p,.prose-text{font-size:15px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;max-width:75ch}.article-section ul,.article-section ol{padding-left:22px;margin:14px 0;line-height:1.95;color:var(--secondary);font-size:14px}.article-section li{margin:7px 0}.tutorial-figure{margin:22px 0 0}.tutorial-figure img{width:100%;border-radius:5px;border:1px solid var(--line);object-fit:contain}.tutorial-figure figcaption{color:var(--muted);font-size:12px;margin-top:9px;line-height:1.7}.article-toc{position:sticky;top:22px;padding:18px 0}.article-toc h3{font-size:14px;margin-bottom:13px}.article-toc a{display:block;font-size:13px;padding:8px 0;color:var(--secondary)}.article-toc a:hover{color:var(--brand-deep);text-decoration:underline}.article-toc p{font-size:12px;color:var(--muted);margin-top:18px;padding-top:18px;border-top:1px solid #dce0e6}.detail-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.detail-actions button{min-height:42px;padding:8px 17px;border:1px solid #d8dce3;border-radius:6px;background:var(--surface);display:inline-flex;gap:8px;align-items:center;color:var(--secondary)}.detail-actions button[aria-pressed=true]{background:var(--brand-wash);border-color:#dfaf8f;color:var(--brand-deep)}.detail-actions span,.detail-actions p{color:var(--muted);font-size:12px}.submission-banner{background:#edf6f0;border-radius:5px;padding:12px 15px;color:var(--green);font-size:13px;margin:16px 0}.delete-button{color:var(--error)!important}.missing-state{padding:40px;background:var(--surface);text-align:center}.missing-state p{margin:10px 0 20px}
/* 教程汇总：索引行让资料缺口和已收录职业一眼可见。 */
.view-heading{margin:28px 0 24px}.view-heading h2{font-size:25px}.view-heading>p{color:var(--secondary);margin-top:9px}.view-heading .back-link{margin-bottom:14px}.library-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;align-items:start}.library-tabs{display:flex;flex-direction:column;border-top:1px solid #dce0e6}.library-tabs button{background:none;border:0;border-bottom:1px solid #dce0e6;padding:16px;text-align:left;color:var(--secondary);font-size:14px}.library-tabs [aria-pressed=true]{background:var(--brand-wash);color:var(--brand-deep);font-weight:600}.library-content{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px 36px;min-height:440px}.library-content>h2,.library-section>h2{margin-bottom:25px;font-size:22px}.library-row{padding:21px 0;border-top:1px solid var(--line)}.library-row:first-child{padding-top:0;border-top:0}.library-row h3{font-size:17px;margin-bottom:9px}.library-row p{color:var(--secondary);line-height:1.95;white-space:pre-wrap;max-width:72ch}.library-row ul{padding-left:20px;line-height:1.9;color:var(--secondary)}.profession-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px}.profession-index>a,.profession-index>div,.profession-index>button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 0;border:0;border-bottom:1px solid var(--line);background:none;text-align:left}.profession-index strong{font-size:15px}.profession-index span,.profession-index small{font-size:12px;color:var(--muted)}.profession-index>a:hover strong{color:var(--brand-deep)}
/* 投稿使用原生输入与可见文件入口，兼容手机浏览器。 */
.submit-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:30px;align-items:start}.contribution-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px 34px}.contribution-form fieldset{border:0;padding:0;margin:0 0 29px;min-width:0}.contribution-form legend{font-size:17px;font-weight:700;margin:0 0 19px;padding:0;width:100%}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.form-grid .full{grid-column:1/-1}.contribution-form label{display:block;font-weight:600;font-size:13px}.contribution-form input,.contribution-form select,.contribution-form textarea{display:block;margin-top:7px;font-weight:400;font-size:14px}.contribution-form textarea{resize:vertical;line-height:1.8;min-height:100px}.contribution-form em{font-style:normal;color:var(--brand-deep)}.field-help{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:6px;line-height:1.8}.field-title{display:block;font-size:13px;font-weight:600;margin-bottom:9px}.upload-zone{display:flex;align-items:center;gap:14px;border:1px dashed #bac3d0;border-radius:6px;background:#f9fafc;padding:20px}.upload-zone>svg{width:25px;height:25px;color:var(--secondary)}.upload-zone strong{font-size:13px}.upload-zone p{font-size:11px;color:var(--muted);margin-top:3px}.upload-zone.drag-over,.upload-zone.is-dragover{background:var(--brand-wash);border-color:var(--brand-deep)}.file-button{position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:center;min-height:39px;padding:8px 12px;margin-left:auto;white-space:nowrap;border:1px solid #cdd2db;border-radius:5px;background:var(--surface);cursor:pointer}.file-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.file-button:focus-within{outline:2px solid var(--focus);outline-offset:3px}.body-upload{margin-top:20px}.upload-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.upload-preview:empty{display:none}.upload-preview-item{position:relative;min-width:0}.upload-preview-item img{width:100%;height:105px;object-fit:cover;border:1px solid var(--line);border-radius:5px}.upload-preview-item button{display:block;background:none;border:0;color:var(--error);padding:5px;font-size:12px;margin:auto}.upload-preview-item span{font-size:11px;color:var(--muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cover-preview{grid-template-columns:minmax(0,220px)}.cover-preview img{height:124px}.form-submit{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:23px}.form-submit>p{font-size:11px;color:var(--muted)}.form-submit>div{display:flex;gap:9px}.submit-aside{padding:22px 0}.submit-aside h3{font-size:16px;margin-bottom:20px}.submit-aside dl{margin:0}.submit-aside dl>div{margin-bottom:22px}.submit-aside dt{font-size:13px;font-weight:600;margin-bottom:5px}.submit-aside dd{font-size:12px;color:var(--secondary);line-height:1.85;margin:0}.submit-aside>p{font-size:12px;color:var(--muted);border-top:1px solid #dce0e6;padding-top:20px;margin-top:25px}.site-footer{display:flex;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid #dce0e6;margin-top:40px;padding:25px 0 30px;font-size:11px;color:var(--muted)}.site-footer>a{font-size:15px;font-weight:700;color:var(--secondary)}.site-footer>span{margin-left:auto}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:30;width:max-content;max-width:calc(100% - 32px);padding:12px 20px;border-radius:6px;background:#26303b;color:#fff;box-shadow:0 6px 22px #14202e20;font-size:13px;animation:feedback-in .2s ease-out}@keyframes feedback-in{from{opacity:.65;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%,0)}}
@media(min-width:1500px){.wrap{width:min(1280px,calc(100% - 100px))}.card-body{padding:21px 23px 16px}}
@media(max-width:1000px){.wrap{width:calc(100% - 40px)}.head-caption{display:none}.filter-panel{gap:12px}.profession-control{gap:8px}.profession-control select{width:135px}.tutorial-grid{gap:15px}.card-body{padding:16px}.card-body h3{font-size:16px;min-height:48px}.detail-layout{grid-template-columns:minmax(0,1fr) 175px;gap:24px}.article-content{padding:26px}.submit-layout{grid-template-columns:minmax(0,1fr) 205px;gap:24px}.contribution-form{padding:25px}.upload-zone{padding:16px;gap:10px}.upload-zone>svg{display:none}.form-submit{align-items:flex-start;flex-direction:column}.form-submit>p br{display:none}}
@media(max-width:760px){.wrap{width:calc(100% - 28px)}.utility-inner>span:last-child{display:none}.head-main{height:78px;gap:10px}.brand img{width:43px;height:43px}.brand strong{font-size:23px}.brand small{font-size:10px}.head-market{font-size:12px}.head-market svg{display:none}.main-nav{gap:27px;min-height:45px}.main-nav a{font-size:13px;min-height:45px}.page-heading{padding:23px 0 18px;align-items:flex-start;flex-direction:column;gap:8px}h1{font-size:26px}.page-heading p{font-size:13px;max-width:27em}.demo-note{font-size:11px}.section-bar{margin-bottom:16px}.section-tabs{gap:23px}.section-tabs button{font-size:15px}.section-bar>.button{padding:8px 12px;min-height:39px;font-size:12px}.section-bar>.button svg{width:15px}.filter-panel{padding:15px;flex-wrap:wrap;gap:12px}.profession-control{flex:1}.profession-control select{flex:1;width:auto}.search-field{order:3;flex-basis:100%}.filter-panel .text-button{font-size:12px;padding:8px 0}.result-heading{margin-top:20px;gap:8px;flex-wrap:wrap}.result-heading h2{font-size:17px}.result-heading .sort-label{margin-left:0;flex-basis:100%;font-size:11px}.tutorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-body{padding:14px}.card-meta{gap:5px}.card-body h3{font-size:16px;min-height:48px}.card-intro{font-size:12px;min-height:42px}.card-footer{flex-wrap:wrap}.card-footer>span:last-child{margin-left:0}.reading-entry{align-items:flex-start;flex-direction:column;gap:16px;padding-top:21px}.reading-entry>div{gap:11px}.reading-entry>div>svg{width:25px}.reading-entry h2{font-size:15px}.reading-entry p{font-size:12px}.reading-entry>a{margin-left:36px}.detail-layout{display:flex;flex-direction:column;gap:18px}.article-toc{position:static;order:-1;padding:13px 0;border-top:1px solid #dce0e6;border-bottom:1px solid #dce0e6;width:100%}.article-toc h3{margin-bottom:7px;font-size:13px}.article-toc a{display:inline-block;font-size:12px;padding:5px 14px 5px 0}.article-toc p{display:none}.article-content{width:100%;padding:22px 18px}.detail-header h1,.detail-header h2{font-size:24px;margin-top:10px}.detail-meta{gap:9px;font-size:11px}.detail-intro{font-size:13px}.article-section{margin-top:30px}.article-section h2{font-size:19px}.article-section h3{font-size:18px}.article-section p,.prose-text{font-size:14px;line-height:1.9}.detail-actions{gap:9px}.detail-actions>span,.detail-actions>p{flex-basis:100%}.library-layout{display:block}.library-tabs{flex-direction:row;overflow-x:auto;border-top:0;border-bottom:1px solid #dce0e6;margin-bottom:18px}.library-tabs button{white-space:nowrap;border:0;padding:12px;font-size:12px}.library-content{padding:22px 20px;min-height:350px}.library-content>h2,.library-section>h2{font-size:20px}.profession-index{gap:0 15px}.profession-index strong{font-size:14px}.profession-index span,.profession-index small{font-size:11px}.submit-layout{display:block}.contribution-form{padding:22px 18px}.form-grid{gap:17px 13px}.upload-zone{flex-wrap:wrap;gap:12px}.upload-zone>div{flex:1}.upload-zone p{font-size:11px}.file-button{margin-left:0}.submit-aside{padding-top:27px}.submit-aside h3{margin-bottom:17px}.submit-aside dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.submit-aside>p{margin-top:0}.site-footer{display:block;margin-top:30px;line-height:1.9}.site-footer p{margin-top:7px}.site-footer>span{display:block;margin-top:4px}.view-heading h2{font-size:23px}.view-heading>p{font-size:13px}}
@media(max-width:480px){.tutorial-grid{grid-template-columns:1fr}.card-cover{aspect-ratio:16/8.4}.card-body{padding:18px}.card-body h3{min-height:0;font-size:18px;margin-bottom:8px}.card-intro{min-height:0;font-size:13px}.card-meta{font-size:11px;margin-bottom:9px}.card-footer{flex-wrap:nowrap;font-size:11px}.card-footer>span:last-child{margin-left:auto}.tag-list{margin-top:12px}.card-footer{margin-top:14px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.upload-preview{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cover-preview{grid-template-columns:220px}.upload-preview-item img{height:85px}.cover-preview img{height:124px}.form-submit>div{width:100%}.form-submit .button{padding:9px 10px;font-size:12px}.form-submit .primary{flex:1}.submit-aside dl{display:block}.submit-aside dl>div{margin-bottom:16px}.profession-index{grid-template-columns:1fr}.library-tabs button{padding:11px 10px}.library-content{padding:22px 18px}.main-nav{gap:24px}.detail-actions button{padding:8px 12px;font-size:13px}.detail-actions svg{width:17px}.reading-entry p{max-width:25em}.pagination span{margin:0 4px}.pagination button{padding:4px 10px}.head-market{font-size:11px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion="full"]){scroll-behavior:auto}html:not([data-motion="full"]) *,html:not([data-motion="full"]) *:before,html:not([data-motion="full"]) *:after{animation:none!important;transition:none!important}}
/* 动态详情与索引的语义元素。 */
img.detail-hero{width:min(100%,700px);height:auto;max-height:350px;object-fit:contain;margin:0 0 26px;background:#1c252f}
.detail-header>p{color:var(--secondary);max-width:70ch;margin:10px 0 14px}
.article-toc>h2{font-size:14px;margin-bottom:13px}
.demo-footnote{font-size:12px;color:var(--muted);line-height:1.8;margin-top:14px}
.card-footer>span{display:inline-flex;gap:5px;align-items:center}
.profession-index-item{padding:20px 0;border-bottom:1px solid var(--line);min-width:0}
.profession-index-item h3{font-size:16px;margin-bottom:8px}
.profession-index-item a{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;line-height:1.8;color:var(--brand-deep)}
.profession-index-item a svg{width:15px;height:15px}
.profession-index-item p{font-size:12px;color:var(--muted);margin-bottom:4px}
.detail-actions .delete-local{color:var(--error);border:0;margin-left:auto;font-size:12px}
.upload-preview-item button{display:flex;align-items:center;justify-content:center;gap:4px;min-height:32px}
.upload-preview-item button svg{width:13px;height:13px}
.image-unavailable{min-height:80px;background:#eef0f3;color:var(--secondary);font-size:12px;padding:16px}
@media(max-width:760px){img.detail-hero{max-height:none;width:100%;margin-bottom:20px}.article-toc>h2{font-size:13px;margin-bottom:6px}.profession-index-item{padding:17px 0}.detail-actions .delete-local{margin-left:0}}
/* 浏览器首轮验收修正：按钮不挤字，详情直接进入阅读，手机输入避免自动放大。 */
.search-field button{white-space:nowrap;flex-shrink:0}
.cover-label{top:auto;bottom:10px;left:12px}
body[data-kadao-view="detail"] .page-heading{display:none}
body[data-kadao-view="detail"] .section-bar{padding-top:19px;margin-bottom:20px}
@media(max-width:760px){.contribution-form input,.contribution-form select,.contribution-form textarea,.search-field input,.profession-control select{font-size:16px}.upload-zone .file-button input{font-size:16px}}
/* 原尺寸查看图文：独立的无原生dialog查看器，适配旧手机，可横向滑动看细节。 */
.image-view-button{display:inline-flex;align-items:center;gap:5px;min-height:36px;margin-top:8px;padding:5px 9px;border:1px solid #d8dce3;border-radius:5px;background:var(--surface);color:var(--brand-deep);font-size:12px}
.image-view-button:hover{background:var(--brand-wash);border-color:#dfaf8f}
.image-view-button svg{width:15px;height:15px}
.image-viewer{position:fixed;inset:0;z-index:100;background:#192431b8;display:flex;align-items:center;justify-content:center;padding:24px}
.image-viewer-panel{display:flex;flex-direction:column;width:min(1200px,100%);height:calc(100vh - 48px);height:calc(100dvh - 48px);background:var(--surface);border-radius:8px;box-shadow:0 12px 36px #111d3138;overflow:hidden;min-width:0}
.image-viewer-head{display:flex;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid #d8dce3;flex-shrink:0}
.image-viewer-head h2{font-size:17px;margin-right:auto;line-height:1.5}
.image-viewer-head button{min-height:42px;border:1px solid #cdd2db;background:var(--surface);color:var(--ink);border-radius:5px;padding:7px 13px;white-space:nowrap;font-size:13px}
.image-viewer-head button:hover{background:var(--brand-wash)}
.image-viewer-head #imageViewerToggle{color:var(--brand-deep)}
.image-viewer-stage{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;flex:1;background:#eef0f3;padding:20px;-webkit-overflow-scrolling:touch}
.image-viewer-stage img{display:block;height:auto;max-width:none;border-radius:0;background:var(--surface)}
.image-viewer-stage[data-mode="fit"] img{max-width:100%;width:auto!important;margin:auto}
#imageViewerHelp{position:sticky;bottom:0;left:0;width:fit-content;max-width:calc(100vw - 100px);margin-top:15px;padding:6px 10px;background:#fff;color:var(--secondary);font-size:12px;box-shadow:0 2px 8px #172a3c0b}
@media(max-width:760px){.image-viewer{padding:10px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}.image-viewer-panel{height:calc(100vh - 20px);height:calc(100dvh - 20px);border-radius:6px}.image-viewer-head{padding:11px;gap:8px;flex-wrap:wrap}.image-viewer-head h2{font-size:16px;flex:1;min-width:80px}.image-viewer-head button{font-size:12px;padding:7px 10px}.image-viewer-stage{padding:12px}#imageViewerHelp{max-width:calc(100vw - 70px);font-size:12px}.image-view-button{min-height:40px}}
/* 下载目录沿用资料阅读布局，链接与提取码在同一行内容中清楚对应。 */
.download-count{font-size:13px;color:var(--muted);margin:20px 0 12px}
.download-list{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:0 24px}
.download-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;padding:25px 0;border-bottom:1px solid var(--line);min-width:0}
.download-row:last-child{border-bottom:0}.download-row h3{font-size:19px;margin:9px 0}.download-row p{line-height:1.85;overflow-wrap:anywhere;max-width:72ch;font-size:14px;color:var(--secondary)}
.download-actions{display:flex;flex-direction:column;gap:10px;align-self:center}.download-code{margin-top:12px}.download-code strong{color:var(--ink);font-variant-numeric:tabular-nums;user-select:all}.download-row .button{white-space:nowrap}.download-actions svg{width:17px;height:17px}
@media(max-width:760px){.section-bar{gap:14px;flex-wrap:wrap}.section-tabs{gap:20px}.section-tabs button{white-space:nowrap}.section-bar>.button{margin-left:auto}.download-list{padding:0 17px}.download-row{grid-template-columns:1fr;gap:17px;padding:20px 0}.download-actions{flex-direction:row;flex-wrap:wrap}.download-row p{font-size:16px}.download-row h3{font-size:18px}}

/* The platform description wraps without shrinking the logo or crowding header actions. */
.brand.platform-brand{min-width:0;max-width:100%;flex-shrink:1}
.brand.platform-brand>img{flex:none}
.brand.platform-brand>span,.brand.platform-brand>div{min-width:0}
.brand.platform-brand strong{white-space:nowrap}
.brand.platform-brand .brand-tagline{display:block;max-width:28em;line-height:1.55;letter-spacing:0;white-space:normal;overflow-wrap:anywhere}
@media(max-width:700px){
 .platform-brand-header:is(.header-main,.head-main){height:auto;min-height:78px;flex-wrap:wrap;row-gap:8px;padding-block:12px}
 .brand.platform-brand{flex:1 1 190px}
 .brand.platform-brand .brand-tagline{font-size:11px}
 .platform-brand-header>.zj-head-actions,.platform-brand-header>.header-actions{max-width:100%;margin-left:auto}
}
