:root{--bg: #f4f4f4;--panel: #ffffff;--line: #e0e0e0;--ink: #161616;--muted: #525252;--brand: #0f62fe;--brand-dark: #002d9c;--brand-ink: #ffffff;--band: #edf5ff;--teal: #007d79;--accent: #0f62fe;--warn: #8e6a00;--sel: #0f62fe;--focus: #0f62fe}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:13px/1.45 IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.opening{padding:40px;color:var(--muted)}.app{display:grid;grid-template-rows:auto 44px minmax(0,1fr) 26px;height:100%}.topbar{display:flex;align-items:center;gap:10px;padding:0 12px;background:#fff;color:var(--ink);border-bottom:1px solid var(--line);min-width:0;overflow-x:auto;scrollbar-width:none}.topbar .product{color:var(--ink);font-weight:600;font-size:13px;flex:none}.topbar .crumbs{display:flex;align-items:center;gap:6px;color:#8d8d8d;min-width:0}.topbar .crumbs>button{flex:none;background:transparent;border:0;color:#525252;padding:4px 6px;border-radius:4px;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.topbar .crumbs>button.on,.topbar .crumbs>button:hover{color:var(--ink);background:#f4f4f4}.topbar select{min-width:90px;background:#fff;color:var(--ink);border:1px solid #c6c6c6;border-radius:4px;padding:3px 6px;max-width:220px}.topbar button{background:#fff;color:var(--ink);border:1px solid #c6c6c6;border-radius:4px;padding:4px 10px;white-space:nowrap}.topbar button.icon{padding:3px 7px}.topbar button:hover{background:#f4f4f4}.topbar button.primary{background:var(--brand);border-color:var(--brand);color:#fff}.topbar button.primary:hover{background:#0353e9}.topbar button:disabled{opacity:.4;cursor:default}.topbar .tabs{display:flex;gap:2px;margin-left:6px;align-self:stretch;align-items:stretch}.topbar .tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;padding:0 12px;color:#525252;background:transparent}.topbar .tabs button.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600;background:transparent}.topbar .actions-group{display:flex;gap:6px;flex:none}.topbar .spacer{flex:1}.site-header{position:relative;z-index:40;background:#161616;border-bottom:1px solid #393939;font-family:IBM Plex Sans,system-ui,sans-serif}.site-header nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:80px;max-width:88rem;margin:0 auto;padding:0 32px}.site-header a{text-decoration:none}.site-header .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.sh-brand{display:flex;align-items:center;gap:10px;flex:none;color:#f4f4f4}.sh-brand img{border-radius:9px}.sh-brand span{font-size:24px;font-weight:600;letter-spacing:-.04em}.sh-brand:hover span{color:#78a9ff}.sh-icon{width:16px;height:16px;flex:none}.sh-icon-sm{width:14px;height:14px;flex:none;transition:transform .15s}.sh-icon-sm.flip,.sh-icon.flip{transform:rotate(180deg)}.sh-desktop{display:none;align-items:center;gap:2px;list-style:none;margin:0;padding:0}@media(min-width:1100px){.sh-desktop{display:flex}.sh-burger{display:none!important}}.sh-group{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:8px 10px;background:transparent;border:0;border-bottom:2px solid transparent;color:#f4f4f4;font:500 14px/1 inherit;font-family:inherit;white-space:nowrap;cursor:pointer}.sh-group:hover,.sh-group.open{color:#fff;border-bottom-color:#f4f4f499}.sh-group.active{color:#78a9ff;border-bottom-color:#78a9ff}.sh-outline{display:inline-flex;align-items:center;gap:6px;min-height:36px;margin-left:4px;padding:0 12px;border:1px solid rgba(69,137,255,.4);border-bottom:2px solid #4589ff;color:#78a9ff;font-size:14px;font-weight:600;white-space:nowrap}.sh-outline:hover{background:#4589ff14}.sh-ask{display:inline-flex;align-items:center;gap:6px;min-height:36px;margin:0 6px;padding:0 14px;background:#0f62fe;color:#fff;font-size:14px;font-weight:600;white-space:nowrap}.sh-ask:hover{background:#0353e9}.sh-drop{position:absolute;right:32px;top:100%;padding-top:8px;z-index:50;width:min(25rem,calc(100vw - 2rem))}.sh-drop:has(.sh-panel.wide){width:min(46rem,calc(100vw - 2rem))}.sh-panel{max-height:calc(100dvh - 7rem);overflow-y:auto;background:#161616;border:1px solid #393939;box-shadow:0 10px 30px #00000059;color:#f4f4f4}.sh-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:12px 16px;border-bottom:1px solid #393939}.sh-panel-head p{margin:0;max-width:24rem;font-size:13px;line-height:20px;color:#c6c6c6}.sh-panel-head>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.sh-primary{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;background:#0f62fe;color:#fff;font-size:14px;font-weight:600}.sh-primary:hover{background:#0353e9}.sh-primary.m{margin:4px 16px 8px;min-height:40px}.sh-more{color:#78a9ff;font-size:14px;font-weight:500;text-decoration:underline!important;text-underline-offset:4px}.sh-item{display:flex;gap:12px;padding:8px 16px;color:#f4f4f4}.sh-item:hover{background:#262626}.sh-item.featured{padding:12px 16px;background:#0f62fe14;border-bottom:1px solid #393939}.sh-item.featured:hover{background:#0f62fe29}.sh-item .sh-icon{margin-top:2px;color:#78a9ff}.sh-item-label{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;font-weight:500}.sh-item.featured .sh-item-label{font-weight:600}.sh-item:hover .sh-item-label{color:#78a9ff}.sh-item-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:20px;color:#c6c6c6}.sh-badge{font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#78a9ff}.sh-sections{padding:4px 0}.sh-sections ul{list-style:none;margin:0;padding:0}@media(min-width:640px){.sh-sections ul.two{display:grid;grid-template-columns:1fr 1fr}}.sh-label{margin:0;padding:10px 16px 4px;font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#a8a8a8}.sh-burger{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;background:transparent;border:1px solid #393939;color:#f4f4f4;cursor:pointer}.sh-burger:hover{background:#262626}.sh-mobile{position:absolute;left:0;right:0;top:100%;max-height:calc(100dvh - 5rem);overflow-y:auto;background:#161616;border-bottom:1px solid #393939;padding:16px;display:grid;gap:4px}.sh-mobile .block{justify-content:center;min-height:44px;margin:0 0 8px;font-size:16px}.sh-m-group{border-bottom:1px solid #393939}.sh-m-row{display:flex;align-items:stretch}.sh-m-row a{flex:1;display:flex;align-items:center;min-height:44px;padding:0 8px;color:#f4f4f4;font-size:16px;font-weight:500}.sh-m-row a.active{color:#78a9ff}.sh-m-row button{min-width:44px;background:transparent;border:0;color:#c6c6c6;cursor:pointer}.sh-m-group ul{list-style:none;margin:0;padding:0 0 8px}.sh-m-group li a{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 16px;color:#c6c6c6;font-size:14px}.sh-m-group li a .sh-icon{color:#78a9ff}.sh-m-group li a:hover{color:#f4f4f4}.sh-utility{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}@media(min-width:640px){.sh-utility{grid-template-columns:repeat(4,1fr)}}.sh-utility a{display:flex;align-items:center;justify-content:center;min-height:40px;padding:0 8px;border:1px solid #393939;color:#c6c6c6;font-size:12px;font-weight:500}@media(max-width:1279px){.site-header nav{padding:0 24px}.sh-group{padding:8px 6px;font-size:13px}.sh-outline,.sh-ask{font-size:13px;padding:0 8px}.sh-drop{right:24px}}@media(max-width:639px){.site-header nav{padding:0 16px;min-height:64px}.sh-brand span{font-size:20px}.sh-brand img{width:28px;height:28px}}.main{display:grid;min-height:0}.splitter{cursor:col-resize;background:var(--line);width:5px;touch-action:none}.splitter:hover,.splitter:active{background:var(--brand)}.statusbar .link{background:none;border:0;color:var(--brand);padding:0;text-decoration:underline}.side{background:var(--panel);border-right:0;display:flex;flex-direction:column;min-height:0}.side.right{border-left:0}.side .tabs{display:flex;border-bottom:1px solid var(--line)}.side .tabs button{flex:1;background:transparent;border:0;padding:8px;color:var(--muted);border-bottom:2px solid transparent}.side .tabs button.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.side .body{overflow:auto;padding:10px;min-height:0;flex:1}.palette{display:grid;grid-template-columns:1fr 1fr;gap:6px}.palette .chip{border:1px solid var(--line);border-radius:8px;padding:8px;background:#fafafa;cursor:grab;display:flex;flex-direction:column;gap:2px}.palette .chip:hover{border-color:var(--brand);background:#f0fdfa}.palette .chip b{font-size:12px}.palette .chip small{color:var(--muted);font-size:10px}.palette h4,.outline h4,.props h4,.data h4{margin:10px 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.outline ul{list-style:none;margin:0;padding:0 0 0 12px}.outline li>div{padding:2px 6px;border-radius:4px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outline li>div:hover{background:#f3f4f6}.outline li>div.sel{background:#dbeafe}.outline .k{color:var(--muted);font-size:11px;margin-right:4px}.canvas-wrap{overflow:auto;padding:20px;background:#d1d5db}.page{background:#fff;margin:0 auto;box-shadow:0 4px 24px #00000040;position:relative;display:flex;flex-direction:column}.page .margin{position:absolute;inset:0;border:1px dashed #c7d2fe;pointer-events:none}.page .zone{position:relative}.page .zone-label{position:absolute;left:-58px;top:0;width:50px;text-align:right;font-size:10px;color:var(--muted);text-transform:uppercase}.page .pagehead,.page .pagefoot{border-bottom:1px dashed #e5e7eb;min-height:24px}.page .pagefoot{border-top:1px dashed #e5e7eb;border-bottom:0;margin-top:auto}.page .pagebody{flex:1;min-height:300px}.slot{min-height:18px}.slot.empty{border:1px dashed #d1d5db;border-radius:4px;color:#9ca3af;font-size:11px;padding:4px 6px}.slot.over{background:#eff6ff;outline:2px dashed var(--accent)}.item{position:relative;border:1px solid transparent;border-radius:2px;min-height:16px;cursor:default}.item:hover{border-color:#93c5fd}.item.sel{border-color:var(--sel);box-shadow:0 0 0 1px var(--sel)}.item.inline{display:inline-block;vertical-align:top}.item .tag{position:absolute;top:-9px;left:4px;background:var(--sel);color:#fff;font-size:9px;padding:0 4px;border-radius:3px;display:none;z-index:2}.item.sel>.tag{display:inline}.item.drop-before{box-shadow:inset 0 3px 0 var(--accent)}.item.drop-after{box-shadow:inset 0 -3px 0 var(--accent)}.item.label-item{white-space:pre-wrap}.item.data-item .expr{font-family:ui-monospace,Menlo,monospace;background:#f1f5f9;border-radius:3px;padding:0 3px;color:#1e3a8a;font-size:11px;word-break:break-all}.item.text-item{color:#374151}.item.image-item,.item.barcode-item,.item.map-item,.item.chart-item{background:#f8fafc;border:1px dashed #cbd5e1;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px;padding:4px;gap:6px}.item.autotext-item{background:#fef3c7;border-radius:3px;padding:0 3px;font-size:11px;color:#78350f}.item.pagebreak-item{border-top:2px dashed #ef4444;text-align:center;color:#ef4444;font-size:10px;margin:4px 0}.item.raw-item{background:#fdf2f8;border:1px dashed #f9a8d4;color:#9d174d;font-size:11px;padding:4px}.item.subreport-item{background:#ecfeff;border:1px dashed #67e8f9;padding:6px;color:#155e75}table.dtable{border-collapse:collapse;width:100%;table-layout:fixed}table.dtable td{border:1px solid #e5e7eb;vertical-align:top;padding:1px;min-width:24px}table.dtable td.gutter{width:34px;min-width:34px;max-width:34px;background:#f9fafb;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.02em;border-right:2px solid #e5e7eb;vertical-align:middle;white-space:normal;word-break:break-all;padding:0 2px}table.dtable tr.r-grid td.gutter{width:6px;min-width:6px;max-width:6px;font-size:0;background:#eef2ff}table.dtable tr.r-header td.gutter{background:#ecfdf5}table.dtable tr.r-group-header td.gutter,table.dtable tr.r-group-footer td.gutter{background:#eff6ff}table.dtable tr.r-footer td.gutter{background:#fefce8}.item.table-item,.item.list-item,.item.grid-item{padding:2px}.item.list-item .list-slot{border:1px dotted #cbd5e1;margin:2px;padding:2px}.item.list-item .list-slot .slot-name{font-size:9px;color:var(--muted);text-transform:uppercase}.props{font-size:12px}.props .row{display:grid;grid-template-columns:96px 1fr;gap:6px;align-items:center;margin-bottom:6px}.props .row label{color:var(--muted);font-size:11px}.props input[type=text],.props input[type=number],.props select,.props textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:4px 6px;background:#fff}.props textarea{font-family:ui-monospace,Menlo,monospace;font-size:11px;min-height:60px}.props .grp{border:1px solid var(--line);border-radius:8px;padding:8px;margin-bottom:8px;background:#fafafa}.props .grp h5{margin:0 0 6px;font-size:11px;color:var(--brand);display:flex;justify-content:space-between;align-items:center}.props .mini{display:grid;grid-template-columns:1fr 1fr;gap:4px}.btn{border:1px solid var(--line);background:#fff;border-radius:6px;padding:3px 8px;font-size:11px}.btn:hover{background:#f3f4f6}.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn.danger{color:#b91c1c}.btn.sm{padding:1px 6px;font-size:10px}.list-row{display:flex;gap:4px;align-items:center;margin-bottom:4px}.list-row input,.list-row select{flex:1;min-width:0;border:1px solid var(--line);border-radius:6px;padding:3px 5px;font-size:11px}.pill{display:inline-block;border-radius:999px;padding:1px 8px;font-size:10px;background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.pill.ok{background:#dcfce7;color:#166534;border-color:#86efac}.pill.info{background:#dbeafe;color:#1e40af;border-color:#93c5fd}.statusbar{background:#fff;border-top:1px solid var(--line);padding:0 12px;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:12px;white-space:nowrap;overflow:hidden}.statusbar>span{overflow:hidden;text-overflow:ellipsis}@media(max-width:560px){.statusbar>span:not([role=status]){display:none}.statusbar>span[role=status]{margin-left:auto}}.data .ds-list button{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px;margin-bottom:4px}.data .ds-list button.sel{border-color:var(--brand);background:#f0fdfa}.data .search{width:100%;border:1px solid var(--line);border-radius:6px;padding:5px 8px;margin-bottom:6px}.data .results{max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:6px}.data .results div{padding:3px 6px;cursor:pointer;display:flex;justify-content:space-between;gap:6px}.data .results div:hover{background:#f0fdfa}.data .results small{color:var(--muted)}.data .attrs{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:4px}.data .attrs label{display:grid;grid-template-columns:16px 1fr auto;gap:4px;padding:1px 2px;font-family:ui-monospace,Menlo,monospace;font-size:11px}.data .attrs label small{color:var(--muted);font-family:system-ui}.preview-wrap{overflow:auto;padding:20px;background:#d1d5db}.preview-page{background:#fff;margin:0 auto 20px;box-shadow:0 4px 24px #00000040;padding:40px}.preview-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px;background:#fff;padding:8px 12px;border-radius:8px}.preview-toolbar label{font-size:11px;color:var(--muted);display:flex;flex-direction:column}.preview-toolbar input{border:1px solid var(--line);border-radius:6px;padding:3px 6px}.pv-table{border-collapse:collapse;width:100%}.pv-table td{vertical-align:top}.pv-inline{display:inline-block;vertical-align:baseline}.pv-error{background:#fee2e2;color:#991b1b;padding:4px 8px;border-radius:6px;font-size:12px}.pv-break{border-top:2px dashed #9ca3af;margin:16px 0;text-align:center;font-size:10px;color:#6b7280}.pv-raw{background:#fdf2f8;border:1px dashed #f9a8d4;color:#9d174d;font-size:11px;padding:4px}.export{padding:24px;max-width:980px;margin:0 auto}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:16px}.card h3{margin:0 0 8px;font-size:15px}.card p{margin:6px 0;color:#374151}.card .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.card ol{margin:6px 0 0 18px;padding:0}.card code{background:#f3f4f6;padding:0 4px;border-radius:3px;font-size:11px}.modal-back{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:#fff;border-radius:12px;padding:20px;width:640px;max-width:95vw;max-height:85vh;overflow:auto;box-shadow:0 10px 40px #0000004d}.modal h2{margin:0 0 12px;font-size:16px}.modal .tpl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modal .tpl button{text-align:left;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff}.modal .tpl button:hover{border-color:var(--brand);background:#f0fdfa}.modal .tpl button b{display:block;margin-bottom:2px}.modal .tpl button small{color:var(--muted)}.modal input[type=text]{width:100%;border:1px solid var(--line);border-radius:6px;padding:6px 8px;margin-bottom:10px}.modal .foot{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.rev{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:12px}.help{padding:24px;max-width:900px;margin:0 auto}.help h2{font-size:18px;margin:18px 0 6px}.help h3{font-size:14px;margin:14px 0 4px}.help p,.help li{color:#374151}.help kbd{background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;padding:0 5px;font-size:11px}@media(max-width:1100px){.main{grid-template-columns:220px 1fr 280px}}.lib-scroll{overflow:auto;min-height:0}.library{max-width:1480px;margin:0 auto;padding:20px 24px 40px}.lib-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.lib-head h1{margin:0 0 4px;font-size:28px;font-weight:600;letter-spacing:-.02em}.lib-head p{margin:0;color:var(--muted);font-size:14px;max-width:720px}.lib-start{display:flex;gap:8px}.btn{background:#fff;border:1px solid #8d8d8d;color:var(--ink);border-radius:4px;padding:7px 14px;font-weight:500}.btn:hover{background:#e8e8e8}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:#0353e9}.btn:disabled{opacity:.6;cursor:progress}.eyebrow{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.lib-recent{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:14px}.recent-chip{background:#fff;border:1px solid var(--line);border-radius:14px;padding:3px 10px;font-size:12px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-chip:hover{border-color:var(--brand);color:var(--brand)}.lib-search{display:flex;gap:8px;margin-top:16px}.lib-search input{flex:1;min-width:0;font-size:15px;padding:10px 12px;border:1px solid #8d8d8d;border-radius:4px;background:#fff}.lib-filters-toggle{display:none}.lib-tabs{display:flex;gap:2px;margin-top:12px;border-bottom:1px solid var(--line);overflow-x:auto}.lib-tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:9px 14px;font-size:14px;color:var(--muted);white-space:nowrap}.lib-tabs button span{font-size:12px;background:#e0e0e0;border-radius:10px;padding:0 7px;margin-left:4px;color:var(--ink)}.lib-tabs button.on{color:var(--ink);border-bottom-color:var(--brand);font-weight:600}.lib-body{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;margin-top:16px}.lib-filters{display:flex;flex-direction:column;gap:6px;position:sticky;top:0;align-self:start}.lib-filters label{font-size:12px;font-weight:600;margin-top:6px}.lib-filters select{padding:6px 8px;border:1px solid #8d8d8d;border-radius:4px;background:#fff}.lib-domains{display:flex;flex-direction:column;gap:1px;margin-top:14px}.lib-domains .eyebrow{margin-bottom:4px}.lib-domains button{display:flex;justify-content:space-between;background:none;border:0;text-align:left;padding:4px 6px;border-radius:4px;font-size:12.5px;color:var(--ink)}.lib-domains button span{color:var(--muted);font-size:11px}.lib-domains button:hover{background:#e8e8e8}.lib-domains button.on{background:var(--band);color:var(--brand-dark);font-weight:600}.lib-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:30px}.lib-status b{font-size:14px}.lib-status .chip{background:var(--band);border:1px solid #a6c8ff;color:var(--brand-dark);border-radius:14px;padding:2px 10px;font-size:12px}.lib-status .reset{background:none;border:0;color:var(--brand);text-decoration:underline;font-size:12px}.lib-none{padding:40px 0;color:var(--muted)}.lib-group h2{font-size:15px;font-weight:600;margin:22px 0 10px;display:flex;gap:8px;align-items:baseline}.lib-group h2 span{color:var(--muted);font-weight:400;font-size:12px}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}.library .card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:12px}.library .card:hover{border-color:#a8a8a8;box-shadow:0 2px 10px #0000000f}.card-thumb{background:#f4f4f4;border:0;padding:6px;border-radius:4px;align-self:start;line-height:0}.card-thumb:hover{background:var(--band)}.card-text{display:flex;flex-direction:column;gap:4px;min-width:0}.library .card h3{margin:0;font-size:15px;font-weight:600;line-height:1.3}.library .card p{margin:0;font-size:12.5px;color:#393939;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.library .card p.req{color:var(--teal);font-size:12px;-webkit-line-clamp:2}.library .card .tags{display:flex;gap:4px;flex-wrap:wrap}.library .card .tags span{font-size:11px;background:#f4f4f4;border-radius:10px;padding:1px 8px;color:var(--muted)}.library .card .btn{align-self:flex-start;margin-top:auto;padding:5px 12px;font-size:12.5px}@media(max-width:900px){.lib-body{grid-template-columns:1fr}.lib-filters-toggle{display:inline-block}.lib-filters{display:none;position:static;background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px}.lib-filters.open{display:flex}.library{padding:14px 16px 32px}.topbar .product{display:none}}@media(max-width:560px){.lib-grid,.library .card{grid-template-columns:1fr}.card-thumb{justify-self:start}.lib-head h1{font-size:22px}}@media(max-width:1100px){.main.design{grid-template-columns:190px 5px minmax(0,1fr) 5px 250px!important}.main.wide{grid-template-columns:190px 5px minmax(0,1fr)!important}}@media(max-width:760px){.main.design,.main.wide{grid-template-columns:minmax(0,1fr)!important}.main>.side,.main>.splitter{display:none}.topbar .actions-group button:not(.primary):not(.miy-open){display:none}}@media print{.site-header,.topbar,.statusbar,.lib-filters,.lib-search,.lib-tabs,.lib-start{display:none!important}}.assess{max-width:1480px;margin:0 auto;padding:20px 24px 40px;font-size:13.5px}.assess h1{margin:0 0 4px;font-size:28px;font-weight:600;letter-spacing:-.02em}.assess .assess-head p{margin:0;color:var(--muted);font-size:14px;max-width:760px}.assess .assess-drop{margin-top:16px;border:2px dashed #8d8d8d;border-radius:8px;background:#fff;padding:18px 20px}.assess .assess-drop.over{border-color:var(--brand);background:var(--band)}.assess .assess-drop-title{margin:0;font-size:16px;font-weight:600}.assess .assess-drop-sub{margin:4px 0 0;color:var(--muted);font-size:12.5px;max-width:900px}.assess .assess-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.assess .assess-progress{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}.assess .assess-progress progress{width:min(360px,100%);height:10px;accent-color:var(--brand)}.assess .assess-progress span{color:var(--muted);font-size:12.5px;overflow-wrap:anywhere}.assess .assess-error{color:#a2191f;margin:10px 0 0}.assess .assess-label{margin:20px 0 0;color:var(--muted);font-size:12.5px}.assess .assess-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;margin-top:8px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}.assess .assess-band>div{background:#fff;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.assess .assess-band b{font-size:26px;font-weight:600;color:var(--brand);line-height:1.1}.assess .assess-band span{color:var(--muted);font-size:12px}.assess .assess-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:16px}.assess .assess-notes h2{font-size:15px;font-weight:600;margin:0 0 6px}.assess .assess-notes ul{margin:0;padding-left:18px}.assess .assess-notes li{margin:2px 0;overflow-wrap:anywhere}.assess .assess-filter{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:18px}.assess .assess-filter input{flex:1 1 240px;min-width:0;font-size:14px;padding:8px 10px;border:1px solid #8d8d8d;border-radius:4px;background:#fff}.assess .assess-filter select{padding:7px 8px;border:1px solid #8d8d8d;border-radius:4px;background:#fff;max-width:100%}.assess .assess-filter label{display:inline-flex;gap:6px;align-items:center;font-size:12.5px}.assess .assess-count{color:var(--muted);font-size:12.5px}.assess .assess-table{width:100%;border-collapse:collapse;margin-top:10px;background:#fff;border:1px solid var(--line)}.assess .assess-table th{text-align:left;background:var(--band);font-weight:600;font-size:12px;padding:0;border-bottom:1px solid var(--line)}.assess .assess-table th button{background:none;border:0;padding:8px 10px;font-weight:600;text-align:left;width:100%;color:var(--ink)}.assess .assess-table td{padding:7px 10px;border-bottom:1px solid var(--line);vertical-align:top}.assess .assess-table tr.open>td{background:#f6f9ff}.assess .assess-table td small{display:block;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.assess .assess-name{background:none;border:0;padding:0;color:var(--brand);font-weight:600;text-align:left;text-decoration:underline;text-underline-offset:2px}.assess .assess-row-actions{white-space:nowrap;text-align:right}.assess .assess-row-actions .btn{padding:4px 10px;font-size:12px;margin-left:4px}.assess .score{display:inline-block;min-width:46px;text-align:center;border-radius:10px;padding:1px 8px;font-weight:600;font-size:12.5px}.assess .score.hi{background:#defbe6;color:#0e6027}.assess .score.mid{background:#edf5ff;color:#0043ce}.assess .score.lo{background:#f4f4f4;color:#393939}.assess .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.assess .assess-detail>td{background:#fafafa;padding:12px 14px 16px}.assess .assess-detail-body{display:grid;gap:12px}.assess .assess-meta{margin:0;color:var(--muted);font-size:12.5px;overflow-wrap:anywhere}.assess .assess-target{background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px 12px;min-width:0}.assess .assess-target h3{margin:0 0 4px;font-size:14px;font-weight:600;display:flex;gap:8px;align-items:center}.assess .assess-target h4{margin:10px 0 4px;font-size:12.5px;font-weight:600}.assess .assess-list{margin:0;padding-left:18px;font-size:12.5px}.assess .assess-list li{margin:4px 0;overflow-wrap:anywhere}.assess .assess-list .path{color:var(--muted)}.assess .assess-list pre{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.4 ui-monospace,Menlo,monospace;background:#f4f4f4;border-radius:4px;padding:6px 8px}.assess .assess-target .btn{padding:4px 10px;font-size:12px}@media(max-width:900px){.assess{padding:14px 16px 32px}.assess h1{font-size:22px}.assess .assess-table,.assess .assess-table tbody,.assess .assess-table tr,.assess .assess-table td{display:block;width:100%}.assess .assess-table thead{display:none}.assess .assess-table{border:0;background:none}.assess .assess-table tr{background:#fff;border:1px solid var(--line);border-radius:6px;margin-bottom:8px;padding:6px 0}.assess .assess-table td{border:0;padding:3px 12px;display:flex;justify-content:space-between;gap:12px}.assess .assess-table td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:12px;flex:none}.assess .assess-table td[data-label=Report]{display:block}.assess .assess-table td[data-label=Report]:before{display:none}.assess .assess-table td.assess-row-actions{justify-content:flex-start;white-space:normal;padding-top:6px}.assess .assess-row-actions .btn{margin:0 6px 0 0}.assess .assess-table tr.assess-detail{border:0;background:none;padding:0;margin-top:-6px}.assess .assess-detail>td{display:block;padding:8px 0 12px;background:none}}.library .card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;flex-wrap:wrap}.library .card-actions .btn{margin-top:0}.card-votes{display:inline-flex;gap:4px}.card-votes button,.fb-vote,.fb-emoji button,.fb-quick button{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:2px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:14px;line-height:1;cursor:pointer;transition:transform .12s,background .12s,border-color .12s}.card-votes button span,.fb-vote span,.fb-emoji button span{font-size:12px;color:#525252;font-weight:600}.card-votes button:hover,.fb-vote:hover,.fb-emoji button:hover,.fb-quick button:hover{transform:scale(1.08);border-color:var(--brand)}.card-votes button.on,.fb-vote.on,.fb-emoji button.on,.fb-quick button.on{background:#edf5ff;border-color:var(--brand)}.card-votes button.on.down,.fb-vote.on.down{background:#f4f4f4;border-color:#8d8d8d}.fb{position:fixed;right:16px;bottom:36px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-family:IBM Plex Sans,system-ui,sans-serif}.fb-bar{display:flex;align-items:center;gap:6px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:0 6px 24px #00000024}.fb-quick{display:inline-flex;gap:4px;padding:0 2px;border-left:1px solid var(--line);border-right:1px solid var(--line)}.fb-quick button{border-color:transparent;padding:2px 6px}.fb-open{min-height:32px;padding:0 14px;border:0;border-radius:999px;background:var(--brand);color:#fff;font-weight:600;font-size:13px;cursor:pointer}.fb-open:hover{background:#0353e9}.fb-sheet{width:min(360px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 36px #0000002e;padding:14px;display:grid;gap:10px}.fb-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;font-size:14px}.fb-x{border:0;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#525252}.fb-row,.fb-emoji{display:flex;gap:6px;flex-wrap:wrap}.fb-sheet textarea,.fb-sheet input{width:100%;border:1px solid #c6c6c6;border-radius:6px;padding:8px;font:inherit;font-size:13px;resize:vertical}.fb-send{justify-self:end}.fb-thanks{margin:0;font-size:13px;color:#0e6027}@media(max-width:560px){.fb{right:8px;bottom:34px}.fb-quick{display:none}}@media print{.fb{display:none!important}}.topbar button.miy-open{background:#edf5ff;border-color:var(--brand);color:var(--brand);font-weight:600}.topbar button.miy-open:hover{background:#d0e2ff}.miy{position:fixed;top:125px;right:0;bottom:26px;width:min(420px,100vw);z-index:55;background:#fff;border-left:1px solid var(--line);box-shadow:-12px 0 32px #0000001f;overflow-y:auto;padding:16px 18px 24px;color:var(--ink);font-size:13px}.miy-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.miy-head h2{margin:2px 0 0;font-size:18px;line-height:1.25}.miy-x{border:0;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:#525252}.miy-lede{margin:6px 0 10px;color:#525252}.miy section{border-top:1px solid var(--line);padding:12px 0;display:grid;gap:8px}.miy h3{margin:0;font-size:14px;display:flex;align-items:center;gap:8px}.miy h3 span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;font-size:12px}.miy input:not([type=color]):not([type=file]){width:100%;border:1px solid #c6c6c6;border-radius:6px;padding:7px 8px;font:inherit}.miy label{display:grid;gap:4px;color:#525252;font-size:12px}.miy-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.miy-note{color:#6f6f6f;font-size:12px;margin:0}.miy-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.miy-swatches{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.miy-swatches>button{width:28px;height:28px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #c6c6c6;cursor:pointer}.miy-swatches>button.on{box-shadow:0 0 0 2px var(--ink)}.miy-custom{display:inline-flex!important;grid-auto-flow:column;align-items:center;gap:4px;cursor:pointer}.miy-custom input{width:28px;height:28px;border:0;padding:0;background:none}.miy-apply{width:100%;margin:4px 0}.miy-deploy ol{margin:4px 0 0 18px;padding:0;display:grid;gap:6px}.miy-deploy .btn.primary{justify-self:start}@media(max-width:900px){.miy{top:64px}}@media(max-width:560px){.miy-two{grid-template-columns:1fr}}@media print{.miy{display:none!important}}.app:has(.miy) .fb{display:none}
