:root{--orange:#ff5817;--ink:#252e30;--muted:#667276;--line:#dce1e2;--soft:#f2f4f4;--white:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;font-synthesis:none;font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #ff581788;outline-offset:1px}input,select,textarea{width:100%;padding:13px 12px;border:1px solid #cbd3d5;border-radius:5px;background:#fff;color:var(--ink);min-height:46px}input[type=checkbox]{width:20px;min-height:20px;height:20px;accent-color:var(--orange)}textarea{resize:vertical;line-height:1.6}.lib-header{min-height:80px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;padding:10px 5%;background:white}.brand{display:flex;gap:10px;align-items:center;font-size:19px;letter-spacing:.5px;font-weight:800}.brand img{width:52px;height:52px;object-fit:contain}.brand small{display:block;font-size:10px;letter-spacing:4px;margin-top:4px}.lib-header nav{display:flex;gap:25px;font-size:14px}.lib-header nav [aria-current]{color:#c83d0b}.hotline{font-size:15px;font-weight:600}.library,.admin-main{max-width:1480px;margin:auto;padding:45px 5% 50px}.library-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:#bd3a0d;line-height:1.7;margin:0 0 18px}h1{font-size:clamp(32px,3.4vw,50px);font-weight:600;letter-spacing:-1.8px;line-height:1.15;margin:0 0 17px}h1 span{color:#637175}.library-intro p:not(.eyebrow){font-size:15px;line-height:1.75;color:var(--muted);max-width:610px;margin:0}h2{font-size:24px;font-weight:600;letter-spacing:-.5px;margin:0 0 14px}h3{font-size:18px;margin:0 0 12px}.primary,.secondary,.text-button{border:1px solid transparent;border-radius:5px;min-height:46px;padding:12px 18px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary{background:var(--orange);color:white}.primary:hover{background:#e7470a}.secondary{background:white;border-color:#cad3d5;color:var(--ink)}.secondary:hover{background:#f4f5f5}.text-button{background:none;color:#b83409;padding:10px 4px;min-height:44px}.saved-toggle{white-space:nowrap}.saved-toggle[aria-pressed=true]{background:#fff2ea;border-color:#f5b69b}.saved-toggle span{background:#e9eeef;padding:3px 7px;border-radius:20px;font-size:12px}.search-bar{display:flex;gap:10px;max-width:850px;margin-bottom:24px}.search-bar input{flex:1;min-width:0;background:#f6f7f7;border-color:#e0e5e6}.group-tabs{display:flex;gap:10px;overflow-x:auto;padding-bottom:15px;border-bottom:1px solid var(--line);scrollbar-width:thin}.group-tabs button{white-space:nowrap;border:1px solid var(--line);background:white;min-height:46px;border-radius:5px;padding:11px 16px;font-size:14px;display:flex;align-items:center;gap:10px}.group-tabs button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.group-tabs span{font-size:11px;opacity:.6}.type-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:15px 0 0}.type-tabs button{background:#f1f4f4;border:1px solid transparent;padding:10px 12px;border-radius:4px;min-height:44px;font-size:13px}.type-tabs button[aria-pressed=true]{background:#fff1e9;color:#a33009;border-color:#f4b092}.results-layout{display:grid;grid-template-columns:205px 1fr;gap:32px;margin-top:25px}.filters{align-self:start;background:#f5f7f7;padding:20px;border-radius:5px}.filter-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:5px}.filter-heading h2{font-size:17px;margin:0}.filter-heading button{font-size:12px}.filters label{display:block;font-size:13px;font-weight:600;margin:16px 0}.filters select{font-size:14px;margin-top:9px;padding:11px 8px}.filter-note{font-size:12px;line-height:1.7;color:var(--muted);margin-top:25px}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 22px;min-height:30px}.results-heading h2{font-size:16px;margin:0;letter-spacing:0}.results-heading span{font-size:12px;color:var(--muted)}.model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px 18px}.model-card{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:white}.model-image{aspect-ratio:4/5;position:relative;background:#f1f3f3;display:block;overflow:hidden}.model-image img{width:100%;height:100%;object-fit:contain;display:block}.placeholder{height:100%;min-height:150px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#8a969a;gap:12px;padding:20px;text-align:center;font-size:13px;background:linear-gradient(135deg,#f2f4f4,#e8eded)}.placeholder-symbol{font-size:35px;line-height:1;color:#b6c0c3}.placeholder small{font-size:11px;line-height:1.5}.card-body{padding:17px 15px}.model-code{font-size:11px;letter-spacing:.8px;color:#78858a;margin:0 0 9px}.card-body h3{font-size:16px;font-weight:600;line-height:1.5;margin-bottom:10px}.model-meta{color:var(--muted);font-size:12px;line-height:1.7;margin:0}.card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px;border-top:1px solid #eef0f1;padding-top:11px}.card-actions a{font-size:13px;color:#a5320b;min-height:44px;display:flex;align-items:center}.fav{border:1px solid #dce1e2;background:white;color:#708087;width:44px;height:44px;min-height:44px;border-radius:50%;font-size:23px;display:inline-flex;align-items:center;justify-content:center;padding:0}.fav[aria-pressed=true]{color:#cc3909;background:#fff2ec;border-color:#f3b9a4}.empty-state{grid-column:1/-1;border:1px dashed #cbd4d6;background:#f6f8f8;border-radius:6px;padding:60px 25px;text-align:center;min-height:280px;display:flex;align-items:center;justify-content:center;flex-direction:column}.empty-state h2,.empty-state h1{font-size:23px;letter-spacing:-.5px;margin-bottom:15px}.empty-state p{font-size:14px;line-height:1.8;color:var(--muted);max-width:410px}.pagination{display:flex;justify-content:center;align-items:center;gap:15px;margin:30px 0 0;font-size:13px}.pagination:empty{display:none}.library-help{background:#252e30;color:white;margin-top:55px;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-radius:6px}.library-help .eyebrow{color:#ffb99d;margin-bottom:15px}.library-help h2{font-size:26px}.library-help p:not(.eyebrow){font-size:14px;line-height:1.7;color:#c0cccf;margin-bottom:0}.saved-note{font-size:12px;color:var(--muted);line-height:1.7;margin-top:20px}.lib-footer{background:#1f282b;color:white;display:flex;justify-content:space-between;gap:25px;padding:30px 5%;font-size:13px;line-height:1.8}.lib-footer p{font-size:12px;color:#bac8cc;max-width:700px}.lib-footer>div:last-child{display:flex;gap:20px}.mobile-bar{display:none}.notice{padding:14px 16px;background:#fff1e9;border:1px solid #efc3b0;border-radius:5px;font-size:14px;line-height:1.6;color:#963b19}.notice.success{background:#edf7ef;border-color:#b8dac0;color:#2f6540}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.back-link{font-size:14px;color:#9f330d;display:inline-flex;padding:12px 0;margin-bottom:25px;min-height:44px}.detail-layout{display:grid;grid-template-columns:1.08fr 1fr;gap:45px}.detail-main-image{aspect-ratio:4/5;background:var(--soft);border-radius:6px;overflow:hidden}.detail-main-image button{border:0;padding:0;background:transparent;width:100%;height:100%;cursor:zoom-in}.detail-main-image img{width:100%;height:100%;object-fit:contain}.thumbnails{display:flex;gap:10px;overflow-x:auto;margin-top:16px}.thumbnails button{padding:0;border:2px solid transparent;width:70px;height:85px;flex-shrink:0;background:var(--soft);border-radius:4px}.thumbnails button[aria-current=true]{border-color:var(--orange)}.thumbnails img{width:100%;height:100%;object-fit:contain}.image-hint{font-size:12px;color:var(--muted);line-height:1.7}.detail-info h1{font-size:34px;letter-spacing:-1px;line-height:1.3}.detail-info>.eyebrow{margin-bottom:15px}.detail-info .description{font-size:15px;line-height:1.85;color:#5c6a70;white-space:pre-wrap;overflow-wrap:anywhere}.detail-specs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin:25px 0}.detail-specs>div{padding:17px 8px 17px 0;border-bottom:1px solid var(--line)}.detail-specs dt{font-size:12px;color:#77868b;margin-bottom:7px}.detail-specs dd{font-size:15px;margin:0;line-height:1.5;overflow-wrap:anywhere}.positions-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.positions-list span{background:#eef1f2;padding:7px 11px;font-size:13px;border-radius:4px}.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.detail-actions .fav{width:auto;border-radius:5px;padding:12px;font-size:14px;font-weight:600;gap:6px}.source-list{font-size:12px;color:var(--muted);line-height:1.8;margin-top:30px;overflow-wrap:anywhere}.source-list a{text-decoration:underline}.login-page{background:#f2f4f4;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:25px}.login-card{max-width:500px;background:white;border:1px solid var(--line);padding:40px;border-radius:9px}.login-card .brand{margin-bottom:35px}.login-card h1{font-size:32px;line-height:1.25;letter-spacing:-1px}.login-card p:not(.eyebrow){font-size:15px;line-height:1.8;color:var(--muted)}.login-card>.button{margin:15px 0;display:flex}.login-card .back-link{margin:0}.admin-page{background:#f5f7f7}.admin-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.admin-title h1{font-size:38px}.admin-title p:not(.eyebrow){font-size:13px;color:var(--muted)}.admin-search{display:flex;gap:12px;margin:25px 0}.admin-search input{flex:1;min-width:100px}.admin-search select{width:200px}.admin-list{display:flex;flex-direction:column;gap:12px}.admin-row{background:white;border:1px solid var(--line);border-radius:6px;padding:17px;display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-row .row-main{display:flex;gap:18px;align-items:center;min-width:0}.admin-thumb{width:62px;height:78px;flex-shrink:0;background:#eef1f2}.admin-thumb img{width:100%;height:100%;object-fit:contain}.admin-thumb .placeholder{min-height:0;padding:0;font-size:24px}.admin-row h3{font-size:16px;line-height:1.5;margin:4px 0}.admin-row p{font-size:12px;color:var(--muted);margin:0 0 6px}.badge{padding:5px 9px;border-radius:4px;font-size:11px;white-space:nowrap}.badge.draft{background:#e8edf2;color:#516572}.badge.published{background:#e8f3e9;color:#356a3c}.badge.hidden{background:#efebee;color:#72616b}.row-actions{display:flex;gap:10px;align-items:center}.editor{background:#fff;border:1px solid var(--line);padding:30px;border-radius:7px}.editor-heading{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:25px}.editor-heading .eyebrow{margin-bottom:8px}.editor-heading h2{font-size:26px}.editor-heading p{font-size:14px;color:var(--muted);line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid label,.upload-box>label{font-size:14px;font-weight:600;display:block;line-height:1.6}.form-grid input,.form-grid select,.form-grid textarea,.upload-box input{margin-top:8px}.form-grid label small{font-size:12px;color:var(--muted);display:block;font-weight:400;margin-top:7px}.full{grid-column:1/-1}.required{color:#bd3a0d}.positions{border:1px solid var(--line);padding:17px;border-radius:5px}.positions legend{font-size:14px;font-weight:600}.positions>div{display:flex;flex-wrap:wrap;gap:18px}.positions label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:400}.positions input{margin:0}.save-row{display:flex;gap:15px;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--line);padding:25px 0;margin-bottom:30px}.save-row>span:last-child{font-size:13px;color:#5e7065}.image-editor .editor-heading h2{font-size:23px}.image-editor .editor-heading>span{font-size:13px;white-space:nowrap}.upload-box{background:#f4f6f6;border:1px dashed #bac7cb;padding:22px;border-radius:6px}.upload-box>label{margin-bottom:15px}.upload-label input{font-size:14px;background:white}.upload-box p{font-size:12px;line-height:1.8;color:var(--muted);margin:12px 0}.edit-images{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:25px}.edit-image{border:1px solid var(--line);border-radius:5px;overflow:hidden}.edit-image img{width:100%;aspect-ratio:4/5;object-fit:contain;background:#f4f6f6;display:block}.edit-image>div{padding:12px}.edit-image p{font-size:11px;line-height:1.6;margin:0 0 10px;overflow-wrap:anywhere;color:var(--muted)}.edit-image .image-buttons{display:flex;gap:5px;flex-wrap:wrap}.image-buttons button{font-size:11px;padding:8px;min-height:40px;border:1px solid var(--line);background:white;border-radius:3px;flex:1}.image-buttons button.selected{background:#fff1ea;border-color:#f3b9a4;color:#a9320b}.image-buttons button.danger{color:#ac3131}.hint{font-size:12px;line-height:1.7;color:var(--muted)}.publish-row{margin-top:30px;border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:20px}.publish-row p{font-size:13px;color:var(--muted);line-height:1.6}.actions{display:flex;gap:10px;flex-wrap:wrap}.publish-row .actions button{font-size:13px}.viewer-close{position:absolute;top:10px;right:10px;z-index:1}dialog{border:0;border-radius:7px;padding:28px;max-width:520px;width:calc(100% - 32px);color:var(--ink)}dialog::backdrop{background:#13222ce0}dialog h2{font-size:23px}dialog p{font-size:15px;line-height:1.7}#image-viewer{max-width:1000px;max-height:94dvh;padding:20px}#viewer-swipe{position:relative;touch-action:pan-y}#viewer-img{display:block;width:100%;max-height:80dvh;object-fit:contain;background:#edf0f0}.viewer-prev,.viewer-next,.viewer-close{width:44px;height:44px;border:1px solid #ddd;border-radius:50%;background:white;font-size:25px;cursor:pointer}.viewer-prev,.viewer-next{position:absolute;top:45%}.viewer-prev{left:8px}.viewer-next{right:8px}#viewer-count{text-align:center;font-size:13px;margin:12px 0 0}[hidden]{display:none!important}
@media(max-width:1100px){.model-grid{grid-template-columns:repeat(2,1fr)}.edit-images{grid-template-columns:repeat(3,1fr)}.hotline{display:none}.detail-layout{gap:30px}}@media(max-width:700px){body:not(.admin-page):not(.login-page){padding-bottom:65px}.lib-header{min-height:70px;padding:8px 5%;gap:12px;flex-wrap:wrap}.brand{font-size:16px}.brand img{width:43px;height:43px}.brand small{font-size:9px}.lib-header nav{font-size:12px;gap:14px}.lib-header nav a:first-child{display:none}.admin-page .lib-header nav a:first-child{display:block}.library,.admin-main{padding:28px 5% 35px}.library-intro{align-items:start;gap:15px;flex-direction:column;margin-bottom:22px}h1{font-size:34px;letter-spacing:-1px}.library-intro p:not(.eyebrow){font-size:14px}.eyebrow{font-size:10px;letter-spacing:1.3px;margin-bottom:15px}.saved-toggle{min-height:42px;font-size:12px;padding:9px 12px}.search-bar{margin-bottom:20px;gap:8px}.search-bar input{font-size:14px;padding:12px 10px}.search-bar button{font-size:12px;padding:10px 14px}.group-tabs{gap:8px;margin-right:-5vw;padding-right:5vw}.group-tabs button{font-size:13px;padding:11px 13px}.type-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.type-tabs button{white-space:nowrap;font-size:12px;padding:10px}.results-layout{grid-template-columns:1fr;gap:20px;margin-top:20px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;padding:15px}.filter-heading{grid-column:1/-1;margin:0}.filters label{margin:0;font-size:12px}.filters select{margin-top:5px;font-size:13px;padding:10px 6px;min-height:44px}.filter-note{display:none}.results-heading{margin-bottom:16px}.results-heading h2{font-size:14px}.model-grid{gap:17px 11px}.card-body{padding:13px 10px}.card-body h3{font-size:14px;line-height:1.5}.model-code{font-size:10px;letter-spacing:.1px}.model-meta{font-size:11px}.card-actions{margin-top:10px;padding-top:7px}.card-actions a{font-size:11px}.fav{width:40px;height:40px;min-height:40px;font-size:22px}.placeholder{font-size:12px;padding:12px;min-height:140px}.placeholder small{font-size:10px}.empty-state{padding:40px 20px;min-height:240px}.empty-state h2{font-size:21px}.empty-state p{font-size:13px}.library-help{margin-top:35px;padding:23px;display:block}.library-help h2{font-size:23px}.library-help>.button{margin-top:20px}.saved-note{font-size:11px}.lib-footer{flex-direction:column;padding:28px 5%;gap:10px}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:8;border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:7px;background:white}.mobile-bar a{font-size:12px;flex:1;min-height:45px;text-align:center;padding:14px 6px;background:#edf1f2;border-radius:4px}.mobile-bar a:last-child{background:var(--orange);color:white;flex:1.4}.detail-layout{grid-template-columns:1fr;gap:25px}.detail-info h1{font-size:30px}.detail-main-image{max-width:480px}.detail-specs{margin:20px 0}.detail-specs dd{font-size:14px}.detail-actions{position:static}.detail-actions .button{flex:1}.detail-actions .fav{width:100%}.login-card{padding:26px}.login-card h1{font-size:28px}.admin-title{align-items:start;flex-direction:column;gap:10px}.admin-title h1{font-size:32px}.admin-search{flex-wrap:wrap;gap:8px}.admin-search input{flex:1 1 100%}.admin-search select{flex:1;width:auto;min-width:0;font-size:13px}.admin-search button{font-size:13px}.admin-row{padding:14px;gap:12px;align-items:start;flex-direction:column}.admin-row .row-main{gap:12px}.admin-row h3{font-size:15px}.row-actions{width:100%;justify-content:end}.editor{padding:20px 15px}.editor-heading h2{font-size:23px}.editor-heading>.secondary{font-size:12px;padding:10px;min-height:44px;white-space:nowrap}.form-grid{grid-template-columns:1fr;gap:18px}.form-grid label{font-size:13px}.positions>div{gap:14px}.form-grid .full{grid-column:auto}.save-row{gap:12px}.save-row .primary{flex:1}.upload-box{padding:16px}.upload-box>label{font-size:13px}.upload-box input{font-size:13px}.edit-images{grid-template-columns:1fr 1fr;gap:10px}.edit-image>div{padding:10px}.image-buttons button{font-size:10px}.publish-row{flex-direction:column;align-items:start;gap:10px}.publish-row .actions{width:100%}.publish-row .actions button{flex:1}.admin-main .notice{font-size:13px}.detail-page .back-link{margin-bottom:18px}#image-viewer{max-width:100%;width:100%;padding:14px;border-radius:10px 10px 0 0;margin:auto 0 0}#viewer-img{max-height:78dvh}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.local-preview-note{background:#fff2df;color:#775015;font-size:12px;line-height:1.6;padding:10px 5%;margin:0;border-bottom:1px solid #e8c796}.login-page>.local-preview-note{position:fixed;top:0;left:0;right:0}
input,select,textarea{min-width:0;max-width:100%}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid>label,.form-grid>fieldset,.editor,.detail-info,.results{min-width:0}.form-grid>fieldset{max-width:100%}.editor-heading>div{min-width:0}.admin-row h3{overflow-wrap:anywhere}@media(max-width:700px){.form-grid{grid-template-columns:minmax(0,1fr)}.editor-heading{flex-wrap:wrap}.image-editor .editor-heading>span{white-space:normal}}
.model-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.model-card{min-width:0}.card-body h3{overflow-wrap:anywhere}@media(max-width:1100px){.model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V1.2: filters reuse the same controls on desktop and in the mobile dialog. */
.mobile-filter-toggle,.group-swipe-hint{display:none}.filter-open{overflow:hidden}.filter-dialog-header,.filter-dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.filter-dialog-header h2{margin:0;font-size:22px}.filter-dialog-actions{margin-top:20px}.filter-dialog-actions button{flex:1}#filter-dialog .filters{display:block;background:transparent;padding:0}#filter-dialog .filter-heading{display:none}#filter-dialog .filters label{margin:18px 0;font-size:14px}#filter-dialog .filters select{font-size:16px}#filter-dialog{max-height:90dvh;overflow:auto;padding:20px}#filter-dialog .filter-note{display:none}.consultation-copy{margin-top:16px}.consultation-copy textarea{min-height:160px;font-size:16px;margin:12px 0}.consultation-copy p{font-size:14px;line-height:1.6}
@media(max-width:700px){.library:not(.detail-page){padding-top:18px}.library:not(.detail-page) .library-intro{flex-direction:row;align-items:start;gap:12px;margin-bottom:16px}.library:not(.detail-page) .library-intro h1{font-size:25px;line-height:1.2;letter-spacing:-.6px;margin-bottom:0}.library:not(.detail-page) .library-intro .eyebrow,.library:not(.detail-page) .library-intro p:not(.eyebrow){display:none}.library:not(.detail-page) .saved-toggle{font-size:12px;min-height:44px}.library .search-bar{margin-bottom:10px}.group-swipe-hint{display:block;margin:0 0 6px;font-size:12px;color:var(--muted)}.group-tabs{padding-bottom:10px}.group-tabs span{font-size:12px}.group-tabs button{flex-shrink:0}.mobile-filter-toggle{display:inline-flex;margin-top:12px;min-height:44px}.mobile-filter-toggle span{background:#e9eeef;border-radius:20px;min-width:22px;padding:3px 6px}.results-layout>.filters{display:none}.results-layout{margin-top:14px}.type-tabs{padding-top:10px}.model-grid{gap:16px 10px}#filter-dialog{margin:auto 0 0;width:100%;max-width:100%;border-radius:14px 14px 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.library .search-bar input{font-size:16px}}
