@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-cyrillic-ext-400-normal-CWV284fw.woff2)format("woff2"),url(/assets/source-serif-4-cyrillic-ext-400-normal-DLkyKLvH.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-cyrillic-400-normal-C44pakCn.woff2)format("woff2"),url(/assets/source-serif-4-cyrillic-400-normal-B8Z6Jvzv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-greek-400-normal-Cw5-AHNN.woff2)format("woff2"),url(/assets/source-serif-4-greek-400-normal-BccYJ-vZ.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-vietnamese-400-normal-BbG3LG1A.woff2)format("woff2"),url(/assets/source-serif-4-vietnamese-400-normal-DR1UuFon.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-ext-400-normal-Cp7z-ARB.woff2)format("woff2"),url(/assets/source-serif-4-latin-ext-400-normal-CEpydyUl.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-400-normal-DJ5YJwmz.woff2)format("woff2"),url(/assets/source-serif-4-latin-400-normal-Dn3IlU-Z.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-cyrillic-ext-600-normal-D_E8FDgP.woff2)format("woff2"),url(/assets/source-serif-4-cyrillic-ext-600-normal-DiT2IGQm.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-cyrillic-600-normal-BDP5YDHD.woff2)format("woff2"),url(/assets/source-serif-4-cyrillic-600-normal-DFnC3vAY.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-greek-600-normal-DdRkKr-1.woff2)format("woff2"),url(/assets/source-serif-4-greek-600-normal-DhXQw1Kl.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-vietnamese-600-normal-CznyfUKR.woff2)format("woff2"),url(/assets/source-serif-4-vietnamese-600-normal-B0WJbuqT.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-latin-ext-600-normal-0sIUyHMO.woff2)format("woff2"),url(/assets/source-serif-4-latin-ext-600-normal-C6NNqpJh.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-latin-600-normal-DouSKlru.woff2)format("woff2"),url(/assets/source-serif-4-latin-600-normal-DMD1h6_f.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-cyrillic-ext-400-italic-zoDFlEzN.woff2)format("woff2"),url(/assets/source-serif-4-cyrillic-ext-400-italic-Dx4A8QUO.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-cyrillic-400-italic-BLN19cOa.woff2)format("woff2"),url(/assets/source-serif-4-cyrillic-400-italic-Dx8qIUN3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-greek-400-italic-C7D4Dq0H.woff2)format("woff2"),url(/assets/source-serif-4-greek-400-italic-DcuniPAV.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-vietnamese-400-italic-CjUPRDIa.woff2)format("woff2"),url(/assets/source-serif-4-vietnamese-400-italic-DyjhI2GX.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-ext-400-italic-JynPwBMj.woff2)format("woff2"),url(/assets/source-serif-4-latin-ext-400-italic-G7LDTi7t.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-400-italic-0j97Jm6B.woff2)format("woff2"),url(/assets/source-serif-4-latin-400-italic-Dv9jnFA_.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg:#f3f2f2;--color-surface:#eae9e9;--color-text:#201e1d;--color-accent:#0088b0;--color-accent-2:#d6006c;--color-divider:#201e1d29;--color-neutral-100:#f8f4f4;--color-neutral-200:#eae7e7;--color-neutral-300:#d7d3d3;--color-neutral-400:#bab6b6;--color-neutral-500:#9b9797;--color-neutral-600:#7d7979;--color-neutral-700:#605d5d;--color-neutral-800:#444141;--color-neutral-900:#2d2b2b;--color-accent-100:#e9f8ff;--color-accent-200:#cbeeff;--color-accent-300:#99e0ff;--color-accent-400:#62c5ee;--color-accent-500:#38a6cf;--color-accent-600:#1186ac;--color-accent-700:#006786;--color-accent-800:#004961;--color-accent-900:#0a303e;--color-accent-2-100:#fff1f4;--color-accent-2-200:#ffdee6;--color-accent-2-300:#ffc0d0;--color-accent-2-400:#ff90b1;--color-accent-2-500:#ff458e;--color-accent-2-600:#d82071;--color-accent-2-700:#aa0b56;--color-accent-2-800:#790e3d;--color-accent-2-900:#4b1528;--color-process-yellow:#edbb00;--font-heading:"Source Serif 4", system-ui, sans-serif;--font-heading-weight:600;--font-body:"Source Serif 4", system-ui, sans-serif;--space-1:5px;--space-2:10px;--space-3:15px;--space-4:20px;--space-6:30px;--space-8:40px;--radius-sm:1px;--radius-md:2px;--radius-lg:4px;--shadow-sm:0 1px 2px #2d2b2b24;--shadow-md:0 3px 10px #2d2b2b29;--shadow-lg:0 12px 32px #2d2b2b38}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.halftone{filter:grayscale(.35)contrast(1.15);position:relative;overflow:hidden}.halftone:after{content:"";pointer-events:none;mix-blend-mode:multiply;background-image:radial-gradient(circle,#00000038 30%,#0000 32%);background-size:3px 3px;position:absolute;inset:0}.cmyk{background:var(--color-bg);position:relative;overflow:hidden}.cmyk img:first-child{opacity:0}.cmyk img+img{object-fit:cover;mix-blend-mode:multiply;width:100%;height:100%;position:absolute;inset:0}.cmyk .sep-c{filter:url(#sep-c)}.cmyk .sep-m{filter:url(#sep-m)}.cmyk .sep-y{filter:url(#sep-y)}.cmyk .sep-k{filter:url(#sep-k)}.cmyk:after{content:"";pointer-events:none;mix-blend-mode:multiply;background-image:radial-gradient(circle,#00000038 30%,#0000 32%);background-size:3px 3px;position:absolute;inset:0}.cmyk .print{filter:url(#sep-all);width:100%;position:relative}@media (prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.cmyk .print:hover{filter:none}}.cmyk .print image-slot{width:100%;height:100%;display:block}.cmyk-num{--cmyk-num-ground:var(--color-bg);font-feature-settings:"pnum" 1;background:var(--cmyk-num-ground);width:fit-content;margin:-.12em;padding:.12em;line-height:.9;position:relative}.cmyk-num .paper{color:var(--color-bg);text-shadow:.036em .025em 0 var(--color-bg),-.031em -.023em 0 var(--color-bg)}.cmyk-num .plate{mix-blend-mode:multiply;text-box:trim-both cap alphabetic ;position:absolute;inset:.12em}.cmyk-num .plate-c{color:var(--color-accent)}.cmyk-head{position:relative}.cmyk-head .paper{color:var(--color-bg);text-shadow:.027em .0185em 0 var(--color-bg),-.0245em -.0175em 0 var(--color-bg) }.cmyk-head .plate{mix-blend-mode:multiply;pointer-events:none;-webkit-user-select:none;user-select:none;text-box:trim-both cap alphabetic ;position:absolute;inset:0}.cmyk-head .plate-c{color:var(--color-accent)}.cmyk-head .plate-m{color:var(--color-accent-2);translate:calc(.018em + .009em*var(--press-nx,0)) calc(.0125em + .006em*var(--press-ny,0))}.cmyk-head .plate-y{color:var(--color-process-yellow);translate:calc(-.0155em + .009em*var(--press-nx,0)) calc(-.0115em + .006em*var(--press-ny,0))}.cmyk-num .plate-m{color:var(--color-accent-2);translate:calc(.036em + .018em*var(--press-nx,0)) calc(.025em + .0125em*var(--press-ny,0))}.cmyk-num .plate-y{color:var(--color-process-yellow);translate:calc(-.031em + .018em*var(--press-nx,0)) calc(-.023em + .0125em*var(--press-ny,0))}*,:before,:after{box-sizing:border-box}body{margin:0;font-size:15px;font-weight:400;line-height:1.55}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.015em;margin:0 0 var(--space-2);line-height:1.12}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{letter-spacing:.08em;text-transform:uppercase;font-size:13px}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}img{max-width:100%;display:block}figure{margin:0}figcaption{margin-top:var(--space-1);color:color-mix(in srgb, var(--color-text) 55%, transparent);font-size:11px}.text-muted{color:color-mix(in srgb, var(--color-text) 55%, transparent)}:focus{outline:none}::selection{background:color-mix(in srgb, var(--color-accent) 30%, transparent)}.hr{height:1px;margin:var(--space-4) 0;background:var(--color-divider);border:0}.btn{cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:var(--color-text);padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-size:14px;line-height:1.2;text-decoration:none;display:inline-flex}.btn svg{display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-bg)}.btn-primary:hover{background:var(--color-accent-600)}.btn-primary:active{background:var(--color-accent-700)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.btn-secondary:active{background:color-mix(in srgb, var(--color-text) 14%, transparent)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.btn-ghost:active{background:color-mix(in srgb, var(--color-accent) 18%, transparent)}.btn-icon{width:36px;height:36px;padding:0}.btn-block{width:100%;margin-top:var(--space-2)}.field>label{color:color-mix(in srgb, var(--color-text) 70%, transparent);margin-bottom:5px;font-size:12px;display:block}.input{width:100%;min-height:36px;font:inherit;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:6px 10px;font-size:14px}.input::placeholder{color:color-mix(in srgb, var(--color-text) 65%, transparent);opacity:1}.input:hover{border-color:color-mix(in srgb, var(--color-text) 45%, transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{resize:vertical;min-height:90px}.radio{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.radio input,.seg-opt input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.radio .dot{border:1.5px solid var(--color-divider);border-radius:50%;flex:none;width:16px;height:16px}.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{border:1px solid var(--color-divider);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.seg-opt{cursor:pointer;align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:inline-flex}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){background:var(--color-accent);color:var(--color-bg)}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.card{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.card-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);font-size:10px}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-body{opacity:.8;flex:1;margin:0;font-size:13px}.card-meta{color:color-mix(in srgb, var(--color-text) 50%, transparent);align-items:center;gap:6px;font-size:11px;display:flex}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.tag{letter-spacing:.02em;border-radius:calc(var(--radius-md) * .75);align-items:center;padding:3px 10px;font-size:11px;display:inline-flex}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-accent-2{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nav{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:none;display:flex}.nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);margin-right:auto;font-size:18px}.nav a{color:inherit;font-size:14px;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--color-accent)}.table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 60%, transparent);padding:var(--space-2);border-bottom:1px solid var(--color-divider);font-size:11px}.table td{padding:var(--space-2);border-bottom:1px solid color-mix(in srgb, var(--color-text) 8%, transparent)}.dialog-backdrop{padding:var(--space-4);background:color-mix(in srgb, var(--color-neutral-900) 50%, transparent);place-items:center;display:grid;position:fixed;inset:0}.dialog{gap:var(--space-3);width:min(440px,100%);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.dialog-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px}.dialog-body{opacity:.85;font-size:14px}body{background:var(--color-bg);color:var(--color-text);margin:0}a{color:var(--color-accent-700);text-decoration:none}a:hover{color:var(--color-accent-900);text-decoration:underline}[hidden]{display:none!important}:root{--color-neutral-500:#7d7878;--color-neutral-600:#635e5e}body{-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}.nav a{padding:6px 2px}.nav .todo{color:var(--color-neutral-500);cursor:not-allowed;padding:6px 2px;font-size:14px}.table{border-collapse:collapse;width:100%;font-size:14.5px}.table th{padding:var(--space-2) var(--space-3);background:var(--color-neutral-200);color:var(--color-neutral-700);z-index:2;border-bottom:1px solid var(--color-neutral-400);text-align:left;letter-spacing:.08em;text-transform:uppercase;font-size:11px;position:sticky;top:0}.table td{padding:var(--space-3);border-bottom:1px solid var(--color-neutral-200);line-height:1.55}.table tbody tr:nth-child(odd){background:var(--color-neutral-100)}.table tbody tr:nth-child(2n){background:0 0}.table tbody tr:hover{background:var(--color-accent-100)}.table tbody tr:has(input:checked){background:var(--color-accent-100)}.table th a{color:inherit;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.sec-head{font:11px var(--font-body);letter-spacing:.12em;text-transform:uppercase;opacity:.55;margin:var(--space-6) 0 var(--space-3)}.sec-head:first-child{margin-top:0}.kv{gap:var(--space-3) var(--space-4);grid-template-columns:160px 1fr;font-size:14px;display:grid}.kv label{color:var(--color-neutral-600)}.grid2{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.grid3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.stack{gap:var(--space-3);display:grid}.mono{font-family:ui-monospace,Menlo,monospace}.note{color:var(--color-neutral-600);font-size:12px}.banner{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);align-items:flex-start;font-size:14px;display:flex}.banner-warn{background:var(--color-neutral-200);border:1px solid var(--color-neutral-400)}.banner-err{background:var(--color-accent-2-100);border:1px solid var(--color-accent-2-300);color:var(--color-accent-2-900)}.banner-ok{background:var(--color-accent-100);border:1px solid var(--color-accent-300);color:var(--color-accent-900)}.banner>div{flex:1}.toast{right:var(--space-6);bottom:var(--space-6);z-index:50;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);background:var(--color-accent-100);border:1px solid var(--color-accent-300);color:var(--color-accent-900);align-items:center;font-size:14px;display:flex;position:fixed}.toast.err{background:var(--color-accent-2-100);border-color:var(--color-accent-2-300);color:var(--color-accent-2-900)}.err-msg{color:var(--color-accent-2-700);margin-top:4px;font-size:12px}.ok-msg{color:var(--color-accent-700);margin-top:4px;font-size:12px}.hint{color:var(--color-neutral-600);margin-top:4px;font-size:12px}.input-err{border-color:var(--color-accent-2)!important}.check{font:14px var(--font-body);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.check input{width:15px;height:15px;accent-color:var(--color-accent);margin:0}.select{font:var(--font-body);border:1px solid var(--color-neutral-400);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);width:100%;padding:9px 10px;font-size:14px}.select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.spin{vertical-align:-2px;border:2px solid;border-right-color:#0000;border-radius:50%;width:13px;height:13px;margin-right:6px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.thumb{object-fit:cover;border-radius:var(--radius-md);background:var(--color-neutral-200);width:40px;height:40px;display:block}.thumb-empty{border-radius:var(--radius-md);background:var(--color-neutral-200);width:40px;height:40px;color:var(--color-neutral-500);justify-content:center;align-items:center;font-size:10px;display:flex}.filter-bar{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.filter-bar select,.filter-bar input{font:var(--font-body);border:1px solid var(--color-neutral-400);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);padding:7px 10px;font-size:13px}.chipbar{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.savedview{border:1px solid var(--color-neutral-400);font:13px var(--font-body);cursor:pointer;color:var(--color-neutral-700);background:0 0;border-radius:999px;padding:5px 12px;display:inline-block}.savedview.on{border-color:var(--color-accent);color:var(--color-accent-700);background:var(--color-accent-100)}.drawer-scrim{background:var(--color-neutral-900);opacity:.28;z-index:40;position:fixed;inset:0}.drawer{background:var(--color-bg);width:440px;box-shadow:var(--shadow-lg);z-index:41;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer-head{padding:var(--space-4);border-bottom:1px solid var(--color-neutral-300)}.drawer-body{padding:var(--space-4);gap:var(--space-4);flex:1;align-content:start;display:grid;overflow:auto}.drawer-foot{padding:var(--space-4);border-top:1px solid var(--color-neutral-300);gap:var(--space-3);align-items:center;display:flex}.sqlbox{width:100%;min-height:180px;padding:var(--space-3);border:1px solid var(--color-neutral-400);border-radius:var(--radius-sm);background:var(--color-neutral-100);color:var(--color-text);white-space:pre;resize:vertical;font:12px/1.5 ui-monospace,Menlo,monospace;overflow:auto}.conflict-list{margin:6px 0 0;padding-left:18px;font-size:12px;line-height:1.7}.empty{border:1px dashed var(--color-neutral-400);border-radius:var(--radius-md);padding:var(--space-6);text-align:center;background:var(--color-neutral-100)}.kpi-num{font:34px var(--font-heading)}.bar{background:var(--color-neutral-300);border-radius:var(--radius-sm);height:6px;overflow:hidden}.bar>i{background:var(--color-accent);height:100%;display:block}.steps{margin-bottom:var(--space-6);display:flex}.step{padding:var(--space-3) 0;border-bottom:3px solid var(--color-neutral-300);color:var(--color-neutral-600);flex:1;font-size:13px}.step .n{font:20px var(--font-heading);color:var(--color-text);display:block}.step.active{border-bottom-color:var(--color-accent);color:var(--color-text)}.step.done{border-bottom-color:var(--color-accent-700)}.drop{border:1px dashed var(--color-neutral-400);border-radius:var(--radius-md);padding:var(--space-8);text-align:center;background:var(--color-neutral-100)}.drop.drag{border-color:var(--color-accent);background:var(--color-accent-100)}.map-row{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-neutral-200);grid-template-columns:1.1fr 24px 1.3fr 100px;align-items:center;font-size:14px;display:grid}.modebtn{border:1px solid var(--color-neutral-400);font:14px var(--font-body);cursor:pointer;color:var(--color-neutral-700);background:0 0;border-radius:999px;padding:7px 16px}.modebtn.on{border-color:var(--color-accent);color:var(--color-accent-700);background:var(--color-accent-100)}.tplcard{border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);padding:var(--space-4);cursor:pointer}.tplcard.sel{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.stickybar{background:var(--color-bg);border-top:1px solid var(--color-neutral-300);padding:var(--space-3) 0;align-items:center;gap:var(--space-3);margin-top:var(--space-6);display:flex;position:sticky;bottom:0}.tl{margin-top:var(--space-3);gap:0;display:grid}.tl-row{gap:var(--space-3);padding-bottom:var(--space-4);grid-template-columns:18px 1fr auto;align-items:start;display:grid;position:relative}.tl-dot{background:var(--color-accent);border-radius:50%;width:10px;height:10px;margin-top:5px}.tl-dot.todo{background:var(--color-neutral-400)}.tl-row:not(:last-child):before{content:"";background:var(--color-neutral-300);width:1px;position:absolute;top:16px;bottom:0;left:4px}.tabs{gap:var(--space-2);border-bottom:1px solid var(--color-neutral-300);margin-bottom:var(--space-6);display:flex}.tabbtn{font:15px var(--font-body);padding:var(--space-3) var(--space-2);cursor:pointer;color:var(--color-neutral-600);background:0 0;border:none;border-bottom:2px solid #0000}.tabbtn.active{color:var(--color-text);border-bottom-color:var(--color-accent)}.hero-img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md);background:var(--color-neutral-200);width:100%}.perm-grid{grid-template-columns:1.4fr repeat(5,1fr);gap:0;font-size:13px;display:grid}.perm-grid>div{padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--color-neutral-200);justify-content:center;align-items:center;display:flex}.perm-grid>div:first-child{justify-content:flex-start}.perm-head{text-align:center;font-weight:600;border-bottom:2px solid var(--color-neutral-400)!important}.skel{background:var(--color-neutral-300);border-radius:var(--radius-sm);height:12px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.45}50%{opacity:.9}}.note-cell{color:var(--color-neutral-600);font-size:12px}.statebtn{border:1px solid var(--color-neutral-400);font:12px var(--font-body);cursor:pointer;color:var(--color-neutral-700);background:0 0;border-radius:999px;padding:5px 12px}.statebtn.on{border-color:var(--color-accent);color:var(--color-accent-700);background:var(--color-accent-100)}.code-in{gap:var(--space-2);display:flex}.code-in input{text-align:center;width:44px;font:20px var(--font-heading)}*{box-sizing:border-box}button,input,select,textarea{font-family:inherit}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app-main{max-width:1240px;margin:0 auto;padding:30px 20px 40px}.app-main.narrow{max-width:1120px}.page-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:30px;display:flex}.page-head h1{margin:0;font-size:32px}.page-head p{color:var(--color-neutral-700);margin:5px 0 0}.nav{z-index:30;background:var(--color-bg);border-bottom:1px solid var(--color-neutral-200);box-shadow:0 1px 0 color-mix(in srgb,var(--color-text) 5%,transparent);align-items:center;gap:20px;padding:10px 20px;display:flex;position:sticky;top:0;overflow-x:auto}.nav-brand{white-space:nowrap;align-items:center;gap:7px;margin-right:auto;display:inline-flex}.nav-logo{background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);font:italic 700 16px var(--font-heading);padding:2px 8px 3px}.nav-user{white-space:nowrap;align-items:center;gap:10px;margin-left:auto;display:flex}.nav a[aria-current=page]{color:var(--color-accent-700)}.banner-info{background:var(--color-bg);border:1px solid var(--color-neutral-400)}.banner-warning{background:var(--color-neutral-200);border:1px solid var(--color-neutral-400)}.banner-blocker{background:var(--color-accent-2-100);border:1px solid var(--color-accent-2-300);color:var(--color-accent-2-900)}.banner-success{background:var(--color-accent-100);border:1px solid var(--color-accent-300);color:var(--color-accent-900)}.loading{justify-content:center;gap:8px;padding:40px;display:flex}.loading i{background:var(--color-accent);border-radius:50%;width:8px;height:8px;animation:1s infinite pulse}.loading i:nth-child(2){animation-delay:.15s}.loading i:nth-child(3){animation-delay:.3s}.dialog-backdrop{z-index:70;background:#2d2b2b55;place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--color-bg);width:min(620px,100vw - 40px);max-height:85vh;box-shadow:var(--shadow-lg);padding:25px;position:relative;overflow:auto}.icon-close{background:0 0;border:0;position:absolute;top:15px;right:15px}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.pagination{justify-content:flex-end;align-items:center;gap:15px;margin-top:20px;display:flex}.actions{flex-wrap:wrap;gap:10px;display:flex}.kpi-grid{grid-template-columns:repeat(6,1fr);gap:20px;display:grid}.dashboard-grid{grid-template-columns:1.4fr 1fr;gap:30px;display:grid}.card-pad{padding:20px}.table-wrap{max-width:100%;overflow:auto}.status-grid,.form-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.field-wide{grid-column:1/-1}.field-error{color:var(--color-accent-2-700);font-size:12px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.right{margin-left:auto}.tabs a{text-decoration:none}.risk-list{flex-wrap:wrap;gap:5px;display:flex}.toast-stack{z-index:80;gap:10px;display:grid;position:fixed;bottom:30px;right:30px}.toast-item{background:var(--color-accent-100);border:1px solid var(--color-accent-300);box-shadow:var(--shadow-lg);align-items:center;gap:12px;padding:15px 20px;display:flex}.auth-page{grid-template-columns:1.2fr .8fr;align-items:center;gap:60px;max-width:1120px;min-height:100vh;margin:auto;padding:40px;display:grid}.auth-copy h1{font-size:56px;line-height:1.08}.auth-card{padding:30px}.full{width:100%}.drawer{max-width:calc(100vw - 20px)}.timeline{border-left:1px solid var(--color-neutral-300);padding-left:20px}.timeline article{margin-bottom:20px}.print-only{display:none}@media (width<=1000px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid,.auth-page{grid-template-columns:1fr}.nav{gap:12px}.nav-user .role{display:none}}@media (width<=700px){.form-grid,.grid2,.grid3,.status-grid{grid-template-columns:1fr}.page-head{display:block}.kpi-grid{grid-template-columns:repeat(2,1fr)}.app-main{padding-inline:12px}}@media print{.nav,.no-print,.pagination{display:none!important}.app-main{max-width:none;padding:0}.print-only{display:block}.table th{position:static}}.filter-bar{align-items:flex-end}.filter-search{max-width:300px;color:var(--color-neutral-700);flex:240px;gap:5px;font-size:11px;display:grid}.filter-search input{width:100%;height:38px}.search-select{flex:165px;gap:5px;min-width:155px;max-width:220px;font-size:13px;display:grid;position:relative}.search-select-caption{color:var(--color-neutral-700);font-size:11px}.search-select-control{border:1px solid var(--color-neutral-400);background:var(--color-bg);align-items:center;height:38px;display:flex}.search-select-control.open{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.filter-bar .search-select-control input{background:0 0;border:0;outline:0;width:100%;min-width:0;height:36px;padding:7px 8px}.search-select-clear,.search-select-toggle{height:36px;color:var(--color-neutral-700);cursor:pointer;background:0 0;border:0;flex:0 0 34px;place-items:center;padding:0;display:grid}.search-select-menu{z-index:35;background:var(--color-bg);border:1px solid var(--color-neutral-400);width:max(100%,300px);max-width:min(380px,100vw - 24px);max-height:300px;box-shadow:var(--shadow-lg);margin-top:4px;padding:5px;position:absolute;top:100%;left:0;overflow:auto}.search-select-option{width:100%;color:var(--color-text);font:13px/1.35 var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:9px 10px;display:flex}.search-select-option:hover,.search-select-option.active{background:var(--color-accent-100)}.search-select-option[aria-selected=true]{color:var(--color-accent-800);font-weight:600}.search-select-option small{color:var(--color-neutral-600);white-space:nowrap;flex:none}.search-select-empty{text-align:center;color:var(--color-neutral-600);padding:20px 10px}.risk-list{align-items:flex-start;max-width:240px}.risk-list .tag{white-space:normal;max-width:100%;line-height:1.4}.table th,.table .tag,.nowrap{white-space:nowrap}.table .note{overflow-wrap:anywhere;word-break:break-all;max-width:100%}.product-spec{min-width:200px}.product-code{white-space:nowrap;width:150px;min-width:150px}.table .product-code .note{white-space:nowrap;word-break:normal}.card-kicker{color:var(--color-text);letter-spacing:.01em;text-transform:none;font-size:16px;font-weight:600;line-height:1.4}.sec-head{border-bottom:1px solid var(--color-neutral-300);color:var(--color-text);font:600 18px/1.35 var(--font-body);letter-spacing:.01em;text-transform:none;opacity:1;margin:36px 0 16px;padding-bottom:10px}.toolbar>.sec-head{border-bottom:0;flex:1;margin:0;padding:0;font-size:16px}.form-grid>.sec-head{margin:14px 0 0}.auth-eyebrow{color:var(--color-neutral-700);letter-spacing:.12em;text-transform:uppercase;margin:24px 0 10px;font-size:11px}.auth-card .card-kicker{color:var(--color-accent);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.product-basic-layout{grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);align-items:start;gap:24px;display:grid}.product-overview-card{min-width:0}.product-info-section{border-top:1px solid var(--color-neutral-300);margin-top:22px;padding-top:20px}.product-info-section:first-of-type{border-top:0;margin-top:18px;padding-top:0}.product-section-label{color:var(--color-accent-700);letter-spacing:.02em;margin-bottom:12px;font-size:15px;font-weight:600}.product-name-kv{grid-template-columns:112px minmax(0,1fr);gap:10px 18px}.product-name-kv>div{overflow-wrap:anywhere;min-width:0}.product-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.product-fact{background:var(--color-neutral-100);border-left:2px solid var(--color-neutral-300);min-width:0;padding:12px 14px}.product-fact>span{color:var(--color-neutral-600);letter-spacing:.04em;margin-bottom:4px;font-size:11px;display:block}.product-fact>div{overflow-wrap:anywhere;min-width:0;line-height:1.55}.product-fact-wide{grid-column:1/-1}.entity-names{flex-direction:column;gap:1px;display:flex}.entity-alias{color:var(--color-neutral-600);font-size:12px}.legacy-alias-note{color:var(--color-accent-2-700);margin-top:6px;font-size:11px;display:block}.product-side-stack{align-content:start;gap:20px;min-width:0;display:grid}.source-list{gap:10px;margin-top:14px;display:grid}.source-list a{overflow-wrap:anywhere}.source-item{gap:2px;display:grid}.source-item small{color:var(--color-neutral-600);overflow-wrap:anywhere;line-height:1.45}.product-edit-grid{margin-top:20px}.btn-danger{border-color:var(--color-accent-2-300);color:var(--color-accent-2-800);background:var(--color-accent-2-100)}.btn-danger:hover{border-color:var(--color-accent-2-600);background:color-mix(in srgb,var(--color-accent-2-100) 70%,var(--color-accent-2-300))}.product-images-section{min-width:0}.product-image-grid{align-items:start}.product-image-card{gap:14px;min-width:0;margin:0;display:grid}.product-image-card .hero-img{object-fit:contain;background:var(--color-neutral-100);width:100%;height:280px;display:block}.product-image-card figcaption{gap:7px;min-width:0;display:grid}.product-image-actions{border-top:1px solid var(--color-neutral-300);justify-content:flex-end;margin-top:8px;padding-top:12px;display:flex}.candidate-table{min-width:1040px}.candidate-table th:first-child{width:144px}.candidate-table th:nth-child(2){min-width:240px}.candidate-table th:nth-child(3){width:150px}.candidate-table th:nth-child(4){width:120px}.candidate-table th:nth-child(5){min-width:260px}.candidate-table th:last-child{width:100px}.candidate-thumb-link{border:1px solid var(--color-neutral-300);background:var(--color-neutral-100);width:112px;height:112px;display:block}.candidate-thumb{object-fit:contain;width:100%;height:100%;display:block}.candidate-dimensions{white-space:nowrap}.candidate-evidence{overflow-wrap:anywhere;min-width:240px;line-height:1.5}.image-review-dialog{width:min(1080px,100vw - 40px);max-height:92vh}.image-review-dialog .dialog-title{margin-right:0}.image-review-preview{background:var(--color-neutral-100);border:1px solid var(--color-neutral-300);place-items:center;min-height:280px;max-height:calc(92vh - 280px);padding:18px;display:grid;overflow:auto}.image-review-preview img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(92vh - 320px);display:block}.image-review-meta{grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:6px 16px;margin-top:14px;display:grid}.image-review-meta a{overflow-wrap:anywhere;min-width:0}.active-todo-filter{border-left:3px solid var(--color-accent);background:var(--color-accent-100);align-items:center;gap:12px;margin:-4px 0 20px;padding:10px 14px;display:flex}.active-todo-filter .btn{margin-left:auto}.dashboard-page{gap:40px;min-width:0;display:grid}.dashboard-grid{align-items:start;gap:32px}.dashboard-section,.dashboard-column{min-width:0}.dashboard-column{align-content:start;gap:42px;display:grid}.dashboard-section-title{border-bottom:1px solid var(--color-neutral-300);color:var(--color-text);font:600 18px/1.35 var(--font-body);letter-spacing:.01em;margin:0 0 18px;padding:0 0 10px}.kpi-grid .card-kicker{letter-spacing:.04em;text-transform:none;font-size:12px;font-weight:600}.dashboard-card-stack{gap:12px;display:grid}.dashboard-scope-note{background:var(--color-neutral-100);color:var(--color-neutral-700);margin:0 0 12px;padding:10px 12px;font-size:13px;line-height:1.55}.regulatory-progress{gap:12px;display:grid}.regulatory-progress-title{font-size:15px;line-height:1.45}.todo-link{min-height:78px;color:inherit;text-align:left;flex-direction:row;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;text-decoration:none;transition:background-color .15s,border-color .15s;display:flex}.todo-link:hover{background:var(--color-accent-100);border-color:var(--color-accent)}.todo-link>span{flex:1;align-items:start;gap:2px;min-width:0;display:grid}.todo-link small{color:var(--color-neutral-600)}.todo-count{white-space:nowrap;color:var(--color-accent-800);align-self:center;margin-left:auto;font-size:18px}.import-page{gap:24px;min-width:0;display:grid}.import-steps-scroll{max-width:100%;overflow:auto hidden}.import-steps-scroll .steps{min-width:720px;margin-bottom:0}.import-stage-panel{min-width:0}.import-stage-panel>section{gap:18px;min-width:0;display:grid}.import-feedback{min-width:0}.import-dropzone{border:1px dashed var(--color-neutral-400);background:var(--color-neutral-100);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;width:100%;min-height:260px;padding:38px 24px;transition:border-color .15s,background-color .15s;display:flex}.import-dropzone strong{font-size:20px}.import-dropzone.drag{border-color:var(--color-accent);background:var(--color-accent-100)}.import-history{gap:12px;min-width:0;padding-top:4px;display:grid}.import-history .sec-head{margin:0 0 16px}.import-history .empty{place-items:center;min-height:130px;display:grid}@media (width<=700px){.filter-search,.search-select{min-width:calc(50% - 8px);max-width:none}.search-select-menu{width:min(340px,100vw - 24px)}.import-dropzone{min-height:220px;padding:28px 18px}.import-stage-panel .map-row{grid-template-columns:1fr 20px 1.4fr}.import-stage-panel .map-row>span:last-child{grid-column:3}.product-basic-layout,.product-facts,.product-side-stack{grid-template-columns:1fr}.product-image-card .hero-img{height:240px}.image-review-dialog{width:calc(100vw - 24px);padding:18px}.image-review-preview{min-height:220px;padding:10px}.image-review-meta{grid-template-columns:1fr;gap:3px}}@media (width<=1000px) and (width>=701px){.product-basic-layout{grid-template-columns:1fr}.product-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}
