:root{--ink: #111;--ink-2: #444;--muted: #6b6b6b;--line: #e4e4e4;--bg: #f6f6f4;--surface: #fff;--accent: #111;--ok: #1f7a3d;--ok-bg: #e7f4ec;--danger: #b42318;--danger-bg: #fdecea;--radius: 8px;--shadow: 0 1px 2px rgb(0 0 0 / 5%), 0 4px 16px rgb(0 0 0 / 4%);font-family:Helvetica Neue,Helvetica,Arial,system-ui,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--bg);line-height:1.5}a{color:inherit}h1,h2,h3{line-height:1.2;margin:0 0 .5rem}h1{font-size:1.9rem;letter-spacing:-.01em}h2{font-size:1.15rem}h3{font-size:.95rem}img{max-width:100%;display:block}.muted{color:var(--muted)}.small{font-size:.85rem}.nowrap{white-space:nowrap}.error{color:var(--danger)}.success{color:var(--ok)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;font-size:.9rem;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){border-color:#bbb}.btn:disabled,.btn.disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:#333;border-color:#333}.btn-danger{color:var(--danger)}.btn-small{padding:.3rem .6rem;font-size:.8rem}.btn-block{width:100%}.btn-link{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}label{display:block;font-size:.8rem;font-weight:600;color:var(--ink-2);margin-bottom:.3rem}input,select,textarea{width:100%;padding:.55rem .7rem;border:1px solid #d4d4d4;border-radius:6px;background:#fff;font:inherit;font-size:.95rem;color:var(--ink)}textarea{resize:vertical;line-height:1.45}input:focus,select:focus,textarea:focus,.btn:focus-visible,a:focus-visible{outline:2px solid #111;outline-offset:1px}input[type=checkbox]{width:auto}.check{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--ink);font-size:.9rem;margin:0}.field{margin-bottom:1rem;min-width:0}.field.grow{flex:1}.form-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem}.form-row .field{margin-bottom:0;flex:1 1 180px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 1rem;align-items:end}.form-grid .check{margin-bottom:1.6rem}.auth-screen,.loading-screen{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth-card{width:100%;max-width:400px;background:var(--surface);border-radius:12px;box-shadow:var(--shadow);padding:2.25rem 2rem}.auth-card h1{font-size:1.35rem;margin-bottom:.75rem}.auth-card form>*+*{margin-top:.75rem}.auth-logo{width:120px;margin-bottom:1.5rem}.notice{background:var(--bg);border-radius:var(--radius);padding:1rem}.notice p{margin:.4rem 0 .75rem}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar-inner{max-width:1200px;margin:0 auto;padding:.6rem 1.25rem;display:flex;align-items:center;gap:1.5rem}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;flex-shrink:0}.brand img{height:34px;width:auto}.brand span{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);border-left:1px solid var(--line);padding-left:.75rem}.mainnav{display:flex;gap:.25rem;flex:1;overflow-x:auto}.mainnav a,.subnav a{padding:.45rem .75rem;border-radius:6px;text-decoration:none;font-size:.9rem;font-weight:500;color:var(--ink-2);white-space:nowrap}.mainnav a:hover,.subnav a:hover{background:var(--bg)}.mainnav a.active,.subnav a.active{color:var(--ink);background:var(--bg);font-weight:700}.nav-admin{margin-left:auto}.account{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--muted);flex-shrink:0}.account-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{width:100%;max-width:1200px;margin:0 auto;padding:2rem 1.25rem 4rem;flex:1}.footer{border-top:1px solid var(--line);padding:1.25rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;max-width:1200px;width:100%;margin:0 auto;font-size:.8rem;color:var(--muted)}@media(max-width:760px){.topbar-inner{flex-wrap:wrap;gap:.5rem 1rem}.mainnav{order:3;flex-basis:100%}.account{margin-left:auto}.brand span{display:none}.content{padding-top:1.25rem}}.hero{background:#111;color:#fff;border-radius:12px;padding:2.25rem 2rem;margin-bottom:2.5rem}.hero h1{font-size:1.75rem}.hero p{color:#cfcfcf;max-width:640px;margin:0}.resource-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.hero .download{background:#222;border-color:#333;color:#fff}.hero .download-meta{color:#aaa}.section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:1rem}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-head .section-title{margin:0}.product-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}.product-card{display:flex;flex-direction:column;height:100%;background:var(--surface);border-radius:10px;overflow:hidden;text-decoration:none;box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease}.product-card:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0000000f,0 10px 28px #00000014}.product-card-img{aspect-ratio:3 / 2;width:100%;object-fit:contain;background:#fff;padding:.75rem}.product-card-name{font-weight:700;padding:.75rem 1rem .1rem}.product-card-model{font-size:.8rem;color:var(--muted);padding:0 1rem .9rem}.img-placeholder{background:linear-gradient(90deg,#f0f0ee,#f7f7f5,#f0f0ee);background-size:200% 100%;animation:shimmer 1.2s infinite linear}@keyframes shimmer{to{background-position:-200% 0}}.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:1.25rem}.crumbs a{color:var(--muted)}.product-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2rem;margin-bottom:2.5rem}@media(max-width:860px){.product-head{grid-template-columns:1fr}}.product-hero{width:100%;aspect-ratio:3 / 2;object-fit:contain;background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:1rem}.model{color:var(--muted);margin:0 0 1.25rem}.model strong{color:var(--ink);font-family:ui-monospace,Menlo,monospace;font-size:.9rem}.asset-group{margin-top:1.25rem}.asset-group h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.download-list{display:grid;gap:.5rem}.download{display:flex;align-items:center;gap:.85rem;width:100%;text-align:left;padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font:inherit;color:var(--ink);cursor:pointer}.resource-row .download{width:auto}.download:hover:not(:disabled){border-color:#999}.download:disabled{cursor:progress}.download-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#111;color:#fff;font-weight:700;flex-shrink:0}.download-text{display:flex;flex-direction:column;min-width:0}.download-label{font-weight:600;font-size:.92rem}.download-meta{font-size:.78rem;color:var(--muted)}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;margin-bottom:2.5rem}.video{background:var(--surface);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}.video iframe{width:100%;aspect-ratio:16 / 9;border:0;display:block}.video-meta{display:flex;justify-content:space-between;align-items:center;padding:.6rem .9rem;font-size:.85rem;color:var(--muted)}.copy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}.copy-block{background:var(--surface);border-radius:10px;padding:1.25rem 1.4rem;box-shadow:var(--shadow)}.copy-block-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}.copy-block h3{margin:0}.copy-block ul{margin:0;padding-left:1.1rem;font-size:.92rem;color:var(--ink-2)}.copy-block li+li{margin-top:.3rem}.prose{max-width:760px}.prose p,.prose li{color:var(--ink-2)}.empty{text-align:center;padding:4rem 0}.subnav{display:flex;gap:.25rem;border-bottom:1px solid var(--line);padding-bottom:.75rem;margin-bottom:1.75rem;overflow-x:auto}.page-head{margin-bottom:1.5rem}.page-head h1{font-size:1.5rem}.page-head p{margin:0}.page-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}.card{background:var(--surface);border-radius:10px;box-shadow:var(--shadow);padding:1.25rem 1.4rem;margin-bottom:1.25rem}.card h2{margin-bottom:1rem}.toolbar{margin:1.25rem 0 .75rem;max-width:360px}.table-wrap{overflow-x:auto;background:var(--surface);border-radius:10px;box-shadow:var(--shadow)}.card .table-wrap{box-shadow:none;border:1px solid var(--line);margin-bottom:1rem}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:.7rem .9rem;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:.65rem .9rem;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table input,.table select{padding:.35rem .5rem;font-size:.85rem;min-width:120px}.row-muted td{color:var(--muted)}.actions{display:flex;gap:.4rem;justify-content:flex-end;flex-wrap:wrap}.pill{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600}.pill-ok{background:var(--ok-bg);color:var(--ok)}.pill-off{background:#eee;color:var(--muted)}.thumb-cell{width:72px}.thumb{width:64px;height:44px;object-fit:contain;border-radius:4px;background:#fff}.hero-edit{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.hero-preview{width:240px;aspect-ratio:3 / 2;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff}.section-edit{border:1px solid var(--line);border-radius:8px;padding:1rem;margin-bottom:1rem}.section-edit textarea{margin-top:.75rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media(max-width:860px){.split{grid-template-columns:1fr}}.preview{border:1px solid var(--line);border-radius:8px;padding:.25rem 1.25rem;max-height:520px;overflow:auto}.danger-zone{border:1px solid var(--danger-bg)}
